Changed code structure and install script to include the Ui_*.py files in the code repository and do not compile *.ui files at installation time anymore. This is to cope with a backward incompatible change of Qt 6.7.0. eric7

Fri, 07 Jun 2024 10:05:06 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Fri, 07 Jun 2024 10:05:06 +0200
branch
eric7
changeset 10743
5d3a5a05114e
parent 10742
7aa41173b44b
child 10744
0ed2b5e4e1ea
child 10746
b8fae72eb04d

Changed code structure and install script to include the Ui_*.py files in the code repository and do not compile *.ui files at installation time anymore. This is to cope with a backward incompatible change of Qt 6.7.0.

.hgignore file | annotate | diff | comparison | revisions
scripts/install.py file | annotate | diff | comparison | revisions
src/eric7/CodeFormatting/Ui_BlackConfigurationDialog.py file | annotate | diff | comparison | revisions
src/eric7/CodeFormatting/Ui_BlackFormattingDialog.py file | annotate | diff | comparison | revisions
src/eric7/CodeFormatting/Ui_FormattingDiffWidget.py file | annotate | diff | comparison | revisions
src/eric7/CodeFormatting/Ui_IsortConfigurationDialog.py file | annotate | diff | comparison | revisions
src/eric7/CodeFormatting/Ui_IsortFormattingDialog.py file | annotate | diff | comparison | revisions
src/eric7/CondaInterface/Ui_CondaExecDialog.py file | annotate | diff | comparison | revisions
src/eric7/CondaInterface/Ui_CondaExportDialog.py file | annotate | diff | comparison | revisions
src/eric7/CondaInterface/Ui_CondaInfoDialog.py file | annotate | diff | comparison | revisions
src/eric7/CondaInterface/Ui_CondaNewEnvironmentDataDialog.py file | annotate | diff | comparison | revisions
src/eric7/CondaInterface/Ui_CondaPackageDetailsWidget.py file | annotate | diff | comparison | revisions
src/eric7/CondaInterface/Ui_CondaPackagesWidget.py file | annotate | diff | comparison | revisions
src/eric7/Cooperation/Ui_ChatWidget.py file | annotate | diff | comparison | revisions
src/eric7/CycloneDXInterface/Ui_CycloneDXConfigDialog.py file | annotate | diff | comparison | revisions
src/eric7/CycloneDXInterface/Ui_CycloneDXMetaDataDialog.py file | annotate | diff | comparison | revisions
src/eric7/DataViews/Ui_CodeMetricsDialog.py file | annotate | diff | comparison | revisions
src/eric7/DataViews/Ui_PyCoverageDialog.py file | annotate | diff | comparison | revisions
src/eric7/DataViews/Ui_PyCoverageHtmlReportDialog.py file | annotate | diff | comparison | revisions
src/eric7/DataViews/Ui_PyCoverageJsonReportDialog.py file | annotate | diff | comparison | revisions
src/eric7/DataViews/Ui_PyProfileDialog.py file | annotate | diff | comparison | revisions
src/eric7/Debugger/Ui_CallTraceViewer.py file | annotate | diff | comparison | revisions
src/eric7/Debugger/Ui_EditBreakpointDialog.py file | annotate | diff | comparison | revisions
src/eric7/Debugger/Ui_EditWatchpointDialog.py file | annotate | diff | comparison | revisions
src/eric7/Debugger/Ui_ExceptionsFilterDialog.py file | annotate | diff | comparison | revisions
src/eric7/Debugger/Ui_StartDialog.py file | annotate | diff | comparison | revisions
src/eric7/Debugger/Ui_StartHistoryEditDialog.py file | annotate | diff | comparison | revisions
src/eric7/Debugger/Ui_VariableDetailDialog.py file | annotate | diff | comparison | revisions
src/eric7/Debugger/Ui_VariablesFilterDialog.py file | annotate | diff | comparison | revisions
src/eric7/EricNetwork/Ui_EricIPv4InputWidget.py file | annotate | diff | comparison | revisions
src/eric7/EricNetwork/Ui_EricSslCertificateSelectionDialog.py file | annotate | diff | comparison | revisions
src/eric7/EricNetwork/Ui_EricSslCertificatesDialog.py file | annotate | diff | comparison | revisions
src/eric7/EricNetwork/Ui_EricSslCertificatesInfoDialog.py file | annotate | diff | comparison | revisions
src/eric7/EricNetwork/Ui_EricSslCertificatesInfoWidget.py file | annotate | diff | comparison | revisions
src/eric7/EricWidgets/Ui_EricComboSelectionDialog.py file | annotate | diff | comparison | revisions
src/eric7/EricWidgets/Ui_EricErrorMessageFilterDialog.py file | annotate | diff | comparison | revisions
src/eric7/EricWidgets/Ui_EricListSelectionDialog.py file | annotate | diff | comparison | revisions
src/eric7/EricWidgets/Ui_EricPlainTextDialog.py file | annotate | diff | comparison | revisions
src/eric7/EricWidgets/Ui_EricProcessDialog.py file | annotate | diff | comparison | revisions
src/eric7/EricWidgets/Ui_EricSimpleHelpDialog.py file | annotate | diff | comparison | revisions
src/eric7/EricWidgets/Ui_EricStringListEditWidget.py file | annotate | diff | comparison | revisions
src/eric7/EricWidgets/Ui_EricToolBarDialog.py file | annotate | diff | comparison | revisions
src/eric7/EricWidgets/Ui_EricZoomWidget.py file | annotate | diff | comparison | revisions
src/eric7/Graphics/Ui_UMLSceneSizeDialog.py file | annotate | diff | comparison | revisions
src/eric7/HelpViewer/Ui_HelpBookmarkPropertiesDialog.py file | annotate | diff | comparison | revisions
src/eric7/HelpViewer/Ui_HelpBookmarksImportDialog.py file | annotate | diff | comparison | revisions
src/eric7/HexEdit/Ui_HexEditGotoWidget.py file | annotate | diff | comparison | revisions
src/eric7/HexEdit/Ui_HexEditReplaceWidget.py file | annotate | diff | comparison | revisions
src/eric7/HexEdit/Ui_HexEditSearchWidget.py file | annotate | diff | comparison | revisions
src/eric7/IconEditor/Ui_IconSizeDialog.py file | annotate | diff | comparison | revisions
src/eric7/JediInterface/Ui_RefactoringPreviewDialog.py file | annotate | diff | comparison | revisions
src/eric7/MicroPython/BluetoothDialogs/Ui_BluetoothScanWindow.py file | annotate | diff | comparison | revisions
src/eric7/MicroPython/BluetoothDialogs/Ui_BluetoothStatusDialog.py file | annotate | diff | comparison | revisions
src/eric7/MicroPython/Devices/CircuitPythonUpdater/Ui_RequirementsDialog.py file | annotate | diff | comparison | revisions
src/eric7/MicroPython/Devices/CircuitPythonUpdater/Ui_ShowBundlesDialog.py file | annotate | diff | comparison | revisions
src/eric7/MicroPython/Devices/CircuitPythonUpdater/Ui_ShowInstalledDialog.py file | annotate | diff | comparison | revisions
src/eric7/MicroPython/Devices/CircuitPythonUpdater/Ui_ShowOutdatedDialog.py file | annotate | diff | comparison | revisions
src/eric7/MicroPython/Devices/EspDialogs/Ui_EspBackupRestoreFirmwareDialog.py file | annotate | diff | comparison | revisions
src/eric7/MicroPython/Devices/EspDialogs/Ui_EspFirmwareSelectionDialog.py file | annotate | diff | comparison | revisions
src/eric7/MicroPython/EthernetDialogs/Ui_EthernetStatusDialog.py file | annotate | diff | comparison | revisions
src/eric7/MicroPython/EthernetDialogs/Ui_HostnameDialog.py file | annotate | diff | comparison | revisions
src/eric7/MicroPython/EthernetDialogs/Ui_IPv4AddressDialog.py file | annotate | diff | comparison | revisions
src/eric7/MicroPython/Ui_AddEditDevicesDialog.py file | annotate | diff | comparison | revisions
src/eric7/MicroPython/Ui_BoardDataDialog.py file | annotate | diff | comparison | revisions
src/eric7/MicroPython/Ui_ConnectionSelectionDialog.py file | annotate | diff | comparison | revisions
src/eric7/MicroPython/Ui_ConvertToUF2Dialog.py file | annotate | diff | comparison | revisions
src/eric7/MicroPython/Ui_IgnoredDevicesDialog.py file | annotate | diff | comparison | revisions
src/eric7/MicroPython/Ui_MicroPythonFileManagerWidget.py file | annotate | diff | comparison | revisions
src/eric7/MicroPython/Ui_MicroPythonProgressInfoDialog.py file | annotate | diff | comparison | revisions
src/eric7/MicroPython/Ui_MicroPythonWebreplConnectionDialog.py file | annotate | diff | comparison | revisions
src/eric7/MicroPython/Ui_MicroPythonWebreplParametersDialog.py file | annotate | diff | comparison | revisions
src/eric7/MicroPython/Ui_MicroPythonWebreplUrlAddEditDialog.py file | annotate | diff | comparison | revisions
src/eric7/MicroPython/Ui_MicroPythonWebreplUrlsConfigDialog.py file | annotate | diff | comparison | revisions
src/eric7/MicroPython/Ui_MicroPythonWidget.py file | annotate | diff | comparison | revisions
src/eric7/MicroPython/Ui_MipPackageDialog.py file | annotate | diff | comparison | revisions
src/eric7/MicroPython/Ui_NtpParametersDialog.py file | annotate | diff | comparison | revisions
src/eric7/MicroPython/Ui_ShowModulesDialog.py file | annotate | diff | comparison | revisions
src/eric7/MicroPython/Ui_UF2FlashDialog.py file | annotate | diff | comparison | revisions
src/eric7/MicroPython/Ui_UnknownDevicesDialog.py file | annotate | diff | comparison | revisions
src/eric7/MicroPython/WifiDialogs/Ui_WifiApConfigDialog.py file | annotate | diff | comparison | revisions
src/eric7/MicroPython/WifiDialogs/Ui_WifiApStationsDialog.py file | annotate | diff | comparison | revisions
src/eric7/MicroPython/WifiDialogs/Ui_WifiConnectionDialog.py file | annotate | diff | comparison | revisions
src/eric7/MicroPython/WifiDialogs/Ui_WifiCountryDialog.py file | annotate | diff | comparison | revisions
src/eric7/MicroPython/WifiDialogs/Ui_WifiNetworksWindow.py file | annotate | diff | comparison | revisions
src/eric7/MicroPython/WifiDialogs/Ui_WifiStatusDialog.py file | annotate | diff | comparison | revisions
src/eric7/MultiProject/Ui_AddProjectDialog.py file | annotate | diff | comparison | revisions
src/eric7/MultiProject/Ui_PropertiesDialog.py file | annotate | diff | comparison | revisions
src/eric7/Network/IRC/Ui_IrcChannelEditDialog.py file | annotate | diff | comparison | revisions
src/eric7/Network/IRC/Ui_IrcChannelWidget.py file | annotate | diff | comparison | revisions
src/eric7/Network/IRC/Ui_IrcIdentitiesEditDialog.py file | annotate | diff | comparison | revisions
src/eric7/Network/IRC/Ui_IrcNetworkEditDialog.py file | annotate | diff | comparison | revisions
src/eric7/Network/IRC/Ui_IrcNetworkListDialog.py file | annotate | diff | comparison | revisions
src/eric7/Network/IRC/Ui_IrcNetworkWidget.py file | annotate | diff | comparison | revisions
src/eric7/Network/IRC/Ui_IrcServerEditDialog.py file | annotate | diff | comparison | revisions
src/eric7/Network/IRC/Ui_IrcWidget.py file | annotate | diff | comparison | revisions
src/eric7/PipInterface/Ui_PipDialog.py file | annotate | diff | comparison | revisions
src/eric7/PipInterface/Ui_PipFileSelectionDialog.py file | annotate | diff | comparison | revisions
src/eric7/PipInterface/Ui_PipFreezeDialog.py file | annotate | diff | comparison | revisions
src/eric7/PipInterface/Ui_PipLicensesDialog.py file | annotate | diff | comparison | revisions
src/eric7/PipInterface/Ui_PipPackageDetailsDialog.py file | annotate | diff | comparison | revisions
src/eric7/PipInterface/Ui_PipPackagesInputDialog.py file | annotate | diff | comparison | revisions
src/eric7/PipInterface/Ui_PipPackagesWidget.py file | annotate | diff | comparison | revisions
src/eric7/PluginManager/Ui_PluginDetailsDialog.py file | annotate | diff | comparison | revisions
src/eric7/PluginManager/Ui_PluginInfoDialog.py file | annotate | diff | comparison | revisions
src/eric7/PluginManager/Ui_PluginInstallDialog.py file | annotate | diff | comparison | revisions
src/eric7/PluginManager/Ui_PluginRepositoryDialog.py file | annotate | diff | comparison | revisions
src/eric7/PluginManager/Ui_PluginUninstallDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/AboutPlugin/Ui_AboutDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/CheckerPlugins/CodeStyleChecker/Ui_CodeStyleAddBuiltinIgnoreDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/CheckerPlugins/CodeStyleChecker/Ui_CodeStyleCheckerDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/CheckerPlugins/CodeStyleChecker/Ui_CodeStyleCodeSelectionDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/CheckerPlugins/CodeStyleChecker/Ui_CodeStyleStatisticsDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/CheckerPlugins/SyntaxChecker/Ui_SyntaxCheckerDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/DocumentationPlugins/Ericapi/Ui_EricapiConfigDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/DocumentationPlugins/Ericapi/Ui_EricapiExecDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/DocumentationPlugins/Ericdoc/Ui_EricdocConfigDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/DocumentationPlugins/Ericdoc/Ui_EricdocExecDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/UiExtensionPlugins/Translator/ConfigurationPage/Ui_TranslatorPage.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/UiExtensionPlugins/Translator/Ui_TranslatorWidget.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsGit/ConfigurationPage/Ui_GitPage.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitAddRemoteDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitApplyBundleDataDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitArchiveDataDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitBisectLogBrowserDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitBisectStartDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitBlameDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitBranchDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitBranchPushDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitBundleDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitChangeRemoteUrlDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitCherryPickDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitCommandDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitCommitDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitCopyDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitDescribeDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitDiffDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitFetchDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitListDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitLogBrowserDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitMergeDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitNewProjectOptionsDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitOptionsDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitPatchFilesDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitPatchStatisticsDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitPullDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitPushDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitReflogBrowserDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitRemoteCredentialsDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitRemoteRepositoriesDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitRevisionSelectionDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitRevisionsSelectionDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitStashBrowserDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitStashDataDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitStatusDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitSubmoduleAddDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitSubmodulesDeinitDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitSubmodulesListDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitSubmodulesStatusDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitSubmodulesSummaryOptionsDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitSubmodulesSyncDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitSubmodulesUpdateOptionsDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitTagBranchListDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitTagDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitUserConfigDataDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitWorktreeAddDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitWorktreeDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitWorktreePathsDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsMercurial/CloseheadExtension/Ui_HgCloseHeadSelectionDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsMercurial/ConfigurationPage/Ui_MercurialPage.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsMercurial/GpgExtension/Ui_HgGpgSignDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsMercurial/GpgExtension/Ui_HgGpgSignaturesDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsMercurial/HisteditExtension/Ui_HgHisteditCommitEditor.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsMercurial/HisteditExtension/Ui_HgHisteditConfigDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsMercurial/HisteditExtension/Ui_HgHisteditPlanEditor.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsMercurial/LargefilesExtension/Ui_LfConvertDataDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsMercurial/LargefilesExtension/Ui_LfRevisionsInputDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsMercurial/PurgeExtension/Ui_HgPurgeListDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsMercurial/QueuesExtension/Ui_HgQueuesDefineGuardsDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsMercurial/QueuesExtension/Ui_HgQueuesFoldDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsMercurial/QueuesExtension/Ui_HgQueuesGuardsSelectionDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsMercurial/QueuesExtension/Ui_HgQueuesHeaderDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsMercurial/QueuesExtension/Ui_HgQueuesListAllGuardsDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsMercurial/QueuesExtension/Ui_HgQueuesListDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsMercurial/QueuesExtension/Ui_HgQueuesListGuardsDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsMercurial/QueuesExtension/Ui_HgQueuesNewPatchDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsMercurial/QueuesExtension/Ui_HgQueuesQueueManagementDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsMercurial/QueuesExtension/Ui_HgQueuesRenamePatchDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsMercurial/RebaseExtension/Ui_HgRebaseDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsMercurial/ShelveExtension/Ui_HgShelveBrowserDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsMercurial/ShelveExtension/Ui_HgShelveDataDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsMercurial/ShelveExtension/Ui_HgShelvesSelectionDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsMercurial/ShelveExtension/Ui_HgUnshelveDataDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsMercurial/StripExtension/Ui_HgStripDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsMercurial/Ui_HgAddSubrepositoryDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsMercurial/Ui_HgAnnotateDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsMercurial/Ui_HgArchiveDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsMercurial/Ui_HgBackoutDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsMercurial/Ui_HgBookmarkDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsMercurial/Ui_HgBookmarkRenameDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsMercurial/Ui_HgBookmarksInOutDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsMercurial/Ui_HgBookmarksListDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsMercurial/Ui_HgBranchInputDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsMercurial/Ui_HgBundleDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsMercurial/Ui_HgClientPromptDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsMercurial/Ui_HgCommandDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsMercurial/Ui_HgCommitDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsMercurial/Ui_HgConflictsListDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsMercurial/Ui_HgCopyDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsMercurial/Ui_HgDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsMercurial/Ui_HgDiffDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsMercurial/Ui_HgExportDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsMercurial/Ui_HgGraftDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsMercurial/Ui_HgImportDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsMercurial/Ui_HgLogBrowserDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsMercurial/Ui_HgMergeDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsMercurial/Ui_HgMultiRevisionSelectionDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsMercurial/Ui_HgNewProjectOptionsDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsMercurial/Ui_HgOptionsDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsMercurial/Ui_HgPhaseDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsMercurial/Ui_HgRemoveSubrepositoriesDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsMercurial/Ui_HgRepoConfigDataDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsMercurial/Ui_HgRevisionSelectionDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsMercurial/Ui_HgRevisionsSelectionDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsMercurial/Ui_HgStatusDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsMercurial/Ui_HgSummaryDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsMercurial/Ui_HgTagBranchListDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsMercurial/Ui_HgTagDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsMercurial/Ui_HgUserConfigDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsMercurial/Ui_HgUserConfigHostFingerprintDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsMercurial/Ui_HgUserConfigHostMinimumProtocolDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsPySvn/ConfigurationPage/Ui_SubversionPage.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsPySvn/Ui_SvnBlameDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsPySvn/Ui_SvnChangeListsDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsPySvn/Ui_SvnCommandDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsPySvn/Ui_SvnCommitDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsPySvn/Ui_SvnCopyDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsPySvn/Ui_SvnDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsPySvn/Ui_SvnDiffDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsPySvn/Ui_SvnLogBrowserDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsPySvn/Ui_SvnLoginDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsPySvn/Ui_SvnMergeDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsPySvn/Ui_SvnNewProjectOptionsDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsPySvn/Ui_SvnOptionsDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsPySvn/Ui_SvnPropDelDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsPySvn/Ui_SvnPropListDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsPySvn/Ui_SvnPropSetDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsPySvn/Ui_SvnRelocateDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsPySvn/Ui_SvnRepoBrowserDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsPySvn/Ui_SvnRevisionSelectionDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsPySvn/Ui_SvnStatusDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsPySvn/Ui_SvnSwitchDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsPySvn/Ui_SvnTagBranchListDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsPySvn/Ui_SvnTagDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsPySvn/Ui_SvnUrlSelectionDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsSubversion/ConfigurationPage/Ui_SubversionPage.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsSubversion/Ui_SvnBlameDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsSubversion/Ui_SvnChangeListsDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsSubversion/Ui_SvnCommandDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsSubversion/Ui_SvnCommitDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsSubversion/Ui_SvnCopyDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsSubversion/Ui_SvnDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsSubversion/Ui_SvnDiffDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsSubversion/Ui_SvnLogBrowserDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsSubversion/Ui_SvnMergeDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsSubversion/Ui_SvnNewProjectOptionsDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsSubversion/Ui_SvnOptionsDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsSubversion/Ui_SvnPropListDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsSubversion/Ui_SvnPropSetDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsSubversion/Ui_SvnRelocateDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsSubversion/Ui_SvnRepoBrowserDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsSubversion/Ui_SvnRevisionSelectionDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsSubversion/Ui_SvnStatusDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsSubversion/Ui_SvnSwitchDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsSubversion/Ui_SvnTagBranchListDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsSubversion/Ui_SvnTagDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/VcsPlugins/vcsSubversion/Ui_SvnUrlSelectionDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/WizardPlugins/ColorDialogWizard/Ui_ColorDialogWizardDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/WizardPlugins/DotDesktopWizard/Ui_DotDesktopListSelectionDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/WizardPlugins/DotDesktopWizard/Ui_DotDesktopWizardDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/WizardPlugins/EricMessageBoxWizard/Ui_EricMessageBoxWizardDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/WizardPlugins/EricPluginWizard/Ui_PluginWizardDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/WizardPlugins/FileDialogWizard/Ui_FileDialogWizardDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/WizardPlugins/FontDialogWizard/Ui_FontDialogOptionsDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/WizardPlugins/FontDialogWizard/Ui_FontDialogWizardDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/WizardPlugins/InputDialogWizard/Ui_InputDialogWizardDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/WizardPlugins/MessageBoxWizard/Ui_MessageBoxWizardDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/WizardPlugins/PyRegExpWizard/Ui_PyRegExpWizardCharactersDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/WizardPlugins/PyRegExpWizard/Ui_PyRegExpWizardDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/WizardPlugins/PyRegExpWizard/Ui_PyRegExpWizardRepeatDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/WizardPlugins/QRegularExpressionWizard/Ui_QRegularExpressionWizardCharactersDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/WizardPlugins/QRegularExpressionWizard/Ui_QRegularExpressionWizardDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/WizardPlugins/QRegularExpressionWizard/Ui_QRegularExpressionWizardRepeatDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/WizardPlugins/SetupWizard/Ui_AddEntryPointDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/WizardPlugins/SetupWizard/Ui_AddProjectUrlDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/WizardPlugins/SetupWizard/Ui_SetupWizardDialog.py file | annotate | diff | comparison | revisions
src/eric7/Preferences/ConfigurationPages/Ui_ApplicationPage.py file | annotate | diff | comparison | revisions
src/eric7/Preferences/ConfigurationPages/Ui_CondaPage.py file | annotate | diff | comparison | revisions
src/eric7/Preferences/ConfigurationPages/Ui_CooperationPage.py file | annotate | diff | comparison | revisions
src/eric7/Preferences/ConfigurationPages/Ui_DebuggerGeneralPage.py file | annotate | diff | comparison | revisions
src/eric7/Preferences/ConfigurationPages/Ui_DebuggerPython3Page.py file | annotate | diff | comparison | revisions
src/eric7/Preferences/ConfigurationPages/Ui_DiffColoursPage.py file | annotate | diff | comparison | revisions
src/eric7/Preferences/ConfigurationPages/Ui_EditorAPIsPage.py file | annotate | diff | comparison | revisions
src/eric7/Preferences/ConfigurationPages/Ui_EditorAutoCompletionJediPage.py file | annotate | diff | comparison | revisions
src/eric7/Preferences/ConfigurationPages/Ui_EditorAutocompletionPage.py file | annotate | diff | comparison | revisions
src/eric7/Preferences/ConfigurationPages/Ui_EditorAutocompletionQScintillaPage.py file | annotate | diff | comparison | revisions
src/eric7/Preferences/ConfigurationPages/Ui_EditorCallTipsJediPage.py file | annotate | diff | comparison | revisions
src/eric7/Preferences/ConfigurationPages/Ui_EditorCalltipsPage.py file | annotate | diff | comparison | revisions
src/eric7/Preferences/ConfigurationPages/Ui_EditorCalltipsQScintillaPage.py file | annotate | diff | comparison | revisions
src/eric7/Preferences/ConfigurationPages/Ui_EditorDocViewerPage.py file | annotate | diff | comparison | revisions
src/eric7/Preferences/ConfigurationPages/Ui_EditorExportersPage.py file | annotate | diff | comparison | revisions
src/eric7/Preferences/ConfigurationPages/Ui_EditorFilePage.py file | annotate | diff | comparison | revisions
src/eric7/Preferences/ConfigurationPages/Ui_EditorGeneralPage.py file | annotate | diff | comparison | revisions
src/eric7/Preferences/ConfigurationPages/Ui_EditorHighlightersPage.py file | annotate | diff | comparison | revisions
src/eric7/Preferences/ConfigurationPages/Ui_EditorHighlightingStylesPage.py file | annotate | diff | comparison | revisions
src/eric7/Preferences/ConfigurationPages/Ui_EditorHighlightingStylesSelectionDialog.py file | annotate | diff | comparison | revisions
src/eric7/Preferences/ConfigurationPages/Ui_EditorKeywordsPage.py file | annotate | diff | comparison | revisions
src/eric7/Preferences/ConfigurationPages/Ui_EditorLanguageTabIndentOverrideDialog.py file | annotate | diff | comparison | revisions
src/eric7/Preferences/ConfigurationPages/Ui_EditorMouseClickHandlerJediPage.py file | annotate | diff | comparison | revisions
src/eric7/Preferences/ConfigurationPages/Ui_EditorMouseClickHandlerPage.py file | annotate | diff | comparison | revisions
src/eric7/Preferences/ConfigurationPages/Ui_EditorPropertiesPage.py file | annotate | diff | comparison | revisions
src/eric7/Preferences/ConfigurationPages/Ui_EditorSearchPage.py file | annotate | diff | comparison | revisions
src/eric7/Preferences/ConfigurationPages/Ui_EditorSpellCheckingPage.py file | annotate | diff | comparison | revisions
src/eric7/Preferences/ConfigurationPages/Ui_EditorStylesPage.py file | annotate | diff | comparison | revisions
src/eric7/Preferences/ConfigurationPages/Ui_EditorSyntaxPage.py file | annotate | diff | comparison | revisions
src/eric7/Preferences/ConfigurationPages/Ui_EditorTypingPage.py file | annotate | diff | comparison | revisions
src/eric7/Preferences/ConfigurationPages/Ui_EmailPage.py file | annotate | diff | comparison | revisions
src/eric7/Preferences/ConfigurationPages/Ui_GraphicsPage.py file | annotate | diff | comparison | revisions
src/eric7/Preferences/ConfigurationPages/Ui_HelpDocumentationPage.py file | annotate | diff | comparison | revisions
src/eric7/Preferences/ConfigurationPages/Ui_HelpViewersPage.py file | annotate | diff | comparison | revisions
src/eric7/Preferences/ConfigurationPages/Ui_HexEditorPage.py file | annotate | diff | comparison | revisions
src/eric7/Preferences/ConfigurationPages/Ui_IconsPage.py file | annotate | diff | comparison | revisions
src/eric7/Preferences/ConfigurationPages/Ui_IconsPreviewDialog.py file | annotate | diff | comparison | revisions
src/eric7/Preferences/ConfigurationPages/Ui_InterfaceLightPage.py file | annotate | diff | comparison | revisions
src/eric7/Preferences/ConfigurationPages/Ui_InterfacePage.py file | annotate | diff | comparison | revisions
src/eric7/Preferences/ConfigurationPages/Ui_IrcPage.py file | annotate | diff | comparison | revisions
src/eric7/Preferences/ConfigurationPages/Ui_LogViewerPage.py file | annotate | diff | comparison | revisions
src/eric7/Preferences/ConfigurationPages/Ui_MainPasswordEntryDialog.py file | annotate | diff | comparison | revisions
src/eric7/Preferences/ConfigurationPages/Ui_MicroPythonPage.py file | annotate | diff | comparison | revisions
src/eric7/Preferences/ConfigurationPages/Ui_MimeTypesPage.py file | annotate | diff | comparison | revisions
src/eric7/Preferences/ConfigurationPages/Ui_MultiProjectPage.py file | annotate | diff | comparison | revisions
src/eric7/Preferences/ConfigurationPages/Ui_NetworkPage.py file | annotate | diff | comparison | revisions
src/eric7/Preferences/ConfigurationPages/Ui_NetworkProxyPage.py file | annotate | diff | comparison | revisions
src/eric7/Preferences/ConfigurationPages/Ui_NotificationsPage.py file | annotate | diff | comparison | revisions
src/eric7/Preferences/ConfigurationPages/Ui_PdfViewerPage.py file | annotate | diff | comparison | revisions
src/eric7/Preferences/ConfigurationPages/Ui_PipPage.py file | annotate | diff | comparison | revisions
src/eric7/Preferences/ConfigurationPages/Ui_PluginManagerPage.py file | annotate | diff | comparison | revisions
src/eric7/Preferences/ConfigurationPages/Ui_PrinterPage.py file | annotate | diff | comparison | revisions
src/eric7/Preferences/ConfigurationPages/Ui_ProjectBrowserPage.py file | annotate | diff | comparison | revisions
src/eric7/Preferences/ConfigurationPages/Ui_ProjectPage.py file | annotate | diff | comparison | revisions
src/eric7/Preferences/ConfigurationPages/Ui_PythonPage.py file | annotate | diff | comparison | revisions
src/eric7/Preferences/ConfigurationPages/Ui_QtPage.py file | annotate | diff | comparison | revisions
src/eric7/Preferences/ConfigurationPages/Ui_SecurityPage.py file | annotate | diff | comparison | revisions
src/eric7/Preferences/ConfigurationPages/Ui_ShellPage.py file | annotate | diff | comparison | revisions
src/eric7/Preferences/ConfigurationPages/Ui_TasksPage.py file | annotate | diff | comparison | revisions
src/eric7/Preferences/ConfigurationPages/Ui_TemplatesPage.py file | annotate | diff | comparison | revisions
src/eric7/Preferences/ConfigurationPages/Ui_TrayStarterPage.py file | annotate | diff | comparison | revisions
src/eric7/Preferences/ConfigurationPages/Ui_VcsPage.py file | annotate | diff | comparison | revisions
src/eric7/Preferences/ConfigurationPages/Ui_ViewmanagerPage.py file | annotate | diff | comparison | revisions
src/eric7/Preferences/ConfigurationPages/Ui_WebBrowserAppearancePage.py file | annotate | diff | comparison | revisions
src/eric7/Preferences/ConfigurationPages/Ui_WebBrowserPage.py file | annotate | diff | comparison | revisions
src/eric7/Preferences/ConfigurationPages/Ui_WebBrowserSpellCheckingPage.py file | annotate | diff | comparison | revisions
src/eric7/Preferences/ConfigurationPages/Ui_WebBrowserVirusTotalPage.py file | annotate | diff | comparison | revisions
src/eric7/Preferences/Ui_MouseClickDialog.py file | annotate | diff | comparison | revisions
src/eric7/Preferences/Ui_ProgramsDialog.py file | annotate | diff | comparison | revisions
src/eric7/Preferences/Ui_ShortcutDialog.py file | annotate | diff | comparison | revisions
src/eric7/Preferences/Ui_ShortcutsDialog.py file | annotate | diff | comparison | revisions
src/eric7/Preferences/Ui_SubstyleDefinitionDialog.py file | annotate | diff | comparison | revisions
src/eric7/Preferences/Ui_ToolConfigurationDialog.py file | annotate | diff | comparison | revisions
src/eric7/Preferences/Ui_ToolGroupConfigurationDialog.py file | annotate | diff | comparison | revisions
src/eric7/Preferences/Ui_ViewProfileSidebarsDialog.py file | annotate | diff | comparison | revisions
src/eric7/Preferences/Ui_ViewProfileToolboxesDialog.py file | annotate | diff | comparison | revisions
src/eric7/Project/Ui_AddDirectoryDialog.py file | annotate | diff | comparison | revisions
src/eric7/Project/Ui_AddFileDialog.py file | annotate | diff | comparison | revisions
src/eric7/Project/Ui_AddFoundFilesDialog.py file | annotate | diff | comparison | revisions
src/eric7/Project/Ui_AddLanguageDialog.py file | annotate | diff | comparison | revisions
src/eric7/Project/Ui_CreateDialogCodeDialog.py file | annotate | diff | comparison | revisions
src/eric7/Project/Ui_DebuggerPropertiesDialog.py file | annotate | diff | comparison | revisions
src/eric7/Project/Ui_FiletypeAssociationDialog.py file | annotate | diff | comparison | revisions
src/eric7/Project/Ui_LexerAssociationDialog.py file | annotate | diff | comparison | revisions
src/eric7/Project/Ui_MakePropertiesDialog.py file | annotate | diff | comparison | revisions
src/eric7/Project/Ui_NewDialogClassDialog.py file | annotate | diff | comparison | revisions
src/eric7/Project/Ui_NewPythonPackageDialog.py file | annotate | diff | comparison | revisions
src/eric7/Project/Ui_ProjectVenvConfigurationDialog.py file | annotate | diff | comparison | revisions
src/eric7/Project/Ui_ProjectVenvCreationParametersDialog.py file | annotate | diff | comparison | revisions
src/eric7/Project/Ui_PropertiesDialog.py file | annotate | diff | comparison | revisions
src/eric7/Project/Ui_QuickFindFile.py file | annotate | diff | comparison | revisions
src/eric7/Project/Ui_RccCompilerOptionsDialog.py file | annotate | diff | comparison | revisions
src/eric7/Project/Ui_SpellingPropertiesDialog.py file | annotate | diff | comparison | revisions
src/eric7/Project/Ui_TranslationPropertiesDialog.py file | annotate | diff | comparison | revisions
src/eric7/Project/Ui_UicCompilerOptionsDialog.py file | annotate | diff | comparison | revisions
src/eric7/Project/Ui_UserPropertiesDialog.py file | annotate | diff | comparison | revisions
src/eric7/QScintilla/MarkupProviders/Ui_HyperlinkMarkupDialog.py file | annotate | diff | comparison | revisions
src/eric7/QScintilla/MarkupProviders/Ui_ImageMarkupDialog.py file | annotate | diff | comparison | revisions
src/eric7/QScintilla/Ui_EditorOutlineSizesDialog.py file | annotate | diff | comparison | revisions
src/eric7/QScintilla/Ui_GotoDialog.py file | annotate | diff | comparison | revisions
src/eric7/QScintilla/Ui_SearchReplaceWidget.py file | annotate | diff | comparison | revisions
src/eric7/QScintilla/Ui_ShellHistoryDialog.py file | annotate | diff | comparison | revisions
src/eric7/QScintilla/Ui_SortOptionsDialog.py file | annotate | diff | comparison | revisions
src/eric7/QScintilla/Ui_SpellCheckingDialog.py file | annotate | diff | comparison | revisions
src/eric7/QScintilla/Ui_SpellingDictionaryEditDialog.py file | annotate | diff | comparison | revisions
src/eric7/QScintilla/Ui_ZoomDialog.py file | annotate | diff | comparison | revisions
src/eric7/QtHelpInterface/Ui_HelpTopicDialog.py file | annotate | diff | comparison | revisions
src/eric7/QtHelpInterface/Ui_QtHelpDocumentationConfigurationDialog.py file | annotate | diff | comparison | revisions
src/eric7/QtHelpInterface/Ui_QtHelpDocumentationSelectionDialog.py file | annotate | diff | comparison | revisions
src/eric7/QtHelpInterface/Ui_QtHelpDocumentationSettingsWidget.py file | annotate | diff | comparison | revisions
src/eric7/Snapshot/Ui_SnapWidget.py file | annotate | diff | comparison | revisions
src/eric7/SqlBrowser/Ui_SqlBrowserWidget.py file | annotate | diff | comparison | revisions
src/eric7/SqlBrowser/Ui_SqlConnectionDialog.py file | annotate | diff | comparison | revisions
src/eric7/Tasks/Ui_TaskFilterConfigDialog.py file | annotate | diff | comparison | revisions
src/eric7/Tasks/Ui_TaskPropertiesDialog.py file | annotate | diff | comparison | revisions
src/eric7/Templates/Ui_TemplatePropertiesDialog.py file | annotate | diff | comparison | revisions
src/eric7/Templates/Ui_TemplateSingleVariableDialog.py file | annotate | diff | comparison | revisions
src/eric7/Testing/Ui_MarkersWindow.py file | annotate | diff | comparison | revisions
src/eric7/Testing/Ui_TestingWidget.py file | annotate | diff | comparison | revisions
src/eric7/UI/Previewers/Ui_PreviewerQSS.py file | annotate | diff | comparison | revisions
src/eric7/UI/Ui_AuthenticationDialog.py file | annotate | diff | comparison | revisions
src/eric7/UI/Ui_ClearPrivateDataDialog.py file | annotate | diff | comparison | revisions
src/eric7/UI/Ui_CompareDialog.py file | annotate | diff | comparison | revisions
src/eric7/UI/Ui_DeleteFilesConfirmationDialog.py file | annotate | diff | comparison | revisions
src/eric7/UI/Ui_DiffDialog.py file | annotate | diff | comparison | revisions
src/eric7/UI/Ui_EmailDialog.py file | annotate | diff | comparison | revisions
src/eric7/UI/Ui_ErrorLogDialog.py file | annotate | diff | comparison | revisions
src/eric7/UI/Ui_FindFileFilterPropertiesDialog.py file | annotate | diff | comparison | revisions
src/eric7/UI/Ui_FindFileFiltersEditDialog.py file | annotate | diff | comparison | revisions
src/eric7/UI/Ui_FindFileWidget.py file | annotate | diff | comparison | revisions
src/eric7/UI/Ui_FindLocationWidget.py file | annotate | diff | comparison | revisions
src/eric7/UI/Ui_InstallInfoDialog.py file | annotate | diff | comparison | revisions
src/eric7/UI/Ui_NotificationFrame.py file | annotate | diff | comparison | revisions
src/eric7/UI/Ui_NumbersWidget.py file | annotate | diff | comparison | revisions
src/eric7/UI/Ui_PythonDisViewer.py file | annotate | diff | comparison | revisions
src/eric7/UI/Ui_SearchWidget.py file | annotate | diff | comparison | revisions
src/eric7/UI/Ui_SearchWidgetLine.py file | annotate | diff | comparison | revisions
src/eric7/UI/Ui_SymbolsWidget.py file | annotate | diff | comparison | revisions
src/eric7/UI/Ui_VersionsDialog.py file | annotate | diff | comparison | revisions
src/eric7/VCS/Ui_CommandOptionsDialog.py file | annotate | diff | comparison | revisions
src/eric7/VCS/Ui_RepositoryInfoDialog.py file | annotate | diff | comparison | revisions
src/eric7/ViewManager/Ui_BookmarkedFilesDialog.py file | annotate | diff | comparison | revisions
src/eric7/VirtualEnv/Ui_VirtualenvAddEditDialog.py file | annotate | diff | comparison | revisions
src/eric7/VirtualEnv/Ui_VirtualenvConfigurationDialog.py file | annotate | diff | comparison | revisions
src/eric7/VirtualEnv/Ui_VirtualenvExecDialog.py file | annotate | diff | comparison | revisions
src/eric7/VirtualEnv/Ui_VirtualenvInterpreterSelectionDialog.py file | annotate | diff | comparison | revisions
src/eric7/VirtualEnv/Ui_VirtualenvManagerWidget.py file | annotate | diff | comparison | revisions
src/eric7/VirtualEnv/Ui_VirtualenvNameDialog.py file | annotate | diff | comparison | revisions
src/eric7/VirtualEnv/Ui_VirtualenvUpgradeConfigurationDialog.py file | annotate | diff | comparison | revisions
src/eric7/WebBrowser/AdBlock/Ui_AdBlockDialog.py file | annotate | diff | comparison | revisions
src/eric7/WebBrowser/AdBlock/Ui_AdBlockExceptionsDialog.py file | annotate | diff | comparison | revisions
src/eric7/WebBrowser/Bookmarks/Ui_AddBookmarkDialog.py file | annotate | diff | comparison | revisions
src/eric7/WebBrowser/Bookmarks/Ui_BookmarkPropertiesDialog.py file | annotate | diff | comparison | revisions
src/eric7/WebBrowser/Bookmarks/Ui_BookmarksDialog.py file | annotate | diff | comparison | revisions
src/eric7/WebBrowser/Bookmarks/Ui_BookmarksImportDialog.py file | annotate | diff | comparison | revisions
src/eric7/WebBrowser/CookieJar/Ui_CookieDetailsDialog.py file | annotate | diff | comparison | revisions
src/eric7/WebBrowser/CookieJar/Ui_CookiesConfigurationDialog.py file | annotate | diff | comparison | revisions
src/eric7/WebBrowser/CookieJar/Ui_CookiesDialog.py file | annotate | diff | comparison | revisions
src/eric7/WebBrowser/CookieJar/Ui_CookiesExceptionsDialog.py file | annotate | diff | comparison | revisions
src/eric7/WebBrowser/Download/Ui_DownloadAskActionDialog.py file | annotate | diff | comparison | revisions
src/eric7/WebBrowser/Download/Ui_DownloadItem.py file | annotate | diff | comparison | revisions
src/eric7/WebBrowser/Download/Ui_DownloadManager.py file | annotate | diff | comparison | revisions
src/eric7/WebBrowser/FeaturePermissions/Ui_FeaturePermissionsDialog.py file | annotate | diff | comparison | revisions
src/eric7/WebBrowser/Feeds/Ui_FeedEditDialog.py file | annotate | diff | comparison | revisions
src/eric7/WebBrowser/Feeds/Ui_FeedsDialog.py file | annotate | diff | comparison | revisions
src/eric7/WebBrowser/Feeds/Ui_FeedsManager.py file | annotate | diff | comparison | revisions
src/eric7/WebBrowser/GreaseMonkey/GreaseMonkeyConfiguration/Ui_GreaseMonkeyConfigurationDialog.py file | annotate | diff | comparison | revisions
src/eric7/WebBrowser/GreaseMonkey/GreaseMonkeyConfiguration/Ui_GreaseMonkeyConfigurationScriptInfoDialog.py file | annotate | diff | comparison | revisions
src/eric7/WebBrowser/GreaseMonkey/Ui_GreaseMonkeyAddScriptDialog.py file | annotate | diff | comparison | revisions
src/eric7/WebBrowser/History/Ui_HistoryDialog.py file | annotate | diff | comparison | revisions
src/eric7/WebBrowser/Network/Ui_ProtocolHandlerManagerDialog.py file | annotate | diff | comparison | revisions
src/eric7/WebBrowser/Network/Ui_SendRefererWhitelistDialog.py file | annotate | diff | comparison | revisions
src/eric7/WebBrowser/Network/Ui_SslErrorExceptionsDialog.py file | annotate | diff | comparison | revisions
src/eric7/WebBrowser/OpenSearch/Ui_OpenSearchDialog.py file | annotate | diff | comparison | revisions
src/eric7/WebBrowser/OpenSearch/Ui_OpenSearchEditDialog.py file | annotate | diff | comparison | revisions
src/eric7/WebBrowser/Passwords/Ui_PasswordsDialog.py file | annotate | diff | comparison | revisions
src/eric7/WebBrowser/PersonalInformationManager/Ui_PersonalDataDialog.py file | annotate | diff | comparison | revisions
src/eric7/WebBrowser/SafeBrowsing/Ui_SafeBrowsingDialog.py file | annotate | diff | comparison | revisions
src/eric7/WebBrowser/Session/Ui_SessionManagerDialog.py file | annotate | diff | comparison | revisions
src/eric7/WebBrowser/SiteInfo/Ui_SiteInfoDialog.py file | annotate | diff | comparison | revisions
src/eric7/WebBrowser/SpellCheck/Ui_ManageDictionariesDialog.py file | annotate | diff | comparison | revisions
src/eric7/WebBrowser/StatusBar/Ui_JavaScriptSettingsDialog.py file | annotate | diff | comparison | revisions
src/eric7/WebBrowser/Sync/Ui_SyncCheckPage.py file | annotate | diff | comparison | revisions
src/eric7/WebBrowser/Sync/Ui_SyncDataPage.py file | annotate | diff | comparison | revisions
src/eric7/WebBrowser/Sync/Ui_SyncDirectorySettingsPage.py file | annotate | diff | comparison | revisions
src/eric7/WebBrowser/Sync/Ui_SyncEncryptionPage.py file | annotate | diff | comparison | revisions
src/eric7/WebBrowser/Sync/Ui_SyncFtpSettingsPage.py file | annotate | diff | comparison | revisions
src/eric7/WebBrowser/Sync/Ui_SyncHostTypePage.py file | annotate | diff | comparison | revisions
src/eric7/WebBrowser/Tools/Ui_PrintToPdfDialog.py file | annotate | diff | comparison | revisions
src/eric7/WebBrowser/Tools/Ui_WebIconDialog.py file | annotate | diff | comparison | revisions
src/eric7/WebBrowser/Ui_PageScreenDialog.py file | annotate | diff | comparison | revisions
src/eric7/WebBrowser/Ui_SearchWidget.py file | annotate | diff | comparison | revisions
src/eric7/WebBrowser/Ui_WebBrowserClearPrivateDataDialog.py file | annotate | diff | comparison | revisions
src/eric7/WebBrowser/Ui_WebBrowserLanguagesDialog.py file | annotate | diff | comparison | revisions
src/eric7/WebBrowser/UrlBar/Ui_BookmarkActionSelectionDialog.py file | annotate | diff | comparison | revisions
src/eric7/WebBrowser/UrlBar/Ui_BookmarkInfoDialog.py file | annotate | diff | comparison | revisions
src/eric7/WebBrowser/UserAgent/Ui_UserAgentsDialog.py file | annotate | diff | comparison | revisions
src/eric7/WebBrowser/VirusTotal/Ui_VirusTotalDomainReportDialog.py file | annotate | diff | comparison | revisions
src/eric7/WebBrowser/VirusTotal/Ui_VirusTotalIpReportDialog.py file | annotate | diff | comparison | revisions
src/eric7/WebBrowser/VirusTotal/Ui_VirusTotalWhoisDialog.py file | annotate | diff | comparison | revisions
src/eric7/WebBrowser/ZoomManager/Ui_ZoomValuesDialog.py file | annotate | diff | comparison | revisions
--- a/.hgignore	Thu Jun 06 18:01:54 2024 +0200
+++ b/.hgignore	Fri Jun 07 10:05:06 2024 +0200
@@ -7,7 +7,6 @@
 glob:**.pyc
 glob:**.orig
 glob:**.bak
-glob:**Ui_*.py
 glob:**.rej
 glob:**~
 glob:cur
--- a/scripts/install.py	Thu Jun 06 18:01:54 2024 +0200
+++ b/scripts/install.py	Fri Jun 07 10:05:06 2024 +0200
@@ -30,8 +30,6 @@
 import sysconfig
 import time
 
-from functools import partial
-
 # Define the globals.
 currDir = os.getcwd()
 modDir = None
@@ -1907,97 +1905,6 @@
     print()
 
 
-def __pyName(py_dir, py_file):
-    """
-    Local function to create the Python source file name for the compiled
-    .ui file.
-
-    @param py_dir suggested name of the directory
-    @type str
-    @param py_file suggested name for the compile source file
-    @type str
-    @return tuple of directory name and source file name
-    @rtype tuple of (str, str)
-    """
-    return py_dir, "Ui_{0}".format(py_file)
-
-
-def __compileOneUi(ui_path, mapFunc=None):
-    """
-    Function to compile a single form file to Python code.
-
-    @param ui_path path of the Qt form file
-    @type str
-    @param mapFunc function to change directory and/or name of the resulting Python file
-        (defaults to None)
-    @type func (optional)
-    """
-    from PyQt6.uic import compileUi  # noqa: I102
-
-    py_dir, py_file = os.path.split(ui_path[:-3] + ".py")
-
-    # Allow the caller to change the name of the .py file or generate
-    # it in a different directory.
-    if mapFunc is not None:
-        py_dir, py_file = mapFunc(py_dir, py_file)
-
-    # Make sure the destination directory exists.
-    os.makedirs(py_dir, exist_ok=True)
-
-    py_path = os.path.join(py_dir, py_file)
-
-    with open(py_path, "w", encoding="utf-8") as py_file:
-        compileUi(ui_path, py_file, execute=False, indent=4)
-
-
-def compileUiDir(root, recurse=False, mapFunc=None, workers=1):
-    """
-    Function to compile all Qt form files of a directory or directory tree
-    to Python code.
-
-    @param root directory to scan for Qt form files (i.e. files ending with '.ui'
-    @type str
-    @param recurse flag indicating to recurse into sub-directories (defaults to False)
-    @type bool (optional)
-    @param mapFunc function to change directory and/or name of the resulting Python file
-        (defaults to None)
-    @type func (optional)
-    @param workers number of worker processes to be used to compile (defaults to 1)
-    @type int (optional)
-    """
-    if recurse:
-        ui_files = []
-        for rootDir, _, files in os.walk(root):
-            ui_files.extend(
-                os.path.join(rootDir, ui) for ui in files if ui.endswith(".ui")
-            )
-    else:
-        ui_files = [
-            os.path.join(root, ui)
-            for ui in os.listdir(root)
-            if os.path.isfile(os.path.join(root, ui) and ui.endswith(".ui"))
-        ]
-
-    ProcessPoolExecutor = None
-    if workers != 1:
-        try:
-            from concurrent.futures import ProcessPoolExecutor  # noqa: I101, I103
-        except NotImplementedError:
-            workers = 1
-
-    if workers != 1 and ProcessPoolExecutor is not None:
-        # If workers == 0, let ProcessPoolExecutor determine worker count.
-        workers = workers or None
-        with ProcessPoolExecutor(max_workers=workers) as executor:
-            executor.map(
-                partial(__compileOneUi, mapFunc=mapFunc),
-                ui_files,
-            )
-    else:
-        for ui_file in ui_files:
-            __compileOneUi(ui_file, mapFunc=mapFunc)
-
-
 def prepareInfoFile(fileName):
     """
     Function to prepare an Info.py file when installing from source.
@@ -2413,16 +2320,6 @@
     createInstallInfo()
     print(" Done")
 
-    # Compile .ui files
-    print("Compiling user interface files ...", end="", flush=True)
-    # step 1: remove old Ui_*.py files
-    for root, _, files in os.walk(sourceDir):
-        for file in [f for f in files if fnmatch.fnmatch(f, "Ui_*.py")]:
-            os.remove(os.path.join(root, file))
-    # step 2: compile the forms
-    compileUiDir(eric7SourceDir, recurse=True, mapFunc=__pyName, workers=0)
-    print(" Done")
-
     if doCompile:
         print("Compiling source files ...", end="", flush=True)
         skipRe = re.compile(r"DebugClients[\\/]Python[\\/]")
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/CodeFormatting/Ui_BlackConfigurationDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,106 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/CodeFormatting/BlackConfigurationDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_BlackConfigurationDialog(object):
+    def setupUi(self, BlackConfigurationDialog):
+        BlackConfigurationDialog.setObjectName("BlackConfigurationDialog")
+        BlackConfigurationDialog.resize(600, 500)
+        BlackConfigurationDialog.setSizeGripEnabled(True)
+        self.gridLayout_2 = QtWidgets.QGridLayout(BlackConfigurationDialog)
+        self.gridLayout_2.setObjectName("gridLayout_2")
+        self.label = QtWidgets.QLabel(parent=BlackConfigurationDialog)
+        self.label.setObjectName("label")
+        self.gridLayout_2.addWidget(self.label, 0, 0, 1, 1)
+        self.sourceComboBox = QtWidgets.QComboBox(parent=BlackConfigurationDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.sourceComboBox.sizePolicy().hasHeightForWidth())
+        self.sourceComboBox.setSizePolicy(sizePolicy)
+        self.sourceComboBox.setObjectName("sourceComboBox")
+        self.gridLayout_2.addWidget(self.sourceComboBox, 0, 1, 1, 1)
+        self.configurationGroup = QtWidgets.QGroupBox(parent=BlackConfigurationDialog)
+        self.configurationGroup.setObjectName("configurationGroup")
+        self.gridLayout = QtWidgets.QGridLayout(self.configurationGroup)
+        self.gridLayout.setObjectName("gridLayout")
+        self.label_2 = QtWidgets.QLabel(parent=self.configurationGroup)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 0, 0, 1, 1)
+        self.lineLengthSpinBox = QtWidgets.QSpinBox(parent=self.configurationGroup)
+        self.lineLengthSpinBox.setMinimum(70)
+        self.lineLengthSpinBox.setMaximum(120)
+        self.lineLengthSpinBox.setProperty("value", 88)
+        self.lineLengthSpinBox.setObjectName("lineLengthSpinBox")
+        self.gridLayout.addWidget(self.lineLengthSpinBox, 0, 1, 1, 1)
+        spacerItem = QtWidgets.QSpacerItem(387, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout.addItem(spacerItem, 0, 2, 1, 2)
+        self.label_3 = QtWidgets.QLabel(parent=self.configurationGroup)
+        self.label_3.setAlignment(QtCore.Qt.AlignmentFlag.AlignLeading|QtCore.Qt.AlignmentFlag.AlignLeft|QtCore.Qt.AlignmentFlag.AlignTop)
+        self.label_3.setObjectName("label_3")
+        self.gridLayout.addWidget(self.label_3, 1, 0, 1, 1)
+        self.targetVersionsList = QtWidgets.QListWidget(parent=self.configurationGroup)
+        self.targetVersionsList.setAlternatingRowColors(True)
+        self.targetVersionsList.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.NoSelection)
+        self.targetVersionsList.setObjectName("targetVersionsList")
+        self.gridLayout.addWidget(self.targetVersionsList, 1, 1, 2, 2)
+        spacerItem1 = QtWidgets.QSpacerItem(322, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout.addItem(spacerItem1, 2, 3, 1, 1)
+        self.skipStringNormalCheckBox = QtWidgets.QCheckBox(parent=self.configurationGroup)
+        self.skipStringNormalCheckBox.setObjectName("skipStringNormalCheckBox")
+        self.gridLayout.addWidget(self.skipStringNormalCheckBox, 3, 0, 1, 4)
+        self.skipMagicCommaCheckBox = QtWidgets.QCheckBox(parent=self.configurationGroup)
+        self.skipMagicCommaCheckBox.setObjectName("skipMagicCommaCheckBox")
+        self.gridLayout.addWidget(self.skipMagicCommaCheckBox, 4, 0, 1, 4)
+        self.label_4 = QtWidgets.QLabel(parent=self.configurationGroup)
+        self.label_4.setAlignment(QtCore.Qt.AlignmentFlag.AlignLeading|QtCore.Qt.AlignmentFlag.AlignLeft|QtCore.Qt.AlignmentFlag.AlignTop)
+        self.label_4.setObjectName("label_4")
+        self.gridLayout.addWidget(self.label_4, 5, 0, 1, 1)
+        self.excludeEdit = QtWidgets.QPlainTextEdit(parent=self.configurationGroup)
+        self.excludeEdit.setObjectName("excludeEdit")
+        self.gridLayout.addWidget(self.excludeEdit, 5, 1, 2, 3)
+        self.validateButton = QtWidgets.QPushButton(parent=self.configurationGroup)
+        self.validateButton.setObjectName("validateButton")
+        self.gridLayout.addWidget(self.validateButton, 6, 0, 1, 1)
+        self.gridLayout_2.addWidget(self.configurationGroup, 1, 0, 1, 2)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=BlackConfigurationDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout_2.addWidget(self.buttonBox, 2, 0, 1, 2)
+
+        self.retranslateUi(BlackConfigurationDialog)
+        self.buttonBox.accepted.connect(BlackConfigurationDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(BlackConfigurationDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(BlackConfigurationDialog)
+        BlackConfigurationDialog.setTabOrder(self.sourceComboBox, self.lineLengthSpinBox)
+        BlackConfigurationDialog.setTabOrder(self.lineLengthSpinBox, self.targetVersionsList)
+        BlackConfigurationDialog.setTabOrder(self.targetVersionsList, self.skipStringNormalCheckBox)
+        BlackConfigurationDialog.setTabOrder(self.skipStringNormalCheckBox, self.skipMagicCommaCheckBox)
+        BlackConfigurationDialog.setTabOrder(self.skipMagicCommaCheckBox, self.excludeEdit)
+
+    def retranslateUi(self, BlackConfigurationDialog):
+        _translate = QtCore.QCoreApplication.translate
+        BlackConfigurationDialog.setWindowTitle(_translate("BlackConfigurationDialog", "Black Configuration"))
+        self.label.setText(_translate("BlackConfigurationDialog", "Configuration Source:"))
+        self.sourceComboBox.setToolTip(_translate("BlackConfigurationDialog", "Select the configuration source."))
+        self.configurationGroup.setTitle(_translate("BlackConfigurationDialog", "Configuration"))
+        self.label_2.setText(_translate("BlackConfigurationDialog", "Line Length:"))
+        self.lineLengthSpinBox.setToolTip(_translate("BlackConfigurationDialog", "Enter the allowed maximum line length."))
+        self.label_3.setText(_translate("BlackConfigurationDialog", "Target Versions:"))
+        self.targetVersionsList.setToolTip(_translate("BlackConfigurationDialog", "Select the Python versions to be supported (none for auto-detection)."))
+        self.skipStringNormalCheckBox.setToolTip(_translate("BlackConfigurationDialog", "Select to not normalize string quotes or prefixes."))
+        self.skipStringNormalCheckBox.setText(_translate("BlackConfigurationDialog", "Skip string normalization"))
+        self.skipMagicCommaCheckBox.setToolTip(_translate("BlackConfigurationDialog", "Select to not use trailing commas as a reason to split lines."))
+        self.skipMagicCommaCheckBox.setText(_translate("BlackConfigurationDialog", "Skip magic trailing comma"))
+        self.label_4.setText(_translate("BlackConfigurationDialog", "Exclude:"))
+        self.excludeEdit.setToolTip(_translate("BlackConfigurationDialog", "Enter a regular expression that matches files and directories that should be excluded in addition to the default exclusions."))
+        self.validateButton.setToolTip(_translate("BlackConfigurationDialog", "Press to validate the entered exclusion pattern."))
+        self.validateButton.setText(_translate("BlackConfigurationDialog", "Validate"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/CodeFormatting/Ui_BlackFormattingDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,123 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/CodeFormatting/BlackFormattingDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_BlackFormattingDialog(object):
+    def setupUi(self, BlackFormattingDialog):
+        BlackFormattingDialog.setObjectName("BlackFormattingDialog")
+        BlackFormattingDialog.resize(700, 650)
+        BlackFormattingDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(BlackFormattingDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem)
+        self.label_2 = QtWidgets.QLabel(parent=BlackFormattingDialog)
+        self.label_2.setObjectName("label_2")
+        self.horizontalLayout.addWidget(self.label_2)
+        self.statusFilterComboBox = QtWidgets.QComboBox(parent=BlackFormattingDialog)
+        self.statusFilterComboBox.setMinimumSize(QtCore.QSize(150, 0))
+        self.statusFilterComboBox.setSizeAdjustPolicy(QtWidgets.QComboBox.SizeAdjustPolicy.AdjustToMinimumContentsLengthWithIcon)
+        self.statusFilterComboBox.setObjectName("statusFilterComboBox")
+        self.horizontalLayout.addWidget(self.statusFilterComboBox)
+        self.verticalLayout.addLayout(self.horizontalLayout)
+        self.resultsList = QtWidgets.QTreeWidget(parent=BlackFormattingDialog)
+        self.resultsList.setAlternatingRowColors(True)
+        self.resultsList.setRootIsDecorated(False)
+        self.resultsList.setItemsExpandable(False)
+        self.resultsList.setObjectName("resultsList")
+        self.verticalLayout.addWidget(self.resultsList)
+        self.statisticsGroup = QtWidgets.QGroupBox(parent=BlackFormattingDialog)
+        self.statisticsGroup.setObjectName("statisticsGroup")
+        self.gridLayout = QtWidgets.QGridLayout(self.statisticsGroup)
+        self.gridLayout.setObjectName("gridLayout")
+        self.label = QtWidgets.QLabel(parent=self.statisticsGroup)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
+        self.totalCountLabel = QtWidgets.QLabel(parent=self.statisticsGroup)
+        self.totalCountLabel.setText("0")
+        self.totalCountLabel.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.totalCountLabel.setObjectName("totalCountLabel")
+        self.gridLayout.addWidget(self.totalCountLabel, 0, 1, 1, 1)
+        spacerItem1 = QtWidgets.QSpacerItem(183, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout.addItem(spacerItem1, 0, 2, 1, 1)
+        self.label_3 = QtWidgets.QLabel(parent=self.statisticsGroup)
+        self.label_3.setObjectName("label_3")
+        self.gridLayout.addWidget(self.label_3, 0, 3, 1, 1)
+        self.excludedCountLabel = QtWidgets.QLabel(parent=self.statisticsGroup)
+        self.excludedCountLabel.setText("0")
+        self.excludedCountLabel.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.excludedCountLabel.setObjectName("excludedCountLabel")
+        self.gridLayout.addWidget(self.excludedCountLabel, 0, 4, 1, 1)
+        spacerItem2 = QtWidgets.QSpacerItem(182, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout.addItem(spacerItem2, 0, 5, 1, 1)
+        self.label_5 = QtWidgets.QLabel(parent=self.statisticsGroup)
+        self.label_5.setObjectName("label_5")
+        self.gridLayout.addWidget(self.label_5, 0, 6, 1, 1)
+        self.failuresCountLabel = QtWidgets.QLabel(parent=self.statisticsGroup)
+        self.failuresCountLabel.setText("0")
+        self.failuresCountLabel.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.failuresCountLabel.setObjectName("failuresCountLabel")
+        self.gridLayout.addWidget(self.failuresCountLabel, 0, 7, 1, 1)
+        self.label_6 = QtWidgets.QLabel(parent=self.statisticsGroup)
+        self.label_6.setObjectName("label_6")
+        self.gridLayout.addWidget(self.label_6, 1, 0, 1, 1)
+        self.processedCountLabel = QtWidgets.QLabel(parent=self.statisticsGroup)
+        self.processedCountLabel.setText("0")
+        self.processedCountLabel.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.processedCountLabel.setObjectName("processedCountLabel")
+        self.gridLayout.addWidget(self.processedCountLabel, 1, 1, 1, 1)
+        self.reformattedLabel = QtWidgets.QLabel(parent=self.statisticsGroup)
+        self.reformattedLabel.setObjectName("reformattedLabel")
+        self.gridLayout.addWidget(self.reformattedLabel, 1, 3, 1, 1)
+        self.reformattedCountLabel = QtWidgets.QLabel(parent=self.statisticsGroup)
+        self.reformattedCountLabel.setText("0")
+        self.reformattedCountLabel.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.reformattedCountLabel.setObjectName("reformattedCountLabel")
+        self.gridLayout.addWidget(self.reformattedCountLabel, 1, 4, 1, 1)
+        self.label_4 = QtWidgets.QLabel(parent=self.statisticsGroup)
+        self.label_4.setObjectName("label_4")
+        self.gridLayout.addWidget(self.label_4, 1, 6, 1, 1)
+        self.unchangedCountLabel = QtWidgets.QLabel(parent=self.statisticsGroup)
+        self.unchangedCountLabel.setText("0")
+        self.unchangedCountLabel.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.unchangedCountLabel.setObjectName("unchangedCountLabel")
+        self.gridLayout.addWidget(self.unchangedCountLabel, 1, 7, 1, 1)
+        self.verticalLayout.addWidget(self.statisticsGroup)
+        self.progressBar = QtWidgets.QProgressBar(parent=BlackFormattingDialog)
+        self.progressBar.setObjectName("progressBar")
+        self.verticalLayout.addWidget(self.progressBar)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=BlackFormattingDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(BlackFormattingDialog)
+        QtCore.QMetaObject.connectSlotsByName(BlackFormattingDialog)
+        BlackFormattingDialog.setTabOrder(self.resultsList, self.statusFilterComboBox)
+
+    def retranslateUi(self, BlackFormattingDialog):
+        _translate = QtCore.QCoreApplication.translate
+        BlackFormattingDialog.setWindowTitle(_translate("BlackFormattingDialog", "Code Formatting with Black"))
+        self.label_2.setText(_translate("BlackFormattingDialog", "Status Filter:"))
+        self.statusFilterComboBox.setToolTip(_translate("BlackFormattingDialog", "Select the status of items to be shown."))
+        self.resultsList.setSortingEnabled(True)
+        self.resultsList.headerItem().setText(0, _translate("BlackFormattingDialog", "Status"))
+        self.resultsList.headerItem().setText(1, _translate("BlackFormattingDialog", "File Name"))
+        self.statisticsGroup.setTitle(_translate("BlackFormattingDialog", "Statistics"))
+        self.label.setText(_translate("BlackFormattingDialog", "Total Files:"))
+        self.label_3.setText(_translate("BlackFormattingDialog", "Excluded:"))
+        self.label_5.setText(_translate("BlackFormattingDialog", "Failures:"))
+        self.label_6.setText(_translate("BlackFormattingDialog", "Processed:"))
+        self.reformattedLabel.setText(_translate("BlackFormattingDialog", "Reformatted:"))
+        self.label_4.setText(_translate("BlackFormattingDialog", "Unchanged:"))
+        self.progressBar.setFormat(_translate("BlackFormattingDialog", "%v/%m Files"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/CodeFormatting/Ui_FormattingDiffWidget.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,35 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/CodeFormatting/FormattingDiffWidget.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_FormattingDiffWidget(object):
+    def setupUi(self, FormattingDiffWidget):
+        FormattingDiffWidget.setObjectName("FormattingDiffWidget")
+        FormattingDiffWidget.resize(700, 700)
+        self.verticalLayout = QtWidgets.QVBoxLayout(FormattingDiffWidget)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.diffEdit = QtWidgets.QPlainTextEdit(parent=FormattingDiffWidget)
+        self.diffEdit.setLineWrapMode(QtWidgets.QPlainTextEdit.LineWrapMode.NoWrap)
+        self.diffEdit.setReadOnly(True)
+        self.diffEdit.setTabStopDistance(8.0)
+        self.diffEdit.setObjectName("diffEdit")
+        self.verticalLayout.addWidget(self.diffEdit)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=FormattingDiffWidget)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(FormattingDiffWidget)
+        self.buttonBox.rejected.connect(FormattingDiffWidget.close) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(FormattingDiffWidget)
+
+    def retranslateUi(self, FormattingDiffWidget):
+        _translate = QtCore.QCoreApplication.translate
+        FormattingDiffWidget.setWindowTitle(_translate("FormattingDiffWidget", "Reformatting Differences"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/CodeFormatting/Ui_IsortConfigurationDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,320 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/CodeFormatting/IsortConfigurationDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_IsortConfigurationDialog(object):
+    def setupUi(self, IsortConfigurationDialog):
+        IsortConfigurationDialog.setObjectName("IsortConfigurationDialog")
+        IsortConfigurationDialog.resize(750, 800)
+        IsortConfigurationDialog.setSizeGripEnabled(True)
+        self.gridLayout_2 = QtWidgets.QGridLayout(IsortConfigurationDialog)
+        self.gridLayout_2.setObjectName("gridLayout_2")
+        self.sourceComboBox = QtWidgets.QComboBox(parent=IsortConfigurationDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.sourceComboBox.sizePolicy().hasHeightForWidth())
+        self.sourceComboBox.setSizePolicy(sizePolicy)
+        self.sourceComboBox.setObjectName("sourceComboBox")
+        self.gridLayout_2.addWidget(self.sourceComboBox, 0, 1, 1, 1)
+        self.label = QtWidgets.QLabel(parent=IsortConfigurationDialog)
+        self.label.setObjectName("label")
+        self.gridLayout_2.addWidget(self.label, 0, 0, 1, 1)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=IsortConfigurationDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout_2.addWidget(self.buttonBox, 2, 0, 1, 2)
+        self.configurationGroup = QtWidgets.QGroupBox(parent=IsortConfigurationDialog)
+        self.configurationGroup.setObjectName("configurationGroup")
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.configurationGroup)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.groupBox_2 = QtWidgets.QGroupBox(parent=self.configurationGroup)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(2)
+        sizePolicy.setHeightForWidth(self.groupBox_2.sizePolicy().hasHeightForWidth())
+        self.groupBox_2.setSizePolicy(sizePolicy)
+        self.groupBox_2.setObjectName("groupBox_2")
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.groupBox_2)
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.verticalLayout_3 = QtWidgets.QVBoxLayout()
+        self.verticalLayout_3.setObjectName("verticalLayout_3")
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.label_14 = QtWidgets.QLabel(parent=self.groupBox_2)
+        self.label_14.setObjectName("label_14")
+        self.horizontalLayout.addWidget(self.label_14)
+        self.sortOrderComboBox = QtWidgets.QComboBox(parent=self.groupBox_2)
+        self.sortOrderComboBox.setObjectName("sortOrderComboBox")
+        self.horizontalLayout.addWidget(self.sortOrderComboBox)
+        self.verticalLayout_3.addLayout(self.horizontalLayout)
+        self.label_15 = QtWidgets.QLabel(parent=self.groupBox_2)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.label_15.sizePolicy().hasHeightForWidth())
+        self.label_15.setSizePolicy(sizePolicy)
+        self.label_15.setOpenExternalLinks(True)
+        self.label_15.setObjectName("label_15")
+        self.verticalLayout_3.addWidget(self.label_15)
+        self.sortCaseSensitiveCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_2)
+        self.sortCaseSensitiveCheckBox.setObjectName("sortCaseSensitiveCheckBox")
+        self.verticalLayout_3.addWidget(self.sortCaseSensitiveCheckBox)
+        self.sortIgnoreStyleCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_2)
+        self.sortIgnoreStyleCheckBox.setObjectName("sortIgnoreStyleCheckBox")
+        self.verticalLayout_3.addWidget(self.sortIgnoreStyleCheckBox)
+        self.sortFromFirstCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_2)
+        self.sortFromFirstCheckBox.setObjectName("sortFromFirstCheckBox")
+        self.verticalLayout_3.addWidget(self.sortFromFirstCheckBox)
+        spacerItem = QtWidgets.QSpacerItem(20, 13, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout_3.addItem(spacerItem)
+        self.horizontalLayout_2.addLayout(self.verticalLayout_3)
+        self.gridLayout_6 = QtWidgets.QGridLayout()
+        self.gridLayout_6.setObjectName("gridLayout_6")
+        self.label_10 = QtWidgets.QLabel(parent=self.groupBox_2)
+        self.label_10.setAlignment(QtCore.Qt.AlignmentFlag.AlignLeading|QtCore.Qt.AlignmentFlag.AlignLeft|QtCore.Qt.AlignmentFlag.AlignTop)
+        self.label_10.setObjectName("label_10")
+        self.gridLayout_6.addWidget(self.label_10, 0, 0, 1, 1)
+        self.label_17 = QtWidgets.QLabel(parent=self.groupBox_2)
+        self.label_17.setObjectName("label_17")
+        self.gridLayout_6.addWidget(self.label_17, 0, 1, 1, 1)
+        self.sectionsEdit = QtWidgets.QPlainTextEdit(parent=self.groupBox_2)
+        self.sectionsEdit.setObjectName("sectionsEdit")
+        self.gridLayout_6.addWidget(self.sectionsEdit, 1, 0, 1, 1)
+        self.firstPartyEdit = QtWidgets.QPlainTextEdit(parent=self.groupBox_2)
+        self.firstPartyEdit.setObjectName("firstPartyEdit")
+        self.gridLayout_6.addWidget(self.firstPartyEdit, 1, 1, 1, 1)
+        self.horizontalLayout_2.addLayout(self.gridLayout_6)
+        self.verticalLayout_2.addWidget(self.groupBox_2)
+        self.groupBox_3 = QtWidgets.QGroupBox(parent=self.configurationGroup)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(3)
+        sizePolicy.setHeightForWidth(self.groupBox_3.sizePolicy().hasHeightForWidth())
+        self.groupBox_3.setSizePolicy(sizePolicy)
+        self.groupBox_3.setObjectName("groupBox_3")
+        self.gridLayout_5 = QtWidgets.QGridLayout(self.groupBox_3)
+        self.gridLayout_5.setObjectName("gridLayout_5")
+        self.label_16 = QtWidgets.QLabel(parent=self.groupBox_3)
+        self.label_16.setObjectName("label_16")
+        self.gridLayout_5.addWidget(self.label_16, 0, 0, 1, 1)
+        self.extensionsEdit = QtWidgets.QLineEdit(parent=self.groupBox_3)
+        self.extensionsEdit.setClearButtonEnabled(True)
+        self.extensionsEdit.setObjectName("extensionsEdit")
+        self.gridLayout_5.addWidget(self.extensionsEdit, 0, 1, 1, 1)
+        self.label_11 = QtWidgets.QLabel(parent=self.groupBox_3)
+        self.label_11.setAlignment(QtCore.Qt.AlignmentFlag.AlignLeading|QtCore.Qt.AlignmentFlag.AlignLeft|QtCore.Qt.AlignmentFlag.AlignTop)
+        self.label_11.setObjectName("label_11")
+        self.gridLayout_5.addWidget(self.label_11, 1, 0, 1, 1)
+        self.excludeEdit = QtWidgets.QPlainTextEdit(parent=self.groupBox_3)
+        self.excludeEdit.setObjectName("excludeEdit")
+        self.gridLayout_5.addWidget(self.excludeEdit, 1, 1, 1, 1)
+        self.verticalLayout_2.addWidget(self.groupBox_3)
+        self.groupBox = QtWidgets.QGroupBox(parent=self.configurationGroup)
+        self.groupBox.setObjectName("groupBox")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.groupBox)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.gridLayout_4 = QtWidgets.QGridLayout()
+        self.gridLayout_4.setObjectName("gridLayout_4")
+        self.multiLineComboBox = QtWidgets.QComboBox(parent=self.groupBox)
+        self.multiLineComboBox.setObjectName("multiLineComboBox")
+        self.gridLayout_4.addWidget(self.multiLineComboBox, 2, 1, 1, 1)
+        self.profileComboBox = QtWidgets.QComboBox(parent=self.groupBox)
+        self.profileComboBox.setEditable(True)
+        self.profileComboBox.setObjectName("profileComboBox")
+        self.gridLayout_4.addWidget(self.profileComboBox, 0, 1, 1, 1)
+        self.label_3 = QtWidgets.QLabel(parent=self.groupBox)
+        self.label_3.setObjectName("label_3")
+        self.gridLayout_4.addWidget(self.label_3, 1, 0, 1, 1)
+        self.pythonComboBox = QtWidgets.QComboBox(parent=self.groupBox)
+        self.pythonComboBox.setObjectName("pythonComboBox")
+        self.gridLayout_4.addWidget(self.pythonComboBox, 1, 1, 1, 1)
+        self.label_13 = QtWidgets.QLabel(parent=self.groupBox)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.label_13.sizePolicy().hasHeightForWidth())
+        self.label_13.setSizePolicy(sizePolicy)
+        self.label_13.setOpenExternalLinks(True)
+        self.label_13.setObjectName("label_13")
+        self.gridLayout_4.addWidget(self.label_13, 0, 2, 1, 1)
+        self.label_4 = QtWidgets.QLabel(parent=self.groupBox)
+        self.label_4.setObjectName("label_4")
+        self.gridLayout_4.addWidget(self.label_4, 2, 0, 1, 1)
+        spacerItem1 = QtWidgets.QSpacerItem(198, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout_4.addItem(spacerItem1, 1, 2, 1, 1)
+        self.label_2 = QtWidgets.QLabel(parent=self.groupBox)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout_4.addWidget(self.label_2, 0, 0, 1, 1)
+        self.label_12 = QtWidgets.QLabel(parent=self.groupBox)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.label_12.sizePolicy().hasHeightForWidth())
+        self.label_12.setSizePolicy(sizePolicy)
+        self.label_12.setOpenExternalLinks(True)
+        self.label_12.setObjectName("label_12")
+        self.gridLayout_4.addWidget(self.label_12, 2, 2, 1, 1)
+        self.verticalLayout.addLayout(self.gridLayout_4)
+        self.gridLayout_3 = QtWidgets.QGridLayout()
+        self.gridLayout_3.setObjectName("gridLayout_3")
+        self.label_5 = QtWidgets.QLabel(parent=self.groupBox)
+        self.label_5.setObjectName("label_5")
+        self.gridLayout_3.addWidget(self.label_5, 0, 0, 1, 1)
+        self.lineLengthSpinBox = QtWidgets.QSpinBox(parent=self.groupBox)
+        self.lineLengthSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.lineLengthSpinBox.setMinimum(70)
+        self.lineLengthSpinBox.setMaximum(120)
+        self.lineLengthSpinBox.setProperty("value", 79)
+        self.lineLengthSpinBox.setObjectName("lineLengthSpinBox")
+        self.gridLayout_3.addWidget(self.lineLengthSpinBox, 0, 1, 1, 2)
+        spacerItem2 = QtWidgets.QSpacerItem(388, 17, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout_3.addItem(spacerItem2, 0, 3, 1, 6)
+        self.label_6 = QtWidgets.QLabel(parent=self.groupBox)
+        self.label_6.setObjectName("label_6")
+        self.gridLayout_3.addWidget(self.label_6, 1, 0, 1, 1)
+        self.linesBeforeImportsSpinBox = QtWidgets.QSpinBox(parent=self.groupBox)
+        self.linesBeforeImportsSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.linesBeforeImportsSpinBox.setMinimum(-1)
+        self.linesBeforeImportsSpinBox.setMaximum(5)
+        self.linesBeforeImportsSpinBox.setProperty("value", -1)
+        self.linesBeforeImportsSpinBox.setObjectName("linesBeforeImportsSpinBox")
+        self.gridLayout_3.addWidget(self.linesBeforeImportsSpinBox, 1, 1, 1, 3)
+        spacerItem3 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout_3.addItem(spacerItem3, 1, 4, 1, 1)
+        self.label_7 = QtWidgets.QLabel(parent=self.groupBox)
+        self.label_7.setObjectName("label_7")
+        self.gridLayout_3.addWidget(self.label_7, 1, 5, 1, 1)
+        self.linesAfterImportsSpinBox = QtWidgets.QSpinBox(parent=self.groupBox)
+        self.linesAfterImportsSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.linesAfterImportsSpinBox.setMinimum(-1)
+        self.linesAfterImportsSpinBox.setMaximum(120)
+        self.linesAfterImportsSpinBox.setProperty("value", -1)
+        self.linesAfterImportsSpinBox.setObjectName("linesAfterImportsSpinBox")
+        self.gridLayout_3.addWidget(self.linesAfterImportsSpinBox, 1, 6, 1, 2)
+        spacerItem4 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout_3.addItem(spacerItem4, 1, 8, 1, 1)
+        self.label_8 = QtWidgets.QLabel(parent=self.groupBox)
+        self.label_8.setObjectName("label_8")
+        self.gridLayout_3.addWidget(self.label_8, 2, 0, 1, 1)
+        self.linesBetweenSectionsSpinBox = QtWidgets.QSpinBox(parent=self.groupBox)
+        self.linesBetweenSectionsSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.linesBetweenSectionsSpinBox.setMinimum(0)
+        self.linesBetweenSectionsSpinBox.setMaximum(5)
+        self.linesBetweenSectionsSpinBox.setProperty("value", 1)
+        self.linesBetweenSectionsSpinBox.setObjectName("linesBetweenSectionsSpinBox")
+        self.gridLayout_3.addWidget(self.linesBetweenSectionsSpinBox, 2, 1, 1, 1)
+        spacerItem5 = QtWidgets.QSpacerItem(88, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout_3.addItem(spacerItem5, 2, 2, 1, 3)
+        self.label_9 = QtWidgets.QLabel(parent=self.groupBox)
+        self.label_9.setObjectName("label_9")
+        self.gridLayout_3.addWidget(self.label_9, 2, 5, 1, 1)
+        self.linesBetweenTypesSpinBox = QtWidgets.QSpinBox(parent=self.groupBox)
+        self.linesBetweenTypesSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.linesBetweenTypesSpinBox.setMinimum(0)
+        self.linesBetweenTypesSpinBox.setMaximum(5)
+        self.linesBetweenTypesSpinBox.setProperty("value", 0)
+        self.linesBetweenTypesSpinBox.setObjectName("linesBetweenTypesSpinBox")
+        self.gridLayout_3.addWidget(self.linesBetweenTypesSpinBox, 2, 6, 1, 1)
+        spacerItem6 = QtWidgets.QSpacerItem(88, 24, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout_3.addItem(spacerItem6, 2, 7, 1, 2)
+        self.trailingCommaCheckBox = QtWidgets.QCheckBox(parent=self.groupBox)
+        self.trailingCommaCheckBox.setObjectName("trailingCommaCheckBox")
+        self.gridLayout_3.addWidget(self.trailingCommaCheckBox, 3, 0, 1, 5)
+        self.parenthesesCheckBox = QtWidgets.QCheckBox(parent=self.groupBox)
+        self.parenthesesCheckBox.setObjectName("parenthesesCheckBox")
+        self.gridLayout_3.addWidget(self.parenthesesCheckBox, 3, 5, 1, 4)
+        self.combineAsCheckBox = QtWidgets.QCheckBox(parent=self.groupBox)
+        self.combineAsCheckBox.setObjectName("combineAsCheckBox")
+        self.gridLayout_3.addWidget(self.combineAsCheckBox, 4, 0, 1, 5)
+        self.verticalLayout.addLayout(self.gridLayout_3)
+        self.verticalLayout_2.addWidget(self.groupBox)
+        self.gridLayout_2.addWidget(self.configurationGroup, 1, 0, 1, 2)
+
+        self.retranslateUi(IsortConfigurationDialog)
+        self.buttonBox.accepted.connect(IsortConfigurationDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(IsortConfigurationDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(IsortConfigurationDialog)
+        IsortConfigurationDialog.setTabOrder(self.sourceComboBox, self.sortOrderComboBox)
+        IsortConfigurationDialog.setTabOrder(self.sortOrderComboBox, self.label_15)
+        IsortConfigurationDialog.setTabOrder(self.label_15, self.sortCaseSensitiveCheckBox)
+        IsortConfigurationDialog.setTabOrder(self.sortCaseSensitiveCheckBox, self.sortIgnoreStyleCheckBox)
+        IsortConfigurationDialog.setTabOrder(self.sortIgnoreStyleCheckBox, self.sortFromFirstCheckBox)
+        IsortConfigurationDialog.setTabOrder(self.sortFromFirstCheckBox, self.sectionsEdit)
+        IsortConfigurationDialog.setTabOrder(self.sectionsEdit, self.firstPartyEdit)
+        IsortConfigurationDialog.setTabOrder(self.firstPartyEdit, self.extensionsEdit)
+        IsortConfigurationDialog.setTabOrder(self.extensionsEdit, self.excludeEdit)
+        IsortConfigurationDialog.setTabOrder(self.excludeEdit, self.profileComboBox)
+        IsortConfigurationDialog.setTabOrder(self.profileComboBox, self.label_13)
+        IsortConfigurationDialog.setTabOrder(self.label_13, self.pythonComboBox)
+        IsortConfigurationDialog.setTabOrder(self.pythonComboBox, self.multiLineComboBox)
+        IsortConfigurationDialog.setTabOrder(self.multiLineComboBox, self.label_12)
+        IsortConfigurationDialog.setTabOrder(self.label_12, self.lineLengthSpinBox)
+        IsortConfigurationDialog.setTabOrder(self.lineLengthSpinBox, self.linesBeforeImportsSpinBox)
+        IsortConfigurationDialog.setTabOrder(self.linesBeforeImportsSpinBox, self.linesAfterImportsSpinBox)
+        IsortConfigurationDialog.setTabOrder(self.linesAfterImportsSpinBox, self.linesBetweenSectionsSpinBox)
+        IsortConfigurationDialog.setTabOrder(self.linesBetweenSectionsSpinBox, self.linesBetweenTypesSpinBox)
+        IsortConfigurationDialog.setTabOrder(self.linesBetweenTypesSpinBox, self.trailingCommaCheckBox)
+        IsortConfigurationDialog.setTabOrder(self.trailingCommaCheckBox, self.parenthesesCheckBox)
+        IsortConfigurationDialog.setTabOrder(self.parenthesesCheckBox, self.combineAsCheckBox)
+
+    def retranslateUi(self, IsortConfigurationDialog):
+        _translate = QtCore.QCoreApplication.translate
+        IsortConfigurationDialog.setWindowTitle(_translate("IsortConfigurationDialog", "isort Configuration"))
+        self.sourceComboBox.setToolTip(_translate("IsortConfigurationDialog", "Select the configuration source."))
+        self.label.setText(_translate("IsortConfigurationDialog", "Configuration Source:"))
+        self.configurationGroup.setTitle(_translate("IsortConfigurationDialog", "Configuration"))
+        self.groupBox_2.setTitle(_translate("IsortConfigurationDialog", "Sorting"))
+        self.label_14.setText(_translate("IsortConfigurationDialog", "Sort Order:"))
+        self.sortOrderComboBox.setToolTip(_translate("IsortConfigurationDialog", "Select the sort order (empty for default)."))
+        self.label_15.setText(_translate("IsortConfigurationDialog", "<a href=\"https://pycqa.github.io/isort/docs/configuration/options.html#sort-order\">Defined Sort Orders</a>"))
+        self.sortCaseSensitiveCheckBox.setToolTip(_translate("IsortConfigurationDialog", "Select to sort imports observing the case."))
+        self.sortCaseSensitiveCheckBox.setText(_translate("IsortConfigurationDialog", "Sort Case Sensitively"))
+        self.sortIgnoreStyleCheckBox.setToolTip(_translate("IsortConfigurationDialog", "Select to sort the imports by module, independent of import style"))
+        self.sortIgnoreStyleCheckBox.setText(_translate("IsortConfigurationDialog", "Sort Ignoring Style"))
+        self.sortFromFirstCheckBox.setToolTip(_translate("IsortConfigurationDialog", "Select to place from imports first then straight ones"))
+        self.sortFromFirstCheckBox.setText(_translate("IsortConfigurationDialog", "Sort From First"))
+        self.label_10.setText(_translate("IsortConfigurationDialog", "Sections:"))
+        self.label_17.setText(_translate("IsortConfigurationDialog", "Known First Party Packages:"))
+        self.sectionsEdit.setToolTip(_translate("IsortConfigurationDialog", "Enter the order of sections (one per line)."))
+        self.firstPartyEdit.setToolTip(_translate("IsortConfigurationDialog", "Enter the known first party package names (one per line)."))
+        self.groupBox_3.setTitle(_translate("IsortConfigurationDialog", "Input"))
+        self.label_16.setText(_translate("IsortConfigurationDialog", "Supported Extensions:"))
+        self.extensionsEdit.setToolTip(_translate("IsortConfigurationDialog", "Enter the supported extensions separated by space (empty for default)."))
+        self.label_11.setText(_translate("IsortConfigurationDialog", "Exclude Patterns:"))
+        self.excludeEdit.setToolTip(_translate("IsortConfigurationDialog", "Enter glob patterns for files to be skipped."))
+        self.groupBox.setTitle(_translate("IsortConfigurationDialog", "Output"))
+        self.multiLineComboBox.setToolTip(_translate("IsortConfigurationDialog", "Select the type of multi line import statements (see isort documentation)."))
+        self.profileComboBox.setToolTip(_translate("IsortConfigurationDialog", "Enter a profile to be used (empty for none) (see isort documentation)."))
+        self.label_3.setText(_translate("IsortConfigurationDialog", "Target Version:"))
+        self.pythonComboBox.setToolTip(_translate("IsortConfigurationDialog", "Select the target Python version."))
+        self.label_13.setText(_translate("IsortConfigurationDialog", "<a href=\"https://pycqa.github.io/isort/docs/configuration/profiles.html\">Built-In Profiles</a>"))
+        self.label_4.setText(_translate("IsortConfigurationDialog", "Multi Line Output:"))
+        self.label_2.setText(_translate("IsortConfigurationDialog", "Profile:"))
+        self.label_12.setText(_translate("IsortConfigurationDialog", "<a href=\"https://pycqa.github.io/isort/docs/configuration/multi_line_output_modes.html\">Defined Multi Line Output Modes</a>"))
+        self.label_5.setText(_translate("IsortConfigurationDialog", "Line Length:"))
+        self.lineLengthSpinBox.setToolTip(_translate("IsortConfigurationDialog", "Enter the allowed maximum line length."))
+        self.label_6.setText(_translate("IsortConfigurationDialog", "Lines Before Imports:"))
+        self.linesBeforeImportsSpinBox.setToolTip(_translate("IsortConfigurationDialog", "Enter the number of lines before import statements."))
+        self.linesBeforeImportsSpinBox.setSpecialValueText(_translate("IsortConfigurationDialog", "automatic"))
+        self.label_7.setText(_translate("IsortConfigurationDialog", "Lines After Imports:"))
+        self.linesAfterImportsSpinBox.setToolTip(_translate("IsortConfigurationDialog", "Enter the number of lines after import statements."))
+        self.linesAfterImportsSpinBox.setSpecialValueText(_translate("IsortConfigurationDialog", "automatic"))
+        self.label_8.setText(_translate("IsortConfigurationDialog", "Lines Between Sections:"))
+        self.linesBetweenSectionsSpinBox.setToolTip(_translate("IsortConfigurationDialog", "Enter the number of lines between import sections."))
+        self.label_9.setText(_translate("IsortConfigurationDialog", "Lines Between Types:"))
+        self.linesBetweenTypesSpinBox.setToolTip(_translate("IsortConfigurationDialog", "Enter the number of lines between import types."))
+        self.trailingCommaCheckBox.setToolTip(_translate("IsortConfigurationDialog", "Select to include a trailing comma."))
+        self.trailingCommaCheckBox.setText(_translate("IsortConfigurationDialog", "Include Trailing Comma"))
+        self.parenthesesCheckBox.setToolTip(_translate("IsortConfigurationDialog", "Select for parenthesized import statements."))
+        self.parenthesesCheckBox.setText(_translate("IsortConfigurationDialog", "Use Parentheses"))
+        self.combineAsCheckBox.setToolTip(_translate("IsortConfigurationDialog", "Select to combine as imports on the same line."))
+        self.combineAsCheckBox.setText(_translate("IsortConfigurationDialog", "Combine As Imports"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/CodeFormatting/Ui_IsortFormattingDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,123 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/CodeFormatting/IsortFormattingDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_IsortFormattingDialog(object):
+    def setupUi(self, IsortFormattingDialog):
+        IsortFormattingDialog.setObjectName("IsortFormattingDialog")
+        IsortFormattingDialog.resize(700, 650)
+        IsortFormattingDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(IsortFormattingDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem)
+        self.label_2 = QtWidgets.QLabel(parent=IsortFormattingDialog)
+        self.label_2.setObjectName("label_2")
+        self.horizontalLayout.addWidget(self.label_2)
+        self.statusFilterComboBox = QtWidgets.QComboBox(parent=IsortFormattingDialog)
+        self.statusFilterComboBox.setMinimumSize(QtCore.QSize(150, 0))
+        self.statusFilterComboBox.setSizeAdjustPolicy(QtWidgets.QComboBox.SizeAdjustPolicy.AdjustToMinimumContentsLengthWithIcon)
+        self.statusFilterComboBox.setObjectName("statusFilterComboBox")
+        self.horizontalLayout.addWidget(self.statusFilterComboBox)
+        self.verticalLayout.addLayout(self.horizontalLayout)
+        self.resultsList = QtWidgets.QTreeWidget(parent=IsortFormattingDialog)
+        self.resultsList.setAlternatingRowColors(True)
+        self.resultsList.setRootIsDecorated(False)
+        self.resultsList.setItemsExpandable(False)
+        self.resultsList.setObjectName("resultsList")
+        self.verticalLayout.addWidget(self.resultsList)
+        self.statisticsGroup = QtWidgets.QGroupBox(parent=IsortFormattingDialog)
+        self.statisticsGroup.setObjectName("statisticsGroup")
+        self.gridLayout = QtWidgets.QGridLayout(self.statisticsGroup)
+        self.gridLayout.setObjectName("gridLayout")
+        self.label = QtWidgets.QLabel(parent=self.statisticsGroup)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
+        self.totalCountLabel = QtWidgets.QLabel(parent=self.statisticsGroup)
+        self.totalCountLabel.setText("0")
+        self.totalCountLabel.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.totalCountLabel.setObjectName("totalCountLabel")
+        self.gridLayout.addWidget(self.totalCountLabel, 0, 1, 1, 1)
+        spacerItem1 = QtWidgets.QSpacerItem(183, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout.addItem(spacerItem1, 0, 2, 1, 1)
+        self.label_3 = QtWidgets.QLabel(parent=self.statisticsGroup)
+        self.label_3.setObjectName("label_3")
+        self.gridLayout.addWidget(self.label_3, 0, 3, 1, 1)
+        self.skippedCountLabel = QtWidgets.QLabel(parent=self.statisticsGroup)
+        self.skippedCountLabel.setText("0")
+        self.skippedCountLabel.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.skippedCountLabel.setObjectName("skippedCountLabel")
+        self.gridLayout.addWidget(self.skippedCountLabel, 0, 4, 1, 1)
+        spacerItem2 = QtWidgets.QSpacerItem(182, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout.addItem(spacerItem2, 0, 5, 1, 1)
+        self.label_5 = QtWidgets.QLabel(parent=self.statisticsGroup)
+        self.label_5.setObjectName("label_5")
+        self.gridLayout.addWidget(self.label_5, 0, 6, 1, 1)
+        self.failuresCountLabel = QtWidgets.QLabel(parent=self.statisticsGroup)
+        self.failuresCountLabel.setText("0")
+        self.failuresCountLabel.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.failuresCountLabel.setObjectName("failuresCountLabel")
+        self.gridLayout.addWidget(self.failuresCountLabel, 0, 7, 1, 1)
+        self.label_6 = QtWidgets.QLabel(parent=self.statisticsGroup)
+        self.label_6.setObjectName("label_6")
+        self.gridLayout.addWidget(self.label_6, 1, 0, 1, 1)
+        self.processedCountLabel = QtWidgets.QLabel(parent=self.statisticsGroup)
+        self.processedCountLabel.setText("0")
+        self.processedCountLabel.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.processedCountLabel.setObjectName("processedCountLabel")
+        self.gridLayout.addWidget(self.processedCountLabel, 1, 1, 1, 1)
+        self.reformattedLabel = QtWidgets.QLabel(parent=self.statisticsGroup)
+        self.reformattedLabel.setObjectName("reformattedLabel")
+        self.gridLayout.addWidget(self.reformattedLabel, 1, 3, 1, 1)
+        self.reformattedCountLabel = QtWidgets.QLabel(parent=self.statisticsGroup)
+        self.reformattedCountLabel.setText("0")
+        self.reformattedCountLabel.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.reformattedCountLabel.setObjectName("reformattedCountLabel")
+        self.gridLayout.addWidget(self.reformattedCountLabel, 1, 4, 1, 1)
+        self.label_4 = QtWidgets.QLabel(parent=self.statisticsGroup)
+        self.label_4.setObjectName("label_4")
+        self.gridLayout.addWidget(self.label_4, 1, 6, 1, 1)
+        self.unchangedCountLabel = QtWidgets.QLabel(parent=self.statisticsGroup)
+        self.unchangedCountLabel.setText("0")
+        self.unchangedCountLabel.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.unchangedCountLabel.setObjectName("unchangedCountLabel")
+        self.gridLayout.addWidget(self.unchangedCountLabel, 1, 7, 1, 1)
+        self.verticalLayout.addWidget(self.statisticsGroup)
+        self.progressBar = QtWidgets.QProgressBar(parent=IsortFormattingDialog)
+        self.progressBar.setObjectName("progressBar")
+        self.verticalLayout.addWidget(self.progressBar)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=IsortFormattingDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(IsortFormattingDialog)
+        QtCore.QMetaObject.connectSlotsByName(IsortFormattingDialog)
+        IsortFormattingDialog.setTabOrder(self.resultsList, self.statusFilterComboBox)
+
+    def retranslateUi(self, IsortFormattingDialog):
+        _translate = QtCore.QCoreApplication.translate
+        IsortFormattingDialog.setWindowTitle(_translate("IsortFormattingDialog", "Sort Imports with isort"))
+        self.label_2.setText(_translate("IsortFormattingDialog", "Status Filter:"))
+        self.statusFilterComboBox.setToolTip(_translate("IsortFormattingDialog", "Select the status of items to be shown."))
+        self.resultsList.setSortingEnabled(True)
+        self.resultsList.headerItem().setText(0, _translate("IsortFormattingDialog", "Status"))
+        self.resultsList.headerItem().setText(1, _translate("IsortFormattingDialog", "File Name"))
+        self.statisticsGroup.setTitle(_translate("IsortFormattingDialog", "Statistics"))
+        self.label.setText(_translate("IsortFormattingDialog", "Total Files:"))
+        self.label_3.setText(_translate("IsortFormattingDialog", "Skipped:"))
+        self.label_5.setText(_translate("IsortFormattingDialog", "Failures:"))
+        self.label_6.setText(_translate("IsortFormattingDialog", "Processed:"))
+        self.reformattedLabel.setText(_translate("IsortFormattingDialog", "Resorted:"))
+        self.label_4.setText(_translate("IsortFormattingDialog", "Unchanged:"))
+        self.progressBar.setFormat(_translate("IsortFormattingDialog", "%v/%m Files"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/CondaInterface/Ui_CondaExecDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,81 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/CondaInterface/CondaExecDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_CondaExecDialog(object):
+    def setupUi(self, CondaExecDialog):
+        CondaExecDialog.setObjectName("CondaExecDialog")
+        CondaExecDialog.resize(750, 600)
+        CondaExecDialog.setSizeGripEnabled(True)
+        self.verticalLayout_3 = QtWidgets.QVBoxLayout(CondaExecDialog)
+        self.verticalLayout_3.setObjectName("verticalLayout_3")
+        self.messagesGroup = QtWidgets.QGroupBox(parent=CondaExecDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(3)
+        sizePolicy.setHeightForWidth(self.messagesGroup.sizePolicy().hasHeightForWidth())
+        self.messagesGroup.setSizePolicy(sizePolicy)
+        self.messagesGroup.setObjectName("messagesGroup")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.messagesGroup)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.contents = QtWidgets.QTextBrowser(parent=self.messagesGroup)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(3)
+        sizePolicy.setHeightForWidth(self.contents.sizePolicy().hasHeightForWidth())
+        self.contents.setSizePolicy(sizePolicy)
+        self.contents.setObjectName("contents")
+        self.verticalLayout.addWidget(self.contents)
+        self.verticalLayout_3.addWidget(self.messagesGroup)
+        self.progressLabel = QtWidgets.QLabel(parent=CondaExecDialog)
+        self.progressLabel.setObjectName("progressLabel")
+        self.verticalLayout_3.addWidget(self.progressLabel)
+        self.progressBar = QtWidgets.QProgressBar(parent=CondaExecDialog)
+        self.progressBar.setObjectName("progressBar")
+        self.verticalLayout_3.addWidget(self.progressBar)
+        self.errorGroup = QtWidgets.QGroupBox(parent=CondaExecDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(1)
+        sizePolicy.setHeightForWidth(self.errorGroup.sizePolicy().hasHeightForWidth())
+        self.errorGroup.setSizePolicy(sizePolicy)
+        self.errorGroup.setObjectName("errorGroup")
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.errorGroup)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.errors = QtWidgets.QTextBrowser(parent=self.errorGroup)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(1)
+        sizePolicy.setHeightForWidth(self.errors.sizePolicy().hasHeightForWidth())
+        self.errors.setSizePolicy(sizePolicy)
+        self.errors.setObjectName("errors")
+        self.verticalLayout_2.addWidget(self.errors)
+        self.verticalLayout_3.addWidget(self.errorGroup)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=CondaExecDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout_3.addWidget(self.buttonBox)
+
+        self.retranslateUi(CondaExecDialog)
+        self.buttonBox.accepted.connect(CondaExecDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(CondaExecDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(CondaExecDialog)
+        CondaExecDialog.setTabOrder(self.contents, self.errors)
+
+    def retranslateUi(self, CondaExecDialog):
+        _translate = QtCore.QCoreApplication.translate
+        CondaExecDialog.setWindowTitle(_translate("CondaExecDialog", "Conda Execution"))
+        self.messagesGroup.setTitle(_translate("CondaExecDialog", "Messages"))
+        self.contents.setWhatsThis(_translate("CondaExecDialog", "<b>conda Execution</b>\n"
+"<p>This shows the output of the conda command.</p>"))
+        self.errorGroup.setTitle(_translate("CondaExecDialog", "Errors"))
+        self.errors.setWhatsThis(_translate("CondaExecDialog", "<b>conda Execution</b>\n"
+"<p>This shows the errors of the conda command.</p>"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/CondaInterface/Ui_CondaExportDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,107 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/CondaInterface/CondaExportDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_CondaExportDialog(object):
+    def setupUi(self, CondaExportDialog):
+        CondaExportDialog.setObjectName("CondaExportDialog")
+        CondaExportDialog.resize(600, 550)
+        CondaExportDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(CondaExportDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.gridLayout_2 = QtWidgets.QGridLayout()
+        self.gridLayout_2.setObjectName("gridLayout_2")
+        self.label_2 = QtWidgets.QLabel(parent=CondaExportDialog)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout_2.addWidget(self.label_2, 0, 0, 1, 1)
+        self.environmentLabel = QtWidgets.QLabel(parent=CondaExportDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.environmentLabel.sizePolicy().hasHeightForWidth())
+        self.environmentLabel.setSizePolicy(sizePolicy)
+        self.environmentLabel.setObjectName("environmentLabel")
+        self.gridLayout_2.addWidget(self.environmentLabel, 0, 1, 1, 1)
+        self.label = QtWidgets.QLabel(parent=CondaExportDialog)
+        self.label.setObjectName("label")
+        self.gridLayout_2.addWidget(self.label, 1, 0, 1, 1)
+        self.requirementsFilePicker = EricPathPicker(parent=CondaExportDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.requirementsFilePicker.sizePolicy().hasHeightForWidth())
+        self.requirementsFilePicker.setSizePolicy(sizePolicy)
+        self.requirementsFilePicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.requirementsFilePicker.setObjectName("requirementsFilePicker")
+        self.gridLayout_2.addWidget(self.requirementsFilePicker, 1, 1, 1, 1)
+        self.verticalLayout.addLayout(self.gridLayout_2)
+        self.gridLayout = QtWidgets.QGridLayout()
+        self.gridLayout.setObjectName("gridLayout")
+        self.saveButton = QtWidgets.QPushButton(parent=CondaExportDialog)
+        self.saveButton.setObjectName("saveButton")
+        self.gridLayout.addWidget(self.saveButton, 0, 1, 1, 1)
+        self.saveToButton = QtWidgets.QPushButton(parent=CondaExportDialog)
+        self.saveToButton.setObjectName("saveToButton")
+        self.gridLayout.addWidget(self.saveToButton, 1, 1, 1, 1)
+        self.copyButton = QtWidgets.QPushButton(parent=CondaExportDialog)
+        self.copyButton.setObjectName("copyButton")
+        self.gridLayout.addWidget(self.copyButton, 2, 1, 1, 1)
+        self.insertButton = QtWidgets.QPushButton(parent=CondaExportDialog)
+        self.insertButton.setObjectName("insertButton")
+        self.gridLayout.addWidget(self.insertButton, 3, 1, 1, 1)
+        self.replaceSelectionButton = QtWidgets.QPushButton(parent=CondaExportDialog)
+        self.replaceSelectionButton.setObjectName("replaceSelectionButton")
+        self.gridLayout.addWidget(self.replaceSelectionButton, 4, 1, 1, 1)
+        self.replaceAllButton = QtWidgets.QPushButton(parent=CondaExportDialog)
+        self.replaceAllButton.setObjectName("replaceAllButton")
+        self.gridLayout.addWidget(self.replaceAllButton, 5, 1, 1, 1)
+        spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.gridLayout.addItem(spacerItem, 6, 1, 1, 1)
+        self.requirementsEdit = QtWidgets.QPlainTextEdit(parent=CondaExportDialog)
+        self.requirementsEdit.setTabChangesFocus(True)
+        self.requirementsEdit.setObjectName("requirementsEdit")
+        self.gridLayout.addWidget(self.requirementsEdit, 0, 0, 7, 1)
+        self.verticalLayout.addLayout(self.gridLayout)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=CondaExportDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(CondaExportDialog)
+        self.buttonBox.accepted.connect(CondaExportDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(CondaExportDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(CondaExportDialog)
+        CondaExportDialog.setTabOrder(self.requirementsFilePicker, self.requirementsEdit)
+        CondaExportDialog.setTabOrder(self.requirementsEdit, self.saveButton)
+        CondaExportDialog.setTabOrder(self.saveButton, self.saveToButton)
+        CondaExportDialog.setTabOrder(self.saveToButton, self.copyButton)
+        CondaExportDialog.setTabOrder(self.copyButton, self.insertButton)
+        CondaExportDialog.setTabOrder(self.insertButton, self.replaceSelectionButton)
+        CondaExportDialog.setTabOrder(self.replaceSelectionButton, self.replaceAllButton)
+
+    def retranslateUi(self, CondaExportDialog):
+        _translate = QtCore.QCoreApplication.translate
+        CondaExportDialog.setWindowTitle(_translate("CondaExportDialog", "Generate Requirements"))
+        self.label_2.setText(_translate("CondaExportDialog", "Conda Environment:"))
+        self.label.setText(_translate("CondaExportDialog", "Requirements File:"))
+        self.saveButton.setToolTip(_translate("CondaExportDialog", "Press to save to the requirements file"))
+        self.saveButton.setText(_translate("CondaExportDialog", "Save"))
+        self.saveToButton.setToolTip(_translate("CondaExportDialog", "Save to a new file"))
+        self.saveToButton.setText(_translate("CondaExportDialog", "Save To"))
+        self.copyButton.setToolTip(_translate("CondaExportDialog", "Copy the requirements text to the clipboard"))
+        self.copyButton.setText(_translate("CondaExportDialog", "Copy"))
+        self.insertButton.setToolTip(_translate("CondaExportDialog", "Insert the requirements text at the cursor position"))
+        self.insertButton.setText(_translate("CondaExportDialog", "Insert"))
+        self.replaceSelectionButton.setToolTip(_translate("CondaExportDialog", "Replace the current selection with the requirements text"))
+        self.replaceSelectionButton.setText(_translate("CondaExportDialog", "Replace Selection"))
+        self.replaceAllButton.setToolTip(_translate("CondaExportDialog", "Replace all text with the requirements text"))
+        self.replaceAllButton.setText(_translate("CondaExportDialog", "Replace All"))
+from eric7.EricWidgets.EricPathPicker import EricPathPicker
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/CondaInterface/Ui_CondaInfoDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,174 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/CondaInterface/CondaInfoDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_CondaInfoDialog(object):
+    def setupUi(self, CondaInfoDialog):
+        CondaInfoDialog.setObjectName("CondaInfoDialog")
+        CondaInfoDialog.resize(650, 746)
+        CondaInfoDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(CondaInfoDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem)
+        self.iconLabel = QtWidgets.QLabel(parent=CondaInfoDialog)
+        self.iconLabel.setText("icon")
+        self.iconLabel.setObjectName("iconLabel")
+        self.horizontalLayout.addWidget(self.iconLabel)
+        self.label = QtWidgets.QLabel(parent=CondaInfoDialog)
+        self.label.setObjectName("label")
+        self.horizontalLayout.addWidget(self.label)
+        spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem1)
+        self.verticalLayout.addLayout(self.horizontalLayout)
+        self.gridLayout = QtWidgets.QGridLayout()
+        self.gridLayout.setObjectName("gridLayout")
+        self.label_3 = QtWidgets.QLabel(parent=CondaInfoDialog)
+        self.label_3.setObjectName("label_3")
+        self.gridLayout.addWidget(self.label_3, 0, 0, 1, 1)
+        self.condaVersionLabel = QtWidgets.QLabel(parent=CondaInfoDialog)
+        self.condaVersionLabel.setObjectName("condaVersionLabel")
+        self.gridLayout.addWidget(self.condaVersionLabel, 0, 1, 1, 1)
+        self.label_4 = QtWidgets.QLabel(parent=CondaInfoDialog)
+        self.label_4.setObjectName("label_4")
+        self.gridLayout.addWidget(self.label_4, 1, 0, 1, 1)
+        self.condaBuildVersionLabel = QtWidgets.QLabel(parent=CondaInfoDialog)
+        self.condaBuildVersionLabel.setObjectName("condaBuildVersionLabel")
+        self.gridLayout.addWidget(self.condaBuildVersionLabel, 1, 1, 1, 1)
+        self.label_5 = QtWidgets.QLabel(parent=CondaInfoDialog)
+        self.label_5.setObjectName("label_5")
+        self.gridLayout.addWidget(self.label_5, 3, 0, 1, 1)
+        self.pythonVersionLabel = QtWidgets.QLabel(parent=CondaInfoDialog)
+        self.pythonVersionLabel.setObjectName("pythonVersionLabel")
+        self.gridLayout.addWidget(self.pythonVersionLabel, 3, 1, 1, 1)
+        self.activeEnvironmentLabel = QtWidgets.QLabel(parent=CondaInfoDialog)
+        self.activeEnvironmentLabel.setObjectName("activeEnvironmentLabel")
+        self.gridLayout.addWidget(self.activeEnvironmentLabel, 4, 0, 1, 1)
+        self.activeEnvironmentEdit = QtWidgets.QLineEdit(parent=CondaInfoDialog)
+        self.activeEnvironmentEdit.setObjectName("activeEnvironmentEdit")
+        self.gridLayout.addWidget(self.activeEnvironmentEdit, 4, 1, 1, 1)
+        self.label_6 = QtWidgets.QLabel(parent=CondaInfoDialog)
+        self.label_6.setObjectName("label_6")
+        self.gridLayout.addWidget(self.label_6, 5, 0, 1, 1)
+        self.userConfigEdit = QtWidgets.QLineEdit(parent=CondaInfoDialog)
+        self.userConfigEdit.setObjectName("userConfigEdit")
+        self.gridLayout.addWidget(self.userConfigEdit, 5, 1, 1, 1)
+        self.label_17 = QtWidgets.QLabel(parent=CondaInfoDialog)
+        self.label_17.setObjectName("label_17")
+        self.gridLayout.addWidget(self.label_17, 6, 0, 1, 1)
+        self.systemConfigEdit = QtWidgets.QLineEdit(parent=CondaInfoDialog)
+        self.systemConfigEdit.setObjectName("systemConfigEdit")
+        self.gridLayout.addWidget(self.systemConfigEdit, 6, 1, 1, 1)
+        self.configurationsLabel = QtWidgets.QLabel(parent=CondaInfoDialog)
+        self.configurationsLabel.setAlignment(QtCore.Qt.AlignmentFlag.AlignLeading|QtCore.Qt.AlignmentFlag.AlignLeft|QtCore.Qt.AlignmentFlag.AlignTop)
+        self.configurationsLabel.setObjectName("configurationsLabel")
+        self.gridLayout.addWidget(self.configurationsLabel, 7, 0, 1, 1)
+        self.configurationsEdit = QtWidgets.QPlainTextEdit(parent=CondaInfoDialog)
+        self.configurationsEdit.setObjectName("configurationsEdit")
+        self.gridLayout.addWidget(self.configurationsEdit, 7, 1, 1, 1)
+        self.label_8 = QtWidgets.QLabel(parent=CondaInfoDialog)
+        self.label_8.setObjectName("label_8")
+        self.gridLayout.addWidget(self.label_8, 8, 0, 1, 1)
+        self.baseEnvironmentEdit = QtWidgets.QLineEdit(parent=CondaInfoDialog)
+        self.baseEnvironmentEdit.setObjectName("baseEnvironmentEdit")
+        self.gridLayout.addWidget(self.baseEnvironmentEdit, 8, 1, 1, 1)
+        self.label_9 = QtWidgets.QLabel(parent=CondaInfoDialog)
+        self.label_9.setAlignment(QtCore.Qt.AlignmentFlag.AlignLeading|QtCore.Qt.AlignmentFlag.AlignLeft|QtCore.Qt.AlignmentFlag.AlignTop)
+        self.label_9.setObjectName("label_9")
+        self.gridLayout.addWidget(self.label_9, 9, 0, 1, 1)
+        self.channelsEdit = QtWidgets.QPlainTextEdit(parent=CondaInfoDialog)
+        self.channelsEdit.setObjectName("channelsEdit")
+        self.gridLayout.addWidget(self.channelsEdit, 9, 1, 1, 1)
+        self.label_10 = QtWidgets.QLabel(parent=CondaInfoDialog)
+        self.label_10.setAlignment(QtCore.Qt.AlignmentFlag.AlignLeading|QtCore.Qt.AlignmentFlag.AlignLeft|QtCore.Qt.AlignmentFlag.AlignTop)
+        self.label_10.setObjectName("label_10")
+        self.gridLayout.addWidget(self.label_10, 10, 0, 1, 1)
+        self.cachesEdit = QtWidgets.QPlainTextEdit(parent=CondaInfoDialog)
+        self.cachesEdit.setObjectName("cachesEdit")
+        self.gridLayout.addWidget(self.cachesEdit, 10, 1, 1, 1)
+        self.label_11 = QtWidgets.QLabel(parent=CondaInfoDialog)
+        self.label_11.setAlignment(QtCore.Qt.AlignmentFlag.AlignLeading|QtCore.Qt.AlignmentFlag.AlignLeft|QtCore.Qt.AlignmentFlag.AlignTop)
+        self.label_11.setObjectName("label_11")
+        self.gridLayout.addWidget(self.label_11, 11, 0, 1, 1)
+        self.envDirsEdit = QtWidgets.QPlainTextEdit(parent=CondaInfoDialog)
+        self.envDirsEdit.setObjectName("envDirsEdit")
+        self.gridLayout.addWidget(self.envDirsEdit, 11, 1, 1, 1)
+        self.label_12 = QtWidgets.QLabel(parent=CondaInfoDialog)
+        self.label_12.setObjectName("label_12")
+        self.gridLayout.addWidget(self.label_12, 12, 0, 1, 1)
+        self.platformLabel = QtWidgets.QLabel(parent=CondaInfoDialog)
+        self.platformLabel.setObjectName("platformLabel")
+        self.gridLayout.addWidget(self.platformLabel, 12, 1, 1, 1)
+        self.useragentLabel = QtWidgets.QLabel(parent=CondaInfoDialog)
+        self.useragentLabel.setObjectName("useragentLabel")
+        self.gridLayout.addWidget(self.useragentLabel, 13, 0, 1, 1)
+        self.useragentEdit = QtWidgets.QLineEdit(parent=CondaInfoDialog)
+        self.useragentEdit.setObjectName("useragentEdit")
+        self.gridLayout.addWidget(self.useragentEdit, 13, 1, 1, 1)
+        self.uidGidLabel = QtWidgets.QLabel(parent=CondaInfoDialog)
+        self.uidGidLabel.setObjectName("uidGidLabel")
+        self.gridLayout.addWidget(self.uidGidLabel, 14, 0, 1, 1)
+        self.uidGidDataLabel = QtWidgets.QLabel(parent=CondaInfoDialog)
+        self.uidGidDataLabel.setObjectName("uidGidDataLabel")
+        self.gridLayout.addWidget(self.uidGidDataLabel, 14, 1, 1, 1)
+        self.netrcLabel = QtWidgets.QLabel(parent=CondaInfoDialog)
+        self.netrcLabel.setObjectName("netrcLabel")
+        self.gridLayout.addWidget(self.netrcLabel, 15, 0, 1, 1)
+        self.netrcEdit = QtWidgets.QLineEdit(parent=CondaInfoDialog)
+        self.netrcEdit.setObjectName("netrcEdit")
+        self.gridLayout.addWidget(self.netrcEdit, 15, 1, 1, 1)
+        self.label_16 = QtWidgets.QLabel(parent=CondaInfoDialog)
+        self.label_16.setObjectName("label_16")
+        self.gridLayout.addWidget(self.label_16, 16, 0, 1, 1)
+        self.offlineCheckBox = QtWidgets.QCheckBox(parent=CondaInfoDialog)
+        self.offlineCheckBox.setText("")
+        self.offlineCheckBox.setObjectName("offlineCheckBox")
+        self.gridLayout.addWidget(self.offlineCheckBox, 16, 1, 1, 1)
+        self.label_18 = QtWidgets.QLabel(parent=CondaInfoDialog)
+        self.label_18.setObjectName("label_18")
+        self.gridLayout.addWidget(self.label_18, 2, 0, 1, 1)
+        self.condaEnvVersionLabel = QtWidgets.QLabel(parent=CondaInfoDialog)
+        self.condaEnvVersionLabel.setObjectName("condaEnvVersionLabel")
+        self.gridLayout.addWidget(self.condaEnvVersionLabel, 2, 1, 1, 1)
+        self.verticalLayout.addLayout(self.gridLayout)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=CondaInfoDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(CondaInfoDialog)
+        self.buttonBox.accepted.connect(CondaInfoDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(CondaInfoDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(CondaInfoDialog)
+
+    def retranslateUi(self, CondaInfoDialog):
+        _translate = QtCore.QCoreApplication.translate
+        CondaInfoDialog.setWindowTitle(_translate("CondaInfoDialog", "Conda Information"))
+        self.label.setText(_translate("CondaInfoDialog", "<h2>Conda Information</h2>"))
+        self.label_3.setText(_translate("CondaInfoDialog", "conda Version:"))
+        self.label_4.setText(_translate("CondaInfoDialog", "conda-build Version:"))
+        self.label_5.setText(_translate("CondaInfoDialog", "python Version:"))
+        self.activeEnvironmentLabel.setText(_translate("CondaInfoDialog", "Active Environment:"))
+        self.label_6.setText(_translate("CondaInfoDialog", "User Configuration:"))
+        self.label_17.setText(_translate("CondaInfoDialog", "System Configuration:"))
+        self.configurationsLabel.setText(_translate("CondaInfoDialog", "Populated Configurations:"))
+        self.label_8.setText(_translate("CondaInfoDialog", "Base Environment:"))
+        self.label_9.setText(_translate("CondaInfoDialog", "Channel URLs:"))
+        self.label_10.setText(_translate("CondaInfoDialog", "Package Cache:"))
+        self.label_11.setText(_translate("CondaInfoDialog", "Environment Directories:"))
+        self.label_12.setText(_translate("CondaInfoDialog", "Platform:"))
+        self.useragentLabel.setText(_translate("CondaInfoDialog", "User-Agent:"))
+        self.uidGidLabel.setText(_translate("CondaInfoDialog", "UID:GID:"))
+        self.netrcLabel.setText(_translate("CondaInfoDialog", "netrc File:"))
+        self.label_16.setText(_translate("CondaInfoDialog", "Offline Mode:"))
+        self.label_18.setText(_translate("CondaInfoDialog", "conda-env Version:"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/CondaInterface/Ui_CondaNewEnvironmentDataDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,66 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/CondaInterface/CondaNewEnvironmentDataDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_CondaNewEnvironmentDataDialog(object):
+    def setupUi(self, CondaNewEnvironmentDataDialog):
+        CondaNewEnvironmentDataDialog.setObjectName("CondaNewEnvironmentDataDialog")
+        CondaNewEnvironmentDataDialog.resize(500, 132)
+        CondaNewEnvironmentDataDialog.setSizeGripEnabled(True)
+        self.gridLayout = QtWidgets.QGridLayout(CondaNewEnvironmentDataDialog)
+        self.gridLayout.setObjectName("gridLayout")
+        self.label_2 = QtWidgets.QLabel(parent=CondaNewEnvironmentDataDialog)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 0, 0, 1, 1)
+        self.nameEdit = QtWidgets.QLineEdit(parent=CondaNewEnvironmentDataDialog)
+        self.nameEdit.setClearButtonEnabled(True)
+        self.nameEdit.setObjectName("nameEdit")
+        self.gridLayout.addWidget(self.nameEdit, 0, 1, 1, 1)
+        self.label = QtWidgets.QLabel(parent=CondaNewEnvironmentDataDialog)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 1, 0, 1, 1)
+        self.condaNameEdit = QtWidgets.QLineEdit(parent=CondaNewEnvironmentDataDialog)
+        self.condaNameEdit.setClearButtonEnabled(True)
+        self.condaNameEdit.setObjectName("condaNameEdit")
+        self.gridLayout.addWidget(self.condaNameEdit, 1, 1, 1, 1)
+        self.requirementsLabel = QtWidgets.QLabel(parent=CondaNewEnvironmentDataDialog)
+        self.requirementsLabel.setObjectName("requirementsLabel")
+        self.gridLayout.addWidget(self.requirementsLabel, 2, 0, 1, 1)
+        self.requirementsFilePicker = EricPathPicker(parent=CondaNewEnvironmentDataDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.requirementsFilePicker.sizePolicy().hasHeightForWidth())
+        self.requirementsFilePicker.setSizePolicy(sizePolicy)
+        self.requirementsFilePicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.requirementsFilePicker.setObjectName("requirementsFilePicker")
+        self.gridLayout.addWidget(self.requirementsFilePicker, 2, 1, 1, 1)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=CondaNewEnvironmentDataDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout.addWidget(self.buttonBox, 3, 0, 1, 2)
+
+        self.retranslateUi(CondaNewEnvironmentDataDialog)
+        self.buttonBox.accepted.connect(CondaNewEnvironmentDataDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(CondaNewEnvironmentDataDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(CondaNewEnvironmentDataDialog)
+
+    def retranslateUi(self, CondaNewEnvironmentDataDialog):
+        _translate = QtCore.QCoreApplication.translate
+        CondaNewEnvironmentDataDialog.setWindowTitle(_translate("CondaNewEnvironmentDataDialog", "New Conda Environment"))
+        self.label_2.setText(_translate("CondaNewEnvironmentDataDialog", "Logical Name:"))
+        self.nameEdit.setToolTip(_translate("CondaNewEnvironmentDataDialog", "Enter a unique name for the virtual environment to register it with the Virtual Environment Manager"))
+        self.nameEdit.setPlaceholderText(_translate("CondaNewEnvironmentDataDialog", "Name for registration of the virtual environment"))
+        self.label.setText(_translate("CondaNewEnvironmentDataDialog", "Conda Name:"))
+        self.condaNameEdit.setToolTip(_translate("CondaNewEnvironmentDataDialog", "Enter the name of the virtual environment in Conda"))
+        self.condaNameEdit.setPlaceholderText(_translate("CondaNewEnvironmentDataDialog", "Name of the virtual environment in Conda"))
+        self.requirementsLabel.setText(_translate("CondaNewEnvironmentDataDialog", "Requirements File:"))
+from eric7.EricWidgets.EricPathPicker import EricPathPicker
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/CondaInterface/Ui_CondaPackageDetailsWidget.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,94 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/CondaInterface/CondaPackageDetailsWidget.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_CondaPackageDetailsWidget(object):
+    def setupUi(self, CondaPackageDetailsWidget):
+        CondaPackageDetailsWidget.setObjectName("CondaPackageDetailsWidget")
+        CondaPackageDetailsWidget.resize(600, 450)
+        self.gridLayout = QtWidgets.QGridLayout(CondaPackageDetailsWidget)
+        self.gridLayout.setObjectName("gridLayout")
+        self.headerLabel = QtWidgets.QLabel(parent=CondaPackageDetailsWidget)
+        self.headerLabel.setText("")
+        self.headerLabel.setObjectName("headerLabel")
+        self.gridLayout.addWidget(self.headerLabel, 0, 0, 1, 2)
+        self.label_2 = QtWidgets.QLabel(parent=CondaPackageDetailsWidget)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 1, 0, 1, 1)
+        self.filenameLabel = QtWidgets.QLabel(parent=CondaPackageDetailsWidget)
+        self.filenameLabel.setObjectName("filenameLabel")
+        self.gridLayout.addWidget(self.filenameLabel, 1, 1, 1, 1)
+        self.label_3 = QtWidgets.QLabel(parent=CondaPackageDetailsWidget)
+        self.label_3.setObjectName("label_3")
+        self.gridLayout.addWidget(self.label_3, 2, 0, 1, 1)
+        self.sizeLabel = QtWidgets.QLabel(parent=CondaPackageDetailsWidget)
+        self.sizeLabel.setObjectName("sizeLabel")
+        self.gridLayout.addWidget(self.sizeLabel, 2, 1, 1, 1)
+        self.label_5 = QtWidgets.QLabel(parent=CondaPackageDetailsWidget)
+        self.label_5.setObjectName("label_5")
+        self.gridLayout.addWidget(self.label_5, 3, 0, 1, 1)
+        self.channelLabel = QtWidgets.QLabel(parent=CondaPackageDetailsWidget)
+        self.channelLabel.setObjectName("channelLabel")
+        self.gridLayout.addWidget(self.channelLabel, 3, 1, 1, 1)
+        self.label_4 = QtWidgets.QLabel(parent=CondaPackageDetailsWidget)
+        self.label_4.setAlignment(QtCore.Qt.AlignmentFlag.AlignLeading|QtCore.Qt.AlignmentFlag.AlignLeft|QtCore.Qt.AlignmentFlag.AlignTop)
+        self.label_4.setObjectName("label_4")
+        self.gridLayout.addWidget(self.label_4, 4, 0, 1, 1)
+        self.urlLabel = QtWidgets.QLabel(parent=CondaPackageDetailsWidget)
+        self.urlLabel.setWordWrap(True)
+        self.urlLabel.setObjectName("urlLabel")
+        self.gridLayout.addWidget(self.urlLabel, 4, 1, 1, 1)
+        self.label_6 = QtWidgets.QLabel(parent=CondaPackageDetailsWidget)
+        self.label_6.setObjectName("label_6")
+        self.gridLayout.addWidget(self.label_6, 5, 0, 1, 1)
+        self.md5Label = QtWidgets.QLabel(parent=CondaPackageDetailsWidget)
+        self.md5Label.setObjectName("md5Label")
+        self.gridLayout.addWidget(self.md5Label, 5, 1, 1, 1)
+        self.label_7 = QtWidgets.QLabel(parent=CondaPackageDetailsWidget)
+        self.label_7.setObjectName("label_7")
+        self.gridLayout.addWidget(self.label_7, 6, 0, 1, 1)
+        self.timestampLabel = QtWidgets.QLabel(parent=CondaPackageDetailsWidget)
+        self.timestampLabel.setObjectName("timestampLabel")
+        self.gridLayout.addWidget(self.timestampLabel, 6, 1, 1, 1)
+        self.label_8 = QtWidgets.QLabel(parent=CondaPackageDetailsWidget)
+        self.label_8.setObjectName("label_8")
+        self.gridLayout.addWidget(self.label_8, 7, 0, 1, 1)
+        self.licenseLabel = QtWidgets.QLabel(parent=CondaPackageDetailsWidget)
+        self.licenseLabel.setObjectName("licenseLabel")
+        self.gridLayout.addWidget(self.licenseLabel, 7, 1, 1, 1)
+        self.label_9 = QtWidgets.QLabel(parent=CondaPackageDetailsWidget)
+        self.label_9.setObjectName("label_9")
+        self.gridLayout.addWidget(self.label_9, 8, 0, 1, 1)
+        self.platformLabel = QtWidgets.QLabel(parent=CondaPackageDetailsWidget)
+        self.platformLabel.setObjectName("platformLabel")
+        self.gridLayout.addWidget(self.platformLabel, 8, 1, 1, 1)
+        self.label_10 = QtWidgets.QLabel(parent=CondaPackageDetailsWidget)
+        self.label_10.setAlignment(QtCore.Qt.AlignmentFlag.AlignLeading|QtCore.Qt.AlignmentFlag.AlignLeft|QtCore.Qt.AlignmentFlag.AlignTop)
+        self.label_10.setObjectName("label_10")
+        self.gridLayout.addWidget(self.label_10, 9, 0, 1, 1)
+        self.dependenciesEdit = QtWidgets.QPlainTextEdit(parent=CondaPackageDetailsWidget)
+        self.dependenciesEdit.setReadOnly(True)
+        self.dependenciesEdit.setObjectName("dependenciesEdit")
+        self.gridLayout.addWidget(self.dependenciesEdit, 9, 1, 1, 1)
+
+        self.retranslateUi(CondaPackageDetailsWidget)
+        QtCore.QMetaObject.connectSlotsByName(CondaPackageDetailsWidget)
+
+    def retranslateUi(self, CondaPackageDetailsWidget):
+        _translate = QtCore.QCoreApplication.translate
+        self.label_2.setText(_translate("CondaPackageDetailsWidget", "Filename:"))
+        self.label_3.setText(_translate("CondaPackageDetailsWidget", "Size:"))
+        self.label_5.setText(_translate("CondaPackageDetailsWidget", "Channel:"))
+        self.label_4.setText(_translate("CondaPackageDetailsWidget", "URL:"))
+        self.label_6.setText(_translate("CondaPackageDetailsWidget", "MD5:"))
+        self.label_7.setText(_translate("CondaPackageDetailsWidget", "Timestamp:"))
+        self.label_8.setText(_translate("CondaPackageDetailsWidget", "License:"))
+        self.label_9.setText(_translate("CondaPackageDetailsWidget", "Platform:"))
+        self.label_10.setText(_translate("CondaPackageDetailsWidget", "Dependencies:"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/CondaInterface/Ui_CondaPackagesWidget.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,229 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/CondaInterface/CondaPackagesWidget.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_CondaPackagesWidget(object):
+    def setupUi(self, CondaPackagesWidget):
+        CondaPackagesWidget.setObjectName("CondaPackagesWidget")
+        CondaPackagesWidget.resize(500, 800)
+        self.verticalLayout_6 = QtWidgets.QVBoxLayout(CondaPackagesWidget)
+        self.verticalLayout_6.setObjectName("verticalLayout_6")
+        self.notAvailableWidget = QtWidgets.QWidget(parent=CondaPackagesWidget)
+        self.notAvailableWidget.setObjectName("notAvailableWidget")
+        self.verticalLayout_4 = QtWidgets.QVBoxLayout(self.notAvailableWidget)
+        self.verticalLayout_4.setContentsMargins(0, 0, 0, 0)
+        self.verticalLayout_4.setObjectName("verticalLayout_4")
+        spacerItem = QtWidgets.QSpacerItem(20, 5, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout_4.addItem(spacerItem)
+        self.notAvailableLabel = QtWidgets.QLabel(parent=self.notAvailableWidget)
+        self.notAvailableLabel.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
+        self.notAvailableLabel.setObjectName("notAvailableLabel")
+        self.verticalLayout_4.addWidget(self.notAvailableLabel)
+        self.horizontalLayout_6 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_6.setObjectName("horizontalLayout_6")
+        spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_6.addItem(spacerItem1)
+        self.recheckButton = QtWidgets.QPushButton(parent=self.notAvailableWidget)
+        self.recheckButton.setObjectName("recheckButton")
+        self.horizontalLayout_6.addWidget(self.recheckButton)
+        spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_6.addItem(spacerItem2)
+        self.verticalLayout_4.addLayout(self.horizontalLayout_6)
+        spacerItem3 = QtWidgets.QSpacerItem(20, 2, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout_4.addItem(spacerItem3)
+        self.verticalLayout_6.addWidget(self.notAvailableWidget)
+        self.availableWidget = QtWidgets.QWidget(parent=CondaPackagesWidget)
+        self.availableWidget.setObjectName("availableWidget")
+        self.verticalLayout_5 = QtWidgets.QVBoxLayout(self.availableWidget)
+        self.verticalLayout_5.setContentsMargins(0, 0, 0, 0)
+        self.verticalLayout_5.setObjectName("verticalLayout_5")
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.environmentsComboBox = QtWidgets.QComboBox(parent=self.availableWidget)
+        self.environmentsComboBox.setObjectName("environmentsComboBox")
+        self.horizontalLayout.addWidget(self.environmentsComboBox)
+        self.condaMenuButton = EricToolButton(parent=self.availableWidget)
+        self.condaMenuButton.setObjectName("condaMenuButton")
+        self.horizontalLayout.addWidget(self.condaMenuButton)
+        self.verticalLayout_5.addLayout(self.horizontalLayout)
+        self.line_2 = QtWidgets.QFrame(parent=self.availableWidget)
+        self.line_2.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line_2.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line_2.setObjectName("line_2")
+        self.verticalLayout_5.addWidget(self.line_2)
+        self.searchWidget = QtWidgets.QWidget(parent=self.availableWidget)
+        self.searchWidget.setObjectName("searchWidget")
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.searchWidget)
+        self.verticalLayout_2.setContentsMargins(0, 0, 0, 0)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
+        spacerItem4 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_3.addItem(spacerItem4)
+        self.installButton = QtWidgets.QToolButton(parent=self.searchWidget)
+        self.installButton.setObjectName("installButton")
+        self.horizontalLayout_3.addWidget(self.installButton)
+        self.showDetailsButton = QtWidgets.QToolButton(parent=self.searchWidget)
+        self.showDetailsButton.setObjectName("showDetailsButton")
+        self.horizontalLayout_3.addWidget(self.showDetailsButton)
+        spacerItem5 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_3.addItem(spacerItem5)
+        self.searchToggleButton_2 = QtWidgets.QToolButton(parent=self.searchWidget)
+        self.searchToggleButton_2.setCheckable(True)
+        self.searchToggleButton_2.setObjectName("searchToggleButton_2")
+        self.horizontalLayout_3.addWidget(self.searchToggleButton_2)
+        self.verticalLayout_2.addLayout(self.horizontalLayout_3)
+        self.horizontalLayout_4 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_4.setObjectName("horizontalLayout_4")
+        self.searchEdit = QtWidgets.QLineEdit(parent=self.searchWidget)
+        self.searchEdit.setObjectName("searchEdit")
+        self.horizontalLayout_4.addWidget(self.searchEdit)
+        self.searchButton = QtWidgets.QToolButton(parent=self.searchWidget)
+        self.searchButton.setEnabled(False)
+        self.searchButton.setObjectName("searchButton")
+        self.horizontalLayout_4.addWidget(self.searchButton)
+        self.verticalLayout_2.addLayout(self.horizontalLayout_4)
+        self.searchOptionsWidget = QtWidgets.QWidget(parent=self.searchWidget)
+        self.searchOptionsWidget.setObjectName("searchOptionsWidget")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.searchOptionsWidget)
+        self.verticalLayout.setContentsMargins(0, 0, 0, 0)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.horizontalLayout_5 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_5.setObjectName("horizontalLayout_5")
+        self.patternButton = QtWidgets.QRadioButton(parent=self.searchOptionsWidget)
+        self.patternButton.setChecked(True)
+        self.patternButton.setObjectName("patternButton")
+        self.horizontalLayout_5.addWidget(self.patternButton)
+        self.fullNameButton = QtWidgets.QRadioButton(parent=self.searchOptionsWidget)
+        self.fullNameButton.setObjectName("fullNameButton")
+        self.horizontalLayout_5.addWidget(self.fullNameButton)
+        self.packageSpecButton = QtWidgets.QRadioButton(parent=self.searchOptionsWidget)
+        self.packageSpecButton.setObjectName("packageSpecButton")
+        self.horizontalLayout_5.addWidget(self.packageSpecButton)
+        self.verticalLayout.addLayout(self.horizontalLayout_5)
+        self.horizontalLayout_7 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_7.setObjectName("horizontalLayout_7")
+        self.label = QtWidgets.QLabel(parent=self.searchOptionsWidget)
+        self.label.setObjectName("label")
+        self.horizontalLayout_7.addWidget(self.label)
+        self.platformComboBox = QtWidgets.QComboBox(parent=self.searchOptionsWidget)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.platformComboBox.sizePolicy().hasHeightForWidth())
+        self.platformComboBox.setSizePolicy(sizePolicy)
+        self.platformComboBox.setObjectName("platformComboBox")
+        self.horizontalLayout_7.addWidget(self.platformComboBox)
+        self.verticalLayout.addLayout(self.horizontalLayout_7)
+        self.verticalLayout_2.addWidget(self.searchOptionsWidget)
+        self.searchResultList = QtWidgets.QTreeWidget(parent=self.searchWidget)
+        self.searchResultList.setAlternatingRowColors(True)
+        self.searchResultList.setObjectName("searchResultList")
+        self.verticalLayout_2.addWidget(self.searchResultList)
+        self.line = QtWidgets.QFrame(parent=self.searchWidget)
+        self.line.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line.setObjectName("line")
+        self.verticalLayout_2.addWidget(self.line)
+        self.verticalLayout_5.addWidget(self.searchWidget)
+        self.baseWidget = QtWidgets.QWidget(parent=self.availableWidget)
+        self.baseWidget.setObjectName("baseWidget")
+        self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.baseWidget)
+        self.verticalLayout_3.setContentsMargins(0, 0, 0, 0)
+        self.verticalLayout_3.setObjectName("verticalLayout_3")
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        spacerItem6 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_2.addItem(spacerItem6)
+        self.refreshButton = QtWidgets.QToolButton(parent=self.baseWidget)
+        self.refreshButton.setObjectName("refreshButton")
+        self.horizontalLayout_2.addWidget(self.refreshButton)
+        self.upgradeButton = QtWidgets.QToolButton(parent=self.baseWidget)
+        self.upgradeButton.setObjectName("upgradeButton")
+        self.horizontalLayout_2.addWidget(self.upgradeButton)
+        self.upgradeAllButton = QtWidgets.QToolButton(parent=self.baseWidget)
+        self.upgradeAllButton.setObjectName("upgradeAllButton")
+        self.horizontalLayout_2.addWidget(self.upgradeAllButton)
+        self.uninstallButton = QtWidgets.QToolButton(parent=self.baseWidget)
+        self.uninstallButton.setObjectName("uninstallButton")
+        self.horizontalLayout_2.addWidget(self.uninstallButton)
+        spacerItem7 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_2.addItem(spacerItem7)
+        self.searchToggleButton_1 = QtWidgets.QToolButton(parent=self.baseWidget)
+        self.searchToggleButton_1.setCheckable(True)
+        self.searchToggleButton_1.setObjectName("searchToggleButton_1")
+        self.horizontalLayout_2.addWidget(self.searchToggleButton_1)
+        self.verticalLayout_3.addLayout(self.horizontalLayout_2)
+        self.statusLabel = QtWidgets.QLabel(parent=self.baseWidget)
+        self.statusLabel.setObjectName("statusLabel")
+        self.verticalLayout_3.addWidget(self.statusLabel)
+        self.packagesList = QtWidgets.QTreeWidget(parent=self.baseWidget)
+        self.packagesList.setAlternatingRowColors(True)
+        self.packagesList.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.ExtendedSelection)
+        self.packagesList.setRootIsDecorated(False)
+        self.packagesList.setItemsExpandable(False)
+        self.packagesList.setObjectName("packagesList")
+        self.packagesList.header().setDefaultSectionSize(150)
+        self.verticalLayout_3.addWidget(self.packagesList)
+        self.verticalLayout_5.addWidget(self.baseWidget)
+        self.verticalLayout_6.addWidget(self.availableWidget)
+
+        self.retranslateUi(CondaPackagesWidget)
+        QtCore.QMetaObject.connectSlotsByName(CondaPackagesWidget)
+        CondaPackagesWidget.setTabOrder(self.environmentsComboBox, self.condaMenuButton)
+        CondaPackagesWidget.setTabOrder(self.condaMenuButton, self.refreshButton)
+        CondaPackagesWidget.setTabOrder(self.refreshButton, self.upgradeButton)
+        CondaPackagesWidget.setTabOrder(self.upgradeButton, self.upgradeAllButton)
+        CondaPackagesWidget.setTabOrder(self.upgradeAllButton, self.uninstallButton)
+        CondaPackagesWidget.setTabOrder(self.uninstallButton, self.searchToggleButton_1)
+        CondaPackagesWidget.setTabOrder(self.searchToggleButton_1, self.packagesList)
+        CondaPackagesWidget.setTabOrder(self.packagesList, self.installButton)
+        CondaPackagesWidget.setTabOrder(self.installButton, self.showDetailsButton)
+        CondaPackagesWidget.setTabOrder(self.showDetailsButton, self.searchToggleButton_2)
+        CondaPackagesWidget.setTabOrder(self.searchToggleButton_2, self.searchEdit)
+        CondaPackagesWidget.setTabOrder(self.searchEdit, self.searchButton)
+        CondaPackagesWidget.setTabOrder(self.searchButton, self.patternButton)
+        CondaPackagesWidget.setTabOrder(self.patternButton, self.fullNameButton)
+        CondaPackagesWidget.setTabOrder(self.fullNameButton, self.packageSpecButton)
+        CondaPackagesWidget.setTabOrder(self.packageSpecButton, self.platformComboBox)
+        CondaPackagesWidget.setTabOrder(self.platformComboBox, self.searchResultList)
+        CondaPackagesWidget.setTabOrder(self.searchResultList, self.recheckButton)
+
+    def retranslateUi(self, CondaPackagesWidget):
+        _translate = QtCore.QCoreApplication.translate
+        self.notAvailableLabel.setText(_translate("CondaPackagesWidget", "<h2>conda is not available</h2>"))
+        self.recheckButton.setToolTip(_translate("CondaPackagesWidget", "Press to re-check the availability of conda"))
+        self.recheckButton.setText(_translate("CondaPackagesWidget", "Re-Check"))
+        self.installButton.setToolTip(_translate("CondaPackagesWidget", "Press to install the selected package (by name or package specification)"))
+        self.showDetailsButton.setToolTip(_translate("CondaPackagesWidget", "Press to show details for the selected entry"))
+        self.searchToggleButton_2.setToolTip(_translate("CondaPackagesWidget", "Toggle to show or hide the search window"))
+        self.searchEdit.setPlaceholderText(_translate("CondaPackagesWidget", "Enter search specification"))
+        self.searchButton.setToolTip(_translate("CondaPackagesWidget", "Press to start the search"))
+        self.patternButton.setToolTip(_translate("CondaPackagesWidget", "Search string is a pattern (default)"))
+        self.patternButton.setText(_translate("CondaPackagesWidget", "Search Pattern"))
+        self.fullNameButton.setToolTip(_translate("CondaPackagesWidget", "Search string is a full name"))
+        self.fullNameButton.setText(_translate("CondaPackagesWidget", "Full Name"))
+        self.packageSpecButton.setToolTip(_translate("CondaPackagesWidget", "Search string is a package specification"))
+        self.packageSpecButton.setText(_translate("CondaPackagesWidget", "Package Specification"))
+        self.label.setText(_translate("CondaPackagesWidget", "Platform:"))
+        self.platformComboBox.setToolTip(_translate("CondaPackagesWidget", "Select the platform"))
+        self.searchResultList.headerItem().setText(0, _translate("CondaPackagesWidget", "Package"))
+        self.searchResultList.headerItem().setText(1, _translate("CondaPackagesWidget", "Version"))
+        self.searchResultList.headerItem().setText(2, _translate("CondaPackagesWidget", "Build"))
+        self.searchResultList.headerItem().setText(3, _translate("CondaPackagesWidget", "Platform"))
+        self.refreshButton.setToolTip(_translate("CondaPackagesWidget", "Press to refresh the lists"))
+        self.upgradeButton.setToolTip(_translate("CondaPackagesWidget", "Press to upgrade the selected packages"))
+        self.upgradeAllButton.setToolTip(_translate("CondaPackagesWidget", "Press to upgrade all listed packages"))
+        self.uninstallButton.setToolTip(_translate("CondaPackagesWidget", "Press to uninstall the selected package"))
+        self.searchToggleButton_1.setToolTip(_translate("CondaPackagesWidget", "Toggle to show or hide the search window"))
+        self.packagesList.headerItem().setText(0, _translate("CondaPackagesWidget", "Package"))
+        self.packagesList.headerItem().setText(1, _translate("CondaPackagesWidget", "Installed Version"))
+        self.packagesList.headerItem().setText(2, _translate("CondaPackagesWidget", "Available Version"))
+from eric7.EricWidgets.EricToolButton import EricToolButton
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Cooperation/Ui_ChatWidget.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,193 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Cooperation/ChatWidget.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_ChatWidget(object):
+    def setupUi(self, ChatWidget):
+        ChatWidget.setObjectName("ChatWidget")
+        ChatWidget.resize(300, 600)
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(ChatWidget)
+        self.verticalLayout_2.setContentsMargins(0, 0, 0, 0)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.usersGroup = QtWidgets.QGroupBox(parent=ChatWidget)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(1)
+        sizePolicy.setHeightForWidth(self.usersGroup.sizePolicy().hasHeightForWidth())
+        self.usersGroup.setSizePolicy(sizePolicy)
+        self.usersGroup.setObjectName("usersGroup")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.usersGroup)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.usersList = QtWidgets.QListWidget(parent=self.usersGroup)
+        self.usersList.setFocusPolicy(QtCore.Qt.FocusPolicy.NoFocus)
+        self.usersList.setContextMenuPolicy(QtCore.Qt.ContextMenuPolicy.CustomContextMenu)
+        self.usersList.setObjectName("usersList")
+        self.verticalLayout.addWidget(self.usersList)
+        self.verticalLayout_2.addWidget(self.usersGroup)
+        self.chatGroup = QtWidgets.QGroupBox(parent=ChatWidget)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(2)
+        sizePolicy.setHeightForWidth(self.chatGroup.sizePolicy().hasHeightForWidth())
+        self.chatGroup.setSizePolicy(sizePolicy)
+        self.chatGroup.setObjectName("chatGroup")
+        self.verticalLayout_4 = QtWidgets.QVBoxLayout(self.chatGroup)
+        self.verticalLayout_4.setObjectName("verticalLayout_4")
+        self.chatEdit = QtWidgets.QTextEdit(parent=self.chatGroup)
+        self.chatEdit.setFocusPolicy(QtCore.Qt.FocusPolicy.NoFocus)
+        self.chatEdit.setContextMenuPolicy(QtCore.Qt.ContextMenuPolicy.CustomContextMenu)
+        self.chatEdit.setReadOnly(True)
+        self.chatEdit.setObjectName("chatEdit")
+        self.verticalLayout_4.addWidget(self.chatEdit)
+        self.messageEdit = QtWidgets.QLineEdit(parent=self.chatGroup)
+        self.messageEdit.setClearButtonEnabled(True)
+        self.messageEdit.setObjectName("messageEdit")
+        self.verticalLayout_4.addWidget(self.messageEdit)
+        self.sendButton = QtWidgets.QPushButton(parent=self.chatGroup)
+        self.sendButton.setObjectName("sendButton")
+        self.verticalLayout_4.addWidget(self.sendButton)
+        self.verticalLayout_2.addWidget(self.chatGroup)
+        self.sharingGroup = QtWidgets.QGroupBox(parent=ChatWidget)
+        self.sharingGroup.setEnabled(False)
+        self.sharingGroup.setObjectName("sharingGroup")
+        self.horizontalLayout = QtWidgets.QHBoxLayout(self.sharingGroup)
+        self.horizontalLayout.setSpacing(0)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        spacerItem = QtWidgets.QSpacerItem(76, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem)
+        self.shareButton = QtWidgets.QToolButton(parent=self.sharingGroup)
+        self.shareButton.setEnabled(False)
+        self.shareButton.setCheckable(True)
+        self.shareButton.setObjectName("shareButton")
+        self.horizontalLayout.addWidget(self.shareButton)
+        self.startEditButton = QtWidgets.QToolButton(parent=self.sharingGroup)
+        self.startEditButton.setEnabled(False)
+        self.startEditButton.setCheckable(True)
+        self.startEditButton.setObjectName("startEditButton")
+        self.horizontalLayout.addWidget(self.startEditButton)
+        self.sendEditButton = QtWidgets.QToolButton(parent=self.sharingGroup)
+        self.sendEditButton.setEnabled(False)
+        self.sendEditButton.setObjectName("sendEditButton")
+        self.horizontalLayout.addWidget(self.sendEditButton)
+        self.cancelEditButton = QtWidgets.QToolButton(parent=self.sharingGroup)
+        self.cancelEditButton.setEnabled(False)
+        self.cancelEditButton.setObjectName("cancelEditButton")
+        self.horizontalLayout.addWidget(self.cancelEditButton)
+        spacerItem1 = QtWidgets.QSpacerItem(75, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem1)
+        self.verticalLayout_2.addWidget(self.sharingGroup)
+        self.connectGroup = QtWidgets.QGroupBox(parent=ChatWidget)
+        self.connectGroup.setObjectName("connectGroup")
+        self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.connectGroup)
+        self.verticalLayout_3.setObjectName("verticalLayout_3")
+        self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
+        self.label_2 = QtWidgets.QLabel(parent=self.connectGroup)
+        self.label_2.setObjectName("label_2")
+        self.horizontalLayout_3.addWidget(self.label_2)
+        self.hostEdit = QtWidgets.QComboBox(parent=self.connectGroup)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.hostEdit.sizePolicy().hasHeightForWidth())
+        self.hostEdit.setSizePolicy(sizePolicy)
+        self.hostEdit.setEditable(True)
+        self.hostEdit.setInsertPolicy(QtWidgets.QComboBox.InsertPolicy.InsertAtTop)
+        self.hostEdit.setSizeAdjustPolicy(QtWidgets.QComboBox.SizeAdjustPolicy.AdjustToContents)
+        self.hostEdit.setObjectName("hostEdit")
+        self.horizontalLayout_3.addWidget(self.hostEdit)
+        self.verticalLayout_3.addLayout(self.horizontalLayout_3)
+        self.horizontalLayout_4 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_4.setObjectName("horizontalLayout_4")
+        self.clearHostsButton = QtWidgets.QPushButton(parent=self.connectGroup)
+        self.clearHostsButton.setObjectName("clearHostsButton")
+        self.horizontalLayout_4.addWidget(self.clearHostsButton)
+        self.connectButton = QtWidgets.QPushButton(parent=self.connectGroup)
+        self.connectButton.setEnabled(False)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.connectButton.sizePolicy().hasHeightForWidth())
+        self.connectButton.setSizePolicy(sizePolicy)
+        self.connectButton.setText("")
+        self.connectButton.setAutoDefault(False)
+        self.connectButton.setObjectName("connectButton")
+        self.horizontalLayout_4.addWidget(self.connectButton)
+        self.connectionLed = EricLed(parent=self.connectGroup)
+        self.connectionLed.setObjectName("connectionLed")
+        self.horizontalLayout_4.addWidget(self.connectionLed)
+        self.verticalLayout_3.addLayout(self.horizontalLayout_4)
+        self.verticalLayout_2.addWidget(self.connectGroup)
+        self.serverGroup = QtWidgets.QGroupBox(parent=ChatWidget)
+        self.serverGroup.setObjectName("serverGroup")
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.serverGroup)
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.label_4 = QtWidgets.QLabel(parent=self.serverGroup)
+        self.label_4.setObjectName("label_4")
+        self.horizontalLayout_2.addWidget(self.label_4)
+        self.serverPortSpin = QtWidgets.QSpinBox(parent=self.serverGroup)
+        self.serverPortSpin.setMinimum(1025)
+        self.serverPortSpin.setMaximum(65535)
+        self.serverPortSpin.setSingleStep(1)
+        self.serverPortSpin.setProperty("value", 42000)
+        self.serverPortSpin.setObjectName("serverPortSpin")
+        self.horizontalLayout_2.addWidget(self.serverPortSpin)
+        self.serverButton = QtWidgets.QPushButton(parent=self.serverGroup)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.serverButton.sizePolicy().hasHeightForWidth())
+        self.serverButton.setSizePolicy(sizePolicy)
+        self.serverButton.setText("")
+        self.serverButton.setAutoDefault(False)
+        self.serverButton.setObjectName("serverButton")
+        self.horizontalLayout_2.addWidget(self.serverButton)
+        self.serverLed = EricLed(parent=self.serverGroup)
+        self.serverLed.setObjectName("serverLed")
+        self.horizontalLayout_2.addWidget(self.serverLed)
+        self.verticalLayout_2.addWidget(self.serverGroup)
+
+        self.retranslateUi(ChatWidget)
+        QtCore.QMetaObject.connectSlotsByName(ChatWidget)
+        ChatWidget.setTabOrder(self.serverButton, self.serverPortSpin)
+        ChatWidget.setTabOrder(self.serverPortSpin, self.hostEdit)
+        ChatWidget.setTabOrder(self.hostEdit, self.connectButton)
+        ChatWidget.setTabOrder(self.connectButton, self.clearHostsButton)
+        ChatWidget.setTabOrder(self.clearHostsButton, self.shareButton)
+        ChatWidget.setTabOrder(self.shareButton, self.startEditButton)
+        ChatWidget.setTabOrder(self.startEditButton, self.sendEditButton)
+        ChatWidget.setTabOrder(self.sendEditButton, self.cancelEditButton)
+        ChatWidget.setTabOrder(self.cancelEditButton, self.messageEdit)
+        ChatWidget.setTabOrder(self.messageEdit, self.sendButton)
+
+    def retranslateUi(self, ChatWidget):
+        _translate = QtCore.QCoreApplication.translate
+        ChatWidget.setWindowTitle(_translate("ChatWidget", "Chat"))
+        self.usersGroup.setTitle(_translate("ChatWidget", "Users"))
+        self.chatGroup.setTitle(_translate("ChatWidget", "Chat"))
+        self.messageEdit.setToolTip(_translate("ChatWidget", "Enter the text to send"))
+        self.sendButton.setToolTip(_translate("ChatWidget", "Press to send the text above"))
+        self.sendButton.setText(_translate("ChatWidget", "Send"))
+        self.sharingGroup.setTitle(_translate("ChatWidget", "Share Editor"))
+        self.shareButton.setToolTip(_translate("ChatWidget", "Press to toggle the shared status of the current editor"))
+        self.startEditButton.setToolTip(_translate("ChatWidget", "Press to start a shared edit"))
+        self.sendEditButton.setToolTip(_translate("ChatWidget", "Press to end the edit and send the changes"))
+        self.cancelEditButton.setToolTip(_translate("ChatWidget", "Press to cancel the shared edit"))
+        self.connectGroup.setTitle(_translate("ChatWidget", "Connection"))
+        self.label_2.setText(_translate("ChatWidget", "Host:"))
+        self.hostEdit.setToolTip(_translate("ChatWidget", "Enter the host and port to connect to in the form \"host@port\""))
+        self.clearHostsButton.setToolTip(_translate("ChatWidget", "Press to clear the hosts list"))
+        self.clearHostsButton.setText(_translate("ChatWidget", "Clear"))
+        self.connectionLed.setToolTip(_translate("ChatWidget", "Shows the connection status"))
+        self.serverGroup.setTitle(_translate("ChatWidget", "Server"))
+        self.label_4.setText(_translate("ChatWidget", "Port:"))
+        self.serverPortSpin.setToolTip(_translate("ChatWidget", "Enter the server port"))
+        self.serverLed.setToolTip(_translate("ChatWidget", "Shows the status of the server"))
+from eric7.EricWidgets.EricLed import EricLed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/CycloneDXInterface/Ui_CycloneDXConfigDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,139 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/CycloneDXInterface/CycloneDXConfigDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_CycloneDXConfigDialog(object):
+    def setupUi(self, CycloneDXConfigDialog):
+        CycloneDXConfigDialog.setObjectName("CycloneDXConfigDialog")
+        CycloneDXConfigDialog.resize(650, 368)
+        CycloneDXConfigDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(CycloneDXConfigDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.label = QtWidgets.QLabel(parent=CycloneDXConfigDialog)
+        self.label.setObjectName("label")
+        self.horizontalLayout_2.addWidget(self.label)
+        self.environmentLabel = QtWidgets.QLabel(parent=CycloneDXConfigDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.environmentLabel.sizePolicy().hasHeightForWidth())
+        self.environmentLabel.setSizePolicy(sizePolicy)
+        self.environmentLabel.setWordWrap(True)
+        self.environmentLabel.setObjectName("environmentLabel")
+        self.horizontalLayout_2.addWidget(self.environmentLabel)
+        self.verticalLayout.addLayout(self.horizontalLayout_2)
+        self.groupBox = QtWidgets.QGroupBox(parent=CycloneDXConfigDialog)
+        self.groupBox.setObjectName("groupBox")
+        self.horizontalLayout = QtWidgets.QHBoxLayout(self.groupBox)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.environmentButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.environmentButton.setChecked(True)
+        self.environmentButton.setObjectName("environmentButton")
+        self.horizontalLayout.addWidget(self.environmentButton)
+        self.pipenvButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.pipenvButton.setObjectName("pipenvButton")
+        self.horizontalLayout.addWidget(self.pipenvButton)
+        self.poetryButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.poetryButton.setObjectName("poetryButton")
+        self.horizontalLayout.addWidget(self.poetryButton)
+        self.requirementsButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.requirementsButton.setObjectName("requirementsButton")
+        self.horizontalLayout.addWidget(self.requirementsButton)
+        self.verticalLayout.addWidget(self.groupBox)
+        self.groupBox_2 = QtWidgets.QGroupBox(parent=CycloneDXConfigDialog)
+        self.groupBox_2.setObjectName("groupBox_2")
+        self.gridLayout = QtWidgets.QGridLayout(self.groupBox_2)
+        self.gridLayout.setObjectName("gridLayout")
+        self.fileFormatComboBox = QtWidgets.QComboBox(parent=self.groupBox_2)
+        self.fileFormatComboBox.setObjectName("fileFormatComboBox")
+        self.fileFormatComboBox.addItem("")
+        self.fileFormatComboBox.addItem("")
+        self.gridLayout.addWidget(self.fileFormatComboBox, 2, 1, 1, 1)
+        self.vulnerabilityCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_2)
+        self.vulnerabilityCheckBox.setChecked(True)
+        self.vulnerabilityCheckBox.setObjectName("vulnerabilityCheckBox")
+        self.gridLayout.addWidget(self.vulnerabilityCheckBox, 0, 0, 1, 3)
+        self.dependenciesCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_2)
+        self.dependenciesCheckBox.setChecked(True)
+        self.dependenciesCheckBox.setObjectName("dependenciesCheckBox")
+        self.gridLayout.addWidget(self.dependenciesCheckBox, 1, 0, 1, 3)
+        self.label_2 = QtWidgets.QLabel(parent=self.groupBox_2)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 2, 0, 1, 1)
+        self.schemaVersionComboBox = QtWidgets.QComboBox(parent=self.groupBox_2)
+        self.schemaVersionComboBox.setObjectName("schemaVersionComboBox")
+        self.gridLayout.addWidget(self.schemaVersionComboBox, 3, 1, 1, 1)
+        spacerItem = QtWidgets.QSpacerItem(413, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout.addItem(spacerItem, 2, 2, 1, 1)
+        self.filePicker = EricPathPicker(parent=self.groupBox_2)
+        self.filePicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.filePicker.setObjectName("filePicker")
+        self.gridLayout.addWidget(self.filePicker, 5, 1, 1, 2)
+        self.label_4 = QtWidgets.QLabel(parent=self.groupBox_2)
+        self.label_4.setObjectName("label_4")
+        self.gridLayout.addWidget(self.label_4, 5, 0, 1, 1)
+        self.label_3 = QtWidgets.QLabel(parent=self.groupBox_2)
+        self.label_3.setObjectName("label_3")
+        self.gridLayout.addWidget(self.label_3, 3, 0, 1, 1)
+        self.readableCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_2)
+        self.readableCheckBox.setObjectName("readableCheckBox")
+        self.gridLayout.addWidget(self.readableCheckBox, 4, 0, 1, 3)
+        self.verticalLayout.addWidget(self.groupBox_2)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=CycloneDXConfigDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(CycloneDXConfigDialog)
+        self.buttonBox.accepted.connect(CycloneDXConfigDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(CycloneDXConfigDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(CycloneDXConfigDialog)
+        CycloneDXConfigDialog.setTabOrder(self.environmentButton, self.pipenvButton)
+        CycloneDXConfigDialog.setTabOrder(self.pipenvButton, self.poetryButton)
+        CycloneDXConfigDialog.setTabOrder(self.poetryButton, self.requirementsButton)
+        CycloneDXConfigDialog.setTabOrder(self.requirementsButton, self.vulnerabilityCheckBox)
+        CycloneDXConfigDialog.setTabOrder(self.vulnerabilityCheckBox, self.dependenciesCheckBox)
+        CycloneDXConfigDialog.setTabOrder(self.dependenciesCheckBox, self.fileFormatComboBox)
+        CycloneDXConfigDialog.setTabOrder(self.fileFormatComboBox, self.schemaVersionComboBox)
+        CycloneDXConfigDialog.setTabOrder(self.schemaVersionComboBox, self.readableCheckBox)
+        CycloneDXConfigDialog.setTabOrder(self.readableCheckBox, self.filePicker)
+
+    def retranslateUi(self, CycloneDXConfigDialog):
+        _translate = QtCore.QCoreApplication.translate
+        CycloneDXConfigDialog.setWindowTitle(_translate("CycloneDXConfigDialog", "SBOM Configuration"))
+        self.label.setText(_translate("CycloneDXConfigDialog", "Environment:"))
+        self.groupBox.setTitle(_translate("CycloneDXConfigDialog", "Input"))
+        self.environmentButton.setToolTip(_translate("CycloneDXConfigDialog", "Select to build SBOM from environment"))
+        self.environmentButton.setText(_translate("CycloneDXConfigDialog", "Environment"))
+        self.pipenvButton.setToolTip(_translate("CycloneDXConfigDialog", "Select to build SBOM from \'Pipfile.lock\' file"))
+        self.pipenvButton.setText(_translate("CycloneDXConfigDialog", "PipEnv"))
+        self.poetryButton.setToolTip(_translate("CycloneDXConfigDialog", "Select to build SBOM from \'poetry.lock\' file"))
+        self.poetryButton.setText(_translate("CycloneDXConfigDialog", "Poetry"))
+        self.requirementsButton.setToolTip(_translate("CycloneDXConfigDialog", "Select to build SBOM from \'requirements.txt\' file"))
+        self.requirementsButton.setText(_translate("CycloneDXConfigDialog", "Requirements"))
+        self.groupBox_2.setTitle(_translate("CycloneDXConfigDialog", "SBOM Output"))
+        self.fileFormatComboBox.setToolTip(_translate("CycloneDXConfigDialog", "Select the format of the SBOM file"))
+        self.fileFormatComboBox.setItemText(0, _translate("CycloneDXConfigDialog", "JSON"))
+        self.fileFormatComboBox.setItemText(1, _translate("CycloneDXConfigDialog", "XML"))
+        self.vulnerabilityCheckBox.setToolTip(_translate("CycloneDXConfigDialog", "Select to include vulnerability data in the generated SBOM (requires Schema 1.4 or newer)"))
+        self.vulnerabilityCheckBox.setText(_translate("CycloneDXConfigDialog", "Include Vulnerability Information"))
+        self.dependenciesCheckBox.setToolTip(_translate("CycloneDXConfigDialog", "Select to include dependency information in the generated SBOM"))
+        self.dependenciesCheckBox.setText(_translate("CycloneDXConfigDialog", "Include Dependencies"))
+        self.label_2.setText(_translate("CycloneDXConfigDialog", "File Format:"))
+        self.schemaVersionComboBox.setToolTip(_translate("CycloneDXConfigDialog", "Select the SBOM schema version of the SBOM file"))
+        self.filePicker.setToolTip(_translate("CycloneDXConfigDialog", "Enter the file path for the SBOM file (leave empty for default)"))
+        self.label_4.setText(_translate("CycloneDXConfigDialog", "File Name:"))
+        self.label_3.setText(_translate("CycloneDXConfigDialog", "Schema Version:"))
+        self.readableCheckBox.setToolTip(_translate("CycloneDXConfigDialog", "Select to generate non-compact, readable output"))
+        self.readableCheckBox.setText(_translate("CycloneDXConfigDialog", "Generate Readable Output"))
+from eric7.EricWidgets.EricPathPicker import EricPathPicker
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/CycloneDXInterface/Ui_CycloneDXMetaDataDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,152 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/CycloneDXInterface/CycloneDXMetaDataDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_CycloneDXMetaDataDialog(object):
+    def setupUi(self, CycloneDXMetaDataDialog):
+        CycloneDXMetaDataDialog.setObjectName("CycloneDXMetaDataDialog")
+        CycloneDXMetaDataDialog.resize(600, 600)
+        CycloneDXMetaDataDialog.setSizeGripEnabled(True)
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(CycloneDXMetaDataDialog)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.groupBox = QtWidgets.QGroupBox(parent=CycloneDXMetaDataDialog)
+        self.groupBox.setObjectName("groupBox")
+        self.formLayout = QtWidgets.QFormLayout(self.groupBox)
+        self.formLayout.setObjectName("formLayout")
+        self.nameLabel = QtWidgets.QLabel(parent=self.groupBox)
+        self.nameLabel.setObjectName("nameLabel")
+        self.formLayout.setWidget(0, QtWidgets.QFormLayout.ItemRole.LabelRole, self.nameLabel)
+        self.nameEdit = QtWidgets.QLineEdit(parent=self.groupBox)
+        self.nameEdit.setClearButtonEnabled(True)
+        self.nameEdit.setObjectName("nameEdit")
+        self.formLayout.setWidget(0, QtWidgets.QFormLayout.ItemRole.FieldRole, self.nameEdit)
+        self.label = QtWidgets.QLabel(parent=self.groupBox)
+        self.label.setObjectName("label")
+        self.formLayout.setWidget(1, QtWidgets.QFormLayout.ItemRole.LabelRole, self.label)
+        self.typeComboBox = QtWidgets.QComboBox(parent=self.groupBox)
+        self.typeComboBox.setObjectName("typeComboBox")
+        self.formLayout.setWidget(1, QtWidgets.QFormLayout.ItemRole.FieldRole, self.typeComboBox)
+        self.label_2 = QtWidgets.QLabel(parent=self.groupBox)
+        self.label_2.setObjectName("label_2")
+        self.formLayout.setWidget(2, QtWidgets.QFormLayout.ItemRole.LabelRole, self.label_2)
+        self.versionEdit = QtWidgets.QLineEdit(parent=self.groupBox)
+        self.versionEdit.setClearButtonEnabled(True)
+        self.versionEdit.setObjectName("versionEdit")
+        self.formLayout.setWidget(2, QtWidgets.QFormLayout.ItemRole.FieldRole, self.versionEdit)
+        self.descriptionLabel = QtWidgets.QLabel(parent=self.groupBox)
+        self.descriptionLabel.setAlignment(QtCore.Qt.AlignmentFlag.AlignTop)
+        self.descriptionLabel.setObjectName("descriptionLabel")
+        self.formLayout.setWidget(3, QtWidgets.QFormLayout.ItemRole.LabelRole, self.descriptionLabel)
+        self.descriptionEdit = EricSpellCheckedTextEdit(parent=self.groupBox)
+        self.descriptionEdit.setTabChangesFocus(True)
+        self.descriptionEdit.setAcceptRichText(False)
+        self.descriptionEdit.setObjectName("descriptionEdit")
+        self.formLayout.setWidget(3, QtWidgets.QFormLayout.ItemRole.FieldRole, self.descriptionEdit)
+        self.verticalLayout_2.addWidget(self.groupBox)
+        self.groupBox_2 = QtWidgets.QGroupBox(parent=CycloneDXMetaDataDialog)
+        self.groupBox_2.setObjectName("groupBox_2")
+        self.formLayout_2 = QtWidgets.QFormLayout(self.groupBox_2)
+        self.formLayout_2.setObjectName("formLayout_2")
+        self.authorLabel = QtWidgets.QLabel(parent=self.groupBox_2)
+        self.authorLabel.setObjectName("authorLabel")
+        self.formLayout_2.setWidget(0, QtWidgets.QFormLayout.ItemRole.LabelRole, self.authorLabel)
+        self.authorEdit = QtWidgets.QLineEdit(parent=self.groupBox_2)
+        self.authorEdit.setClearButtonEnabled(True)
+        self.authorEdit.setObjectName("authorEdit")
+        self.formLayout_2.setWidget(0, QtWidgets.QFormLayout.ItemRole.FieldRole, self.authorEdit)
+        self.emailLabel = QtWidgets.QLabel(parent=self.groupBox_2)
+        self.emailLabel.setObjectName("emailLabel")
+        self.formLayout_2.setWidget(1, QtWidgets.QFormLayout.ItemRole.LabelRole, self.emailLabel)
+        self.emailEdit = QtWidgets.QLineEdit(parent=self.groupBox_2)
+        self.emailEdit.setClearButtonEnabled(True)
+        self.emailEdit.setObjectName("emailEdit")
+        self.formLayout_2.setWidget(1, QtWidgets.QFormLayout.ItemRole.FieldRole, self.emailEdit)
+        self.verticalLayout_2.addWidget(self.groupBox_2)
+        self.groupBox_3 = QtWidgets.QGroupBox(parent=CycloneDXMetaDataDialog)
+        self.groupBox_3.setObjectName("groupBox_3")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.groupBox_3)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.licenseComboBox = QtWidgets.QComboBox(parent=self.groupBox_3)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.licenseComboBox.sizePolicy().hasHeightForWidth())
+        self.licenseComboBox.setSizePolicy(sizePolicy)
+        self.licenseComboBox.setEditable(True)
+        self.licenseComboBox.setObjectName("licenseComboBox")
+        self.verticalLayout.addWidget(self.licenseComboBox)
+        self.verticalLayout_2.addWidget(self.groupBox_3)
+        self.groupBox_4 = QtWidgets.QGroupBox(parent=CycloneDXMetaDataDialog)
+        self.groupBox_4.setObjectName("groupBox_4")
+        self.formLayout_3 = QtWidgets.QFormLayout(self.groupBox_4)
+        self.formLayout_3.setObjectName("formLayout_3")
+        self.label_3 = QtWidgets.QLabel(parent=self.groupBox_4)
+        self.label_3.setObjectName("label_3")
+        self.formLayout_3.setWidget(0, QtWidgets.QFormLayout.ItemRole.LabelRole, self.label_3)
+        self.manufacturerEdit = QtWidgets.QLineEdit(parent=self.groupBox_4)
+        self.manufacturerEdit.setClearButtonEnabled(True)
+        self.manufacturerEdit.setObjectName("manufacturerEdit")
+        self.formLayout_3.setWidget(0, QtWidgets.QFormLayout.ItemRole.FieldRole, self.manufacturerEdit)
+        self.label_4 = QtWidgets.QLabel(parent=self.groupBox_4)
+        self.label_4.setObjectName("label_4")
+        self.formLayout_3.setWidget(1, QtWidgets.QFormLayout.ItemRole.LabelRole, self.label_4)
+        self.supplierEdit = QtWidgets.QLineEdit(parent=self.groupBox_4)
+        self.supplierEdit.setClearButtonEnabled(True)
+        self.supplierEdit.setObjectName("supplierEdit")
+        self.formLayout_3.setWidget(1, QtWidgets.QFormLayout.ItemRole.FieldRole, self.supplierEdit)
+        self.verticalLayout_2.addWidget(self.groupBox_4)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=CycloneDXMetaDataDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout_2.addWidget(self.buttonBox)
+        self.nameLabel.setBuddy(self.nameEdit)
+        self.descriptionLabel.setBuddy(self.descriptionEdit)
+        self.authorLabel.setBuddy(self.authorEdit)
+        self.emailLabel.setBuddy(self.emailEdit)
+
+        self.retranslateUi(CycloneDXMetaDataDialog)
+        self.buttonBox.accepted.connect(CycloneDXMetaDataDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(CycloneDXMetaDataDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(CycloneDXMetaDataDialog)
+        CycloneDXMetaDataDialog.setTabOrder(self.nameEdit, self.typeComboBox)
+        CycloneDXMetaDataDialog.setTabOrder(self.typeComboBox, self.versionEdit)
+        CycloneDXMetaDataDialog.setTabOrder(self.versionEdit, self.descriptionEdit)
+        CycloneDXMetaDataDialog.setTabOrder(self.descriptionEdit, self.authorEdit)
+        CycloneDXMetaDataDialog.setTabOrder(self.authorEdit, self.emailEdit)
+        CycloneDXMetaDataDialog.setTabOrder(self.emailEdit, self.licenseComboBox)
+        CycloneDXMetaDataDialog.setTabOrder(self.licenseComboBox, self.manufacturerEdit)
+        CycloneDXMetaDataDialog.setTabOrder(self.manufacturerEdit, self.supplierEdit)
+
+    def retranslateUi(self, CycloneDXMetaDataDialog):
+        _translate = QtCore.QCoreApplication.translate
+        CycloneDXMetaDataDialog.setWindowTitle(_translate("CycloneDXMetaDataDialog", "SBOM Meta Data"))
+        self.groupBox.setTitle(_translate("CycloneDXMetaDataDialog", "Component"))
+        self.nameLabel.setText(_translate("CycloneDXMetaDataDialog", "Name:"))
+        self.nameEdit.setToolTip(_translate("CycloneDXMetaDataDialog", "Enter the component name"))
+        self.label.setText(_translate("CycloneDXMetaDataDialog", "Type:"))
+        self.typeComboBox.setToolTip(_translate("CycloneDXMetaDataDialog", "Select the component type"))
+        self.label_2.setText(_translate("CycloneDXMetaDataDialog", "Version:"))
+        self.versionEdit.setToolTip(_translate("CycloneDXMetaDataDialog", "Enter the version number"))
+        self.descriptionLabel.setText(_translate("CycloneDXMetaDataDialog", "Description:"))
+        self.descriptionEdit.setToolTip(_translate("CycloneDXMetaDataDialog", "Enter a description of the component"))
+        self.groupBox_2.setTitle(_translate("CycloneDXMetaDataDialog", "Author"))
+        self.authorLabel.setText(_translate("CycloneDXMetaDataDialog", "Name:"))
+        self.authorEdit.setToolTip(_translate("CycloneDXMetaDataDialog", "Enter author\'s name"))
+        self.emailLabel.setText(_translate("CycloneDXMetaDataDialog", "Email:"))
+        self.emailEdit.setToolTip(_translate("CycloneDXMetaDataDialog", "Enter author\'s email"))
+        self.groupBox_3.setTitle(_translate("CycloneDXMetaDataDialog", "License"))
+        self.licenseComboBox.setToolTip(_translate("CycloneDXMetaDataDialog", "Enter or select the license"))
+        self.groupBox_4.setTitle(_translate("CycloneDXMetaDataDialog", "Various"))
+        self.label_3.setText(_translate("CycloneDXMetaDataDialog", "Manufacturer:"))
+        self.manufacturerEdit.setToolTip(_translate("CycloneDXMetaDataDialog", "Enter the name of the manufacturer"))
+        self.label_4.setText(_translate("CycloneDXMetaDataDialog", "Supplier:"))
+        self.supplierEdit.setToolTip(_translate("CycloneDXMetaDataDialog", "Enter the name of the supplier"))
+from eric7.EricWidgets.EricSpellCheckedTextEdit import EricSpellCheckedTextEdit
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/DataViews/Ui_CodeMetricsDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,97 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/DataViews/CodeMetricsDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_CodeMetricsDialog(object):
+    def setupUi(self, CodeMetricsDialog):
+        CodeMetricsDialog.setObjectName("CodeMetricsDialog")
+        CodeMetricsDialog.resize(832, 587)
+        CodeMetricsDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(CodeMetricsDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.filterFrame = QtWidgets.QFrame(parent=CodeMetricsDialog)
+        self.filterFrame.setFrameShape(QtWidgets.QFrame.Shape.NoFrame)
+        self.filterFrame.setFrameShadow(QtWidgets.QFrame.Shadow.Raised)
+        self.filterFrame.setObjectName("filterFrame")
+        self.horizontalLayout = QtWidgets.QHBoxLayout(self.filterFrame)
+        self.horizontalLayout.setContentsMargins(0, 0, 0, 0)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.label_2 = QtWidgets.QLabel(parent=self.filterFrame)
+        self.label_2.setObjectName("label_2")
+        self.horizontalLayout.addWidget(self.label_2)
+        self.excludeFilesEdit = QtWidgets.QLineEdit(parent=self.filterFrame)
+        self.excludeFilesEdit.setClearButtonEnabled(True)
+        self.excludeFilesEdit.setObjectName("excludeFilesEdit")
+        self.horizontalLayout.addWidget(self.excludeFilesEdit)
+        self.line = QtWidgets.QFrame(parent=self.filterFrame)
+        self.line.setLineWidth(2)
+        self.line.setFrameShape(QtWidgets.QFrame.Shape.VLine)
+        self.line.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line.setObjectName("line")
+        self.horizontalLayout.addWidget(self.line)
+        self.startButton = QtWidgets.QPushButton(parent=self.filterFrame)
+        self.startButton.setObjectName("startButton")
+        self.horizontalLayout.addWidget(self.startButton)
+        self.verticalLayout.addWidget(self.filterFrame)
+        self.resultList = QtWidgets.QTreeWidget(parent=CodeMetricsDialog)
+        self.resultList.setAlternatingRowColors(True)
+        self.resultList.setObjectName("resultList")
+        self.verticalLayout.addWidget(self.resultList)
+        self.summaryList = QtWidgets.QTreeWidget(parent=CodeMetricsDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.summaryList.sizePolicy().hasHeightForWidth())
+        self.summaryList.setSizePolicy(sizePolicy)
+        self.summaryList.setAlternatingRowColors(True)
+        self.summaryList.setObjectName("summaryList")
+        self.verticalLayout.addWidget(self.summaryList)
+        self.checkProgress = QtWidgets.QProgressBar(parent=CodeMetricsDialog)
+        self.checkProgress.setProperty("value", 0)
+        self.checkProgress.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.checkProgress.setObjectName("checkProgress")
+        self.verticalLayout.addWidget(self.checkProgress)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=CodeMetricsDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(CodeMetricsDialog)
+        QtCore.QMetaObject.connectSlotsByName(CodeMetricsDialog)
+        CodeMetricsDialog.setTabOrder(self.startButton, self.excludeFilesEdit)
+        CodeMetricsDialog.setTabOrder(self.excludeFilesEdit, self.resultList)
+        CodeMetricsDialog.setTabOrder(self.resultList, self.summaryList)
+        CodeMetricsDialog.setTabOrder(self.summaryList, self.buttonBox)
+
+    def retranslateUi(self, CodeMetricsDialog):
+        _translate = QtCore.QCoreApplication.translate
+        CodeMetricsDialog.setWindowTitle(_translate("CodeMetricsDialog", "Code Metrics"))
+        CodeMetricsDialog.setWhatsThis(_translate("CodeMetricsDialog", "<b>Code Metrics</b>\n"
+"<p>This dialog shows some code metrics.</p>"))
+        self.label_2.setText(_translate("CodeMetricsDialog", "Exclude Files:"))
+        self.excludeFilesEdit.setToolTip(_translate("CodeMetricsDialog", "Enter filename patterns of files to be excluded separated by a comma"))
+        self.startButton.setToolTip(_translate("CodeMetricsDialog", "Press to start the code metrics run"))
+        self.startButton.setText(_translate("CodeMetricsDialog", "Start"))
+        self.resultList.setWhatsThis(_translate("CodeMetricsDialog", "<b>Code metrics</b>\n"
+"<p>This list shows some code metrics.</p>"))
+        self.resultList.headerItem().setText(0, _translate("CodeMetricsDialog", "Name"))
+        self.resultList.headerItem().setText(1, _translate("CodeMetricsDialog", "Start"))
+        self.resultList.headerItem().setText(2, _translate("CodeMetricsDialog", "End"))
+        self.resultList.headerItem().setText(3, _translate("CodeMetricsDialog", "Lines"))
+        self.resultList.headerItem().setText(4, _translate("CodeMetricsDialog", "Lines of code"))
+        self.resultList.headerItem().setText(5, _translate("CodeMetricsDialog", "Comments"))
+        self.resultList.headerItem().setText(6, _translate("CodeMetricsDialog", "Empty"))
+        self.summaryList.setWhatsThis(_translate("CodeMetricsDialog", "<b>Summary</b>\n"
+"<p>This shows some overall code metrics.</p>"))
+        self.summaryList.headerItem().setText(0, _translate("CodeMetricsDialog", "Summary"))
+        self.summaryList.headerItem().setText(1, _translate("CodeMetricsDialog", "#"))
+        self.checkProgress.setToolTip(_translate("CodeMetricsDialog", "Shows the progress of the code metrics action"))
+        self.checkProgress.setFormat(_translate("CodeMetricsDialog", "%v/%m Files"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/DataViews/Ui_PyCoverageDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,115 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/DataViews/PyCoverageDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_PyCoverageDialog(object):
+    def setupUi(self, PyCoverageDialog):
+        PyCoverageDialog.setObjectName("PyCoverageDialog")
+        PyCoverageDialog.resize(832, 585)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(3)
+        sizePolicy.setHeightForWidth(PyCoverageDialog.sizePolicy().hasHeightForWidth())
+        PyCoverageDialog.setSizePolicy(sizePolicy)
+        PyCoverageDialog.setSizeGripEnabled(True)
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(PyCoverageDialog)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.hboxlayout = QtWidgets.QHBoxLayout()
+        self.hboxlayout.setObjectName("hboxlayout")
+        self.textLabel1_2 = QtWidgets.QLabel(parent=PyCoverageDialog)
+        self.textLabel1_2.setObjectName("textLabel1_2")
+        self.hboxlayout.addWidget(self.textLabel1_2)
+        self.excludeCombo = QtWidgets.QComboBox(parent=PyCoverageDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.excludeCombo.sizePolicy().hasHeightForWidth())
+        self.excludeCombo.setSizePolicy(sizePolicy)
+        self.excludeCombo.setEditable(True)
+        self.excludeCombo.setInsertPolicy(QtWidgets.QComboBox.InsertPolicy.InsertAtTop)
+        self.excludeCombo.setDuplicatesEnabled(False)
+        self.excludeCombo.setObjectName("excludeCombo")
+        self.hboxlayout.addWidget(self.excludeCombo)
+        self.reloadButton = QtWidgets.QPushButton(parent=PyCoverageDialog)
+        self.reloadButton.setObjectName("reloadButton")
+        self.hboxlayout.addWidget(self.reloadButton)
+        self.verticalLayout_2.addLayout(self.hboxlayout)
+        self.resultList = QtWidgets.QTreeWidget(parent=PyCoverageDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(3)
+        sizePolicy.setHeightForWidth(self.resultList.sizePolicy().hasHeightForWidth())
+        self.resultList.setSizePolicy(sizePolicy)
+        self.resultList.setAlternatingRowColors(True)
+        self.resultList.setRootIsDecorated(False)
+        self.resultList.setItemsExpandable(False)
+        self.resultList.setObjectName("resultList")
+        self.verticalLayout_2.addWidget(self.resultList)
+        self.summaryGroup = QtWidgets.QGroupBox(parent=PyCoverageDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(1)
+        sizePolicy.setHeightForWidth(self.summaryGroup.sizePolicy().hasHeightForWidth())
+        self.summaryGroup.setSizePolicy(sizePolicy)
+        self.summaryGroup.setObjectName("summaryGroup")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.summaryGroup)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.summaryList = QtWidgets.QTreeWidget(parent=self.summaryGroup)
+        self.summaryList.setAlternatingRowColors(True)
+        self.summaryList.setRootIsDecorated(False)
+        self.summaryList.setItemsExpandable(False)
+        self.summaryList.setObjectName("summaryList")
+        self.verticalLayout.addWidget(self.summaryList)
+        self.verticalLayout_2.addWidget(self.summaryGroup)
+        self.checkProgress = QtWidgets.QProgressBar(parent=PyCoverageDialog)
+        self.checkProgress.setProperty("value", 0)
+        self.checkProgress.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.checkProgress.setObjectName("checkProgress")
+        self.verticalLayout_2.addWidget(self.checkProgress)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=PyCoverageDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout_2.addWidget(self.buttonBox)
+        self.textLabel1_2.setBuddy(self.excludeCombo)
+
+        self.retranslateUi(PyCoverageDialog)
+        QtCore.QMetaObject.connectSlotsByName(PyCoverageDialog)
+        PyCoverageDialog.setTabOrder(self.excludeCombo, self.reloadButton)
+        PyCoverageDialog.setTabOrder(self.reloadButton, self.resultList)
+        PyCoverageDialog.setTabOrder(self.resultList, self.summaryList)
+
+    def retranslateUi(self, PyCoverageDialog):
+        _translate = QtCore.QCoreApplication.translate
+        PyCoverageDialog.setWindowTitle(_translate("PyCoverageDialog", "Python Code Coverage"))
+        PyCoverageDialog.setWhatsThis(_translate("PyCoverageDialog", "<b>Python Code Coverage</b>\n"
+"<p>This dialog shows the collected code coverage data.</p>"))
+        self.textLabel1_2.setText(_translate("PyCoverageDialog", "E&xclude pattern:"))
+        self.excludeCombo.setToolTip(_translate("PyCoverageDialog", "Enter a regexp pattern marking lines to exclude from coverage"))
+        self.excludeCombo.setWhatsThis(_translate("PyCoverageDialog", "<b>Exclude pattern</b>\n"
+"<p>Enter a regular expression pattern. Lines matching this pattern are excluded from the coverage analysis. The default pattern is \'#pragma[: ]+[nN][oO] [cC][oO][vV][eE][rR]\'. If the pattern is found on a line containing the colon that introduces a suite of statements, the entire suite is excluded.</p>"))
+        self.reloadButton.setText(_translate("PyCoverageDialog", "&Reload"))
+        self.reloadButton.setShortcut(_translate("PyCoverageDialog", "Alt+R"))
+        self.resultList.setWhatsThis(_translate("PyCoverageDialog", "<b>Python Code Coverage</b>\n"
+"<p>This list shows the collected code coverage data. There are several actions available via the context menu.</p>"))
+        self.resultList.headerItem().setText(0, _translate("PyCoverageDialog", "Name"))
+        self.resultList.headerItem().setText(1, _translate("PyCoverageDialog", "Statements"))
+        self.resultList.headerItem().setText(2, _translate("PyCoverageDialog", "Executed"))
+        self.resultList.headerItem().setText(3, _translate("PyCoverageDialog", "Coverage"))
+        self.resultList.headerItem().setText(4, _translate("PyCoverageDialog", "Excluded"))
+        self.resultList.headerItem().setText(5, _translate("PyCoverageDialog", "Missing"))
+        self.summaryGroup.setTitle(_translate("PyCoverageDialog", "Summary"))
+        self.summaryList.setWhatsThis(_translate("PyCoverageDialog", "<b>Summary</b>\n"
+"<p>This shows some overall code coverage information.</p>"))
+        self.summaryList.headerItem().setText(0, _translate("PyCoverageDialog", "Statements"))
+        self.summaryList.headerItem().setText(1, _translate("PyCoverageDialog", "Executed"))
+        self.summaryList.headerItem().setText(2, _translate("PyCoverageDialog", "Coverage"))
+        self.checkProgress.setToolTip(_translate("PyCoverageDialog", "Shows the progress of the code coverage action"))
+        self.checkProgress.setFormat(_translate("PyCoverageDialog", "%v/%m Files"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/DataViews/Ui_PyCoverageHtmlReportDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,77 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/DataViews/PyCoverageHtmlReportDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_PyCoverageHtmlReportDialog(object):
+    def setupUi(self, PyCoverageHtmlReportDialog):
+        PyCoverageHtmlReportDialog.setObjectName("PyCoverageHtmlReportDialog")
+        PyCoverageHtmlReportDialog.resize(500, 154)
+        PyCoverageHtmlReportDialog.setSizeGripEnabled(True)
+        self.gridLayout = QtWidgets.QGridLayout(PyCoverageHtmlReportDialog)
+        self.gridLayout.setObjectName("gridLayout")
+        self.label = QtWidgets.QLabel(parent=PyCoverageHtmlReportDialog)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
+        self.extraCssPicker = EricPathPicker(parent=PyCoverageHtmlReportDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.extraCssPicker.sizePolicy().hasHeightForWidth())
+        self.extraCssPicker.setSizePolicy(sizePolicy)
+        self.extraCssPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.extraCssPicker.setObjectName("extraCssPicker")
+        self.gridLayout.addWidget(self.extraCssPicker, 2, 1, 1, 1)
+        self.label_3 = QtWidgets.QLabel(parent=PyCoverageHtmlReportDialog)
+        self.label_3.setObjectName("label_3")
+        self.gridLayout.addWidget(self.label_3, 2, 0, 1, 1)
+        self.titleEdit = QtWidgets.QLineEdit(parent=PyCoverageHtmlReportDialog)
+        self.titleEdit.setObjectName("titleEdit")
+        self.gridLayout.addWidget(self.titleEdit, 0, 1, 1, 1)
+        self.label_2 = QtWidgets.QLabel(parent=PyCoverageHtmlReportDialog)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 1, 0, 1, 1)
+        self.outputDirectoryPicker = EricPathPicker(parent=PyCoverageHtmlReportDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.outputDirectoryPicker.sizePolicy().hasHeightForWidth())
+        self.outputDirectoryPicker.setSizePolicy(sizePolicy)
+        self.outputDirectoryPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.outputDirectoryPicker.setObjectName("outputDirectoryPicker")
+        self.gridLayout.addWidget(self.outputDirectoryPicker, 1, 1, 1, 1)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=PyCoverageHtmlReportDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout.addWidget(self.buttonBox, 4, 0, 1, 2)
+        self.openReportCheckBox = QtWidgets.QCheckBox(parent=PyCoverageHtmlReportDialog)
+        self.openReportCheckBox.setChecked(True)
+        self.openReportCheckBox.setObjectName("openReportCheckBox")
+        self.gridLayout.addWidget(self.openReportCheckBox, 3, 0, 1, 2)
+
+        self.retranslateUi(PyCoverageHtmlReportDialog)
+        self.buttonBox.accepted.connect(PyCoverageHtmlReportDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(PyCoverageHtmlReportDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(PyCoverageHtmlReportDialog)
+        PyCoverageHtmlReportDialog.setTabOrder(self.titleEdit, self.outputDirectoryPicker)
+        PyCoverageHtmlReportDialog.setTabOrder(self.outputDirectoryPicker, self.extraCssPicker)
+
+    def retranslateUi(self, PyCoverageHtmlReportDialog):
+        _translate = QtCore.QCoreApplication.translate
+        PyCoverageHtmlReportDialog.setWindowTitle(_translate("PyCoverageHtmlReportDialog", "HTML Report"))
+        self.label.setText(_translate("PyCoverageHtmlReportDialog", "Title:"))
+        self.extraCssPicker.setToolTip(_translate("PyCoverageHtmlReportDialog", "Enter the path of a file containing additional CSS definitions"))
+        self.label_3.setText(_translate("PyCoverageHtmlReportDialog", "Extra CSS:"))
+        self.titleEdit.setToolTip(_translate("PyCoverageHtmlReportDialog", "Enter the title for the HTML report"))
+        self.label_2.setText(_translate("PyCoverageHtmlReportDialog", "Output Directory:"))
+        self.outputDirectoryPicker.setToolTip(_translate("PyCoverageHtmlReportDialog", "Enter the path of the output directory"))
+        self.openReportCheckBox.setToolTip(_translate("PyCoverageHtmlReportDialog", "Select to open the generated report"))
+        self.openReportCheckBox.setText(_translate("PyCoverageHtmlReportDialog", "Open Report"))
+from eric7.EricWidgets.EricPathPicker import EricPathPicker
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/DataViews/Ui_PyCoverageJsonReportDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,53 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/DataViews/PyCoverageJsonReportDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_PyCoverageJsonReportDialog(object):
+    def setupUi(self, PyCoverageJsonReportDialog):
+        PyCoverageJsonReportDialog.setObjectName("PyCoverageJsonReportDialog")
+        PyCoverageJsonReportDialog.resize(500, 98)
+        PyCoverageJsonReportDialog.setSizeGripEnabled(True)
+        self.gridLayout = QtWidgets.QGridLayout(PyCoverageJsonReportDialog)
+        self.gridLayout.setObjectName("gridLayout")
+        self.compactCheckBox = QtWidgets.QCheckBox(parent=PyCoverageJsonReportDialog)
+        self.compactCheckBox.setChecked(True)
+        self.compactCheckBox.setObjectName("compactCheckBox")
+        self.gridLayout.addWidget(self.compactCheckBox, 1, 0, 1, 2)
+        self.label_2 = QtWidgets.QLabel(parent=PyCoverageJsonReportDialog)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 0, 0, 1, 1)
+        self.outputFilePicker = EricPathPicker(parent=PyCoverageJsonReportDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.outputFilePicker.sizePolicy().hasHeightForWidth())
+        self.outputFilePicker.setSizePolicy(sizePolicy)
+        self.outputFilePicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.outputFilePicker.setObjectName("outputFilePicker")
+        self.gridLayout.addWidget(self.outputFilePicker, 0, 1, 1, 1)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=PyCoverageJsonReportDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout.addWidget(self.buttonBox, 2, 0, 1, 2)
+
+        self.retranslateUi(PyCoverageJsonReportDialog)
+        self.buttonBox.accepted.connect(PyCoverageJsonReportDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(PyCoverageJsonReportDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(PyCoverageJsonReportDialog)
+
+    def retranslateUi(self, PyCoverageJsonReportDialog):
+        _translate = QtCore.QCoreApplication.translate
+        PyCoverageJsonReportDialog.setWindowTitle(_translate("PyCoverageJsonReportDialog", "JSON Report"))
+        self.compactCheckBox.setToolTip(_translate("PyCoverageJsonReportDialog", "Select to create the report using the compact format"))
+        self.compactCheckBox.setText(_translate("PyCoverageJsonReportDialog", "Compact Format"))
+        self.label_2.setText(_translate("PyCoverageJsonReportDialog", "Output File:"))
+        self.outputFilePicker.setToolTip(_translate("PyCoverageJsonReportDialog", "Enter the path of the output file"))
+from eric7.EricWidgets.EricPathPicker import EricPathPicker
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/DataViews/Ui_PyProfileDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,82 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/DataViews/PyProfileDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_PyProfileDialog(object):
+    def setupUi(self, PyProfileDialog):
+        PyProfileDialog.setObjectName("PyProfileDialog")
+        PyProfileDialog.resize(832, 587)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(3)
+        sizePolicy.setHeightForWidth(PyProfileDialog.sizePolicy().hasHeightForWidth())
+        PyProfileDialog.setSizePolicy(sizePolicy)
+        PyProfileDialog.setSizeGripEnabled(True)
+        self.vboxlayout = QtWidgets.QVBoxLayout(PyProfileDialog)
+        self.vboxlayout.setObjectName("vboxlayout")
+        self.resultList = QtWidgets.QTreeWidget(parent=PyProfileDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(3)
+        sizePolicy.setHeightForWidth(self.resultList.sizePolicy().hasHeightForWidth())
+        self.resultList.setSizePolicy(sizePolicy)
+        self.resultList.setAlternatingRowColors(True)
+        self.resultList.setRootIsDecorated(False)
+        self.resultList.setItemsExpandable(False)
+        self.resultList.setObjectName("resultList")
+        self.vboxlayout.addWidget(self.resultList)
+        self.summaryList = QtWidgets.QTreeWidget(parent=PyProfileDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(1)
+        sizePolicy.setHeightForWidth(self.summaryList.sizePolicy().hasHeightForWidth())
+        self.summaryList.setSizePolicy(sizePolicy)
+        self.summaryList.setAlternatingRowColors(True)
+        self.summaryList.setRootIsDecorated(False)
+        self.summaryList.setItemsExpandable(False)
+        self.summaryList.setObjectName("summaryList")
+        self.vboxlayout.addWidget(self.summaryList)
+        self.checkProgress = QtWidgets.QProgressBar(parent=PyProfileDialog)
+        self.checkProgress.setProperty("value", 0)
+        self.checkProgress.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.checkProgress.setObjectName("checkProgress")
+        self.vboxlayout.addWidget(self.checkProgress)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=PyProfileDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.vboxlayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(PyProfileDialog)
+        QtCore.QMetaObject.connectSlotsByName(PyProfileDialog)
+        PyProfileDialog.setTabOrder(self.resultList, self.summaryList)
+
+    def retranslateUi(self, PyProfileDialog):
+        _translate = QtCore.QCoreApplication.translate
+        PyProfileDialog.setWindowTitle(_translate("PyProfileDialog", "Profile Results"))
+        PyProfileDialog.setWhatsThis(_translate("PyProfileDialog", "<b>Profile Results</b>\n"
+"<p>This dialog shows the profile results.</p>"))
+        self.resultList.setWhatsThis(_translate("PyProfileDialog", "<b>Profile Results</b>\n"
+"<p>This list shows the profile results. There are several actions available via the context menu.</p>"))
+        self.resultList.setSortingEnabled(True)
+        self.resultList.headerItem().setText(0, _translate("PyProfileDialog", "Nr. Calls"))
+        self.resultList.headerItem().setText(1, _translate("PyProfileDialog", "Total Time"))
+        self.resultList.headerItem().setText(2, _translate("PyProfileDialog", "Tot. Time / Call"))
+        self.resultList.headerItem().setText(3, _translate("PyProfileDialog", "Cumulative Time"))
+        self.resultList.headerItem().setText(4, _translate("PyProfileDialog", "Cum. Time / Call"))
+        self.resultList.headerItem().setText(5, _translate("PyProfileDialog", "Filename"))
+        self.resultList.headerItem().setText(6, _translate("PyProfileDialog", "Line"))
+        self.resultList.headerItem().setText(7, _translate("PyProfileDialog", "Function"))
+        self.summaryList.setWhatsThis(_translate("PyProfileDialog", "<b>Summary</b>\n"
+"<p>This shows some overall profile data. There are several actions available via the context menu.</p>"))
+        self.summaryList.headerItem().setText(0, _translate("PyProfileDialog", "Summary"))
+        self.summaryList.headerItem().setText(1, _translate("PyProfileDialog", "#"))
+        self.checkProgress.setToolTip(_translate("PyProfileDialog", "Shows the progress of the profile data calculation"))
+        self.checkProgress.setFormat(_translate("PyProfileDialog", "%v/%m Files"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Debugger/Ui_CallTraceViewer.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,72 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Debugger/CallTraceViewer.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_CallTraceViewer(object):
+    def setupUi(self, CallTraceViewer):
+        CallTraceViewer.setObjectName("CallTraceViewer")
+        CallTraceViewer.resize(462, 528)
+        self.verticalLayout = QtWidgets.QVBoxLayout(CallTraceViewer)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.startTraceButton = QtWidgets.QToolButton(parent=CallTraceViewer)
+        self.startTraceButton.setText("Start")
+        self.startTraceButton.setObjectName("startTraceButton")
+        self.horizontalLayout.addWidget(self.startTraceButton)
+        self.stopTraceButton = QtWidgets.QToolButton(parent=CallTraceViewer)
+        self.stopTraceButton.setText("Stop")
+        self.stopTraceButton.setObjectName("stopTraceButton")
+        self.horizontalLayout.addWidget(self.stopTraceButton)
+        self.stopCheckBox = QtWidgets.QCheckBox(parent=CallTraceViewer)
+        self.stopCheckBox.setObjectName("stopCheckBox")
+        self.horizontalLayout.addWidget(self.stopCheckBox)
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem)
+        self.resizeButton = QtWidgets.QToolButton(parent=CallTraceViewer)
+        self.resizeButton.setText("Resize")
+        self.resizeButton.setObjectName("resizeButton")
+        self.horizontalLayout.addWidget(self.resizeButton)
+        self.clearButton = QtWidgets.QToolButton(parent=CallTraceViewer)
+        self.clearButton.setText("Clear")
+        self.clearButton.setObjectName("clearButton")
+        self.horizontalLayout.addWidget(self.clearButton)
+        self.saveButton = QtWidgets.QToolButton(parent=CallTraceViewer)
+        self.saveButton.setText("Save")
+        self.saveButton.setObjectName("saveButton")
+        self.horizontalLayout.addWidget(self.saveButton)
+        self.verticalLayout.addLayout(self.horizontalLayout)
+        self.callTrace = QtWidgets.QTreeWidget(parent=CallTraceViewer)
+        self.callTrace.setAlternatingRowColors(True)
+        self.callTrace.setExpandsOnDoubleClick(False)
+        self.callTrace.setObjectName("callTrace")
+        self.verticalLayout.addWidget(self.callTrace)
+
+        self.retranslateUi(CallTraceViewer)
+        QtCore.QMetaObject.connectSlotsByName(CallTraceViewer)
+        CallTraceViewer.setTabOrder(self.startTraceButton, self.stopTraceButton)
+        CallTraceViewer.setTabOrder(self.stopTraceButton, self.stopCheckBox)
+        CallTraceViewer.setTabOrder(self.stopCheckBox, self.resizeButton)
+        CallTraceViewer.setTabOrder(self.resizeButton, self.clearButton)
+        CallTraceViewer.setTabOrder(self.clearButton, self.saveButton)
+        CallTraceViewer.setTabOrder(self.saveButton, self.callTrace)
+
+    def retranslateUi(self, CallTraceViewer):
+        _translate = QtCore.QCoreApplication.translate
+        CallTraceViewer.setWindowTitle(_translate("CallTraceViewer", "Call Trace"))
+        self.startTraceButton.setToolTip(_translate("CallTraceViewer", "Press to start tracing calls and returns"))
+        self.stopTraceButton.setToolTip(_translate("CallTraceViewer", "Press to stop tracing calls and returns"))
+        self.stopCheckBox.setToolTip(_translate("CallTraceViewer", "Select to stop recording the call trace when the client exits"))
+        self.stopCheckBox.setText(_translate("CallTraceViewer", "Stop recording on exit"))
+        self.resizeButton.setToolTip(_translate("CallTraceViewer", "Press to resize the columns to their contents"))
+        self.clearButton.setToolTip(_translate("CallTraceViewer", "Press to clear the call trace"))
+        self.saveButton.setToolTip(_translate("CallTraceViewer", "Press to save the call trace as a text file"))
+        self.callTrace.headerItem().setText(1, _translate("CallTraceViewer", "From"))
+        self.callTrace.headerItem().setText(2, _translate("CallTraceViewer", "To"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Debugger/Ui_EditBreakpointDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,101 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Debugger/EditBreakpointDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_EditBreakpointDialog(object):
+    def setupUi(self, EditBreakpointDialog):
+        EditBreakpointDialog.setObjectName("EditBreakpointDialog")
+        EditBreakpointDialog.resize(428, 226)
+        EditBreakpointDialog.setSizeGripEnabled(True)
+        self.gridLayout = QtWidgets.QGridLayout(EditBreakpointDialog)
+        self.gridLayout.setObjectName("gridLayout")
+        self.textLabel1_2 = QtWidgets.QLabel(parent=EditBreakpointDialog)
+        self.textLabel1_2.setObjectName("textLabel1_2")
+        self.gridLayout.addWidget(self.textLabel1_2, 0, 0, 1, 1)
+        self.filenamePicker = EricComboPathPicker(parent=EditBreakpointDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.filenamePicker.sizePolicy().hasHeightForWidth())
+        self.filenamePicker.setSizePolicy(sizePolicy)
+        self.filenamePicker.setFocusPolicy(QtCore.Qt.FocusPolicy.WheelFocus)
+        self.filenamePicker.setObjectName("filenamePicker")
+        self.gridLayout.addWidget(self.filenamePicker, 0, 1, 1, 2)
+        self.textLabel2_2 = QtWidgets.QLabel(parent=EditBreakpointDialog)
+        self.textLabel2_2.setObjectName("textLabel2_2")
+        self.gridLayout.addWidget(self.textLabel2_2, 1, 0, 1, 1)
+        self.linenoSpinBox = QtWidgets.QSpinBox(parent=EditBreakpointDialog)
+        self.linenoSpinBox.setMinimum(1)
+        self.linenoSpinBox.setMaximum(99999)
+        self.linenoSpinBox.setObjectName("linenoSpinBox")
+        self.gridLayout.addWidget(self.linenoSpinBox, 1, 1, 1, 1)
+        spacerItem = QtWidgets.QSpacerItem(200, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout.addItem(spacerItem, 1, 2, 1, 1)
+        self.textLabel1 = QtWidgets.QLabel(parent=EditBreakpointDialog)
+        self.textLabel1.setObjectName("textLabel1")
+        self.gridLayout.addWidget(self.textLabel1, 2, 0, 1, 1)
+        self.conditionCombo = QtWidgets.QComboBox(parent=EditBreakpointDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.conditionCombo.sizePolicy().hasHeightForWidth())
+        self.conditionCombo.setSizePolicy(sizePolicy)
+        self.conditionCombo.setEditable(True)
+        self.conditionCombo.setSizeAdjustPolicy(QtWidgets.QComboBox.SizeAdjustPolicy.AdjustToContents)
+        self.conditionCombo.setObjectName("conditionCombo")
+        self.gridLayout.addWidget(self.conditionCombo, 2, 1, 1, 2)
+        self.textLabel2 = QtWidgets.QLabel(parent=EditBreakpointDialog)
+        self.textLabel2.setObjectName("textLabel2")
+        self.gridLayout.addWidget(self.textLabel2, 3, 0, 1, 1)
+        self.ignoreSpinBox = QtWidgets.QSpinBox(parent=EditBreakpointDialog)
+        self.ignoreSpinBox.setMaximum(9999)
+        self.ignoreSpinBox.setObjectName("ignoreSpinBox")
+        self.gridLayout.addWidget(self.ignoreSpinBox, 3, 1, 1, 1)
+        spacerItem1 = QtWidgets.QSpacerItem(250, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout.addItem(spacerItem1, 3, 2, 1, 1)
+        self.temporaryCheckBox = QtWidgets.QCheckBox(parent=EditBreakpointDialog)
+        self.temporaryCheckBox.setObjectName("temporaryCheckBox")
+        self.gridLayout.addWidget(self.temporaryCheckBox, 4, 0, 1, 3)
+        self.enabledCheckBox = QtWidgets.QCheckBox(parent=EditBreakpointDialog)
+        self.enabledCheckBox.setChecked(True)
+        self.enabledCheckBox.setObjectName("enabledCheckBox")
+        self.gridLayout.addWidget(self.enabledCheckBox, 5, 0, 1, 3)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=EditBreakpointDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout.addWidget(self.buttonBox, 6, 0, 1, 3)
+
+        self.retranslateUi(EditBreakpointDialog)
+        self.buttonBox.accepted.connect(EditBreakpointDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(EditBreakpointDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(EditBreakpointDialog)
+        EditBreakpointDialog.setTabOrder(self.filenamePicker, self.linenoSpinBox)
+        EditBreakpointDialog.setTabOrder(self.linenoSpinBox, self.conditionCombo)
+        EditBreakpointDialog.setTabOrder(self.conditionCombo, self.ignoreSpinBox)
+        EditBreakpointDialog.setTabOrder(self.ignoreSpinBox, self.temporaryCheckBox)
+        EditBreakpointDialog.setTabOrder(self.temporaryCheckBox, self.enabledCheckBox)
+
+    def retranslateUi(self, EditBreakpointDialog):
+        _translate = QtCore.QCoreApplication.translate
+        EditBreakpointDialog.setWindowTitle(_translate("EditBreakpointDialog", "Edit Breakpoint"))
+        self.textLabel1_2.setText(_translate("EditBreakpointDialog", "Filename:"))
+        self.filenamePicker.setToolTip(_translate("EditBreakpointDialog", "Enter the filename of the breakpoint"))
+        self.textLabel2_2.setText(_translate("EditBreakpointDialog", "Linenumber:"))
+        self.linenoSpinBox.setToolTip(_translate("EditBreakpointDialog", "Enter the linenumber of the breakpoint"))
+        self.textLabel1.setText(_translate("EditBreakpointDialog", "Condition:"))
+        self.conditionCombo.setToolTip(_translate("EditBreakpointDialog", "Enter or select a condition for the breakpoint"))
+        self.textLabel2.setText(_translate("EditBreakpointDialog", "Ignore Count:"))
+        self.ignoreSpinBox.setToolTip(_translate("EditBreakpointDialog", "Enter an ignore count for the breakpoint"))
+        self.temporaryCheckBox.setToolTip(_translate("EditBreakpointDialog", "Select whether this is a temporary breakpoint"))
+        self.temporaryCheckBox.setText(_translate("EditBreakpointDialog", "Temporary Breakpoint"))
+        self.enabledCheckBox.setToolTip(_translate("EditBreakpointDialog", "Select, whether the breakpoint is enabled"))
+        self.enabledCheckBox.setText(_translate("EditBreakpointDialog", "Enabled"))
+from eric7.EricWidgets.EricPathPicker import EricComboPathPicker
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Debugger/Ui_EditWatchpointDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,96 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Debugger/EditWatchpointDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_EditWatchpointDialog(object):
+    def setupUi(self, EditWatchpointDialog):
+        EditWatchpointDialog.setObjectName("EditWatchpointDialog")
+        EditWatchpointDialog.resize(402, 234)
+        EditWatchpointDialog.setSizeGripEnabled(True)
+        self.gridlayout = QtWidgets.QGridLayout(EditWatchpointDialog)
+        self.gridlayout.setObjectName("gridlayout")
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=EditWatchpointDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridlayout.addWidget(self.buttonBox, 4, 0, 1, 3)
+        spacerItem = QtWidgets.QSpacerItem(211, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridlayout.addItem(spacerItem, 1, 2, 1, 1)
+        self.ignoreSpinBox = QtWidgets.QSpinBox(parent=EditWatchpointDialog)
+        self.ignoreSpinBox.setMaximum(9999)
+        self.ignoreSpinBox.setObjectName("ignoreSpinBox")
+        self.gridlayout.addWidget(self.ignoreSpinBox, 1, 1, 1, 1)
+        self.textLabel2 = QtWidgets.QLabel(parent=EditWatchpointDialog)
+        self.textLabel2.setObjectName("textLabel2")
+        self.gridlayout.addWidget(self.textLabel2, 1, 0, 1, 1)
+        self.enabledCheckBox = QtWidgets.QCheckBox(parent=EditWatchpointDialog)
+        self.enabledCheckBox.setObjectName("enabledCheckBox")
+        self.gridlayout.addWidget(self.enabledCheckBox, 3, 0, 1, 3)
+        self.temporaryCheckBox = QtWidgets.QCheckBox(parent=EditWatchpointDialog)
+        self.temporaryCheckBox.setObjectName("temporaryCheckBox")
+        self.gridlayout.addWidget(self.temporaryCheckBox, 2, 0, 1, 3)
+        self.groupBox = QtWidgets.QGroupBox(parent=EditWatchpointDialog)
+        self.groupBox.setTitle("")
+        self.groupBox.setObjectName("groupBox")
+        self.gridlayout1 = QtWidgets.QGridLayout(self.groupBox)
+        self.gridlayout1.setObjectName("gridlayout1")
+        self.specialButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.specialButton.setObjectName("specialButton")
+        self.gridlayout1.addWidget(self.specialButton, 1, 0, 1, 1)
+        self.conditionButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.conditionButton.setChecked(True)
+        self.conditionButton.setObjectName("conditionButton")
+        self.gridlayout1.addWidget(self.conditionButton, 0, 0, 1, 1)
+        self.specialEdit = QtWidgets.QLineEdit(parent=self.groupBox)
+        self.specialEdit.setEnabled(False)
+        self.specialEdit.setObjectName("specialEdit")
+        self.gridlayout1.addWidget(self.specialEdit, 1, 1, 1, 1)
+        self.specialCombo = QtWidgets.QComboBox(parent=self.groupBox)
+        self.specialCombo.setEnabled(False)
+        self.specialCombo.setObjectName("specialCombo")
+        self.specialCombo.addItem("")
+        self.specialCombo.addItem("")
+        self.gridlayout1.addWidget(self.specialCombo, 2, 1, 1, 1)
+        self.conditionEdit = QtWidgets.QLineEdit(parent=self.groupBox)
+        self.conditionEdit.setObjectName("conditionEdit")
+        self.gridlayout1.addWidget(self.conditionEdit, 0, 1, 1, 1)
+        self.gridlayout.addWidget(self.groupBox, 0, 0, 1, 3)
+
+        self.retranslateUi(EditWatchpointDialog)
+        self.conditionButton.toggled['bool'].connect(self.conditionEdit.setEnabled) # type: ignore
+        self.specialButton.toggled['bool'].connect(self.specialCombo.setEnabled) # type: ignore
+        self.specialButton.toggled['bool'].connect(self.specialEdit.setEnabled) # type: ignore
+        self.buttonBox.accepted.connect(EditWatchpointDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(EditWatchpointDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(EditWatchpointDialog)
+        EditWatchpointDialog.setTabOrder(self.conditionButton, self.conditionEdit)
+        EditWatchpointDialog.setTabOrder(self.conditionEdit, self.specialButton)
+        EditWatchpointDialog.setTabOrder(self.specialButton, self.specialEdit)
+        EditWatchpointDialog.setTabOrder(self.specialEdit, self.specialCombo)
+        EditWatchpointDialog.setTabOrder(self.specialCombo, self.ignoreSpinBox)
+        EditWatchpointDialog.setTabOrder(self.ignoreSpinBox, self.temporaryCheckBox)
+        EditWatchpointDialog.setTabOrder(self.temporaryCheckBox, self.enabledCheckBox)
+
+    def retranslateUi(self, EditWatchpointDialog):
+        _translate = QtCore.QCoreApplication.translate
+        EditWatchpointDialog.setWindowTitle(_translate("EditWatchpointDialog", "Edit Watch Expression"))
+        self.ignoreSpinBox.setToolTip(_translate("EditWatchpointDialog", "Enter an ignore count for the watch expression"))
+        self.textLabel2.setText(_translate("EditWatchpointDialog", "Ignore Count:"))
+        self.enabledCheckBox.setToolTip(_translate("EditWatchpointDialog", "Select, whether the watch expression is enabled"))
+        self.enabledCheckBox.setText(_translate("EditWatchpointDialog", "Enabled"))
+        self.temporaryCheckBox.setToolTip(_translate("EditWatchpointDialog", "Select whether this is a temporary watch expression"))
+        self.temporaryCheckBox.setText(_translate("EditWatchpointDialog", "Temporary Watch Expression"))
+        self.specialButton.setText(_translate("EditWatchpointDialog", "Variable:"))
+        self.conditionButton.setText(_translate("EditWatchpointDialog", "Expression:"))
+        self.specialEdit.setToolTip(_translate("EditWatchpointDialog", "Enter a variable and select the special condition below"))
+        self.specialCombo.setToolTip(_translate("EditWatchpointDialog", "Select a special condition"))
+        self.specialCombo.setItemText(0, _translate("EditWatchpointDialog", "created"))
+        self.specialCombo.setItemText(1, _translate("EditWatchpointDialog", "changed"))
+        self.conditionEdit.setToolTip(_translate("EditWatchpointDialog", "Enter the expression for the watch expression"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Debugger/Ui_ExceptionsFilterDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,68 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Debugger/ExceptionsFilterDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_ExceptionsFilterDialog(object):
+    def setupUi(self, ExceptionsFilterDialog):
+        ExceptionsFilterDialog.setObjectName("ExceptionsFilterDialog")
+        ExceptionsFilterDialog.resize(450, 400)
+        ExceptionsFilterDialog.setSizeGripEnabled(True)
+        self.gridLayout = QtWidgets.QGridLayout(ExceptionsFilterDialog)
+        self.gridLayout.setObjectName("gridLayout")
+        self.exceptionList = QtWidgets.QListWidget(parent=ExceptionsFilterDialog)
+        self.exceptionList.setAlternatingRowColors(True)
+        self.exceptionList.setObjectName("exceptionList")
+        self.gridLayout.addWidget(self.exceptionList, 0, 0, 1, 3)
+        self.addButton = QtWidgets.QPushButton(parent=ExceptionsFilterDialog)
+        self.addButton.setEnabled(False)
+        self.addButton.setObjectName("addButton")
+        self.gridLayout.addWidget(self.addButton, 1, 0, 1, 1)
+        self.exceptionEdit = QtWidgets.QLineEdit(parent=ExceptionsFilterDialog)
+        self.exceptionEdit.setObjectName("exceptionEdit")
+        self.gridLayout.addWidget(self.exceptionEdit, 1, 1, 1, 2)
+        self.deleteButton = QtWidgets.QPushButton(parent=ExceptionsFilterDialog)
+        self.deleteButton.setEnabled(False)
+        self.deleteButton.setObjectName("deleteButton")
+        self.gridLayout.addWidget(self.deleteButton, 2, 0, 1, 1)
+        self.deleteAllButton = QtWidgets.QPushButton(parent=ExceptionsFilterDialog)
+        self.deleteAllButton.setObjectName("deleteAllButton")
+        self.gridLayout.addWidget(self.deleteAllButton, 2, 1, 1, 1)
+        spacerItem = QtWidgets.QSpacerItem(261, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout.addItem(spacerItem, 2, 2, 1, 1)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=ExceptionsFilterDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout.addWidget(self.buttonBox, 3, 0, 1, 3)
+
+        self.retranslateUi(ExceptionsFilterDialog)
+        self.buttonBox.accepted.connect(ExceptionsFilterDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(ExceptionsFilterDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(ExceptionsFilterDialog)
+        ExceptionsFilterDialog.setTabOrder(self.exceptionList, self.exceptionEdit)
+        ExceptionsFilterDialog.setTabOrder(self.exceptionEdit, self.addButton)
+        ExceptionsFilterDialog.setTabOrder(self.addButton, self.deleteButton)
+        ExceptionsFilterDialog.setTabOrder(self.deleteButton, self.deleteAllButton)
+        ExceptionsFilterDialog.setTabOrder(self.deleteAllButton, self.buttonBox)
+
+    def retranslateUi(self, ExceptionsFilterDialog):
+        _translate = QtCore.QCoreApplication.translate
+        ExceptionsFilterDialog.setWindowTitle(_translate("ExceptionsFilterDialog", "Exceptions Filter"))
+        ExceptionsFilterDialog.setWhatsThis(_translate("ExceptionsFilterDialog", "<b>Exception Filter</b>\n"
+"<p>This dialog is used to enter the exception types, that shall be highlighted during a debugging session. If this list is empty, all exception types will be highlighted. If the exception reporting flag in the \"Start Debugging\" dialog is unchecked, no exception will be reported at all.</p>\n"
+"<p>Please note, that unhandled exceptions are always highlighted independent of these settings.</p>"))
+        self.exceptionList.setToolTip(_translate("ExceptionsFilterDialog", "List of exceptions that shall be highlighted"))
+        self.addButton.setToolTip(_translate("ExceptionsFilterDialog", "Press to add the entered exception to the list"))
+        self.addButton.setText(_translate("ExceptionsFilterDialog", "Add"))
+        self.exceptionEdit.setToolTip(_translate("ExceptionsFilterDialog", "Enter an exception type that shall be highlighted"))
+        self.deleteButton.setToolTip(_translate("ExceptionsFilterDialog", "Press to delete the selected exception from the list"))
+        self.deleteButton.setText(_translate("ExceptionsFilterDialog", "Delete"))
+        self.deleteAllButton.setToolTip(_translate("ExceptionsFilterDialog", "Press to delete all exceptions from the list"))
+        self.deleteAllButton.setText(_translate("ExceptionsFilterDialog", "Delete All"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Debugger/Ui_StartDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,257 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Debugger/StartDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_StartDialog(object):
+    def setupUi(self, StartDialog):
+        StartDialog.setObjectName("StartDialog")
+        StartDialog.resize(600, 657)
+        StartDialog.setSizeGripEnabled(True)
+        self.verticalLayout_6 = QtWidgets.QVBoxLayout(StartDialog)
+        self.verticalLayout_6.setObjectName("verticalLayout_6")
+        self.groupBox = QtWidgets.QGroupBox(parent=StartDialog)
+        self.groupBox.setObjectName("groupBox")
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.groupBox)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.gridLayout_2 = QtWidgets.QGridLayout()
+        self.gridLayout_2.setObjectName("gridLayout_2")
+        self.label = QtWidgets.QLabel(parent=self.groupBox)
+        self.label.setObjectName("label")
+        self.gridLayout_2.addWidget(self.label, 0, 0, 1, 1)
+        self.venvComboBox = QtWidgets.QComboBox(parent=self.groupBox)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.venvComboBox.sizePolicy().hasHeightForWidth())
+        self.venvComboBox.setSizePolicy(sizePolicy)
+        self.venvComboBox.setObjectName("venvComboBox")
+        self.gridLayout_2.addWidget(self.venvComboBox, 0, 1, 1, 1)
+        self.TextLabel1_2 = QtWidgets.QLabel(parent=self.groupBox)
+        self.TextLabel1_2.setObjectName("TextLabel1_2")
+        self.gridLayout_2.addWidget(self.TextLabel1_2, 1, 0, 1, 1)
+        self.scriptnamePicker = EricComboPathPicker(parent=self.groupBox)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.scriptnamePicker.sizePolicy().hasHeightForWidth())
+        self.scriptnamePicker.setSizePolicy(sizePolicy)
+        self.scriptnamePicker.setFocusPolicy(QtCore.Qt.FocusPolicy.WheelFocus)
+        self.scriptnamePicker.setObjectName("scriptnamePicker")
+        self.gridLayout_2.addWidget(self.scriptnamePicker, 1, 1, 1, 1)
+        self.TextLabel1 = QtWidgets.QLabel(parent=self.groupBox)
+        self.TextLabel1.setObjectName("TextLabel1")
+        self.gridLayout_2.addWidget(self.TextLabel1, 2, 0, 1, 1)
+        self.cmdlineCombo = QtWidgets.QComboBox(parent=self.groupBox)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.cmdlineCombo.sizePolicy().hasHeightForWidth())
+        self.cmdlineCombo.setSizePolicy(sizePolicy)
+        self.cmdlineCombo.setEditable(True)
+        self.cmdlineCombo.setInsertPolicy(QtWidgets.QComboBox.InsertPolicy.InsertAtTop)
+        self.cmdlineCombo.setSizeAdjustPolicy(QtWidgets.QComboBox.SizeAdjustPolicy.AdjustToMinimumContentsLengthWithIcon)
+        self.cmdlineCombo.setDuplicatesEnabled(False)
+        self.cmdlineCombo.setObjectName("cmdlineCombo")
+        self.gridLayout_2.addWidget(self.cmdlineCombo, 2, 1, 1, 1)
+        self.TextLabel2 = QtWidgets.QLabel(parent=self.groupBox)
+        self.TextLabel2.setObjectName("TextLabel2")
+        self.gridLayout_2.addWidget(self.TextLabel2, 3, 0, 1, 1)
+        self.workdirPicker = EricComboPathPicker(parent=self.groupBox)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.workdirPicker.sizePolicy().hasHeightForWidth())
+        self.workdirPicker.setSizePolicy(sizePolicy)
+        self.workdirPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.WheelFocus)
+        self.workdirPicker.setObjectName("workdirPicker")
+        self.gridLayout_2.addWidget(self.workdirPicker, 3, 1, 1, 1)
+        self.textLabel1 = QtWidgets.QLabel(parent=self.groupBox)
+        self.textLabel1.setObjectName("textLabel1")
+        self.gridLayout_2.addWidget(self.textLabel1, 4, 0, 1, 1)
+        self.environmentCombo = QtWidgets.QComboBox(parent=self.groupBox)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.environmentCombo.sizePolicy().hasHeightForWidth())
+        self.environmentCombo.setSizePolicy(sizePolicy)
+        self.environmentCombo.setEditable(True)
+        self.environmentCombo.setInsertPolicy(QtWidgets.QComboBox.InsertPolicy.InsertAtTop)
+        self.environmentCombo.setSizeAdjustPolicy(QtWidgets.QComboBox.SizeAdjustPolicy.AdjustToMinimumContentsLengthWithIcon)
+        self.environmentCombo.setDuplicatesEnabled(False)
+        self.environmentCombo.setObjectName("environmentCombo")
+        self.gridLayout_2.addWidget(self.environmentCombo, 4, 1, 1, 1)
+        self.verticalLayout_2.addLayout(self.gridLayout_2)
+        self.globalOverrideGroup = QtWidgets.QGroupBox(parent=self.groupBox)
+        self.globalOverrideGroup.setCheckable(True)
+        self.globalOverrideGroup.setChecked(False)
+        self.globalOverrideGroup.setObjectName("globalOverrideGroup")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.globalOverrideGroup)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.redirectCheckBox = QtWidgets.QCheckBox(parent=self.globalOverrideGroup)
+        self.redirectCheckBox.setObjectName("redirectCheckBox")
+        self.verticalLayout.addWidget(self.redirectCheckBox)
+        self.verticalLayout_2.addWidget(self.globalOverrideGroup)
+        self.gridLayout = QtWidgets.QGridLayout()
+        self.gridLayout.setObjectName("gridLayout")
+        self.consoleCheckBox = QtWidgets.QCheckBox(parent=self.groupBox)
+        self.consoleCheckBox.setObjectName("consoleCheckBox")
+        self.gridLayout.addWidget(self.consoleCheckBox, 0, 1, 1, 1)
+        self.clearShellCheckBox = QtWidgets.QCheckBox(parent=self.groupBox)
+        self.clearShellCheckBox.setChecked(True)
+        self.clearShellCheckBox.setObjectName("clearShellCheckBox")
+        self.gridLayout.addWidget(self.clearShellCheckBox, 0, 0, 1, 1)
+        self.verticalLayout_2.addLayout(self.gridLayout)
+        self.verticalLayout_6.addWidget(self.groupBox)
+        self.debugGroup = QtWidgets.QGroupBox(parent=StartDialog)
+        self.debugGroup.setObjectName("debugGroup")
+        self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.debugGroup)
+        self.verticalLayout_3.setObjectName("verticalLayout_3")
+        self.gridLayout_3 = QtWidgets.QGridLayout()
+        self.gridLayout_3.setObjectName("gridLayout_3")
+        self.tracePythonCheckBox = QtWidgets.QCheckBox(parent=self.debugGroup)
+        self.tracePythonCheckBox.setObjectName("tracePythonCheckBox")
+        self.gridLayout_3.addWidget(self.tracePythonCheckBox, 0, 0, 1, 1)
+        self.autoContinueCheckBox = QtWidgets.QCheckBox(parent=self.debugGroup)
+        self.autoContinueCheckBox.setChecked(True)
+        self.autoContinueCheckBox.setObjectName("autoContinueCheckBox")
+        self.gridLayout_3.addWidget(self.autoContinueCheckBox, 0, 1, 1, 1)
+        self.allExceptionsCheckBox = QtWidgets.QCheckBox(parent=self.debugGroup)
+        self.allExceptionsCheckBox.setObjectName("allExceptionsCheckBox")
+        self.gridLayout_3.addWidget(self.allExceptionsCheckBox, 1, 0, 1, 1)
+        self.verticalLayout_3.addLayout(self.gridLayout_3)
+        self.multiprocessGroup = QtWidgets.QGroupBox(parent=self.debugGroup)
+        self.multiprocessGroup.setCheckable(True)
+        self.multiprocessGroup.setObjectName("multiprocessGroup")
+        self.horizontalLayout = QtWidgets.QHBoxLayout(self.multiprocessGroup)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.TextLabel1_3 = QtWidgets.QLabel(parent=self.multiprocessGroup)
+        self.TextLabel1_3.setObjectName("TextLabel1_3")
+        self.horizontalLayout.addWidget(self.TextLabel1_3)
+        self.multiprocessNoDebugCombo = QtWidgets.QComboBox(parent=self.multiprocessGroup)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.multiprocessNoDebugCombo.sizePolicy().hasHeightForWidth())
+        self.multiprocessNoDebugCombo.setSizePolicy(sizePolicy)
+        self.multiprocessNoDebugCombo.setToolTip("")
+        self.multiprocessNoDebugCombo.setWhatsThis("")
+        self.multiprocessNoDebugCombo.setEditable(True)
+        self.multiprocessNoDebugCombo.setInsertPolicy(QtWidgets.QComboBox.InsertPolicy.InsertAtTop)
+        self.multiprocessNoDebugCombo.setSizeAdjustPolicy(QtWidgets.QComboBox.SizeAdjustPolicy.AdjustToMinimumContentsLengthWithIcon)
+        self.multiprocessNoDebugCombo.setDuplicatesEnabled(False)
+        self.multiprocessNoDebugCombo.setObjectName("multiprocessNoDebugCombo")
+        self.horizontalLayout.addWidget(self.multiprocessNoDebugCombo)
+        self.verticalLayout_3.addWidget(self.multiprocessGroup)
+        self.verticalLayout_6.addWidget(self.debugGroup)
+        self.coverageGroup = QtWidgets.QGroupBox(parent=StartDialog)
+        self.coverageGroup.setObjectName("coverageGroup")
+        self.verticalLayout_4 = QtWidgets.QVBoxLayout(self.coverageGroup)
+        self.verticalLayout_4.setObjectName("verticalLayout_4")
+        self.eraseCoverageCheckBox = QtWidgets.QCheckBox(parent=self.coverageGroup)
+        self.eraseCoverageCheckBox.setObjectName("eraseCoverageCheckBox")
+        self.verticalLayout_4.addWidget(self.eraseCoverageCheckBox)
+        self.verticalLayout_6.addWidget(self.coverageGroup)
+        self.profileGroup = QtWidgets.QGroupBox(parent=StartDialog)
+        self.profileGroup.setObjectName("profileGroup")
+        self.verticalLayout_5 = QtWidgets.QVBoxLayout(self.profileGroup)
+        self.verticalLayout_5.setObjectName("verticalLayout_5")
+        self.eraseProfileCheckBox = QtWidgets.QCheckBox(parent=self.profileGroup)
+        self.eraseProfileCheckBox.setObjectName("eraseProfileCheckBox")
+        self.verticalLayout_5.addWidget(self.eraseProfileCheckBox)
+        self.verticalLayout_6.addWidget(self.profileGroup)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=StartDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout_6.addWidget(self.buttonBox)
+
+        self.retranslateUi(StartDialog)
+        self.buttonBox.accepted.connect(StartDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(StartDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(StartDialog)
+        StartDialog.setTabOrder(self.venvComboBox, self.scriptnamePicker)
+        StartDialog.setTabOrder(self.scriptnamePicker, self.cmdlineCombo)
+        StartDialog.setTabOrder(self.cmdlineCombo, self.workdirPicker)
+        StartDialog.setTabOrder(self.workdirPicker, self.environmentCombo)
+        StartDialog.setTabOrder(self.environmentCombo, self.globalOverrideGroup)
+        StartDialog.setTabOrder(self.globalOverrideGroup, self.redirectCheckBox)
+        StartDialog.setTabOrder(self.redirectCheckBox, self.clearShellCheckBox)
+        StartDialog.setTabOrder(self.clearShellCheckBox, self.consoleCheckBox)
+        StartDialog.setTabOrder(self.consoleCheckBox, self.tracePythonCheckBox)
+        StartDialog.setTabOrder(self.tracePythonCheckBox, self.autoContinueCheckBox)
+        StartDialog.setTabOrder(self.autoContinueCheckBox, self.allExceptionsCheckBox)
+        StartDialog.setTabOrder(self.allExceptionsCheckBox, self.multiprocessGroup)
+        StartDialog.setTabOrder(self.multiprocessGroup, self.multiprocessNoDebugCombo)
+        StartDialog.setTabOrder(self.multiprocessNoDebugCombo, self.eraseCoverageCheckBox)
+        StartDialog.setTabOrder(self.eraseCoverageCheckBox, self.eraseProfileCheckBox)
+
+    def retranslateUi(self, StartDialog):
+        _translate = QtCore.QCoreApplication.translate
+        StartDialog.setWindowTitle(_translate("StartDialog", "Start"))
+        self.groupBox.setTitle(_translate("StartDialog", "General Parameters"))
+        self.label.setText(_translate("StartDialog", "Virtual Environment:"))
+        self.venvComboBox.setToolTip(_translate("StartDialog", "Select the virtual environment to be used"))
+        self.venvComboBox.setWhatsThis(_translate("StartDialog", "<b>Virtual Environment</b>\n"
+"<p>Enter the virtual environment to be used. Leave it empty to use the default environment, i.e. the one configured globally or per project.</p>"))
+        self.TextLabel1_2.setText(_translate("StartDialog", "Script Name:"))
+        self.scriptnamePicker.setToolTip(_translate("StartDialog", "Enter the script file name"))
+        self.scriptnamePicker.setWhatsThis(_translate("StartDialog", "<b>Script Name</b>\n"
+"<p>Enter the the name of the script. Leave empty to use the script of the current editor.</p>"))
+        self.TextLabel1.setText(_translate("StartDialog", "Script Parameters:"))
+        self.cmdlineCombo.setToolTip(_translate("StartDialog", "Enter the commandline parameters"))
+        self.cmdlineCombo.setWhatsThis(_translate("StartDialog", "<b>Commandline</b>\n"
+"<p>Enter the commandline parameters in this field.</p>"))
+        self.TextLabel2.setText(_translate("StartDialog", "Working directory:"))
+        self.workdirPicker.setToolTip(_translate("StartDialog", "Enter the working directory"))
+        self.workdirPicker.setWhatsThis(_translate("StartDialog", "<b>Working directory</b>\n"
+"<p>Enter the working directory of the application to be debugged. Leave it empty to set the working directory to the executable directory.</p>"))
+        self.textLabel1.setText(_translate("StartDialog", "Environment Variables:"))
+        self.environmentCombo.setToolTip(_translate("StartDialog", "Enter the environment variables to be set separated by whitespace."))
+        self.environmentCombo.setWhatsThis(_translate("StartDialog", "<b>Environment Variables</b>\n"
+"<p>Enter the environment variables to be set for the program. The individual settings must be separated by whitespace and be given in the form \'var=value\'. In order to add to an environment variable, enter it in the form \'var+=value\'. To delete an environment variable, append a \'-\' to the variable name.</p>\n"
+"<p>Example: var1=1 var2=\"hello world\" var3+=\":/tmp\" var4-</p>"))
+        self.globalOverrideGroup.setTitle(_translate("StartDialog", "Override Global Configuration"))
+        self.redirectCheckBox.setToolTip(_translate("StartDialog", "Select, to redirect stdin, stdout and stderr of the program being debugged to the eric IDE"))
+        self.redirectCheckBox.setText(_translate("StartDialog", "Redirect stdin/stdout/stderr"))
+        self.consoleCheckBox.setToolTip(_translate("StartDialog", "Select to start the debugger in a console window"))
+        self.consoleCheckBox.setWhatsThis(_translate("StartDialog", "<b>Start in console</b>\n"
+"<p>Select to start the debugger in a console window. The console command has to be configured on the Debugger-&gt;General page</p>"))
+        self.consoleCheckBox.setText(_translate("StartDialog", "Start in console"))
+        self.clearShellCheckBox.setToolTip(_translate("StartDialog", "Select to clear the display of the interpreter window"))
+        self.clearShellCheckBox.setWhatsThis(_translate("StartDialog", "<b>Clear interpreter window</b><p>This clears the display of the interpreter window before starting the debug client.</p>"))
+        self.clearShellCheckBox.setText(_translate("StartDialog", "Clear interpreter window"))
+        self.debugGroup.setTitle(_translate("StartDialog", "Debug Parameters"))
+        self.tracePythonCheckBox.setToolTip(_translate("StartDialog", "Select to trace into the Python library"))
+        self.tracePythonCheckBox.setWhatsThis(_translate("StartDialog", "<b>Trace into interpreter libraries<b>\n"
+"<p>When active the debugger will also trace calls into the Python library.</p>"))
+        self.tracePythonCheckBox.setText(_translate("StartDialog", "Trace into interpreter libraries"))
+        self.tracePythonCheckBox.setShortcut(_translate("StartDialog", "Alt+T"))
+        self.autoContinueCheckBox.setToolTip(_translate("StartDialog", "Select to not stop the debugger at the first executable line."))
+        self.autoContinueCheckBox.setWhatsThis(_translate("StartDialog", "<b>Don\'t stop at first line</b><p>This prevents the debugger from stopping at the first executable line.</p>"))
+        self.autoContinueCheckBox.setText(_translate("StartDialog", "Don\'t stop at first line"))
+        self.allExceptionsCheckBox.setToolTip(_translate("StartDialog", "Select to report all exceptions (when unchecked only unhandled exceptions are reported)."))
+        self.allExceptionsCheckBox.setText(_translate("StartDialog", "Report all exceptions"))
+        self.multiprocessGroup.setToolTip(_translate("StartDialog", "Select this to enable multi process debugging."))
+        self.multiprocessGroup.setWhatsThis(_translate("StartDialog", "<b>Multi Process Debugging</b><p>This enables debugging capability for multi process programs. Each started Python program is started within a new debugger.</p>"))
+        self.multiprocessGroup.setTitle(_translate("StartDialog", "Multi Process Debugging"))
+        self.TextLabel1_3.setText(_translate("StartDialog", "Don\'t Debug:"))
+        self.coverageGroup.setTitle(_translate("StartDialog", "Coverage Parameters"))
+        self.eraseCoverageCheckBox.setToolTip(_translate("StartDialog", "Select this to erase the collected coverage information"))
+        self.eraseCoverageCheckBox.setWhatsThis(_translate("StartDialog", "<b>Erase coverage information</b>\n"
+"<p>Select this to erase the collected coverage information before the next coverage run.</p>"))
+        self.eraseCoverageCheckBox.setText(_translate("StartDialog", "Erase coverage information"))
+        self.eraseCoverageCheckBox.setShortcut(_translate("StartDialog", "Alt+C"))
+        self.profileGroup.setTitle(_translate("StartDialog", "Profile Parameters"))
+        self.eraseProfileCheckBox.setToolTip(_translate("StartDialog", "Select this to erase the collected timing data"))
+        self.eraseProfileCheckBox.setWhatsThis(_translate("StartDialog", "<b>Erase timing data</b>\n"
+"<p>Select this to erase the collected timing data before the next profiling run.</p>"))
+        self.eraseProfileCheckBox.setText(_translate("StartDialog", "Erase timing data"))
+        self.eraseProfileCheckBox.setShortcut(_translate("StartDialog", "Alt+C"))
+from eric7.EricWidgets.EricPathPicker import EricComboPathPicker
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Debugger/Ui_StartHistoryEditDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,62 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Debugger/StartHistoryEditDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_StartHistoryEditDialog(object):
+    def setupUi(self, StartHistoryEditDialog):
+        StartHistoryEditDialog.setObjectName("StartHistoryEditDialog")
+        StartHistoryEditDialog.resize(600, 400)
+        StartHistoryEditDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(StartHistoryEditDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.gridLayout = QtWidgets.QGridLayout()
+        self.gridLayout.setObjectName("gridLayout")
+        self.historyList = QtWidgets.QListWidget(parent=StartHistoryEditDialog)
+        self.historyList.setAlternatingRowColors(True)
+        self.historyList.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.ExtendedSelection)
+        self.historyList.setObjectName("historyList")
+        self.gridLayout.addWidget(self.historyList, 0, 0, 5, 1)
+        self.editButton = QtWidgets.QPushButton(parent=StartHistoryEditDialog)
+        self.editButton.setObjectName("editButton")
+        self.gridLayout.addWidget(self.editButton, 0, 1, 1, 1)
+        self.line = QtWidgets.QFrame(parent=StartHistoryEditDialog)
+        self.line.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line.setObjectName("line")
+        self.gridLayout.addWidget(self.line, 1, 1, 1, 1)
+        self.deleteButton = QtWidgets.QPushButton(parent=StartHistoryEditDialog)
+        self.deleteButton.setObjectName("deleteButton")
+        self.gridLayout.addWidget(self.deleteButton, 2, 1, 1, 1)
+        self.deleteAllButton = QtWidgets.QPushButton(parent=StartHistoryEditDialog)
+        self.deleteAllButton.setObjectName("deleteAllButton")
+        self.gridLayout.addWidget(self.deleteAllButton, 3, 1, 1, 1)
+        spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.gridLayout.addItem(spacerItem, 4, 1, 1, 1)
+        self.verticalLayout.addLayout(self.gridLayout)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=StartHistoryEditDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(StartHistoryEditDialog)
+        self.buttonBox.accepted.connect(StartHistoryEditDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(StartHistoryEditDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(StartHistoryEditDialog)
+
+    def retranslateUi(self, StartHistoryEditDialog):
+        _translate = QtCore.QCoreApplication.translate
+        StartHistoryEditDialog.setWindowTitle(_translate("StartHistoryEditDialog", "Edit History"))
+        self.editButton.setToolTip(_translate("StartHistoryEditDialog", "Press to edit the selected entry"))
+        self.editButton.setText(_translate("StartHistoryEditDialog", "Edit..."))
+        self.deleteButton.setToolTip(_translate("StartHistoryEditDialog", "Press to delete the selected entries"))
+        self.deleteButton.setText(_translate("StartHistoryEditDialog", "Delete Selected"))
+        self.deleteAllButton.setToolTip(_translate("StartHistoryEditDialog", "Press to delete all entries"))
+        self.deleteAllButton.setText(_translate("StartHistoryEditDialog", "Delete All"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Debugger/Ui_VariableDetailDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,61 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Debugger/VariableDetailDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_VariableDetailDialog(object):
+    def setupUi(self, VariableDetailDialog):
+        VariableDetailDialog.setObjectName("VariableDetailDialog")
+        VariableDetailDialog.resize(800, 350)
+        VariableDetailDialog.setSizeGripEnabled(True)
+        VariableDetailDialog.setModal(True)
+        self.gridlayout = QtWidgets.QGridLayout(VariableDetailDialog)
+        self.gridlayout.setObjectName("gridlayout")
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=VariableDetailDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridlayout.addWidget(self.buttonBox, 3, 0, 1, 2)
+        self.TextLabel1 = QtWidgets.QLabel(parent=VariableDetailDialog)
+        self.TextLabel1.setObjectName("TextLabel1")
+        self.gridlayout.addWidget(self.TextLabel1, 0, 0, 1, 1)
+        self.eType = QtWidgets.QLineEdit(parent=VariableDetailDialog)
+        self.eType.setReadOnly(True)
+        self.eType.setObjectName("eType")
+        self.gridlayout.addWidget(self.eType, 1, 1, 1, 1)
+        self.eName = QtWidgets.QLineEdit(parent=VariableDetailDialog)
+        self.eName.setReadOnly(True)
+        self.eName.setObjectName("eName")
+        self.gridlayout.addWidget(self.eName, 0, 1, 1, 1)
+        self.TextLabel2 = QtWidgets.QLabel(parent=VariableDetailDialog)
+        self.TextLabel2.setObjectName("TextLabel2")
+        self.gridlayout.addWidget(self.TextLabel2, 1, 0, 1, 1)
+        self.TextLabel3 = QtWidgets.QLabel(parent=VariableDetailDialog)
+        self.TextLabel3.setAlignment(QtCore.Qt.AlignmentFlag.AlignTop)
+        self.TextLabel3.setObjectName("TextLabel3")
+        self.gridlayout.addWidget(self.TextLabel3, 2, 0, 1, 1)
+        self.eValue = QtWidgets.QTextEdit(parent=VariableDetailDialog)
+        self.eValue.setReadOnly(True)
+        self.eValue.setAcceptRichText(False)
+        self.eValue.setObjectName("eValue")
+        self.gridlayout.addWidget(self.eValue, 2, 1, 1, 1)
+
+        self.retranslateUi(VariableDetailDialog)
+        self.buttonBox.accepted.connect(VariableDetailDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(VariableDetailDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(VariableDetailDialog)
+        VariableDetailDialog.setTabOrder(self.eName, self.eType)
+        VariableDetailDialog.setTabOrder(self.eType, self.eValue)
+
+    def retranslateUi(self, VariableDetailDialog):
+        _translate = QtCore.QCoreApplication.translate
+        VariableDetailDialog.setWindowTitle(_translate("VariableDetailDialog", "Variable Details"))
+        self.TextLabel1.setText(_translate("VariableDetailDialog", "Name:"))
+        self.TextLabel2.setText(_translate("VariableDetailDialog", "Type:"))
+        self.TextLabel3.setText(_translate("VariableDetailDialog", "Value:"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Debugger/Ui_VariablesFilterDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,68 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Debugger/VariablesFilterDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_VariablesFilterDialog(object):
+    def setupUi(self, VariablesFilterDialog):
+        VariablesFilterDialog.setObjectName("VariablesFilterDialog")
+        VariablesFilterDialog.resize(600, 500)
+        VariablesFilterDialog.setSizeGripEnabled(True)
+        self.gridLayout = QtWidgets.QGridLayout(VariablesFilterDialog)
+        self.gridLayout.setObjectName("gridLayout")
+        self.label = QtWidgets.QLabel(parent=VariablesFilterDialog)
+        self.label.setWordWrap(True)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 0, 0, 1, 2)
+        self.localsLabel = QtWidgets.QLabel(parent=VariablesFilterDialog)
+        self.localsLabel.setObjectName("localsLabel")
+        self.gridLayout.addWidget(self.localsLabel, 1, 0, 1, 1)
+        self.globalsLabel = QtWidgets.QLabel(parent=VariablesFilterDialog)
+        self.globalsLabel.setObjectName("globalsLabel")
+        self.gridLayout.addWidget(self.globalsLabel, 1, 1, 1, 1)
+        self.localsList = QtWidgets.QListWidget(parent=VariablesFilterDialog)
+        self.localsList.setAlternatingRowColors(True)
+        self.localsList.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.ExtendedSelection)
+        self.localsList.setObjectName("localsList")
+        self.gridLayout.addWidget(self.localsList, 2, 0, 1, 1)
+        self.globalsList = QtWidgets.QListWidget(parent=VariablesFilterDialog)
+        self.globalsList.setAlternatingRowColors(True)
+        self.globalsList.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.ExtendedSelection)
+        self.globalsList.setObjectName("globalsList")
+        self.gridLayout.addWidget(self.globalsList, 2, 1, 1, 1)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=VariablesFilterDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Apply|QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok|QtWidgets.QDialogButtonBox.StandardButton.Reset)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout.addWidget(self.buttonBox, 3, 0, 1, 2)
+        self.localsLabel.setBuddy(self.localsList)
+        self.globalsLabel.setBuddy(self.globalsList)
+
+        self.retranslateUi(VariablesFilterDialog)
+        self.buttonBox.accepted.connect(VariablesFilterDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(VariablesFilterDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(VariablesFilterDialog)
+        VariablesFilterDialog.setTabOrder(self.localsList, self.globalsList)
+
+    def retranslateUi(self, VariablesFilterDialog):
+        _translate = QtCore.QCoreApplication.translate
+        VariablesFilterDialog.setWindowTitle(_translate("VariablesFilterDialog", "Variables Type Filter"))
+        VariablesFilterDialog.setWhatsThis(_translate("VariablesFilterDialog", "<b>Filter Dialog</b>\n"
+"<p> This dialog gives the user the possibility to select what kind of variables should <b>not</b> be shown during a debugging session.</p>"))
+        self.label.setText(_translate("VariablesFilterDialog", "Select the variable types to be shown in the variables viewers:"))
+        self.localsLabel.setText(_translate("VariablesFilterDialog", "&Locals Viewer"))
+        self.globalsLabel.setText(_translate("VariablesFilterDialog", "&Globals Viewer"))
+        self.localsList.setToolTip(_translate("VariablesFilterDialog", "Locals Filter List"))
+        self.localsList.setWhatsThis(_translate("VariablesFilterDialog", "<b>Locals Filter List</b>\n"
+"<p>Select the variable types you want to be shown in the local variables viewer.</p<"))
+        self.localsList.setSortingEnabled(True)
+        self.globalsList.setToolTip(_translate("VariablesFilterDialog", "Globals Filter List"))
+        self.globalsList.setWhatsThis(_translate("VariablesFilterDialog", "<b>Globals Filter List</b>\n"
+"<p>Select the variable types you want to be shown in the global variables viewer.</p<"))
+        self.globalsList.setSortingEnabled(True)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/EricNetwork/Ui_EricIPv4InputWidget.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,64 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/EricNetwork/EricIPv4InputWidget.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_EricIPv4InputWidget(object):
+    def setupUi(self, EricIPv4InputWidget):
+        EricIPv4InputWidget.setObjectName("EricIPv4InputWidget")
+        EricIPv4InputWidget.resize(283, 26)
+        self.horizontalLayout = QtWidgets.QHBoxLayout(EricIPv4InputWidget)
+        self.horizontalLayout.setContentsMargins(0, 0, 0, 0)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.ip1Edit = QtWidgets.QLineEdit(parent=EricIPv4InputWidget)
+        self.ip1Edit.setMaximumSize(QtCore.QSize(50, 16777215))
+        self.ip1Edit.setMaxLength(3)
+        self.ip1Edit.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
+        self.ip1Edit.setObjectName("ip1Edit")
+        self.horizontalLayout.addWidget(self.ip1Edit)
+        self.label = QtWidgets.QLabel(parent=EricIPv4InputWidget)
+        self.label.setText(" . ")
+        self.label.setObjectName("label")
+        self.horizontalLayout.addWidget(self.label)
+        self.ip2Edit = QtWidgets.QLineEdit(parent=EricIPv4InputWidget)
+        self.ip2Edit.setMaximumSize(QtCore.QSize(50, 16777215))
+        self.ip2Edit.setMaxLength(3)
+        self.ip2Edit.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
+        self.ip2Edit.setObjectName("ip2Edit")
+        self.horizontalLayout.addWidget(self.ip2Edit)
+        self.label_2 = QtWidgets.QLabel(parent=EricIPv4InputWidget)
+        self.label_2.setText(" . ")
+        self.label_2.setObjectName("label_2")
+        self.horizontalLayout.addWidget(self.label_2)
+        self.ip3Edit = QtWidgets.QLineEdit(parent=EricIPv4InputWidget)
+        self.ip3Edit.setMaximumSize(QtCore.QSize(50, 16777215))
+        self.ip3Edit.setMaxLength(3)
+        self.ip3Edit.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
+        self.ip3Edit.setObjectName("ip3Edit")
+        self.horizontalLayout.addWidget(self.ip3Edit)
+        self.label_3 = QtWidgets.QLabel(parent=EricIPv4InputWidget)
+        self.label_3.setText(" . ")
+        self.label_3.setObjectName("label_3")
+        self.horizontalLayout.addWidget(self.label_3)
+        self.ip4Edit = QtWidgets.QLineEdit(parent=EricIPv4InputWidget)
+        self.ip4Edit.setMaximumSize(QtCore.QSize(50, 16777215))
+        self.ip4Edit.setMaxLength(3)
+        self.ip4Edit.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
+        self.ip4Edit.setObjectName("ip4Edit")
+        self.horizontalLayout.addWidget(self.ip4Edit)
+        self.clearButton = QtWidgets.QToolButton(parent=EricIPv4InputWidget)
+        self.clearButton.setObjectName("clearButton")
+        self.horizontalLayout.addWidget(self.clearButton)
+
+        self.retranslateUi(EricIPv4InputWidget)
+        QtCore.QMetaObject.connectSlotsByName(EricIPv4InputWidget)
+
+    def retranslateUi(self, EricIPv4InputWidget):
+        _translate = QtCore.QCoreApplication.translate
+        self.clearButton.setToolTip(_translate("EricIPv4InputWidget", "Press to clear the entered IPv4 address"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/EricNetwork/Ui_EricSslCertificateSelectionDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,52 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/EricNetwork/EricSslCertificateSelectionDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_EricSslCertificateSelectionDialog(object):
+    def setupUi(self, EricSslCertificateSelectionDialog):
+        EricSslCertificateSelectionDialog.setObjectName("EricSslCertificateSelectionDialog")
+        EricSslCertificateSelectionDialog.resize(760, 440)
+        EricSslCertificateSelectionDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(EricSslCertificateSelectionDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.label = QtWidgets.QLabel(parent=EricSslCertificateSelectionDialog)
+        self.label.setObjectName("label")
+        self.verticalLayout.addWidget(self.label)
+        self.certificatesTree = QtWidgets.QTreeWidget(parent=EricSslCertificateSelectionDialog)
+        self.certificatesTree.setObjectName("certificatesTree")
+        self.verticalLayout.addWidget(self.certificatesTree)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.viewButton = QtWidgets.QPushButton(parent=EricSslCertificateSelectionDialog)
+        self.viewButton.setEnabled(False)
+        self.viewButton.setObjectName("viewButton")
+        self.horizontalLayout.addWidget(self.viewButton)
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem)
+        self.verticalLayout.addLayout(self.horizontalLayout)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=EricSslCertificateSelectionDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(EricSslCertificateSelectionDialog)
+        self.buttonBox.accepted.connect(EricSslCertificateSelectionDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(EricSslCertificateSelectionDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(EricSslCertificateSelectionDialog)
+
+    def retranslateUi(self, EricSslCertificateSelectionDialog):
+        _translate = QtCore.QCoreApplication.translate
+        EricSslCertificateSelectionDialog.setWindowTitle(_translate("EricSslCertificateSelectionDialog", "SSL Certificate Selection"))
+        self.label.setText(_translate("EricSslCertificateSelectionDialog", "Select a SSL certificate:"))
+        self.certificatesTree.headerItem().setText(0, _translate("EricSslCertificateSelectionDialog", "Certificate name"))
+        self.certificatesTree.headerItem().setText(1, _translate("EricSslCertificateSelectionDialog", "Expiry Date"))
+        self.viewButton.setToolTip(_translate("EricSslCertificateSelectionDialog", "Press to view the selected certificate"))
+        self.viewButton.setText(_translate("EricSslCertificateSelectionDialog", "&View..."))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/EricNetwork/Ui_EricSslCertificatesDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,134 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/EricNetwork/EricSslCertificatesDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_EricSslCertificatesDialog(object):
+    def setupUi(self, EricSslCertificatesDialog):
+        EricSslCertificatesDialog.setObjectName("EricSslCertificatesDialog")
+        EricSslCertificatesDialog.resize(760, 440)
+        EricSslCertificatesDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(EricSslCertificatesDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.certificatesWidget = QtWidgets.QTabWidget(parent=EricSslCertificatesDialog)
+        self.certificatesWidget.setObjectName("certificatesWidget")
+        self.serversTab = QtWidgets.QWidget()
+        self.serversTab.setObjectName("serversTab")
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.serversTab)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.label = QtWidgets.QLabel(parent=self.serversTab)
+        self.label.setObjectName("label")
+        self.verticalLayout_2.addWidget(self.label)
+        self.serversCertificatesTree = QtWidgets.QTreeWidget(parent=self.serversTab)
+        self.serversCertificatesTree.setObjectName("serversCertificatesTree")
+        self.verticalLayout_2.addWidget(self.serversCertificatesTree)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.serversViewButton = QtWidgets.QPushButton(parent=self.serversTab)
+        self.serversViewButton.setEnabled(False)
+        self.serversViewButton.setObjectName("serversViewButton")
+        self.horizontalLayout.addWidget(self.serversViewButton)
+        self.serversImportButton = QtWidgets.QPushButton(parent=self.serversTab)
+        self.serversImportButton.setObjectName("serversImportButton")
+        self.horizontalLayout.addWidget(self.serversImportButton)
+        self.serversExportButton = QtWidgets.QPushButton(parent=self.serversTab)
+        self.serversExportButton.setEnabled(False)
+        self.serversExportButton.setObjectName("serversExportButton")
+        self.horizontalLayout.addWidget(self.serversExportButton)
+        self.serversDeleteButton = QtWidgets.QPushButton(parent=self.serversTab)
+        self.serversDeleteButton.setEnabled(False)
+        self.serversDeleteButton.setObjectName("serversDeleteButton")
+        self.horizontalLayout.addWidget(self.serversDeleteButton)
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem)
+        self.verticalLayout_2.addLayout(self.horizontalLayout)
+        self.certificatesWidget.addTab(self.serversTab, "")
+        self.caTab = QtWidgets.QWidget()
+        self.caTab.setObjectName("caTab")
+        self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.caTab)
+        self.verticalLayout_3.setObjectName("verticalLayout_3")
+        self.label_2 = QtWidgets.QLabel(parent=self.caTab)
+        self.label_2.setObjectName("label_2")
+        self.verticalLayout_3.addWidget(self.label_2)
+        self.caCertificatesTree = QtWidgets.QTreeWidget(parent=self.caTab)
+        self.caCertificatesTree.setObjectName("caCertificatesTree")
+        self.verticalLayout_3.addWidget(self.caCertificatesTree)
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.caViewButton = QtWidgets.QPushButton(parent=self.caTab)
+        self.caViewButton.setEnabled(False)
+        self.caViewButton.setObjectName("caViewButton")
+        self.horizontalLayout_2.addWidget(self.caViewButton)
+        self.caImportButton = QtWidgets.QPushButton(parent=self.caTab)
+        self.caImportButton.setObjectName("caImportButton")
+        self.horizontalLayout_2.addWidget(self.caImportButton)
+        self.caExportButton = QtWidgets.QPushButton(parent=self.caTab)
+        self.caExportButton.setEnabled(False)
+        self.caExportButton.setObjectName("caExportButton")
+        self.horizontalLayout_2.addWidget(self.caExportButton)
+        self.caDeleteButton = QtWidgets.QPushButton(parent=self.caTab)
+        self.caDeleteButton.setEnabled(False)
+        self.caDeleteButton.setObjectName("caDeleteButton")
+        self.horizontalLayout_2.addWidget(self.caDeleteButton)
+        spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_2.addItem(spacerItem1)
+        self.verticalLayout_3.addLayout(self.horizontalLayout_2)
+        self.certificatesWidget.addTab(self.caTab, "")
+        self.verticalLayout.addWidget(self.certificatesWidget)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=EricSslCertificatesDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(EricSslCertificatesDialog)
+        self.certificatesWidget.setCurrentIndex(0)
+        self.buttonBox.accepted.connect(EricSslCertificatesDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(EricSslCertificatesDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(EricSslCertificatesDialog)
+        EricSslCertificatesDialog.setTabOrder(self.certificatesWidget, self.serversCertificatesTree)
+        EricSslCertificatesDialog.setTabOrder(self.serversCertificatesTree, self.serversViewButton)
+        EricSslCertificatesDialog.setTabOrder(self.serversViewButton, self.serversImportButton)
+        EricSslCertificatesDialog.setTabOrder(self.serversImportButton, self.serversExportButton)
+        EricSslCertificatesDialog.setTabOrder(self.serversExportButton, self.serversDeleteButton)
+        EricSslCertificatesDialog.setTabOrder(self.serversDeleteButton, self.caCertificatesTree)
+        EricSslCertificatesDialog.setTabOrder(self.caCertificatesTree, self.caViewButton)
+        EricSslCertificatesDialog.setTabOrder(self.caViewButton, self.caImportButton)
+        EricSslCertificatesDialog.setTabOrder(self.caImportButton, self.caExportButton)
+        EricSslCertificatesDialog.setTabOrder(self.caExportButton, self.caDeleteButton)
+        EricSslCertificatesDialog.setTabOrder(self.caDeleteButton, self.buttonBox)
+
+    def retranslateUi(self, EricSslCertificatesDialog):
+        _translate = QtCore.QCoreApplication.translate
+        EricSslCertificatesDialog.setWindowTitle(_translate("EricSslCertificatesDialog", "SSL Certificate Manager"))
+        self.label.setText(_translate("EricSslCertificatesDialog", "You have saved certificates identifying these servers:"))
+        self.serversCertificatesTree.headerItem().setText(0, _translate("EricSslCertificatesDialog", "Certificate name"))
+        self.serversCertificatesTree.headerItem().setText(1, _translate("EricSslCertificatesDialog", "Server"))
+        self.serversCertificatesTree.headerItem().setText(2, _translate("EricSslCertificatesDialog", "Expiry Date"))
+        self.serversViewButton.setToolTip(_translate("EricSslCertificatesDialog", "Press to view the selected certificate"))
+        self.serversViewButton.setText(_translate("EricSslCertificatesDialog", "&View..."))
+        self.serversImportButton.setToolTip(_translate("EricSslCertificatesDialog", "Press to import a certificate"))
+        self.serversImportButton.setText(_translate("EricSslCertificatesDialog", "&Import..."))
+        self.serversExportButton.setToolTip(_translate("EricSslCertificatesDialog", "Press to export the selected certificate"))
+        self.serversExportButton.setText(_translate("EricSslCertificatesDialog", "&Export..."))
+        self.serversDeleteButton.setToolTip(_translate("EricSslCertificatesDialog", "Press to delete the selected certificate"))
+        self.serversDeleteButton.setText(_translate("EricSslCertificatesDialog", "&Delete..."))
+        self.certificatesWidget.setTabText(self.certificatesWidget.indexOf(self.serversTab), _translate("EricSslCertificatesDialog", "&Servers"))
+        self.label_2.setText(_translate("EricSslCertificatesDialog", "You have saved certificates identifying these certification authorities:"))
+        self.caCertificatesTree.headerItem().setText(0, _translate("EricSslCertificatesDialog", "Certificate name"))
+        self.caCertificatesTree.headerItem().setText(1, _translate("EricSslCertificatesDialog", "Expiry Date"))
+        self.caViewButton.setToolTip(_translate("EricSslCertificatesDialog", "Press to view the selected certificate"))
+        self.caViewButton.setText(_translate("EricSslCertificatesDialog", "&View..."))
+        self.caImportButton.setToolTip(_translate("EricSslCertificatesDialog", "Press to import a certificate"))
+        self.caImportButton.setText(_translate("EricSslCertificatesDialog", "&Import..."))
+        self.caExportButton.setToolTip(_translate("EricSslCertificatesDialog", "Press to export the selected certificate"))
+        self.caExportButton.setText(_translate("EricSslCertificatesDialog", "&Export..."))
+        self.caDeleteButton.setToolTip(_translate("EricSslCertificatesDialog", "Press to delete the selected certificate"))
+        self.caDeleteButton.setText(_translate("EricSslCertificatesDialog", "&Delete..."))
+        self.certificatesWidget.setTabText(self.certificatesWidget.indexOf(self.caTab), _translate("EricSslCertificatesDialog", "Certificate &Authorities"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/EricNetwork/Ui_EricSslCertificatesInfoDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,36 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/EricNetwork/EricSslCertificatesInfoDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_EricSslCertificatesInfoDialog(object):
+    def setupUi(self, EricSslCertificatesInfoDialog):
+        EricSslCertificatesInfoDialog.setObjectName("EricSslCertificatesInfoDialog")
+        EricSslCertificatesInfoDialog.resize(556, 486)
+        EricSslCertificatesInfoDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(EricSslCertificatesInfoDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.sslWidget = EricSslCertificatesInfoWidget(parent=EricSslCertificatesInfoDialog)
+        self.sslWidget.setObjectName("sslWidget")
+        self.verticalLayout.addWidget(self.sslWidget)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=EricSslCertificatesInfoDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(EricSslCertificatesInfoDialog)
+        self.buttonBox.accepted.connect(EricSslCertificatesInfoDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(EricSslCertificatesInfoDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(EricSslCertificatesInfoDialog)
+
+    def retranslateUi(self, EricSslCertificatesInfoDialog):
+        _translate = QtCore.QCoreApplication.translate
+        EricSslCertificatesInfoDialog.setWindowTitle(_translate("EricSslCertificatesInfoDialog", "SSL Certificate Info"))
+from eric7.EricNetwork.EricSslCertificatesInfoWidget import EricSslCertificatesInfoWidget
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/EricNetwork/Ui_EricSslCertificatesInfoWidget.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,225 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/EricNetwork/EricSslCertificatesInfoWidget.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_EricSslCertificatesInfoWidget(object):
+    def setupUi(self, EricSslCertificatesInfoWidget):
+        EricSslCertificatesInfoWidget.setObjectName("EricSslCertificatesInfoWidget")
+        EricSslCertificatesInfoWidget.resize(500, 512)
+        self.verticalLayout = QtWidgets.QVBoxLayout(EricSslCertificatesInfoWidget)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.label_17 = QtWidgets.QLabel(parent=EricSslCertificatesInfoWidget)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Minimum)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.label_17.sizePolicy().hasHeightForWidth())
+        self.label_17.setSizePolicy(sizePolicy)
+        self.label_17.setObjectName("label_17")
+        self.verticalLayout.addWidget(self.label_17)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.chainLabel = QtWidgets.QLabel(parent=EricSslCertificatesInfoWidget)
+        self.chainLabel.setObjectName("chainLabel")
+        self.horizontalLayout.addWidget(self.chainLabel)
+        self.chainComboBox = QtWidgets.QComboBox(parent=EricSslCertificatesInfoWidget)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.chainComboBox.sizePolicy().hasHeightForWidth())
+        self.chainComboBox.setSizePolicy(sizePolicy)
+        self.chainComboBox.setObjectName("chainComboBox")
+        self.horizontalLayout.addWidget(self.chainComboBox)
+        self.verticalLayout.addLayout(self.horizontalLayout)
+        self.prohibitedLabel = QtWidgets.QLabel(parent=EricSslCertificatesInfoWidget)
+        self.prohibitedLabel.setObjectName("prohibitedLabel")
+        self.verticalLayout.addWidget(self.prohibitedLabel)
+        self.groupBox = QtWidgets.QGroupBox(parent=EricSslCertificatesInfoWidget)
+        self.groupBox.setObjectName("groupBox")
+        self.gridLayout = QtWidgets.QGridLayout(self.groupBox)
+        self.gridLayout.setObjectName("gridLayout")
+        self.label = QtWidgets.QLabel(parent=self.groupBox)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 0, 0, 1, 2)
+        self.label_2 = QtWidgets.QLabel(parent=self.groupBox)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 1, 0, 1, 1)
+        self.subjectCommonNameLabel = QtWidgets.QLabel(parent=self.groupBox)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.subjectCommonNameLabel.sizePolicy().hasHeightForWidth())
+        self.subjectCommonNameLabel.setSizePolicy(sizePolicy)
+        self.subjectCommonNameLabel.setText("")
+        self.subjectCommonNameLabel.setObjectName("subjectCommonNameLabel")
+        self.gridLayout.addWidget(self.subjectCommonNameLabel, 1, 1, 1, 1)
+        self.label_3 = QtWidgets.QLabel(parent=self.groupBox)
+        self.label_3.setObjectName("label_3")
+        self.gridLayout.addWidget(self.label_3, 2, 0, 1, 1)
+        self.subjectOrganizationLabel = QtWidgets.QLabel(parent=self.groupBox)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.subjectOrganizationLabel.sizePolicy().hasHeightForWidth())
+        self.subjectOrganizationLabel.setSizePolicy(sizePolicy)
+        self.subjectOrganizationLabel.setText("")
+        self.subjectOrganizationLabel.setObjectName("subjectOrganizationLabel")
+        self.gridLayout.addWidget(self.subjectOrganizationLabel, 2, 1, 1, 1)
+        self.label_4 = QtWidgets.QLabel(parent=self.groupBox)
+        self.label_4.setObjectName("label_4")
+        self.gridLayout.addWidget(self.label_4, 3, 0, 1, 1)
+        self.subjectOrganizationalUnitLabel = QtWidgets.QLabel(parent=self.groupBox)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.subjectOrganizationalUnitLabel.sizePolicy().hasHeightForWidth())
+        self.subjectOrganizationalUnitLabel.setSizePolicy(sizePolicy)
+        self.subjectOrganizationalUnitLabel.setText("")
+        self.subjectOrganizationalUnitLabel.setObjectName("subjectOrganizationalUnitLabel")
+        self.gridLayout.addWidget(self.subjectOrganizationalUnitLabel, 3, 1, 1, 1)
+        self.label_5 = QtWidgets.QLabel(parent=self.groupBox)
+        self.label_5.setObjectName("label_5")
+        self.gridLayout.addWidget(self.label_5, 4, 0, 1, 1)
+        self.serialNumberLabel = QtWidgets.QLabel(parent=self.groupBox)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.serialNumberLabel.sizePolicy().hasHeightForWidth())
+        self.serialNumberLabel.setSizePolicy(sizePolicy)
+        self.serialNumberLabel.setText("")
+        self.serialNumberLabel.setObjectName("serialNumberLabel")
+        self.gridLayout.addWidget(self.serialNumberLabel, 4, 1, 1, 1)
+        spacerItem = QtWidgets.QSpacerItem(20, 10, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.gridLayout.addItem(spacerItem, 5, 0, 1, 1)
+        self.label_6 = QtWidgets.QLabel(parent=self.groupBox)
+        self.label_6.setObjectName("label_6")
+        self.gridLayout.addWidget(self.label_6, 6, 0, 1, 2)
+        self.label_9 = QtWidgets.QLabel(parent=self.groupBox)
+        self.label_9.setObjectName("label_9")
+        self.gridLayout.addWidget(self.label_9, 7, 0, 1, 1)
+        self.issuerCommonNameLabel = QtWidgets.QLabel(parent=self.groupBox)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.issuerCommonNameLabel.sizePolicy().hasHeightForWidth())
+        self.issuerCommonNameLabel.setSizePolicy(sizePolicy)
+        self.issuerCommonNameLabel.setText("")
+        self.issuerCommonNameLabel.setObjectName("issuerCommonNameLabel")
+        self.gridLayout.addWidget(self.issuerCommonNameLabel, 7, 1, 1, 1)
+        self.label_8 = QtWidgets.QLabel(parent=self.groupBox)
+        self.label_8.setObjectName("label_8")
+        self.gridLayout.addWidget(self.label_8, 8, 0, 1, 1)
+        self.issuerOrganizationLabel = QtWidgets.QLabel(parent=self.groupBox)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.issuerOrganizationLabel.sizePolicy().hasHeightForWidth())
+        self.issuerOrganizationLabel.setSizePolicy(sizePolicy)
+        self.issuerOrganizationLabel.setText("")
+        self.issuerOrganizationLabel.setObjectName("issuerOrganizationLabel")
+        self.gridLayout.addWidget(self.issuerOrganizationLabel, 8, 1, 1, 1)
+        self.label_7 = QtWidgets.QLabel(parent=self.groupBox)
+        self.label_7.setObjectName("label_7")
+        self.gridLayout.addWidget(self.label_7, 9, 0, 1, 1)
+        self.issuerOrganizationalUnitLabel = QtWidgets.QLabel(parent=self.groupBox)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.issuerOrganizationalUnitLabel.sizePolicy().hasHeightForWidth())
+        self.issuerOrganizationalUnitLabel.setSizePolicy(sizePolicy)
+        self.issuerOrganizationalUnitLabel.setText("")
+        self.issuerOrganizationalUnitLabel.setObjectName("issuerOrganizationalUnitLabel")
+        self.gridLayout.addWidget(self.issuerOrganizationalUnitLabel, 9, 1, 1, 1)
+        spacerItem1 = QtWidgets.QSpacerItem(20, 9, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.gridLayout.addItem(spacerItem1, 10, 0, 1, 1)
+        self.label_10 = QtWidgets.QLabel(parent=self.groupBox)
+        self.label_10.setObjectName("label_10")
+        self.gridLayout.addWidget(self.label_10, 11, 0, 1, 2)
+        self.label_11 = QtWidgets.QLabel(parent=self.groupBox)
+        self.label_11.setObjectName("label_11")
+        self.gridLayout.addWidget(self.label_11, 12, 0, 1, 1)
+        self.effectiveLabel = QtWidgets.QLabel(parent=self.groupBox)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.effectiveLabel.sizePolicy().hasHeightForWidth())
+        self.effectiveLabel.setSizePolicy(sizePolicy)
+        self.effectiveLabel.setText("")
+        self.effectiveLabel.setObjectName("effectiveLabel")
+        self.gridLayout.addWidget(self.effectiveLabel, 12, 1, 1, 1)
+        self.label_12 = QtWidgets.QLabel(parent=self.groupBox)
+        self.label_12.setObjectName("label_12")
+        self.gridLayout.addWidget(self.label_12, 13, 0, 1, 1)
+        self.expiresLabel = QtWidgets.QLabel(parent=self.groupBox)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.expiresLabel.sizePolicy().hasHeightForWidth())
+        self.expiresLabel.setSizePolicy(sizePolicy)
+        self.expiresLabel.setText("")
+        self.expiresLabel.setObjectName("expiresLabel")
+        self.gridLayout.addWidget(self.expiresLabel, 13, 1, 1, 1)
+        self.expiredLabel = QtWidgets.QLabel(parent=self.groupBox)
+        self.expiredLabel.setObjectName("expiredLabel")
+        self.gridLayout.addWidget(self.expiredLabel, 14, 0, 1, 2)
+        spacerItem2 = QtWidgets.QSpacerItem(20, 10, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.gridLayout.addItem(spacerItem2, 15, 0, 1, 1)
+        self.label_13 = QtWidgets.QLabel(parent=self.groupBox)
+        self.label_13.setObjectName("label_13")
+        self.gridLayout.addWidget(self.label_13, 16, 0, 1, 2)
+        self.label_14 = QtWidgets.QLabel(parent=self.groupBox)
+        self.label_14.setObjectName("label_14")
+        self.gridLayout.addWidget(self.label_14, 17, 0, 1, 1)
+        self.sha1Label = QtWidgets.QLabel(parent=self.groupBox)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.sha1Label.sizePolicy().hasHeightForWidth())
+        self.sha1Label.setSizePolicy(sizePolicy)
+        self.sha1Label.setText("")
+        self.sha1Label.setObjectName("sha1Label")
+        self.gridLayout.addWidget(self.sha1Label, 17, 1, 1, 1)
+        self.label_15 = QtWidgets.QLabel(parent=self.groupBox)
+        self.label_15.setObjectName("label_15")
+        self.gridLayout.addWidget(self.label_15, 18, 0, 1, 1)
+        self.md5Label = QtWidgets.QLabel(parent=self.groupBox)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.md5Label.sizePolicy().hasHeightForWidth())
+        self.md5Label.setSizePolicy(sizePolicy)
+        self.md5Label.setText("")
+        self.md5Label.setObjectName("md5Label")
+        self.gridLayout.addWidget(self.md5Label, 18, 1, 1, 1)
+        self.verticalLayout.addWidget(self.groupBox)
+
+        self.retranslateUi(EricSslCertificatesInfoWidget)
+        QtCore.QMetaObject.connectSlotsByName(EricSslCertificatesInfoWidget)
+
+    def retranslateUi(self, EricSslCertificatesInfoWidget):
+        _translate = QtCore.QCoreApplication.translate
+        self.label_17.setText(_translate("EricSslCertificatesInfoWidget", "<h2>Certificate Information</h2>"))
+        self.chainLabel.setText(_translate("EricSslCertificatesInfoWidget", "Certificate Chain:"))
+        self.prohibitedLabel.setText(_translate("EricSslCertificatesInfoWidget", "This certificate is on the prohibited list."))
+        self.label.setText(_translate("EricSslCertificatesInfoWidget", "<b>Issued for:</b>"))
+        self.label_2.setText(_translate("EricSslCertificatesInfoWidget", "Common Name (CN):"))
+        self.label_3.setText(_translate("EricSslCertificatesInfoWidget", "Organization (O):"))
+        self.label_4.setText(_translate("EricSslCertificatesInfoWidget", "Organizational Unit (OU):"))
+        self.label_5.setText(_translate("EricSslCertificatesInfoWidget", "Serialnumber:"))
+        self.label_6.setText(_translate("EricSslCertificatesInfoWidget", "<b>Issued by:</b>"))
+        self.label_9.setText(_translate("EricSslCertificatesInfoWidget", "Common Name (CN):"))
+        self.label_8.setText(_translate("EricSslCertificatesInfoWidget", "Organization (O):"))
+        self.label_7.setText(_translate("EricSslCertificatesInfoWidget", "Organizational Unit (OU):"))
+        self.label_10.setText(_translate("EricSslCertificatesInfoWidget", "<b>Validity:</b>"))
+        self.label_11.setText(_translate("EricSslCertificatesInfoWidget", "Issued on:"))
+        self.label_12.setText(_translate("EricSslCertificatesInfoWidget", "Expires on:"))
+        self.expiredLabel.setText(_translate("EricSslCertificatesInfoWidget", "This certificate is not valid yet or has expired."))
+        self.label_13.setText(_translate("EricSslCertificatesInfoWidget", "<b>Fingerprints:</b>"))
+        self.label_14.setText(_translate("EricSslCertificatesInfoWidget", "SHA1-Fingerprint:"))
+        self.label_15.setText(_translate("EricSslCertificatesInfoWidget", "MD5-Fingerprint:"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/EricWidgets/Ui_EricComboSelectionDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,40 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/EricWidgets/EricComboSelectionDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_EricComboSelectionDialog(object):
+    def setupUi(self, EricComboSelectionDialog):
+        EricComboSelectionDialog.setObjectName("EricComboSelectionDialog")
+        EricComboSelectionDialog.resize(400, 100)
+        EricComboSelectionDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(EricComboSelectionDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.messageLabel = QtWidgets.QLabel(parent=EricComboSelectionDialog)
+        self.messageLabel.setWordWrap(True)
+        self.messageLabel.setObjectName("messageLabel")
+        self.verticalLayout.addWidget(self.messageLabel)
+        self.selectionComboBox = QtWidgets.QComboBox(parent=EricComboSelectionDialog)
+        self.selectionComboBox.setObjectName("selectionComboBox")
+        self.verticalLayout.addWidget(self.selectionComboBox)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=EricComboSelectionDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(EricComboSelectionDialog)
+        self.buttonBox.accepted.connect(EricComboSelectionDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(EricComboSelectionDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(EricComboSelectionDialog)
+
+    def retranslateUi(self, EricComboSelectionDialog):
+        _translate = QtCore.QCoreApplication.translate
+        EricComboSelectionDialog.setWindowTitle(_translate("EricComboSelectionDialog", "Select from List"))
+        self.messageLabel.setText(_translate("EricComboSelectionDialog", "Select from the list below:"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/EricWidgets/Ui_EricErrorMessageFilterDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,36 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/EricWidgets/EricErrorMessageFilterDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_EricErrorMessageFilterDialog(object):
+    def setupUi(self, EricErrorMessageFilterDialog):
+        EricErrorMessageFilterDialog.setObjectName("EricErrorMessageFilterDialog")
+        EricErrorMessageFilterDialog.resize(500, 350)
+        EricErrorMessageFilterDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(EricErrorMessageFilterDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.filtersEditWidget = EricStringListEditWidget(parent=EricErrorMessageFilterDialog)
+        self.filtersEditWidget.setObjectName("filtersEditWidget")
+        self.verticalLayout.addWidget(self.filtersEditWidget)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=EricErrorMessageFilterDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(EricErrorMessageFilterDialog)
+        self.buttonBox.accepted.connect(EricErrorMessageFilterDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(EricErrorMessageFilterDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(EricErrorMessageFilterDialog)
+
+    def retranslateUi(self, EricErrorMessageFilterDialog):
+        _translate = QtCore.QCoreApplication.translate
+        EricErrorMessageFilterDialog.setWindowTitle(_translate("EricErrorMessageFilterDialog", "Error Messages Filter"))
+from eric7.EricWidgets.EricStringListEditWidget import EricStringListEditWidget
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/EricWidgets/Ui_EricListSelectionDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,41 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/EricWidgets/EricListSelectionDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_EricListSelectionDialog(object):
+    def setupUi(self, EricListSelectionDialog):
+        EricListSelectionDialog.setObjectName("EricListSelectionDialog")
+        EricListSelectionDialog.resize(400, 500)
+        EricListSelectionDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(EricListSelectionDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.messageLabel = QtWidgets.QLabel(parent=EricListSelectionDialog)
+        self.messageLabel.setWordWrap(True)
+        self.messageLabel.setObjectName("messageLabel")
+        self.verticalLayout.addWidget(self.messageLabel)
+        self.selectionList = QtWidgets.QListWidget(parent=EricListSelectionDialog)
+        self.selectionList.setAlternatingRowColors(True)
+        self.selectionList.setObjectName("selectionList")
+        self.verticalLayout.addWidget(self.selectionList)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=EricListSelectionDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(EricListSelectionDialog)
+        self.buttonBox.accepted.connect(EricListSelectionDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(EricListSelectionDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(EricListSelectionDialog)
+
+    def retranslateUi(self, EricListSelectionDialog):
+        _translate = QtCore.QCoreApplication.translate
+        EricListSelectionDialog.setWindowTitle(_translate("EricListSelectionDialog", "Select from List"))
+        self.messageLabel.setText(_translate("EricListSelectionDialog", "Select from the list below:"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/EricWidgets/Ui_EricPlainTextDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,38 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/EricWidgets/EricPlainTextDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_EricPlainTextDialog(object):
+    def setupUi(self, EricPlainTextDialog):
+        EricPlainTextDialog.setObjectName("EricPlainTextDialog")
+        EricPlainTextDialog.resize(650, 600)
+        EricPlainTextDialog.setWindowTitle("")
+        EricPlainTextDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(EricPlainTextDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.textEdit = EricSpellCheckedPlainTextEdit(parent=EricPlainTextDialog)
+        self.textEdit.setReadOnly(True)
+        self.textEdit.setTextInteractionFlags(QtCore.Qt.TextInteractionFlag.TextSelectableByKeyboard|QtCore.Qt.TextInteractionFlag.TextSelectableByMouse)
+        self.textEdit.setObjectName("textEdit")
+        self.verticalLayout.addWidget(self.textEdit)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=EricPlainTextDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(EricPlainTextDialog)
+        self.buttonBox.accepted.connect(EricPlainTextDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(EricPlainTextDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(EricPlainTextDialog)
+
+    def retranslateUi(self, EricPlainTextDialog):
+        pass
+from eric7.EricWidgets.EricSpellCheckedTextEdit import EricSpellCheckedPlainTextEdit
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/EricWidgets/Ui_EricProcessDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,98 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/EricWidgets/EricProcessDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_EricProcessDialog(object):
+    def setupUi(self, EricProcessDialog):
+        EricProcessDialog.setObjectName("EricProcessDialog")
+        EricProcessDialog.resize(600, 500)
+        EricProcessDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(EricProcessDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.outputGroup = QtWidgets.QGroupBox(parent=EricProcessDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(2)
+        sizePolicy.setHeightForWidth(self.outputGroup.sizePolicy().hasHeightForWidth())
+        self.outputGroup.setSizePolicy(sizePolicy)
+        self.outputGroup.setObjectName("outputGroup")
+        self.vboxlayout = QtWidgets.QVBoxLayout(self.outputGroup)
+        self.vboxlayout.setObjectName("vboxlayout")
+        self.resultbox = QtWidgets.QTextEdit(parent=self.outputGroup)
+        self.resultbox.setReadOnly(True)
+        self.resultbox.setAcceptRichText(False)
+        self.resultbox.setObjectName("resultbox")
+        self.vboxlayout.addWidget(self.resultbox)
+        self.verticalLayout.addWidget(self.outputGroup)
+        self.progressBar = QtWidgets.QProgressBar(parent=EricProcessDialog)
+        self.progressBar.setProperty("value", 0)
+        self.progressBar.setObjectName("progressBar")
+        self.verticalLayout.addWidget(self.progressBar)
+        self.statusLabel = QtWidgets.QLabel(parent=EricProcessDialog)
+        self.statusLabel.setObjectName("statusLabel")
+        self.verticalLayout.addWidget(self.statusLabel)
+        self.errorGroup = QtWidgets.QGroupBox(parent=EricProcessDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(1)
+        sizePolicy.setHeightForWidth(self.errorGroup.sizePolicy().hasHeightForWidth())
+        self.errorGroup.setSizePolicy(sizePolicy)
+        self.errorGroup.setObjectName("errorGroup")
+        self.vboxlayout1 = QtWidgets.QVBoxLayout(self.errorGroup)
+        self.vboxlayout1.setObjectName("vboxlayout1")
+        self.errors = QtWidgets.QTextEdit(parent=self.errorGroup)
+        self.errors.setReadOnly(True)
+        self.errors.setAcceptRichText(False)
+        self.errors.setObjectName("errors")
+        self.vboxlayout1.addWidget(self.errors)
+        self.verticalLayout.addWidget(self.errorGroup)
+        self.inputGroup = QtWidgets.QGroupBox(parent=EricProcessDialog)
+        self.inputGroup.setObjectName("inputGroup")
+        self.gridlayout = QtWidgets.QGridLayout(self.inputGroup)
+        self.gridlayout.setObjectName("gridlayout")
+        spacerItem = QtWidgets.QSpacerItem(327, 29, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridlayout.addItem(spacerItem, 1, 1, 1, 1)
+        self.sendButton = QtWidgets.QPushButton(parent=self.inputGroup)
+        self.sendButton.setObjectName("sendButton")
+        self.gridlayout.addWidget(self.sendButton, 1, 2, 1, 1)
+        self.input = QtWidgets.QLineEdit(parent=self.inputGroup)
+        self.input.setClearButtonEnabled(True)
+        self.input.setObjectName("input")
+        self.gridlayout.addWidget(self.input, 0, 0, 1, 3)
+        self.passwordCheckBox = QtWidgets.QCheckBox(parent=self.inputGroup)
+        self.passwordCheckBox.setObjectName("passwordCheckBox")
+        self.gridlayout.addWidget(self.passwordCheckBox, 1, 0, 1, 1)
+        self.verticalLayout.addWidget(self.inputGroup)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=EricProcessDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(EricProcessDialog)
+        QtCore.QMetaObject.connectSlotsByName(EricProcessDialog)
+        EricProcessDialog.setTabOrder(self.resultbox, self.errors)
+        EricProcessDialog.setTabOrder(self.errors, self.input)
+        EricProcessDialog.setTabOrder(self.input, self.passwordCheckBox)
+        EricProcessDialog.setTabOrder(self.passwordCheckBox, self.sendButton)
+        EricProcessDialog.setTabOrder(self.sendButton, self.buttonBox)
+
+    def retranslateUi(self, EricProcessDialog):
+        _translate = QtCore.QCoreApplication.translate
+        self.outputGroup.setTitle(_translate("EricProcessDialog", "Output"))
+        self.errorGroup.setTitle(_translate("EricProcessDialog", "Errors"))
+        self.inputGroup.setTitle(_translate("EricProcessDialog", "Input"))
+        self.sendButton.setToolTip(_translate("EricProcessDialog", "Press to send the input to the running process"))
+        self.sendButton.setText(_translate("EricProcessDialog", "&Send"))
+        self.sendButton.setShortcut(_translate("EricProcessDialog", "Alt+S"))
+        self.input.setToolTip(_translate("EricProcessDialog", "Enter data to be sent to the running process"))
+        self.passwordCheckBox.setToolTip(_translate("EricProcessDialog", "Select to switch the input field to password mode"))
+        self.passwordCheckBox.setText(_translate("EricProcessDialog", "&Password Mode"))
+        self.passwordCheckBox.setShortcut(_translate("EricProcessDialog", "Alt+P"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/EricWidgets/Ui_EricSimpleHelpDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,42 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/EricWidgets/EricSimpleHelpDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_EricSimpleHelpDialog(object):
+    def setupUi(self, EricSimpleHelpDialog):
+        EricSimpleHelpDialog.setObjectName("EricSimpleHelpDialog")
+        EricSimpleHelpDialog.resize(500, 600)
+        EricSimpleHelpDialog.setWindowTitle("")
+        EricSimpleHelpDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(EricSimpleHelpDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.helpLabel = QtWidgets.QLabel(parent=EricSimpleHelpDialog)
+        self.helpLabel.setObjectName("helpLabel")
+        self.verticalLayout.addWidget(self.helpLabel)
+        self.helpEdit = QtWidgets.QTextBrowser(parent=EricSimpleHelpDialog)
+        self.helpEdit.setTabChangesFocus(True)
+        self.helpEdit.setReadOnly(True)
+        self.helpEdit.setTextInteractionFlags(QtCore.Qt.TextInteractionFlag.LinksAccessibleByMouse|QtCore.Qt.TextInteractionFlag.TextSelectableByKeyboard|QtCore.Qt.TextInteractionFlag.TextSelectableByMouse)
+        self.helpEdit.setOpenExternalLinks(True)
+        self.helpEdit.setObjectName("helpEdit")
+        self.verticalLayout.addWidget(self.helpEdit)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=EricSimpleHelpDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(EricSimpleHelpDialog)
+        self.buttonBox.accepted.connect(EricSimpleHelpDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(EricSimpleHelpDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(EricSimpleHelpDialog)
+
+    def retranslateUi(self, EricSimpleHelpDialog):
+        pass
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/EricWidgets/Ui_EricStringListEditWidget.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,97 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/EricWidgets/EricStringListEditWidget.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_EricStringListEditWidget(object):
+    def setupUi(self, EricStringListEditWidget):
+        EricStringListEditWidget.setObjectName("EricStringListEditWidget")
+        EricStringListEditWidget.resize(500, 300)
+        EricStringListEditWidget.setWindowTitle("")
+        self.verticalLayout = QtWidgets.QVBoxLayout(EricStringListEditWidget)
+        self.verticalLayout.setContentsMargins(0, 0, 0, 0)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.gridLayout_4 = QtWidgets.QGridLayout()
+        self.gridLayout_4.setHorizontalSpacing(0)
+        self.gridLayout_4.setObjectName("gridLayout_4")
+        self.searchEdit = QtWidgets.QLineEdit(parent=EricStringListEditWidget)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.searchEdit.sizePolicy().hasHeightForWidth())
+        self.searchEdit.setSizePolicy(sizePolicy)
+        self.searchEdit.setMinimumSize(QtCore.QSize(300, 0))
+        self.searchEdit.setClearButtonEnabled(True)
+        self.searchEdit.setObjectName("searchEdit")
+        self.gridLayout_4.addWidget(self.searchEdit, 0, 1, 1, 1)
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout_4.addItem(spacerItem, 0, 0, 1, 1)
+        self.verticalLayout.addLayout(self.gridLayout_4)
+        self.gridLayout = QtWidgets.QGridLayout()
+        self.gridLayout.setObjectName("gridLayout")
+        self.stringList = EricListView(parent=EricStringListEditWidget)
+        self.stringList.setAlternatingRowColors(True)
+        self.stringList.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.ExtendedSelection)
+        self.stringList.setObjectName("stringList")
+        self.gridLayout.addWidget(self.stringList, 0, 0, 8, 1)
+        self.addButton = QtWidgets.QPushButton(parent=EricStringListEditWidget)
+        self.addButton.setAutoDefault(False)
+        self.addButton.setObjectName("addButton")
+        self.gridLayout.addWidget(self.addButton, 0, 1, 1, 1)
+        self.addLine = QtWidgets.QFrame(parent=EricStringListEditWidget)
+        self.addLine.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.addLine.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.addLine.setObjectName("addLine")
+        self.gridLayout.addWidget(self.addLine, 1, 1, 1, 1)
+        self.removeButton = QtWidgets.QPushButton(parent=EricStringListEditWidget)
+        self.removeButton.setAutoDefault(False)
+        self.removeButton.setObjectName("removeButton")
+        self.gridLayout.addWidget(self.removeButton, 2, 1, 1, 1)
+        self.removeAllButton = QtWidgets.QPushButton(parent=EricStringListEditWidget)
+        self.removeAllButton.setAutoDefault(False)
+        self.removeAllButton.setObjectName("removeAllButton")
+        self.gridLayout.addWidget(self.removeAllButton, 3, 1, 1, 1)
+        spacerItem1 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.gridLayout.addItem(spacerItem1, 4, 1, 1, 1)
+        self.resetButton = QtWidgets.QPushButton(parent=EricStringListEditWidget)
+        self.resetButton.setObjectName("resetButton")
+        self.gridLayout.addWidget(self.resetButton, 5, 1, 1, 1)
+        self.resetLine = QtWidgets.QFrame(parent=EricStringListEditWidget)
+        self.resetLine.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.resetLine.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.resetLine.setObjectName("resetLine")
+        self.gridLayout.addWidget(self.resetLine, 6, 1, 1, 1)
+        self.defaultButton = QtWidgets.QPushButton(parent=EricStringListEditWidget)
+        self.defaultButton.setObjectName("defaultButton")
+        self.gridLayout.addWidget(self.defaultButton, 7, 1, 1, 1)
+        self.verticalLayout.addLayout(self.gridLayout)
+
+        self.retranslateUi(EricStringListEditWidget)
+        QtCore.QMetaObject.connectSlotsByName(EricStringListEditWidget)
+        EricStringListEditWidget.setTabOrder(self.stringList, self.searchEdit)
+        EricStringListEditWidget.setTabOrder(self.searchEdit, self.addButton)
+        EricStringListEditWidget.setTabOrder(self.addButton, self.removeButton)
+        EricStringListEditWidget.setTabOrder(self.removeButton, self.removeAllButton)
+        EricStringListEditWidget.setTabOrder(self.removeAllButton, self.resetButton)
+        EricStringListEditWidget.setTabOrder(self.resetButton, self.defaultButton)
+
+    def retranslateUi(self, EricStringListEditWidget):
+        _translate = QtCore.QCoreApplication.translate
+        self.searchEdit.setToolTip(_translate("EricStringListEditWidget", "Enter search term for strings"))
+        self.addButton.setToolTip(_translate("EricStringListEditWidget", "Press to add an entry"))
+        self.addButton.setText(_translate("EricStringListEditWidget", "&Add..."))
+        self.removeButton.setToolTip(_translate("EricStringListEditWidget", "Press to remove the selected entries"))
+        self.removeButton.setText(_translate("EricStringListEditWidget", "&Remove"))
+        self.removeAllButton.setToolTip(_translate("EricStringListEditWidget", "Press to remove all entries"))
+        self.removeAllButton.setText(_translate("EricStringListEditWidget", "R&emove All"))
+        self.resetButton.setToolTip(_translate("EricStringListEditWidget", "Press to reset the list to its initial value"))
+        self.resetButton.setText(_translate("EricStringListEditWidget", "Re&set"))
+        self.defaultButton.setToolTip(_translate("EricStringListEditWidget", "Press to set the default list of values"))
+        self.defaultButton.setText(_translate("EricStringListEditWidget", "&Default"))
+from eric7.EricWidgets.EricListView import EricListView
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/EricWidgets/Ui_EricToolBarDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,127 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/EricWidgets/EricToolBarDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_EricToolBarDialog(object):
+    def setupUi(self, EricToolBarDialog):
+        EricToolBarDialog.setObjectName("EricToolBarDialog")
+        EricToolBarDialog.resize(600, 500)
+        EricToolBarDialog.setSizeGripEnabled(True)
+        self.vboxlayout = QtWidgets.QVBoxLayout(EricToolBarDialog)
+        self.vboxlayout.setObjectName("vboxlayout")
+        self.hboxlayout = QtWidgets.QHBoxLayout()
+        self.hboxlayout.setObjectName("hboxlayout")
+        self.label = QtWidgets.QLabel(parent=EricToolBarDialog)
+        self.label.setObjectName("label")
+        self.hboxlayout.addWidget(self.label)
+        self.toolbarComboBox = QtWidgets.QComboBox(parent=EricToolBarDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.toolbarComboBox.sizePolicy().hasHeightForWidth())
+        self.toolbarComboBox.setSizePolicy(sizePolicy)
+        self.toolbarComboBox.setObjectName("toolbarComboBox")
+        self.hboxlayout.addWidget(self.toolbarComboBox)
+        self.newButton = QtWidgets.QPushButton(parent=EricToolBarDialog)
+        self.newButton.setObjectName("newButton")
+        self.hboxlayout.addWidget(self.newButton)
+        self.removeButton = QtWidgets.QPushButton(parent=EricToolBarDialog)
+        self.removeButton.setObjectName("removeButton")
+        self.hboxlayout.addWidget(self.removeButton)
+        self.renameButton = QtWidgets.QPushButton(parent=EricToolBarDialog)
+        self.renameButton.setObjectName("renameButton")
+        self.hboxlayout.addWidget(self.renameButton)
+        self.vboxlayout.addLayout(self.hboxlayout)
+        self.line = QtWidgets.QFrame(parent=EricToolBarDialog)
+        self.line.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line.setObjectName("line")
+        self.vboxlayout.addWidget(self.line)
+        self.gridlayout = QtWidgets.QGridLayout()
+        self.gridlayout.setObjectName("gridlayout")
+        self.label_2 = QtWidgets.QLabel(parent=EricToolBarDialog)
+        self.label_2.setObjectName("label_2")
+        self.gridlayout.addWidget(self.label_2, 0, 0, 1, 1)
+        self.label_3 = QtWidgets.QLabel(parent=EricToolBarDialog)
+        self.label_3.setObjectName("label_3")
+        self.gridlayout.addWidget(self.label_3, 0, 2, 1, 1)
+        self.actionsTree = QtWidgets.QTreeWidget(parent=EricToolBarDialog)
+        self.actionsTree.setAlternatingRowColors(True)
+        self.actionsTree.setRootIsDecorated(False)
+        self.actionsTree.setObjectName("actionsTree")
+        self.gridlayout.addWidget(self.actionsTree, 1, 0, 3, 1)
+        spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.gridlayout.addItem(spacerItem, 1, 1, 1, 1)
+        self.toolbarActionsList = QtWidgets.QListWidget(parent=EricToolBarDialog)
+        self.toolbarActionsList.setObjectName("toolbarActionsList")
+        self.gridlayout.addWidget(self.toolbarActionsList, 1, 2, 3, 1)
+        self.gridlayout1 = QtWidgets.QGridLayout()
+        self.gridlayout1.setSpacing(0)
+        self.gridlayout1.setObjectName("gridlayout1")
+        self.upButton = QtWidgets.QToolButton(parent=EricToolBarDialog)
+        self.upButton.setText("")
+        self.upButton.setObjectName("upButton")
+        self.gridlayout1.addWidget(self.upButton, 0, 1, 1, 1)
+        self.leftButton = QtWidgets.QToolButton(parent=EricToolBarDialog)
+        self.leftButton.setText("")
+        self.leftButton.setObjectName("leftButton")
+        self.gridlayout1.addWidget(self.leftButton, 1, 0, 1, 1)
+        self.rightButton = QtWidgets.QToolButton(parent=EricToolBarDialog)
+        self.rightButton.setText("")
+        self.rightButton.setObjectName("rightButton")
+        self.gridlayout1.addWidget(self.rightButton, 1, 2, 1, 1)
+        self.downButton = QtWidgets.QToolButton(parent=EricToolBarDialog)
+        self.downButton.setText("")
+        self.downButton.setObjectName("downButton")
+        self.gridlayout1.addWidget(self.downButton, 2, 1, 1, 1)
+        self.gridlayout.addLayout(self.gridlayout1, 2, 1, 1, 1)
+        spacerItem1 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.gridlayout.addItem(spacerItem1, 3, 1, 1, 1)
+        self.vboxlayout.addLayout(self.gridlayout)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=EricToolBarDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Apply|QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok|QtWidgets.QDialogButtonBox.StandardButton.Reset|QtWidgets.QDialogButtonBox.StandardButton.RestoreDefaults)
+        self.buttonBox.setObjectName("buttonBox")
+        self.vboxlayout.addWidget(self.buttonBox)
+        self.label.setBuddy(self.toolbarComboBox)
+
+        self.retranslateUi(EricToolBarDialog)
+        QtCore.QMetaObject.connectSlotsByName(EricToolBarDialog)
+        EricToolBarDialog.setTabOrder(self.toolbarComboBox, self.newButton)
+        EricToolBarDialog.setTabOrder(self.newButton, self.removeButton)
+        EricToolBarDialog.setTabOrder(self.removeButton, self.renameButton)
+        EricToolBarDialog.setTabOrder(self.renameButton, self.actionsTree)
+        EricToolBarDialog.setTabOrder(self.actionsTree, self.toolbarActionsList)
+        EricToolBarDialog.setTabOrder(self.toolbarActionsList, self.upButton)
+        EricToolBarDialog.setTabOrder(self.upButton, self.downButton)
+        EricToolBarDialog.setTabOrder(self.downButton, self.rightButton)
+        EricToolBarDialog.setTabOrder(self.rightButton, self.leftButton)
+        EricToolBarDialog.setTabOrder(self.leftButton, self.buttonBox)
+
+    def retranslateUi(self, EricToolBarDialog):
+        _translate = QtCore.QCoreApplication.translate
+        EricToolBarDialog.setWindowTitle(_translate("EricToolBarDialog", "Configure Toolbars"))
+        self.label.setText(_translate("EricToolBarDialog", "&Toolbar:"))
+        self.toolbarComboBox.setToolTip(_translate("EricToolBarDialog", "Select the toolbar to configure"))
+        self.newButton.setToolTip(_translate("EricToolBarDialog", "Press to create a new toolbar"))
+        self.newButton.setText(_translate("EricToolBarDialog", "&New"))
+        self.removeButton.setToolTip(_translate("EricToolBarDialog", "Press to remove the selected toolbar"))
+        self.removeButton.setText(_translate("EricToolBarDialog", "&Remove"))
+        self.renameButton.setToolTip(_translate("EricToolBarDialog", "Press to rename the selected toolbar"))
+        self.renameButton.setText(_translate("EricToolBarDialog", "R&ename"))
+        self.label_2.setText(_translate("EricToolBarDialog", "Actions:"))
+        self.label_3.setText(_translate("EricToolBarDialog", "Current Toolbar Actions:"))
+        self.actionsTree.setToolTip(_translate("EricToolBarDialog", "Select the action to add to the current toolbar"))
+        self.toolbarActionsList.setToolTip(_translate("EricToolBarDialog", "Select the action to work on"))
+        self.toolbarActionsList.setWhatsThis(_translate("EricToolBarDialog", "<b>Current Toolbar Actions</b><p>This list shows the actions of the selected toolbar. Select an action and use the up or down button to change the order of actions or the left button to delete it. To add an action to the toolbar, select it in the list of available actions and press the right button.</p>"))
+        self.upButton.setToolTip(_translate("EricToolBarDialog", "Press to move the selected action up."))
+        self.leftButton.setToolTip(_translate("EricToolBarDialog", "Press to delete the selected action from the toolbar"))
+        self.rightButton.setToolTip(_translate("EricToolBarDialog", "Press to add the selected action to the toolbar"))
+        self.downButton.setToolTip(_translate("EricToolBarDialog", "Press to move the selected action down."))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/EricWidgets/Ui_EricZoomWidget.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,86 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/EricWidgets/EricZoomWidget.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_EricZoomWidget(object):
+    def setupUi(self, EricZoomWidget):
+        EricZoomWidget.setObjectName("EricZoomWidget")
+        EricZoomWidget.resize(242, 21)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Minimum)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(EricZoomWidget.sizePolicy().hasHeightForWidth())
+        EricZoomWidget.setSizePolicy(sizePolicy)
+        self.horizontalLayout = QtWidgets.QHBoxLayout(EricZoomWidget)
+        self.horizontalLayout.setContentsMargins(0, 0, 0, 0)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.valueLabel = QtWidgets.QLabel(parent=EricZoomWidget)
+        self.valueLabel.setMinimumSize(QtCore.QSize(0, 16))
+        self.valueLabel.setMaximumSize(QtCore.QSize(16777215, 16))
+        self.valueLabel.setText("0")
+        self.valueLabel.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.valueLabel.setObjectName("valueLabel")
+        self.horizontalLayout.addWidget(self.valueLabel)
+        self.zoomOutLabel = EricClickableLabel(parent=EricZoomWidget)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.zoomOutLabel.sizePolicy().hasHeightForWidth())
+        self.zoomOutLabel.setSizePolicy(sizePolicy)
+        self.zoomOutLabel.setMinimumSize(QtCore.QSize(16, 16))
+        self.zoomOutLabel.setMaximumSize(QtCore.QSize(16, 16))
+        self.zoomOutLabel.setObjectName("zoomOutLabel")
+        self.horizontalLayout.addWidget(self.zoomOutLabel)
+        self.slider = QtWidgets.QSlider(parent=EricZoomWidget)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.slider.sizePolicy().hasHeightForWidth())
+        self.slider.setSizePolicy(sizePolicy)
+        self.slider.setMinimumSize(QtCore.QSize(160, 16))
+        self.slider.setMaximumSize(QtCore.QSize(160, 16))
+        self.slider.setFocusPolicy(QtCore.Qt.FocusPolicy.NoFocus)
+        self.slider.setMinimum(-10)
+        self.slider.setMaximum(20)
+        self.slider.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.slider.setTickPosition(QtWidgets.QSlider.TickPosition.NoTicks)
+        self.slider.setObjectName("slider")
+        self.horizontalLayout.addWidget(self.slider)
+        self.zoomInLabel = EricClickableLabel(parent=EricZoomWidget)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.zoomInLabel.sizePolicy().hasHeightForWidth())
+        self.zoomInLabel.setSizePolicy(sizePolicy)
+        self.zoomInLabel.setMinimumSize(QtCore.QSize(16, 16))
+        self.zoomInLabel.setMaximumSize(QtCore.QSize(16, 16))
+        self.zoomInLabel.setObjectName("zoomInLabel")
+        self.horizontalLayout.addWidget(self.zoomInLabel)
+        self.zoomResetLabel = EricClickableLabel(parent=EricZoomWidget)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.zoomResetLabel.sizePolicy().hasHeightForWidth())
+        self.zoomResetLabel.setSizePolicy(sizePolicy)
+        self.zoomResetLabel.setMinimumSize(QtCore.QSize(16, 16))
+        self.zoomResetLabel.setMaximumSize(QtCore.QSize(16, 16))
+        self.zoomResetLabel.setObjectName("zoomResetLabel")
+        self.horizontalLayout.addWidget(self.zoomResetLabel)
+
+        self.retranslateUi(EricZoomWidget)
+        QtCore.QMetaObject.connectSlotsByName(EricZoomWidget)
+
+    def retranslateUi(self, EricZoomWidget):
+        _translate = QtCore.QCoreApplication.translate
+        self.zoomOutLabel.setToolTip(_translate("EricZoomWidget", "Zoom out"))
+        self.slider.setToolTip(_translate("EricZoomWidget", "Drag to zoom"))
+        self.zoomInLabel.setToolTip(_translate("EricZoomWidget", "Zoom in"))
+        self.zoomResetLabel.setToolTip(_translate("EricZoomWidget", "Zoom reset"))
+from eric7.EricWidgets.EricClickableLabel import EricClickableLabel
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Graphics/Ui_UMLSceneSizeDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,52 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Graphics/UMLSceneSizeDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_UMLSceneSizeDialog(object):
+    def setupUi(self, UMLSceneSizeDialog):
+        UMLSceneSizeDialog.setObjectName("UMLSceneSizeDialog")
+        UMLSceneSizeDialog.resize(314, 103)
+        UMLSceneSizeDialog.setSizeGripEnabled(True)
+        self.gridlayout = QtWidgets.QGridLayout(UMLSceneSizeDialog)
+        self.gridlayout.setObjectName("gridlayout")
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=UMLSceneSizeDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridlayout.addWidget(self.buttonBox, 2, 0, 1, 2)
+        self.textLabel2 = QtWidgets.QLabel(parent=UMLSceneSizeDialog)
+        self.textLabel2.setObjectName("textLabel2")
+        self.gridlayout.addWidget(self.textLabel2, 1, 0, 1, 1)
+        self.textLabel1 = QtWidgets.QLabel(parent=UMLSceneSizeDialog)
+        self.textLabel1.setObjectName("textLabel1")
+        self.gridlayout.addWidget(self.textLabel1, 0, 0, 1, 1)
+        self.heightSpinBox = QtWidgets.QSpinBox(parent=UMLSceneSizeDialog)
+        self.heightSpinBox.setMinimum(100)
+        self.heightSpinBox.setMaximum(100000)
+        self.heightSpinBox.setObjectName("heightSpinBox")
+        self.gridlayout.addWidget(self.heightSpinBox, 1, 1, 1, 1)
+        self.widthSpinBox = QtWidgets.QSpinBox(parent=UMLSceneSizeDialog)
+        self.widthSpinBox.setMinimum(100)
+        self.widthSpinBox.setMaximum(100000)
+        self.widthSpinBox.setObjectName("widthSpinBox")
+        self.gridlayout.addWidget(self.widthSpinBox, 0, 1, 1, 1)
+
+        self.retranslateUi(UMLSceneSizeDialog)
+        self.buttonBox.accepted.connect(UMLSceneSizeDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(UMLSceneSizeDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(UMLSceneSizeDialog)
+
+    def retranslateUi(self, UMLSceneSizeDialog):
+        _translate = QtCore.QCoreApplication.translate
+        UMLSceneSizeDialog.setWindowTitle(_translate("UMLSceneSizeDialog", "Set Size"))
+        self.textLabel2.setText(_translate("UMLSceneSizeDialog", "Height (in pixels):"))
+        self.textLabel1.setText(_translate("UMLSceneSizeDialog", "Width (in pixels):"))
+        self.heightSpinBox.setToolTip(_translate("UMLSceneSizeDialog", "Select the height of the diagram"))
+        self.widthSpinBox.setToolTip(_translate("UMLSceneSizeDialog", "Select the width of the diagram"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/HelpViewer/Ui_HelpBookmarkPropertiesDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,52 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/HelpViewer/HelpBookmarkPropertiesDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_HelpBookmarkPropertiesDialog(object):
+    def setupUi(self, HelpBookmarkPropertiesDialog):
+        HelpBookmarkPropertiesDialog.setObjectName("HelpBookmarkPropertiesDialog")
+        HelpBookmarkPropertiesDialog.resize(500, 108)
+        HelpBookmarkPropertiesDialog.setSizeGripEnabled(True)
+        self.gridLayout = QtWidgets.QGridLayout(HelpBookmarkPropertiesDialog)
+        self.gridLayout.setObjectName("gridLayout")
+        self.label = QtWidgets.QLabel(parent=HelpBookmarkPropertiesDialog)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
+        self.titleEdit = QtWidgets.QLineEdit(parent=HelpBookmarkPropertiesDialog)
+        self.titleEdit.setClearButtonEnabled(True)
+        self.titleEdit.setObjectName("titleEdit")
+        self.gridLayout.addWidget(self.titleEdit, 0, 1, 1, 1)
+        self.label_2 = QtWidgets.QLabel(parent=HelpBookmarkPropertiesDialog)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 1, 0, 1, 1)
+        self.urlEdit = QtWidgets.QLineEdit(parent=HelpBookmarkPropertiesDialog)
+        self.urlEdit.setClearButtonEnabled(True)
+        self.urlEdit.setObjectName("urlEdit")
+        self.gridLayout.addWidget(self.urlEdit, 1, 1, 1, 1)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=HelpBookmarkPropertiesDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout.addWidget(self.buttonBox, 2, 0, 1, 2)
+
+        self.retranslateUi(HelpBookmarkPropertiesDialog)
+        self.buttonBox.accepted.connect(HelpBookmarkPropertiesDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(HelpBookmarkPropertiesDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(HelpBookmarkPropertiesDialog)
+
+    def retranslateUi(self, HelpBookmarkPropertiesDialog):
+        _translate = QtCore.QCoreApplication.translate
+        HelpBookmarkPropertiesDialog.setWindowTitle(_translate("HelpBookmarkPropertiesDialog", "Bookmark"))
+        self.label.setText(_translate("HelpBookmarkPropertiesDialog", "Title:"))
+        self.titleEdit.setToolTip(_translate("HelpBookmarkPropertiesDialog", "Enter the title for the bookmark"))
+        self.titleEdit.setPlaceholderText(_translate("HelpBookmarkPropertiesDialog", "Enter Bookmark Title"))
+        self.label_2.setText(_translate("HelpBookmarkPropertiesDialog", "URL:"))
+        self.urlEdit.setToolTip(_translate("HelpBookmarkPropertiesDialog", "Enter the URL for the bookmark"))
+        self.urlEdit.setPlaceholderText(_translate("HelpBookmarkPropertiesDialog", "Enter Bookmark URL"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/HelpViewer/Ui_HelpBookmarksImportDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,52 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/HelpViewer/HelpBookmarksImportDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_HelpBookmarksImportDialog(object):
+    def setupUi(self, HelpBookmarksImportDialog):
+        HelpBookmarksImportDialog.setObjectName("HelpBookmarksImportDialog")
+        HelpBookmarksImportDialog.resize(500, 98)
+        HelpBookmarksImportDialog.setSizeGripEnabled(True)
+        self.gridLayout = QtWidgets.QGridLayout(HelpBookmarksImportDialog)
+        self.gridLayout.setObjectName("gridLayout")
+        self.replaceCheckBox = QtWidgets.QCheckBox(parent=HelpBookmarksImportDialog)
+        self.replaceCheckBox.setObjectName("replaceCheckBox")
+        self.gridLayout.addWidget(self.replaceCheckBox, 0, 0, 1, 2)
+        self.label = QtWidgets.QLabel(parent=HelpBookmarksImportDialog)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 1, 0, 1, 1)
+        self.bookmarksPicker = EricPathPicker(parent=HelpBookmarksImportDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.bookmarksPicker.sizePolicy().hasHeightForWidth())
+        self.bookmarksPicker.setSizePolicy(sizePolicy)
+        self.bookmarksPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.WheelFocus)
+        self.bookmarksPicker.setObjectName("bookmarksPicker")
+        self.gridLayout.addWidget(self.bookmarksPicker, 1, 1, 1, 1)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=HelpBookmarksImportDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout.addWidget(self.buttonBox, 2, 0, 1, 2)
+
+        self.retranslateUi(HelpBookmarksImportDialog)
+        self.buttonBox.accepted.connect(HelpBookmarksImportDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(HelpBookmarksImportDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(HelpBookmarksImportDialog)
+
+    def retranslateUi(self, HelpBookmarksImportDialog):
+        _translate = QtCore.QCoreApplication.translate
+        HelpBookmarksImportDialog.setWindowTitle(_translate("HelpBookmarksImportDialog", "Import Bookmarks"))
+        self.replaceCheckBox.setToolTip(_translate("HelpBookmarksImportDialog", "Select to replace the existing bookmarks"))
+        self.replaceCheckBox.setText(_translate("HelpBookmarksImportDialog", "Replace Existing Bookmarks"))
+        self.label.setText(_translate("HelpBookmarksImportDialog", "Bookmarks:"))
+        self.bookmarksPicker.setToolTip(_translate("HelpBookmarksImportDialog", "Enter the path of the bookmarks file"))
+from eric7.EricWidgets.EricPathPicker import EricPathPicker
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/HexEdit/Ui_HexEditGotoWidget.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,70 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/HexEdit/HexEditGotoWidget.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_HexEditGotoWidget(object):
+    def setupUi(self, HexEditGotoWidget):
+        HexEditGotoWidget.setObjectName("HexEditGotoWidget")
+        HexEditGotoWidget.resize(600, 54)
+        self.gridLayout = QtWidgets.QGridLayout(HexEditGotoWidget)
+        self.gridLayout.setContentsMargins(1, 1, 1, 1)
+        self.gridLayout.setObjectName("gridLayout")
+        self.closeButton = QtWidgets.QToolButton(parent=HexEditGotoWidget)
+        self.closeButton.setText("")
+        self.closeButton.setObjectName("closeButton")
+        self.gridLayout.addWidget(self.closeButton, 0, 0, 1, 1)
+        self.label = QtWidgets.QLabel(parent=HexEditGotoWidget)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 0, 1, 1, 1)
+        self.formatCombo = QtWidgets.QComboBox(parent=HexEditGotoWidget)
+        self.formatCombo.setObjectName("formatCombo")
+        self.gridLayout.addWidget(self.formatCombo, 0, 2, 1, 1)
+        self.offsetEdit = QtWidgets.QLineEdit(parent=HexEditGotoWidget)
+        self.offsetEdit.setObjectName("offsetEdit")
+        self.gridLayout.addWidget(self.offsetEdit, 0, 3, 1, 1)
+        self.cursorCheckBox = QtWidgets.QCheckBox(parent=HexEditGotoWidget)
+        self.cursorCheckBox.setObjectName("cursorCheckBox")
+        self.gridLayout.addWidget(self.cursorCheckBox, 0, 4, 1, 1)
+        self.backCheckBox = QtWidgets.QCheckBox(parent=HexEditGotoWidget)
+        self.backCheckBox.setObjectName("backCheckBox")
+        self.gridLayout.addWidget(self.backCheckBox, 0, 5, 1, 1)
+        self.gotoButton = QtWidgets.QPushButton(parent=HexEditGotoWidget)
+        self.gotoButton.setEnabled(False)
+        self.gotoButton.setObjectName("gotoButton")
+        self.gridLayout.addWidget(self.gotoButton, 0, 6, 1, 1)
+        self.selectionCheckBox = QtWidgets.QCheckBox(parent=HexEditGotoWidget)
+        self.selectionCheckBox.setObjectName("selectionCheckBox")
+        self.gridLayout.addWidget(self.selectionCheckBox, 1, 4, 1, 2)
+
+        self.retranslateUi(HexEditGotoWidget)
+        self.offsetEdit.returnPressed.connect(self.gotoButton.animateClick) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(HexEditGotoWidget)
+        HexEditGotoWidget.setTabOrder(self.formatCombo, self.offsetEdit)
+        HexEditGotoWidget.setTabOrder(self.offsetEdit, self.cursorCheckBox)
+        HexEditGotoWidget.setTabOrder(self.cursorCheckBox, self.backCheckBox)
+        HexEditGotoWidget.setTabOrder(self.backCheckBox, self.selectionCheckBox)
+        HexEditGotoWidget.setTabOrder(self.selectionCheckBox, self.gotoButton)
+        HexEditGotoWidget.setTabOrder(self.gotoButton, self.closeButton)
+
+    def retranslateUi(self, HexEditGotoWidget):
+        _translate = QtCore.QCoreApplication.translate
+        HexEditGotoWidget.setWindowTitle(_translate("HexEditGotoWidget", "Go to"))
+        self.closeButton.setToolTip(_translate("HexEditGotoWidget", "Press to close the window"))
+        self.label.setText(_translate("HexEditGotoWidget", "Offset:"))
+        self.formatCombo.setToolTip(_translate("HexEditGotoWidget", "Select the data format of the offset field"))
+        self.offsetEdit.setToolTip(_translate("HexEditGotoWidget", "Enter the address to move to or the offset from the cursor position"))
+        self.cursorCheckBox.setToolTip(_translate("HexEditGotoWidget", "Select to move relative to the cursor"))
+        self.cursorCheckBox.setText(_translate("HexEditGotoWidget", "From Cursor"))
+        self.backCheckBox.setToolTip(_translate("HexEditGotoWidget", "Select to move backwards"))
+        self.backCheckBox.setText(_translate("HexEditGotoWidget", "Backwards"))
+        self.gotoButton.setToolTip(_translate("HexEditGotoWidget", "Press to move the cursor"))
+        self.gotoButton.setText(_translate("HexEditGotoWidget", "> Goto"))
+        self.selectionCheckBox.setToolTip(_translate("HexEditGotoWidget", "Select to also extend the selection"))
+        self.selectionCheckBox.setText(_translate("HexEditGotoWidget", "Extend Selection"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/HexEdit/Ui_HexEditReplaceWidget.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,104 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/HexEdit/HexEditReplaceWidget.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_HexEditReplaceWidget(object):
+    def setupUi(self, HexEditReplaceWidget):
+        HexEditReplaceWidget.setObjectName("HexEditReplaceWidget")
+        HexEditReplaceWidget.resize(600, 58)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(HexEditReplaceWidget.sizePolicy().hasHeightForWidth())
+        HexEditReplaceWidget.setSizePolicy(sizePolicy)
+        self.gridLayout = QtWidgets.QGridLayout(HexEditReplaceWidget)
+        self.gridLayout.setContentsMargins(1, 1, 1, 1)
+        self.gridLayout.setObjectName("gridLayout")
+        self.closeButton = QtWidgets.QToolButton(parent=HexEditReplaceWidget)
+        self.closeButton.setText("")
+        self.closeButton.setObjectName("closeButton")
+        self.gridLayout.addWidget(self.closeButton, 0, 0, 1, 1)
+        self.label = QtWidgets.QLabel(parent=HexEditReplaceWidget)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 0, 1, 1, 1)
+        self.findFormatCombo = QtWidgets.QComboBox(parent=HexEditReplaceWidget)
+        self.findFormatCombo.setObjectName("findFormatCombo")
+        self.gridLayout.addWidget(self.findFormatCombo, 0, 2, 1, 1)
+        self.findtextCombo = QtWidgets.QComboBox(parent=HexEditReplaceWidget)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.findtextCombo.sizePolicy().hasHeightForWidth())
+        self.findtextCombo.setSizePolicy(sizePolicy)
+        self.findtextCombo.setMinimumSize(QtCore.QSize(300, 0))
+        self.findtextCombo.setEditable(True)
+        self.findtextCombo.setInsertPolicy(QtWidgets.QComboBox.InsertPolicy.InsertAtTop)
+        self.findtextCombo.setDuplicatesEnabled(False)
+        self.findtextCombo.setObjectName("findtextCombo")
+        self.gridLayout.addWidget(self.findtextCombo, 0, 3, 1, 1)
+        self.findPrevButton = QtWidgets.QToolButton(parent=HexEditReplaceWidget)
+        self.findPrevButton.setObjectName("findPrevButton")
+        self.gridLayout.addWidget(self.findPrevButton, 0, 4, 1, 1)
+        self.findNextButton = QtWidgets.QToolButton(parent=HexEditReplaceWidget)
+        self.findNextButton.setObjectName("findNextButton")
+        self.gridLayout.addWidget(self.findNextButton, 0, 5, 1, 1)
+        self.label_2 = QtWidgets.QLabel(parent=HexEditReplaceWidget)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 1, 1, 1, 1)
+        self.replaceFormatCombo = QtWidgets.QComboBox(parent=HexEditReplaceWidget)
+        self.replaceFormatCombo.setObjectName("replaceFormatCombo")
+        self.gridLayout.addWidget(self.replaceFormatCombo, 1, 2, 1, 1)
+        self.replacetextCombo = QtWidgets.QComboBox(parent=HexEditReplaceWidget)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.replacetextCombo.sizePolicy().hasHeightForWidth())
+        self.replacetextCombo.setSizePolicy(sizePolicy)
+        self.replacetextCombo.setMinimumSize(QtCore.QSize(300, 0))
+        self.replacetextCombo.setEditable(True)
+        self.replacetextCombo.setInsertPolicy(QtWidgets.QComboBox.InsertPolicy.InsertAtTop)
+        self.replacetextCombo.setDuplicatesEnabled(False)
+        self.replacetextCombo.setObjectName("replacetextCombo")
+        self.gridLayout.addWidget(self.replacetextCombo, 1, 3, 1, 1)
+        self.replaceButton = QtWidgets.QToolButton(parent=HexEditReplaceWidget)
+        self.replaceButton.setObjectName("replaceButton")
+        self.gridLayout.addWidget(self.replaceButton, 1, 4, 1, 1)
+        self.replaceSearchButton = QtWidgets.QToolButton(parent=HexEditReplaceWidget)
+        self.replaceSearchButton.setObjectName("replaceSearchButton")
+        self.gridLayout.addWidget(self.replaceSearchButton, 1, 5, 1, 1)
+        self.replaceAllButton = QtWidgets.QToolButton(parent=HexEditReplaceWidget)
+        self.replaceAllButton.setObjectName("replaceAllButton")
+        self.gridLayout.addWidget(self.replaceAllButton, 1, 6, 1, 1)
+
+        self.retranslateUi(HexEditReplaceWidget)
+        QtCore.QMetaObject.connectSlotsByName(HexEditReplaceWidget)
+        HexEditReplaceWidget.setTabOrder(self.findFormatCombo, self.findtextCombo)
+        HexEditReplaceWidget.setTabOrder(self.findtextCombo, self.replaceFormatCombo)
+        HexEditReplaceWidget.setTabOrder(self.replaceFormatCombo, self.replacetextCombo)
+        HexEditReplaceWidget.setTabOrder(self.replacetextCombo, self.findPrevButton)
+        HexEditReplaceWidget.setTabOrder(self.findPrevButton, self.findNextButton)
+        HexEditReplaceWidget.setTabOrder(self.findNextButton, self.replaceButton)
+        HexEditReplaceWidget.setTabOrder(self.replaceButton, self.replaceSearchButton)
+        HexEditReplaceWidget.setTabOrder(self.replaceSearchButton, self.replaceAllButton)
+        HexEditReplaceWidget.setTabOrder(self.replaceAllButton, self.closeButton)
+
+    def retranslateUi(self, HexEditReplaceWidget):
+        _translate = QtCore.QCoreApplication.translate
+        HexEditReplaceWidget.setWindowTitle(_translate("HexEditReplaceWidget", "Find and Replace"))
+        self.closeButton.setToolTip(_translate("HexEditReplaceWidget", "Press to close the window"))
+        self.label.setText(_translate("HexEditReplaceWidget", "Find:"))
+        self.findFormatCombo.setToolTip(_translate("HexEditReplaceWidget", "Select the data format of the find data field"))
+        self.findPrevButton.setToolTip(_translate("HexEditReplaceWidget", "Press to find the previous occurrence"))
+        self.findNextButton.setToolTip(_translate("HexEditReplaceWidget", "Press to find the next occurrence"))
+        self.label_2.setText(_translate("HexEditReplaceWidget", "Replace:"))
+        self.replaceFormatCombo.setToolTip(_translate("HexEditReplaceWidget", "Select the data format of the replace data field"))
+        self.replaceButton.setToolTip(_translate("HexEditReplaceWidget", "Press to replace the selection"))
+        self.replaceSearchButton.setToolTip(_translate("HexEditReplaceWidget", "Press to replace the selection and search for the next occurence"))
+        self.replaceAllButton.setToolTip(_translate("HexEditReplaceWidget", "Press to replace all occurrences"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/HexEdit/Ui_HexEditSearchWidget.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,71 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/HexEdit/HexEditSearchWidget.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_HexEditSearchWidget(object):
+    def setupUi(self, HexEditSearchWidget):
+        HexEditSearchWidget.setObjectName("HexEditSearchWidget")
+        HexEditSearchWidget.resize(600, 28)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(HexEditSearchWidget.sizePolicy().hasHeightForWidth())
+        HexEditSearchWidget.setSizePolicy(sizePolicy)
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout(HexEditSearchWidget)
+        self.horizontalLayout_2.setContentsMargins(1, 1, 1, 1)
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.closeButton = QtWidgets.QToolButton(parent=HexEditSearchWidget)
+        self.closeButton.setText("")
+        self.closeButton.setObjectName("closeButton")
+        self.horizontalLayout_2.addWidget(self.closeButton)
+        self.label = QtWidgets.QLabel(parent=HexEditSearchWidget)
+        self.label.setObjectName("label")
+        self.horizontalLayout_2.addWidget(self.label)
+        self.findFormatCombo = QtWidgets.QComboBox(parent=HexEditSearchWidget)
+        self.findFormatCombo.setObjectName("findFormatCombo")
+        self.horizontalLayout_2.addWidget(self.findFormatCombo)
+        self.findtextCombo = QtWidgets.QComboBox(parent=HexEditSearchWidget)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.findtextCombo.sizePolicy().hasHeightForWidth())
+        self.findtextCombo.setSizePolicy(sizePolicy)
+        self.findtextCombo.setMinimumSize(QtCore.QSize(300, 0))
+        self.findtextCombo.setEditable(True)
+        self.findtextCombo.setInsertPolicy(QtWidgets.QComboBox.InsertPolicy.InsertAtTop)
+        self.findtextCombo.setDuplicatesEnabled(False)
+        self.findtextCombo.setObjectName("findtextCombo")
+        self.horizontalLayout_2.addWidget(self.findtextCombo)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setSpacing(0)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.findPrevButton = QtWidgets.QToolButton(parent=HexEditSearchWidget)
+        self.findPrevButton.setObjectName("findPrevButton")
+        self.horizontalLayout.addWidget(self.findPrevButton)
+        self.findNextButton = QtWidgets.QToolButton(parent=HexEditSearchWidget)
+        self.findNextButton.setObjectName("findNextButton")
+        self.horizontalLayout.addWidget(self.findNextButton)
+        self.horizontalLayout_2.addLayout(self.horizontalLayout)
+
+        self.retranslateUi(HexEditSearchWidget)
+        QtCore.QMetaObject.connectSlotsByName(HexEditSearchWidget)
+        HexEditSearchWidget.setTabOrder(self.findFormatCombo, self.findtextCombo)
+        HexEditSearchWidget.setTabOrder(self.findtextCombo, self.findPrevButton)
+        HexEditSearchWidget.setTabOrder(self.findPrevButton, self.findNextButton)
+        HexEditSearchWidget.setTabOrder(self.findNextButton, self.closeButton)
+
+    def retranslateUi(self, HexEditSearchWidget):
+        _translate = QtCore.QCoreApplication.translate
+        HexEditSearchWidget.setWindowTitle(_translate("HexEditSearchWidget", "Find"))
+        self.closeButton.setToolTip(_translate("HexEditSearchWidget", "Press to close the window"))
+        self.label.setText(_translate("HexEditSearchWidget", "Find:"))
+        self.findFormatCombo.setToolTip(_translate("HexEditSearchWidget", "Select the data format of the find data field"))
+        self.findPrevButton.setToolTip(_translate("HexEditSearchWidget", "Press to find the previous occurrence"))
+        self.findNextButton.setToolTip(_translate("HexEditSearchWidget", "Press to find the next occurrence"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/IconEditor/Ui_IconSizeDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,61 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/IconEditor/IconSizeDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_IconSizeDialog(object):
+    def setupUi(self, IconSizeDialog):
+        IconSizeDialog.setObjectName("IconSizeDialog")
+        IconSizeDialog.resize(232, 78)
+        IconSizeDialog.setSizeGripEnabled(True)
+        self.gridLayout = QtWidgets.QGridLayout(IconSizeDialog)
+        self.gridLayout.setObjectName("gridLayout")
+        self.label = QtWidgets.QLabel(parent=IconSizeDialog)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
+        self.widthSpin = QtWidgets.QSpinBox(parent=IconSizeDialog)
+        self.widthSpin.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.widthSpin.setMinimum(1)
+        self.widthSpin.setMaximum(256)
+        self.widthSpin.setProperty("value", 32)
+        self.widthSpin.setObjectName("widthSpin")
+        self.gridLayout.addWidget(self.widthSpin, 0, 1, 1, 1)
+        self.label_2 = QtWidgets.QLabel(parent=IconSizeDialog)
+        self.label_2.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 0, 2, 1, 1)
+        self.heightSpin = QtWidgets.QSpinBox(parent=IconSizeDialog)
+        self.heightSpin.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.heightSpin.setMinimum(1)
+        self.heightSpin.setMaximum(256)
+        self.heightSpin.setProperty("value", 32)
+        self.heightSpin.setObjectName("heightSpin")
+        self.gridLayout.addWidget(self.heightSpin, 0, 3, 1, 1)
+        spacerItem = QtWidgets.QSpacerItem(42, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout.addItem(spacerItem, 0, 4, 1, 1)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=IconSizeDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout.addWidget(self.buttonBox, 1, 0, 1, 5)
+
+        self.retranslateUi(IconSizeDialog)
+        self.buttonBox.accepted.connect(IconSizeDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(IconSizeDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(IconSizeDialog)
+        IconSizeDialog.setTabOrder(self.widthSpin, self.heightSpin)
+        IconSizeDialog.setTabOrder(self.heightSpin, self.buttonBox)
+
+    def retranslateUi(self, IconSizeDialog):
+        _translate = QtCore.QCoreApplication.translate
+        IconSizeDialog.setWindowTitle(_translate("IconSizeDialog", "Icon Size"))
+        self.label.setText(_translate("IconSizeDialog", "Size:"))
+        self.widthSpin.setToolTip(_translate("IconSizeDialog", "Enter the width of the icon"))
+        self.label_2.setText(_translate("IconSizeDialog", "X"))
+        self.heightSpin.setToolTip(_translate("IconSizeDialog", "Enter the height of the icon"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/JediInterface/Ui_RefactoringPreviewDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,41 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/JediInterface/RefactoringPreviewDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_RefactoringPreviewDialog(object):
+    def setupUi(self, RefactoringPreviewDialog):
+        RefactoringPreviewDialog.setObjectName("RefactoringPreviewDialog")
+        RefactoringPreviewDialog.resize(600, 600)
+        RefactoringPreviewDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(RefactoringPreviewDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.titleLabel = QtWidgets.QLabel(parent=RefactoringPreviewDialog)
+        self.titleLabel.setObjectName("titleLabel")
+        self.verticalLayout.addWidget(self.titleLabel)
+        self.previewEdit = QtWidgets.QPlainTextEdit(parent=RefactoringPreviewDialog)
+        self.previewEdit.setTabChangesFocus(True)
+        self.previewEdit.setLineWrapMode(QtWidgets.QPlainTextEdit.LineWrapMode.NoWrap)
+        self.previewEdit.setReadOnly(True)
+        self.previewEdit.setObjectName("previewEdit")
+        self.verticalLayout.addWidget(self.previewEdit)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=RefactoringPreviewDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(RefactoringPreviewDialog)
+        self.buttonBox.accepted.connect(RefactoringPreviewDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(RefactoringPreviewDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(RefactoringPreviewDialog)
+
+    def retranslateUi(self, RefactoringPreviewDialog):
+        _translate = QtCore.QCoreApplication.translate
+        RefactoringPreviewDialog.setWindowTitle(_translate("RefactoringPreviewDialog", "Preview Changes"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/MicroPython/BluetoothDialogs/Ui_BluetoothScanWindow.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,69 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/MicroPython/BluetoothDialogs/BluetoothScanWindow.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_BluetoothScanWindow(object):
+    def setupUi(self, BluetoothScanWindow):
+        BluetoothScanWindow.setObjectName("BluetoothScanWindow")
+        BluetoothScanWindow.resize(650, 600)
+        self.verticalLayout = QtWidgets.QVBoxLayout(BluetoothScanWindow)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.devicesList = QtWidgets.QTreeWidget(parent=BluetoothScanWindow)
+        self.devicesList.setAlternatingRowColors(True)
+        self.devicesList.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.NoSelection)
+        self.devicesList.setObjectName("devicesList")
+        self.verticalLayout.addWidget(self.devicesList)
+        self.statusLabel = QtWidgets.QLabel(parent=BluetoothScanWindow)
+        self.statusLabel.setObjectName("statusLabel")
+        self.verticalLayout.addWidget(self.statusLabel)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.label = QtWidgets.QLabel(parent=BluetoothScanWindow)
+        self.label.setObjectName("label")
+        self.horizontalLayout.addWidget(self.label)
+        self.durationSpinBox = QtWidgets.QSpinBox(parent=BluetoothScanWindow)
+        self.durationSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.durationSpinBox.setMinimum(1)
+        self.durationSpinBox.setMaximum(60)
+        self.durationSpinBox.setProperty("value", 10)
+        self.durationSpinBox.setObjectName("durationSpinBox")
+        self.horizontalLayout.addWidget(self.durationSpinBox)
+        self.scanButton = QtWidgets.QPushButton(parent=BluetoothScanWindow)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.scanButton.sizePolicy().hasHeightForWidth())
+        self.scanButton.setSizePolicy(sizePolicy)
+        self.scanButton.setObjectName("scanButton")
+        self.horizontalLayout.addWidget(self.scanButton)
+        self.verticalLayout.addLayout(self.horizontalLayout)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=BluetoothScanWindow)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(BluetoothScanWindow)
+        self.buttonBox.rejected.connect(BluetoothScanWindow.close) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(BluetoothScanWindow)
+        BluetoothScanWindow.setTabOrder(self.devicesList, self.durationSpinBox)
+        BluetoothScanWindow.setTabOrder(self.durationSpinBox, self.scanButton)
+
+    def retranslateUi(self, BluetoothScanWindow):
+        _translate = QtCore.QCoreApplication.translate
+        BluetoothScanWindow.setWindowTitle(_translate("BluetoothScanWindow", "Bluetooth Scan"))
+        self.devicesList.setSortingEnabled(True)
+        self.devicesList.headerItem().setText(0, _translate("BluetoothScanWindow", "Name"))
+        self.devicesList.headerItem().setText(1, _translate("BluetoothScanWindow", "MAC-Address"))
+        self.devicesList.headerItem().setText(2, _translate("BluetoothScanWindow", "RSSI [dBm]"))
+        self.label.setText(_translate("BluetoothScanWindow", "Scan Duration:"))
+        self.durationSpinBox.setToolTip(_translate("BluetoothScanWindow", "Enter the scan duration in seconds"))
+        self.durationSpinBox.setSuffix(_translate("BluetoothScanWindow", " s"))
+        self.scanButton.setToolTip(_translate("BluetoothScanWindow", "Press to scan for Bluetooth devices."))
+        self.scanButton.setText(_translate("BluetoothScanWindow", "Scan"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/MicroPython/BluetoothDialogs/Ui_BluetoothStatusDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,48 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/MicroPython/BluetoothDialogs/BluetoothStatusDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_BluetoothStatusDialog(object):
+    def setupUi(self, BluetoothStatusDialog):
+        BluetoothStatusDialog.setObjectName("BluetoothStatusDialog")
+        BluetoothStatusDialog.resize(600, 650)
+        BluetoothStatusDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(BluetoothStatusDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.label = QtWidgets.QLabel(parent=BluetoothStatusDialog)
+        font = QtGui.QFont()
+        font.setPointSize(14)
+        font.setBold(True)
+        self.label.setFont(font)
+        self.label.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
+        self.label.setObjectName("label")
+        self.verticalLayout.addWidget(self.label)
+        self.statusTree = QtWidgets.QTreeWidget(parent=BluetoothStatusDialog)
+        self.statusTree.setRootIsDecorated(False)
+        self.statusTree.setItemsExpandable(False)
+        self.statusTree.setHeaderHidden(True)
+        self.statusTree.setObjectName("statusTree")
+        self.statusTree.headerItem().setText(0, "1")
+        self.verticalLayout.addWidget(self.statusTree)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=BluetoothStatusDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(BluetoothStatusDialog)
+        self.buttonBox.accepted.connect(BluetoothStatusDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(BluetoothStatusDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(BluetoothStatusDialog)
+
+    def retranslateUi(self, BluetoothStatusDialog):
+        _translate = QtCore.QCoreApplication.translate
+        BluetoothStatusDialog.setWindowTitle(_translate("BluetoothStatusDialog", "Bluetooth Status"))
+        self.label.setText(_translate("BluetoothStatusDialog", "Bluetooth Status"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/MicroPython/Devices/CircuitPythonUpdater/Ui_RequirementsDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,105 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/MicroPython/Devices/CircuitPythonUpdater/RequirementsDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_RequirementsDialog(object):
+    def setupUi(self, RequirementsDialog):
+        RequirementsDialog.setObjectName("RequirementsDialog")
+        RequirementsDialog.resize(600, 550)
+        RequirementsDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(RequirementsDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.label = QtWidgets.QLabel(parent=RequirementsDialog)
+        self.label.setObjectName("label")
+        self.horizontalLayout.addWidget(self.label)
+        self.requirementsFilePicker = EricPathPicker(parent=RequirementsDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.requirementsFilePicker.sizePolicy().hasHeightForWidth())
+        self.requirementsFilePicker.setSizePolicy(sizePolicy)
+        self.requirementsFilePicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.requirementsFilePicker.setObjectName("requirementsFilePicker")
+        self.horizontalLayout.addWidget(self.requirementsFilePicker)
+        self.verticalLayout.addLayout(self.horizontalLayout)
+        self.gridLayout = QtWidgets.QGridLayout()
+        self.gridLayout.setObjectName("gridLayout")
+        self.line = QtWidgets.QFrame(parent=RequirementsDialog)
+        self.line.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line.setObjectName("line")
+        self.gridLayout.addWidget(self.line, 3, 1, 1, 1)
+        self.copyButton = QtWidgets.QPushButton(parent=RequirementsDialog)
+        self.copyButton.setObjectName("copyButton")
+        self.gridLayout.addWidget(self.copyButton, 2, 1, 1, 1)
+        self.saveButton = QtWidgets.QPushButton(parent=RequirementsDialog)
+        self.saveButton.setObjectName("saveButton")
+        self.gridLayout.addWidget(self.saveButton, 0, 1, 1, 1)
+        self.insertButton = QtWidgets.QPushButton(parent=RequirementsDialog)
+        self.insertButton.setObjectName("insertButton")
+        self.gridLayout.addWidget(self.insertButton, 5, 1, 1, 1)
+        self.replaceSelectionButton = QtWidgets.QPushButton(parent=RequirementsDialog)
+        self.replaceSelectionButton.setObjectName("replaceSelectionButton")
+        self.gridLayout.addWidget(self.replaceSelectionButton, 6, 1, 1, 1)
+        self.requirementsEdit = QtWidgets.QPlainTextEdit(parent=RequirementsDialog)
+        self.requirementsEdit.setTabChangesFocus(True)
+        self.requirementsEdit.setObjectName("requirementsEdit")
+        self.gridLayout.addWidget(self.requirementsEdit, 0, 0, 9, 1)
+        self.replaceAllButton = QtWidgets.QPushButton(parent=RequirementsDialog)
+        self.replaceAllButton.setObjectName("replaceAllButton")
+        self.gridLayout.addWidget(self.replaceAllButton, 7, 1, 1, 1)
+        spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.gridLayout.addItem(spacerItem, 8, 1, 1, 1)
+        self.saveToButton = QtWidgets.QPushButton(parent=RequirementsDialog)
+        self.saveToButton.setObjectName("saveToButton")
+        self.gridLayout.addWidget(self.saveToButton, 1, 1, 1, 1)
+        self.label_2 = QtWidgets.QLabel(parent=RequirementsDialog)
+        self.label_2.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 4, 1, 1, 1)
+        self.verticalLayout.addLayout(self.gridLayout)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=RequirementsDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(RequirementsDialog)
+        self.buttonBox.accepted.connect(RequirementsDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(RequirementsDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(RequirementsDialog)
+        RequirementsDialog.setTabOrder(self.requirementsFilePicker, self.requirementsEdit)
+        RequirementsDialog.setTabOrder(self.requirementsEdit, self.saveButton)
+        RequirementsDialog.setTabOrder(self.saveButton, self.saveToButton)
+        RequirementsDialog.setTabOrder(self.saveToButton, self.copyButton)
+        RequirementsDialog.setTabOrder(self.copyButton, self.insertButton)
+        RequirementsDialog.setTabOrder(self.insertButton, self.replaceSelectionButton)
+        RequirementsDialog.setTabOrder(self.replaceSelectionButton, self.replaceAllButton)
+
+    def retranslateUi(self, RequirementsDialog):
+        _translate = QtCore.QCoreApplication.translate
+        RequirementsDialog.setWindowTitle(_translate("RequirementsDialog", "Generate Requirements"))
+        RequirementsDialog.setToolTip(_translate("RequirementsDialog", "Replace the current selection with the requirements text"))
+        self.label.setText(_translate("RequirementsDialog", "Requirements File:"))
+        self.copyButton.setToolTip(_translate("RequirementsDialog", "Copy the requirements text to the clipboard"))
+        self.copyButton.setText(_translate("RequirementsDialog", "Copy"))
+        self.saveButton.setToolTip(_translate("RequirementsDialog", "Press to save to the requirements file"))
+        self.saveButton.setText(_translate("RequirementsDialog", "Save"))
+        self.insertButton.setToolTip(_translate("RequirementsDialog", "Insert the requirements text at the cursor position"))
+        self.insertButton.setText(_translate("RequirementsDialog", "Insert"))
+        self.replaceSelectionButton.setText(_translate("RequirementsDialog", "Replace Selection"))
+        self.replaceAllButton.setToolTip(_translate("RequirementsDialog", "Replace all text with the requirements text"))
+        self.replaceAllButton.setText(_translate("RequirementsDialog", "Replace All"))
+        self.saveToButton.setToolTip(_translate("RequirementsDialog", "Save to a new file"))
+        self.saveToButton.setText(_translate("RequirementsDialog", "Save To"))
+        self.label_2.setText(_translate("RequirementsDialog", "<b>Editor Actions</b>"))
+from eric7.EricWidgets.EricPathPicker import EricPathPicker
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/MicroPython/Devices/CircuitPythonUpdater/Ui_ShowBundlesDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,45 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/MicroPython/Devices/CircuitPythonUpdater/ShowBundlesDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_ShowBundlesDialog(object):
+    def setupUi(self, ShowBundlesDialog):
+        ShowBundlesDialog.setObjectName("ShowBundlesDialog")
+        ShowBundlesDialog.resize(600, 700)
+        ShowBundlesDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(ShowBundlesDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.header = QtWidgets.QLabel(parent=ShowBundlesDialog)
+        self.header.setText("")
+        self.header.setObjectName("header")
+        self.verticalLayout.addWidget(self.header)
+        self.bundlesWidget = QtWidgets.QTreeWidget(parent=ShowBundlesDialog)
+        self.bundlesWidget.setAlternatingRowColors(True)
+        self.bundlesWidget.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.NoSelection)
+        self.bundlesWidget.setRootIsDecorated(False)
+        self.bundlesWidget.setHeaderHidden(True)
+        self.bundlesWidget.setExpandsOnDoubleClick(False)
+        self.bundlesWidget.setObjectName("bundlesWidget")
+        self.bundlesWidget.headerItem().setText(0, "1")
+        self.verticalLayout.addWidget(self.bundlesWidget)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=ShowBundlesDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(ShowBundlesDialog)
+        self.buttonBox.accepted.connect(ShowBundlesDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(ShowBundlesDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(ShowBundlesDialog)
+
+    def retranslateUi(self, ShowBundlesDialog):
+        _translate = QtCore.QCoreApplication.translate
+        ShowBundlesDialog.setWindowTitle(_translate("ShowBundlesDialog", "CircuitPython Bundles"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/MicroPython/Devices/CircuitPythonUpdater/Ui_ShowInstalledDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,42 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/MicroPython/Devices/CircuitPythonUpdater/ShowInstalledDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_ShowInstalledDialog(object):
+    def setupUi(self, ShowInstalledDialog):
+        ShowInstalledDialog.setObjectName("ShowInstalledDialog")
+        ShowInstalledDialog.resize(400, 500)
+        ShowInstalledDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(ShowInstalledDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.modulesList = QtWidgets.QTreeWidget(parent=ShowInstalledDialog)
+        self.modulesList.setAlternatingRowColors(True)
+        self.modulesList.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.NoSelection)
+        self.modulesList.setRootIsDecorated(False)
+        self.modulesList.setItemsExpandable(False)
+        self.modulesList.setObjectName("modulesList")
+        self.modulesList.header().setSortIndicatorShown(False)
+        self.verticalLayout.addWidget(self.modulesList)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=ShowInstalledDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(ShowInstalledDialog)
+        self.buttonBox.accepted.connect(ShowInstalledDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(ShowInstalledDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(ShowInstalledDialog)
+
+    def retranslateUi(self, ShowInstalledDialog):
+        _translate = QtCore.QCoreApplication.translate
+        ShowInstalledDialog.setWindowTitle(_translate("ShowInstalledDialog", "Installed Modules"))
+        self.modulesList.headerItem().setText(0, _translate("ShowInstalledDialog", "Module"))
+        self.modulesList.headerItem().setText(1, _translate("ShowInstalledDialog", "Version"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/MicroPython/Devices/CircuitPythonUpdater/Ui_ShowOutdatedDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,48 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/MicroPython/Devices/CircuitPythonUpdater/ShowOutdatedDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_ShowOutdatedDialog(object):
+    def setupUi(self, ShowOutdatedDialog):
+        ShowOutdatedDialog.setObjectName("ShowOutdatedDialog")
+        ShowOutdatedDialog.resize(600, 500)
+        ShowOutdatedDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(ShowOutdatedDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.header = QtWidgets.QLabel(parent=ShowOutdatedDialog)
+        self.header.setWordWrap(True)
+        self.header.setObjectName("header")
+        self.verticalLayout.addWidget(self.header)
+        self.modulesList = QtWidgets.QTreeWidget(parent=ShowOutdatedDialog)
+        self.modulesList.setAlternatingRowColors(True)
+        self.modulesList.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.NoSelection)
+        self.modulesList.setRootIsDecorated(False)
+        self.modulesList.setItemsExpandable(False)
+        self.modulesList.setObjectName("modulesList")
+        self.modulesList.header().setSortIndicatorShown(False)
+        self.verticalLayout.addWidget(self.modulesList)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=ShowOutdatedDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(ShowOutdatedDialog)
+        self.buttonBox.accepted.connect(ShowOutdatedDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(ShowOutdatedDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(ShowOutdatedDialog)
+
+    def retranslateUi(self, ShowOutdatedDialog):
+        _translate = QtCore.QCoreApplication.translate
+        ShowOutdatedDialog.setWindowTitle(_translate("ShowOutdatedDialog", "Outdated Modules"))
+        self.modulesList.headerItem().setText(0, _translate("ShowOutdatedDialog", "Module"))
+        self.modulesList.headerItem().setText(1, _translate("ShowOutdatedDialog", "Version"))
+        self.modulesList.headerItem().setText(2, _translate("ShowOutdatedDialog", "Latest"))
+        self.modulesList.headerItem().setText(3, _translate("ShowOutdatedDialog", "Update Reason"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/MicroPython/Devices/EspDialogs/Ui_EspBackupRestoreFirmwareDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,109 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/MicroPython/Devices/EspDialogs/EspBackupRestoreFirmwareDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_EspBackupRestoreFirmwareDialog(object):
+    def setupUi(self, EspBackupRestoreFirmwareDialog):
+        EspBackupRestoreFirmwareDialog.setObjectName("EspBackupRestoreFirmwareDialog")
+        EspBackupRestoreFirmwareDialog.resize(500, 198)
+        EspBackupRestoreFirmwareDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(EspBackupRestoreFirmwareDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.gridLayout = QtWidgets.QGridLayout()
+        self.gridLayout.setObjectName("gridLayout")
+        self.label = QtWidgets.QLabel(parent=EspBackupRestoreFirmwareDialog)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
+        self.espComboBox = QtWidgets.QComboBox(parent=EspBackupRestoreFirmwareDialog)
+        self.espComboBox.setSizeAdjustPolicy(QtWidgets.QComboBox.SizeAdjustPolicy.AdjustToContents)
+        self.espComboBox.setObjectName("espComboBox")
+        self.gridLayout.addWidget(self.espComboBox, 0, 1, 1, 1)
+        spacerItem = QtWidgets.QSpacerItem(298, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout.addItem(spacerItem, 0, 2, 1, 1)
+        self.label_2 = QtWidgets.QLabel(parent=EspBackupRestoreFirmwareDialog)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 1, 0, 1, 1)
+        self.sizeComboBox = QtWidgets.QComboBox(parent=EspBackupRestoreFirmwareDialog)
+        self.sizeComboBox.setObjectName("sizeComboBox")
+        self.gridLayout.addWidget(self.sizeComboBox, 1, 1, 1, 1)
+        self.sizeInfoLabel = QtWidgets.QLabel(parent=EspBackupRestoreFirmwareDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.sizeInfoLabel.sizePolicy().hasHeightForWidth())
+        self.sizeInfoLabel.setSizePolicy(sizePolicy)
+        self.sizeInfoLabel.setWordWrap(True)
+        self.sizeInfoLabel.setObjectName("sizeInfoLabel")
+        self.gridLayout.addWidget(self.sizeInfoLabel, 1, 2, 1, 1)
+        self.label_6 = QtWidgets.QLabel(parent=EspBackupRestoreFirmwareDialog)
+        self.label_6.setObjectName("label_6")
+        self.gridLayout.addWidget(self.label_6, 2, 0, 1, 1)
+        self.baudRateComboBox = QtWidgets.QComboBox(parent=EspBackupRestoreFirmwareDialog)
+        self.baudRateComboBox.setObjectName("baudRateComboBox")
+        self.gridLayout.addWidget(self.baudRateComboBox, 2, 1, 1, 1)
+        self.label_3 = QtWidgets.QLabel(parent=EspBackupRestoreFirmwareDialog)
+        self.label_3.setToolTip("")
+        self.label_3.setObjectName("label_3")
+        self.gridLayout.addWidget(self.label_3, 3, 0, 1, 1)
+        self.modeComboBox = QtWidgets.QComboBox(parent=EspBackupRestoreFirmwareDialog)
+        self.modeComboBox.setObjectName("modeComboBox")
+        self.gridLayout.addWidget(self.modeComboBox, 3, 1, 1, 1)
+        self.modeInfoLabel = QtWidgets.QLabel(parent=EspBackupRestoreFirmwareDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.modeInfoLabel.sizePolicy().hasHeightForWidth())
+        self.modeInfoLabel.setSizePolicy(sizePolicy)
+        self.modeInfoLabel.setWordWrap(True)
+        self.modeInfoLabel.setObjectName("modeInfoLabel")
+        self.gridLayout.addWidget(self.modeInfoLabel, 3, 2, 1, 1)
+        self.label_4 = QtWidgets.QLabel(parent=EspBackupRestoreFirmwareDialog)
+        self.label_4.setObjectName("label_4")
+        self.gridLayout.addWidget(self.label_4, 4, 0, 1, 1)
+        self.firmwarePicker = EricPathPicker(parent=EspBackupRestoreFirmwareDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.firmwarePicker.sizePolicy().hasHeightForWidth())
+        self.firmwarePicker.setSizePolicy(sizePolicy)
+        self.firmwarePicker.setFocusPolicy(QtCore.Qt.FocusPolicy.WheelFocus)
+        self.firmwarePicker.setObjectName("firmwarePicker")
+        self.gridLayout.addWidget(self.firmwarePicker, 4, 1, 1, 2)
+        self.verticalLayout.addLayout(self.gridLayout)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=EspBackupRestoreFirmwareDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(EspBackupRestoreFirmwareDialog)
+        self.buttonBox.accepted.connect(EspBackupRestoreFirmwareDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(EspBackupRestoreFirmwareDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(EspBackupRestoreFirmwareDialog)
+        EspBackupRestoreFirmwareDialog.setTabOrder(self.espComboBox, self.sizeComboBox)
+        EspBackupRestoreFirmwareDialog.setTabOrder(self.sizeComboBox, self.baudRateComboBox)
+        EspBackupRestoreFirmwareDialog.setTabOrder(self.baudRateComboBox, self.modeComboBox)
+        EspBackupRestoreFirmwareDialog.setTabOrder(self.modeComboBox, self.firmwarePicker)
+
+    def retranslateUi(self, EspBackupRestoreFirmwareDialog):
+        _translate = QtCore.QCoreApplication.translate
+        self.label.setText(_translate("EspBackupRestoreFirmwareDialog", "ESP Chip Type:"))
+        self.espComboBox.setToolTip(_translate("EspBackupRestoreFirmwareDialog", "Select the ESP chip type"))
+        self.label_2.setText(_translate("EspBackupRestoreFirmwareDialog", "Firmware Size:"))
+        self.sizeComboBox.setToolTip(_translate("EspBackupRestoreFirmwareDialog", "Select the firmware size"))
+        self.sizeInfoLabel.setText(_translate("EspBackupRestoreFirmwareDialog", "Leave empty to auto detect. size."))
+        self.label_6.setText(_translate("EspBackupRestoreFirmwareDialog", "Baud Rate:"))
+        self.baudRateComboBox.setToolTip(_translate("EspBackupRestoreFirmwareDialog", "Select the baud rate to be used for flashing (default: 115.200 bps)"))
+        self.label_3.setText(_translate("EspBackupRestoreFirmwareDialog", "Flash Mode:"))
+        self.modeComboBox.setToolTip(_translate("EspBackupRestoreFirmwareDialog", "Select the flash mode"))
+        self.modeInfoLabel.setText(_translate("EspBackupRestoreFirmwareDialog", "Leave empty to use the default mode."))
+        self.label_4.setText(_translate("EspBackupRestoreFirmwareDialog", "Firmware:"))
+        self.firmwarePicker.setToolTip(_translate("EspBackupRestoreFirmwareDialog", "Enter the path of the firmware file"))
+from eric7.EricWidgets.EricPathPicker import EricPathPicker
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/MicroPython/Devices/EspDialogs/Ui_EspFirmwareSelectionDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,104 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/MicroPython/Devices/EspDialogs/EspFirmwareSelectionDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_EspFirmwareSelectionDialog(object):
+    def setupUi(self, EspFirmwareSelectionDialog):
+        EspFirmwareSelectionDialog.setObjectName("EspFirmwareSelectionDialog")
+        EspFirmwareSelectionDialog.resize(500, 228)
+        EspFirmwareSelectionDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(EspFirmwareSelectionDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.gridLayout = QtWidgets.QGridLayout()
+        self.gridLayout.setObjectName("gridLayout")
+        self.label_5 = QtWidgets.QLabel(parent=EspFirmwareSelectionDialog)
+        self.label_5.setObjectName("label_5")
+        self.gridLayout.addWidget(self.label_5, 3, 0, 1, 1)
+        self.label_4 = QtWidgets.QLabel(parent=EspFirmwareSelectionDialog)
+        self.label_4.setObjectName("label_4")
+        self.gridLayout.addWidget(self.label_4, 4, 2, 1, 1)
+        self.addressLabel = QtWidgets.QLabel(parent=EspFirmwareSelectionDialog)
+        self.addressLabel.setObjectName("addressLabel")
+        self.gridLayout.addWidget(self.addressLabel, 5, 0, 1, 1)
+        self.addressEdit = QtWidgets.QLineEdit(parent=EspFirmwareSelectionDialog)
+        self.addressEdit.setMaxLength(7)
+        self.addressEdit.setClearButtonEnabled(True)
+        self.addressEdit.setObjectName("addressEdit")
+        self.gridLayout.addWidget(self.addressEdit, 5, 1, 1, 2)
+        self.modeComboBox = QtWidgets.QComboBox(parent=EspFirmwareSelectionDialog)
+        self.modeComboBox.setObjectName("modeComboBox")
+        self.gridLayout.addWidget(self.modeComboBox, 4, 1, 1, 1)
+        self.label_3 = QtWidgets.QLabel(parent=EspFirmwareSelectionDialog)
+        self.label_3.setToolTip("")
+        self.label_3.setObjectName("label_3")
+        self.gridLayout.addWidget(self.label_3, 4, 0, 1, 1)
+        self.label_2 = QtWidgets.QLabel(parent=EspFirmwareSelectionDialog)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 1, 0, 1, 1)
+        spacerItem = QtWidgets.QSpacerItem(298, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout.addItem(spacerItem, 3, 2, 1, 1)
+        self.espComboBox = QtWidgets.QComboBox(parent=EspFirmwareSelectionDialog)
+        self.espComboBox.setSizeAdjustPolicy(QtWidgets.QComboBox.SizeAdjustPolicy.AdjustToContents)
+        self.espComboBox.setObjectName("espComboBox")
+        self.gridLayout.addWidget(self.espComboBox, 0, 1, 1, 1)
+        self.baudRateComboBox = QtWidgets.QComboBox(parent=EspFirmwareSelectionDialog)
+        self.baudRateComboBox.setObjectName("baudRateComboBox")
+        self.gridLayout.addWidget(self.baudRateComboBox, 3, 1, 1, 1)
+        self.firmwarePicker = EricPathPicker(parent=EspFirmwareSelectionDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.firmwarePicker.sizePolicy().hasHeightForWidth())
+        self.firmwarePicker.setSizePolicy(sizePolicy)
+        self.firmwarePicker.setFocusPolicy(QtCore.Qt.FocusPolicy.WheelFocus)
+        self.firmwarePicker.setObjectName("firmwarePicker")
+        self.gridLayout.addWidget(self.firmwarePicker, 1, 1, 1, 2)
+        self.label = QtWidgets.QLabel(parent=EspFirmwareSelectionDialog)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
+        spacerItem1 = QtWidgets.QSpacerItem(318, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout.addItem(spacerItem1, 0, 2, 1, 1)
+        self.cpyCheckBox = QtWidgets.QCheckBox(parent=EspFirmwareSelectionDialog)
+        self.cpyCheckBox.setObjectName("cpyCheckBox")
+        self.gridLayout.addWidget(self.cpyCheckBox, 2, 0, 1, 3)
+        self.verticalLayout.addLayout(self.gridLayout)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=EspFirmwareSelectionDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(EspFirmwareSelectionDialog)
+        self.buttonBox.accepted.connect(EspFirmwareSelectionDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(EspFirmwareSelectionDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(EspFirmwareSelectionDialog)
+        EspFirmwareSelectionDialog.setTabOrder(self.espComboBox, self.firmwarePicker)
+        EspFirmwareSelectionDialog.setTabOrder(self.firmwarePicker, self.cpyCheckBox)
+        EspFirmwareSelectionDialog.setTabOrder(self.cpyCheckBox, self.baudRateComboBox)
+        EspFirmwareSelectionDialog.setTabOrder(self.baudRateComboBox, self.modeComboBox)
+        EspFirmwareSelectionDialog.setTabOrder(self.modeComboBox, self.addressEdit)
+
+    def retranslateUi(self, EspFirmwareSelectionDialog):
+        _translate = QtCore.QCoreApplication.translate
+        EspFirmwareSelectionDialog.setWindowTitle(_translate("EspFirmwareSelectionDialog", "Flash µPy/CPy Firmware"))
+        self.label_5.setText(_translate("EspFirmwareSelectionDialog", "Baud Rate:"))
+        self.label_4.setText(_translate("EspFirmwareSelectionDialog", "Leave empty to use the default mode."))
+        self.addressLabel.setText(_translate("EspFirmwareSelectionDialog", "Address:"))
+        self.addressEdit.setToolTip(_translate("EspFirmwareSelectionDialog", "Enter the flash addres in the hexadecimal form"))
+        self.modeComboBox.setToolTip(_translate("EspFirmwareSelectionDialog", "Select the flash mode"))
+        self.label_3.setText(_translate("EspFirmwareSelectionDialog", "Flash Mode:"))
+        self.label_2.setText(_translate("EspFirmwareSelectionDialog", "Firmware:"))
+        self.espComboBox.setToolTip(_translate("EspFirmwareSelectionDialog", "Select the ESP chip type"))
+        self.baudRateComboBox.setToolTip(_translate("EspFirmwareSelectionDialog", "Select the baud rate to be used for flashing (default: 115.200 bps)"))
+        self.firmwarePicker.setToolTip(_translate("EspFirmwareSelectionDialog", "Enter the path of the firmware file"))
+        self.label.setText(_translate("EspFirmwareSelectionDialog", "ESP Chip Type:"))
+        self.cpyCheckBox.setToolTip(_translate("EspFirmwareSelectionDialog", "Check this, if the firware to be loaded is CircuitPython (changes the flash address for some chips)."))
+        self.cpyCheckBox.setText(_translate("EspFirmwareSelectionDialog", "Firmware is CircuitPython"))
+from eric7.EricWidgets.EricPathPicker import EricPathPicker
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/MicroPython/EthernetDialogs/Ui_EthernetStatusDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,48 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/MicroPython/EthernetDialogs/EthernetStatusDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_EthernetStatusDialog(object):
+    def setupUi(self, EthernetStatusDialog):
+        EthernetStatusDialog.setObjectName("EthernetStatusDialog")
+        EthernetStatusDialog.resize(600, 650)
+        EthernetStatusDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(EthernetStatusDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.label = QtWidgets.QLabel(parent=EthernetStatusDialog)
+        font = QtGui.QFont()
+        font.setPointSize(14)
+        font.setBold(True)
+        self.label.setFont(font)
+        self.label.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
+        self.label.setObjectName("label")
+        self.verticalLayout.addWidget(self.label)
+        self.statusTree = QtWidgets.QTreeWidget(parent=EthernetStatusDialog)
+        self.statusTree.setRootIsDecorated(False)
+        self.statusTree.setItemsExpandable(False)
+        self.statusTree.setHeaderHidden(True)
+        self.statusTree.setObjectName("statusTree")
+        self.statusTree.headerItem().setText(0, "1")
+        self.verticalLayout.addWidget(self.statusTree)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=EthernetStatusDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(EthernetStatusDialog)
+        self.buttonBox.accepted.connect(EthernetStatusDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(EthernetStatusDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(EthernetStatusDialog)
+
+    def retranslateUi(self, EthernetStatusDialog):
+        _translate = QtCore.QCoreApplication.translate
+        EthernetStatusDialog.setWindowTitle(_translate("EthernetStatusDialog", "Ethernet Status"))
+        self.label.setText(_translate("EthernetStatusDialog", "Ethernet Status"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/MicroPython/EthernetDialogs/Ui_HostnameDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,44 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/MicroPython/EthernetDialogs/HostnameDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_HostnameDialog(object):
+    def setupUi(self, HostnameDialog):
+        HostnameDialog.setObjectName("HostnameDialog")
+        HostnameDialog.resize(400, 78)
+        HostnameDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(HostnameDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.label_5 = QtWidgets.QLabel(parent=HostnameDialog)
+        self.label_5.setObjectName("label_5")
+        self.horizontalLayout_2.addWidget(self.label_5)
+        self.hostnameEdit = EricHostnameInputWidget(parent=HostnameDialog)
+        self.hostnameEdit.setObjectName("hostnameEdit")
+        self.horizontalLayout_2.addWidget(self.hostnameEdit)
+        self.verticalLayout.addLayout(self.horizontalLayout_2)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=HostnameDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(HostnameDialog)
+        self.buttonBox.accepted.connect(HostnameDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(HostnameDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(HostnameDialog)
+
+    def retranslateUi(self, HostnameDialog):
+        _translate = QtCore.QCoreApplication.translate
+        HostnameDialog.setWindowTitle(_translate("HostnameDialog", "Host Name"))
+        self.label_5.setText(_translate("HostnameDialog", "Hostname:"))
+        self.hostnameEdit.setToolTip(_translate("HostnameDialog", "Enter the host name for the device (leave empty for MicroPython &lt; 1.20)."))
+from eric7.EricNetwork.EricHostnameInputWidget import EricHostnameInputWidget
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/MicroPython/EthernetDialogs/Ui_IPv4AddressDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,94 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/MicroPython/EthernetDialogs/IPv4AddressDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_IPv4AddressDialog(object):
+    def setupUi(self, IPv4AddressDialog):
+        IPv4AddressDialog.setObjectName("IPv4AddressDialog")
+        IPv4AddressDialog.resize(400, 251)
+        IPv4AddressDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(IPv4AddressDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.label_5 = QtWidgets.QLabel(parent=IPv4AddressDialog)
+        self.label_5.setObjectName("label_5")
+        self.horizontalLayout_2.addWidget(self.label_5)
+        self.hostnameEdit = EricHostnameInputWidget(parent=IPv4AddressDialog)
+        self.hostnameEdit.setObjectName("hostnameEdit")
+        self.horizontalLayout_2.addWidget(self.hostnameEdit)
+        self.verticalLayout.addLayout(self.horizontalLayout_2)
+        self.dhcpCheckBox = QtWidgets.QCheckBox(parent=IPv4AddressDialog)
+        self.dhcpCheckBox.setObjectName("dhcpCheckBox")
+        self.verticalLayout.addWidget(self.dhcpCheckBox)
+        self.ipAddressGroup = QtWidgets.QGroupBox(parent=IPv4AddressDialog)
+        self.ipAddressGroup.setObjectName("ipAddressGroup")
+        self.horizontalLayout = QtWidgets.QHBoxLayout(self.ipAddressGroup)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.gridLayout = QtWidgets.QGridLayout()
+        self.gridLayout.setObjectName("gridLayout")
+        self.label = QtWidgets.QLabel(parent=self.ipAddressGroup)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
+        self.addressEdit = EricIPv4InputWidget(parent=self.ipAddressGroup)
+        self.addressEdit.setFocusPolicy(QtCore.Qt.FocusPolicy.NoFocus)
+        self.addressEdit.setObjectName("addressEdit")
+        self.gridLayout.addWidget(self.addressEdit, 0, 1, 1, 1)
+        self.label_2 = QtWidgets.QLabel(parent=self.ipAddressGroup)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 1, 0, 1, 1)
+        self.netmaskEdit = EricIPv4InputWidget(parent=self.ipAddressGroup)
+        self.netmaskEdit.setFocusPolicy(QtCore.Qt.FocusPolicy.NoFocus)
+        self.netmaskEdit.setObjectName("netmaskEdit")
+        self.gridLayout.addWidget(self.netmaskEdit, 1, 1, 1, 1)
+        self.label_3 = QtWidgets.QLabel(parent=self.ipAddressGroup)
+        self.label_3.setObjectName("label_3")
+        self.gridLayout.addWidget(self.label_3, 2, 0, 1, 1)
+        self.gatewayEdit = EricIPv4InputWidget(parent=self.ipAddressGroup)
+        self.gatewayEdit.setFocusPolicy(QtCore.Qt.FocusPolicy.NoFocus)
+        self.gatewayEdit.setObjectName("gatewayEdit")
+        self.gridLayout.addWidget(self.gatewayEdit, 2, 1, 1, 1)
+        self.label_4 = QtWidgets.QLabel(parent=self.ipAddressGroup)
+        self.label_4.setObjectName("label_4")
+        self.gridLayout.addWidget(self.label_4, 3, 0, 1, 1)
+        self.dnsEdit = EricIPv4InputWidget(parent=self.ipAddressGroup)
+        self.dnsEdit.setFocusPolicy(QtCore.Qt.FocusPolicy.NoFocus)
+        self.dnsEdit.setObjectName("dnsEdit")
+        self.gridLayout.addWidget(self.dnsEdit, 3, 1, 1, 1)
+        self.horizontalLayout.addLayout(self.gridLayout)
+        spacerItem = QtWidgets.QSpacerItem(283, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem)
+        self.verticalLayout.addWidget(self.ipAddressGroup)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=IPv4AddressDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(IPv4AddressDialog)
+        self.buttonBox.accepted.connect(IPv4AddressDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(IPv4AddressDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(IPv4AddressDialog)
+        IPv4AddressDialog.setTabOrder(self.hostnameEdit, self.dhcpCheckBox)
+
+    def retranslateUi(self, IPv4AddressDialog):
+        _translate = QtCore.QCoreApplication.translate
+        IPv4AddressDialog.setWindowTitle(_translate("IPv4AddressDialog", "IPv4 Address"))
+        self.label_5.setText(_translate("IPv4AddressDialog", "Hostname:"))
+        self.hostnameEdit.setToolTip(_translate("IPv4AddressDialog", "Enter the host name for the device (leave empty for MicroPython &lt; 1.20)."))
+        self.dhcpCheckBox.setToolTip(_translate("IPv4AddressDialog", "Select to get the IPv4 address via DHCP."))
+        self.dhcpCheckBox.setText(_translate("IPv4AddressDialog", "Dynamic IPv4 Address (DHCP)"))
+        self.ipAddressGroup.setTitle(_translate("IPv4AddressDialog", "IPv4 Address"))
+        self.label.setText(_translate("IPv4AddressDialog", "Address:"))
+        self.label_2.setText(_translate("IPv4AddressDialog", "Netmask:"))
+        self.label_3.setText(_translate("IPv4AddressDialog", "Gateway:"))
+        self.label_4.setText(_translate("IPv4AddressDialog", "DNS:"))
+from eric7.EricNetwork.EricHostnameInputWidget import EricHostnameInputWidget
+from eric7.EricNetwork.EricIPv4InputWidget import EricIPv4InputWidget
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/MicroPython/Ui_AddEditDevicesDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,98 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/MicroPython/AddEditDevicesDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_AddEditDevicesDialog(object):
+    def setupUi(self, AddEditDevicesDialog):
+        AddEditDevicesDialog.setObjectName("AddEditDevicesDialog")
+        AddEditDevicesDialog.resize(500, 270)
+        AddEditDevicesDialog.setSizeGripEnabled(True)
+        self.gridLayout = QtWidgets.QGridLayout(AddEditDevicesDialog)
+        self.gridLayout.setObjectName("gridLayout")
+        self.label = QtWidgets.QLabel(parent=AddEditDevicesDialog)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
+        self.vidEdit = QtWidgets.QLineEdit(parent=AddEditDevicesDialog)
+        self.vidEdit.setReadOnly(True)
+        self.vidEdit.setObjectName("vidEdit")
+        self.gridLayout.addWidget(self.vidEdit, 0, 1, 1, 1)
+        self.label_2 = QtWidgets.QLabel(parent=AddEditDevicesDialog)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 1, 0, 1, 1)
+        self.pidEdit = QtWidgets.QLineEdit(parent=AddEditDevicesDialog)
+        self.pidEdit.setReadOnly(True)
+        self.pidEdit.setObjectName("pidEdit")
+        self.gridLayout.addWidget(self.pidEdit, 1, 1, 1, 1)
+        self.label_3 = QtWidgets.QLabel(parent=AddEditDevicesDialog)
+        self.label_3.setObjectName("label_3")
+        self.gridLayout.addWidget(self.label_3, 2, 0, 1, 1)
+        self.descriptionEdit = QtWidgets.QLineEdit(parent=AddEditDevicesDialog)
+        self.descriptionEdit.setReadOnly(True)
+        self.descriptionEdit.setObjectName("descriptionEdit")
+        self.gridLayout.addWidget(self.descriptionEdit, 2, 1, 1, 1)
+        self.label_4 = QtWidgets.QLabel(parent=AddEditDevicesDialog)
+        self.label_4.setObjectName("label_4")
+        self.gridLayout.addWidget(self.label_4, 3, 0, 1, 1)
+        self.deviceTypeComboBox = QtWidgets.QComboBox(parent=AddEditDevicesDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.deviceTypeComboBox.sizePolicy().hasHeightForWidth())
+        self.deviceTypeComboBox.setSizePolicy(sizePolicy)
+        self.deviceTypeComboBox.setObjectName("deviceTypeComboBox")
+        self.gridLayout.addWidget(self.deviceTypeComboBox, 3, 1, 1, 1)
+        self.label_5 = QtWidgets.QLabel(parent=AddEditDevicesDialog)
+        self.label_5.setObjectName("label_5")
+        self.gridLayout.addWidget(self.label_5, 4, 0, 1, 1)
+        self.dataVolumeEdit = QtWidgets.QLineEdit(parent=AddEditDevicesDialog)
+        self.dataVolumeEdit.setClearButtonEnabled(True)
+        self.dataVolumeEdit.setObjectName("dataVolumeEdit")
+        self.gridLayout.addWidget(self.dataVolumeEdit, 4, 1, 1, 1)
+        self.label_6 = QtWidgets.QLabel(parent=AddEditDevicesDialog)
+        self.label_6.setObjectName("label_6")
+        self.gridLayout.addWidget(self.label_6, 5, 0, 1, 1)
+        self.flashVolumeEdit = QtWidgets.QLineEdit(parent=AddEditDevicesDialog)
+        self.flashVolumeEdit.setClearButtonEnabled(True)
+        self.flashVolumeEdit.setObjectName("flashVolumeEdit")
+        self.gridLayout.addWidget(self.flashVolumeEdit, 5, 1, 1, 1)
+        self.reportButton = QtWidgets.QPushButton(parent=AddEditDevicesDialog)
+        self.reportButton.setObjectName("reportButton")
+        self.gridLayout.addWidget(self.reportButton, 6, 0, 1, 2)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=AddEditDevicesDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout.addWidget(self.buttonBox, 7, 0, 1, 2)
+
+        self.retranslateUi(AddEditDevicesDialog)
+        self.buttonBox.accepted.connect(AddEditDevicesDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(AddEditDevicesDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(AddEditDevicesDialog)
+        AddEditDevicesDialog.setTabOrder(self.vidEdit, self.pidEdit)
+        AddEditDevicesDialog.setTabOrder(self.pidEdit, self.descriptionEdit)
+        AddEditDevicesDialog.setTabOrder(self.descriptionEdit, self.deviceTypeComboBox)
+        AddEditDevicesDialog.setTabOrder(self.deviceTypeComboBox, self.dataVolumeEdit)
+        AddEditDevicesDialog.setTabOrder(self.dataVolumeEdit, self.flashVolumeEdit)
+        AddEditDevicesDialog.setTabOrder(self.flashVolumeEdit, self.reportButton)
+
+    def retranslateUi(self, AddEditDevicesDialog):
+        _translate = QtCore.QCoreApplication.translate
+        AddEditDevicesDialog.setWindowTitle(_translate("AddEditDevicesDialog", "Add Unknown Device"))
+        self.label.setText(_translate("AddEditDevicesDialog", "Vendor ID:"))
+        self.label_2.setText(_translate("AddEditDevicesDialog", "Product ID:"))
+        self.label_3.setText(_translate("AddEditDevicesDialog", "Description:"))
+        self.label_4.setText(_translate("AddEditDevicesDialog", "Device Type:"))
+        self.deviceTypeComboBox.setToolTip(_translate("AddEditDevicesDialog", "Select the device type"))
+        self.label_5.setText(_translate("AddEditDevicesDialog", "Data Volume:"))
+        self.dataVolumeEdit.setToolTip(_translate("AddEditDevicesDialog", "Enter the volume name used for direct acces to the device"))
+        self.label_6.setText(_translate("AddEditDevicesDialog", "Flash Volume:"))
+        self.flashVolumeEdit.setToolTip(_translate("AddEditDevicesDialog", "Enter the volume name used for flashing if this device supports UF2"))
+        self.reportButton.setToolTip(_translate("AddEditDevicesDialog", "Press to report the entered data via email"))
+        self.reportButton.setText(_translate("AddEditDevicesDialog", "Report Data"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/MicroPython/Ui_BoardDataDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,46 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/MicroPython/BoardDataDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_BoardDataDialog(object):
+    def setupUi(self, BoardDataDialog):
+        BoardDataDialog.setObjectName("BoardDataDialog")
+        BoardDataDialog.resize(600, 650)
+        BoardDataDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(BoardDataDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.label = QtWidgets.QLabel(parent=BoardDataDialog)
+        font = QtGui.QFont()
+        font.setPointSize(14)
+        font.setBold(True)
+        self.label.setFont(font)
+        self.label.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
+        self.label.setObjectName("label")
+        self.verticalLayout.addWidget(self.label)
+        self.dataTree = QtWidgets.QTreeWidget(parent=BoardDataDialog)
+        self.dataTree.setHeaderHidden(True)
+        self.dataTree.setObjectName("dataTree")
+        self.dataTree.headerItem().setText(0, "1")
+        self.verticalLayout.addWidget(self.dataTree)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=BoardDataDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(BoardDataDialog)
+        self.buttonBox.accepted.connect(BoardDataDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(BoardDataDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(BoardDataDialog)
+
+    def retranslateUi(self, BoardDataDialog):
+        _translate = QtCore.QCoreApplication.translate
+        BoardDataDialog.setWindowTitle(_translate("BoardDataDialog", "Board Data"))
+        self.label.setText(_translate("BoardDataDialog", "Board Data"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/MicroPython/Ui_ConnectionSelectionDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,58 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/MicroPython/ConnectionSelectionDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_ConnectionSelectionDialog(object):
+    def setupUi(self, ConnectionSelectionDialog):
+        ConnectionSelectionDialog.setObjectName("ConnectionSelectionDialog")
+        ConnectionSelectionDialog.resize(400, 108)
+        ConnectionSelectionDialog.setSizeGripEnabled(True)
+        self.gridLayout = QtWidgets.QGridLayout(ConnectionSelectionDialog)
+        self.gridLayout.setObjectName("gridLayout")
+        self.label = QtWidgets.QLabel(parent=ConnectionSelectionDialog)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
+        self.portNameComboBox = QtWidgets.QComboBox(parent=ConnectionSelectionDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.portNameComboBox.sizePolicy().hasHeightForWidth())
+        self.portNameComboBox.setSizePolicy(sizePolicy)
+        self.portNameComboBox.setObjectName("portNameComboBox")
+        self.gridLayout.addWidget(self.portNameComboBox, 0, 1, 1, 1)
+        self.label_2 = QtWidgets.QLabel(parent=ConnectionSelectionDialog)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 1, 0, 1, 1)
+        self.deviceTypeComboBox = QtWidgets.QComboBox(parent=ConnectionSelectionDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.deviceTypeComboBox.sizePolicy().hasHeightForWidth())
+        self.deviceTypeComboBox.setSizePolicy(sizePolicy)
+        self.deviceTypeComboBox.setObjectName("deviceTypeComboBox")
+        self.gridLayout.addWidget(self.deviceTypeComboBox, 1, 1, 1, 1)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=ConnectionSelectionDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout.addWidget(self.buttonBox, 2, 0, 1, 2)
+
+        self.retranslateUi(ConnectionSelectionDialog)
+        self.buttonBox.accepted.connect(ConnectionSelectionDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(ConnectionSelectionDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(ConnectionSelectionDialog)
+
+    def retranslateUi(self, ConnectionSelectionDialog):
+        _translate = QtCore.QCoreApplication.translate
+        ConnectionSelectionDialog.setWindowTitle(_translate("ConnectionSelectionDialog", "Port and Device Type Selection"))
+        self.label.setText(_translate("ConnectionSelectionDialog", "Serial Port Name:"))
+        self.portNameComboBox.setToolTip(_translate("ConnectionSelectionDialog", "Select the serial port name to connect"))
+        self.label_2.setText(_translate("ConnectionSelectionDialog", "Device Type:"))
+        self.deviceTypeComboBox.setToolTip(_translate("ConnectionSelectionDialog", "Select the device type"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/MicroPython/Ui_ConvertToUF2Dialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,83 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/MicroPython/ConvertToUF2Dialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_ConvertToUF2Dialog(object):
+    def setupUi(self, ConvertToUF2Dialog):
+        ConvertToUF2Dialog.setObjectName("ConvertToUF2Dialog")
+        ConvertToUF2Dialog.resize(600, 600)
+        ConvertToUF2Dialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(ConvertToUF2Dialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.gridLayout = QtWidgets.QGridLayout()
+        self.gridLayout.setObjectName("gridLayout")
+        self.label = QtWidgets.QLabel(parent=ConvertToUF2Dialog)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
+        self.firmwarePicker = EricPathPicker(parent=ConvertToUF2Dialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.firmwarePicker.sizePolicy().hasHeightForWidth())
+        self.firmwarePicker.setSizePolicy(sizePolicy)
+        self.firmwarePicker.setFocusPolicy(QtCore.Qt.FocusPolicy.WheelFocus)
+        self.firmwarePicker.setObjectName("firmwarePicker")
+        self.gridLayout.addWidget(self.firmwarePicker, 0, 1, 1, 2)
+        self.label_2 = QtWidgets.QLabel(parent=ConvertToUF2Dialog)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 1, 0, 1, 1)
+        self.familiesComboBox = QtWidgets.QComboBox(parent=ConvertToUF2Dialog)
+        self.familiesComboBox.setObjectName("familiesComboBox")
+        self.gridLayout.addWidget(self.familiesComboBox, 1, 1, 1, 2)
+        self.label_3 = QtWidgets.QLabel(parent=ConvertToUF2Dialog)
+        self.label_3.setObjectName("label_3")
+        self.gridLayout.addWidget(self.label_3, 2, 0, 1, 1)
+        self.addressEdit = QtWidgets.QLineEdit(parent=ConvertToUF2Dialog)
+        self.addressEdit.setMaxLength(4)
+        self.addressEdit.setClearButtonEnabled(True)
+        self.addressEdit.setObjectName("addressEdit")
+        self.gridLayout.addWidget(self.addressEdit, 2, 1, 1, 1)
+        spacerItem = QtWidgets.QSpacerItem(338, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout.addItem(spacerItem, 2, 2, 1, 1)
+        self.convertButton = QtWidgets.QPushButton(parent=ConvertToUF2Dialog)
+        self.convertButton.setObjectName("convertButton")
+        self.gridLayout.addWidget(self.convertButton, 3, 0, 1, 3)
+        self.verticalLayout.addLayout(self.gridLayout)
+        self.outputEdit = QtWidgets.QTextEdit(parent=ConvertToUF2Dialog)
+        self.outputEdit.setReadOnly(True)
+        self.outputEdit.setObjectName("outputEdit")
+        self.verticalLayout.addWidget(self.outputEdit)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=ConvertToUF2Dialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(ConvertToUF2Dialog)
+        self.buttonBox.accepted.connect(ConvertToUF2Dialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(ConvertToUF2Dialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(ConvertToUF2Dialog)
+        ConvertToUF2Dialog.setTabOrder(self.firmwarePicker, self.familiesComboBox)
+        ConvertToUF2Dialog.setTabOrder(self.familiesComboBox, self.addressEdit)
+        ConvertToUF2Dialog.setTabOrder(self.addressEdit, self.convertButton)
+        ConvertToUF2Dialog.setTabOrder(self.convertButton, self.outputEdit)
+
+    def retranslateUi(self, ConvertToUF2Dialog):
+        _translate = QtCore.QCoreApplication.translate
+        ConvertToUF2Dialog.setWindowTitle(_translate("ConvertToUF2Dialog", "Convert To UF2"))
+        self.label.setText(_translate("ConvertToUF2Dialog", "Firmware File:"))
+        self.firmwarePicker.setToolTip(_translate("ConvertToUF2Dialog", "Enter the path of the MicroPython firmware file to be converted."))
+        self.label_2.setText(_translate("ConvertToUF2Dialog", "Chip Family:"))
+        self.familiesComboBox.setToolTip(_translate("ConvertToUF2Dialog", "Select the chip family of the firmware file."))
+        self.label_3.setText(_translate("ConvertToUF2Dialog", "Base Address:"))
+        self.addressEdit.setToolTip(_translate("ConvertToUF2Dialog", "Enter the base address for .bin firmware files or leave empty to use the default (0x2000)."))
+        self.convertButton.setToolTip(_translate("ConvertToUF2Dialog", "Press to start the conversion process."))
+        self.convertButton.setText(_translate("ConvertToUF2Dialog", "Convert"))
+from eric7.EricWidgets.EricPathPicker import EricPathPicker
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/MicroPython/Ui_IgnoredDevicesDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,36 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/MicroPython/IgnoredDevicesDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_IgnoredDevicesDialog(object):
+    def setupUi(self, IgnoredDevicesDialog):
+        IgnoredDevicesDialog.setObjectName("IgnoredDevicesDialog")
+        IgnoredDevicesDialog.resize(500, 350)
+        IgnoredDevicesDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(IgnoredDevicesDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.devicesEditWidget = EricStringListEditWidget(parent=IgnoredDevicesDialog)
+        self.devicesEditWidget.setObjectName("devicesEditWidget")
+        self.verticalLayout.addWidget(self.devicesEditWidget)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=IgnoredDevicesDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(IgnoredDevicesDialog)
+        self.buttonBox.accepted.connect(IgnoredDevicesDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(IgnoredDevicesDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(IgnoredDevicesDialog)
+
+    def retranslateUi(self, IgnoredDevicesDialog):
+        _translate = QtCore.QCoreApplication.translate
+        IgnoredDevicesDialog.setWindowTitle(_translate("IgnoredDevicesDialog", "Ignored Serial Devices"))
+from eric7.EricWidgets.EricStringListEditWidget import EricStringListEditWidget
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/MicroPython/Ui_MicroPythonFileManagerWidget.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,167 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/MicroPython/MicroPythonFileManagerWidget.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_MicroPythonFileManagerWidget(object):
+    def setupUi(self, MicroPythonFileManagerWidget):
+        MicroPythonFileManagerWidget.setObjectName("MicroPythonFileManagerWidget")
+        MicroPythonFileManagerWidget.resize(675, 338)
+        self.gridLayout = QtWidgets.QGridLayout(MicroPythonFileManagerWidget)
+        self.gridLayout.setObjectName("gridLayout")
+        self.label = QtWidgets.QLabel(parent=MicroPythonFileManagerWidget)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.label.sizePolicy().hasHeightForWidth())
+        self.label.setSizePolicy(sizePolicy)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
+        self.label_2 = QtWidgets.QLabel(parent=MicroPythonFileManagerWidget)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.label_2.sizePolicy().hasHeightForWidth())
+        self.label_2.setSizePolicy(sizePolicy)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 0, 2, 1, 1)
+        self.deviceConnectedLed = EricLed(parent=MicroPythonFileManagerWidget)
+        self.deviceConnectedLed.setObjectName("deviceConnectedLed")
+        self.gridLayout.addWidget(self.deviceConnectedLed, 0, 3, 1, 1)
+        self.localFileTreeWidget = QtWidgets.QTreeWidget(parent=MicroPythonFileManagerWidget)
+        self.localFileTreeWidget.setContextMenuPolicy(QtCore.Qt.ContextMenuPolicy.CustomContextMenu)
+        self.localFileTreeWidget.setAlternatingRowColors(True)
+        self.localFileTreeWidget.setObjectName("localFileTreeWidget")
+        self.localFileTreeWidget.header().setSortIndicatorShown(True)
+        self.gridLayout.addWidget(self.localFileTreeWidget, 1, 0, 1, 1)
+        self.verticalLayout = QtWidgets.QVBoxLayout()
+        self.verticalLayout.setObjectName("verticalLayout")
+        spacerItem = QtWidgets.QSpacerItem(20, 26, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout.addItem(spacerItem)
+        self.syncButton = QtWidgets.QToolButton(parent=MicroPythonFileManagerWidget)
+        self.syncButton.setObjectName("syncButton")
+        self.verticalLayout.addWidget(self.syncButton)
+        self.putButton = QtWidgets.QToolButton(parent=MicroPythonFileManagerWidget)
+        self.putButton.setObjectName("putButton")
+        self.verticalLayout.addWidget(self.putButton)
+        self.putAsButton = QtWidgets.QToolButton(parent=MicroPythonFileManagerWidget)
+        self.putAsButton.setObjectName("putAsButton")
+        self.verticalLayout.addWidget(self.putAsButton)
+        self.getButton = QtWidgets.QToolButton(parent=MicroPythonFileManagerWidget)
+        self.getButton.setObjectName("getButton")
+        self.verticalLayout.addWidget(self.getButton)
+        self.getAsButton = QtWidgets.QToolButton(parent=MicroPythonFileManagerWidget)
+        self.getAsButton.setObjectName("getAsButton")
+        self.verticalLayout.addWidget(self.getAsButton)
+        spacerItem1 = QtWidgets.QSpacerItem(20, 26, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout.addItem(spacerItem1)
+        self.gridLayout.addLayout(self.verticalLayout, 1, 1, 1, 1)
+        self.deviceFileTreeWidget = QtWidgets.QTreeWidget(parent=MicroPythonFileManagerWidget)
+        self.deviceFileTreeWidget.setContextMenuPolicy(QtCore.Qt.ContextMenuPolicy.CustomContextMenu)
+        self.deviceFileTreeWidget.setAlternatingRowColors(True)
+        self.deviceFileTreeWidget.setObjectName("deviceFileTreeWidget")
+        self.deviceFileTreeWidget.header().setSortIndicatorShown(True)
+        self.gridLayout.addWidget(self.deviceFileTreeWidget, 1, 2, 1, 1)
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout()
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        spacerItem2 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout_2.addItem(spacerItem2)
+        self.openButton = QtWidgets.QToolButton(parent=MicroPythonFileManagerWidget)
+        self.openButton.setObjectName("openButton")
+        self.verticalLayout_2.addWidget(self.openButton)
+        self.saveButton = QtWidgets.QToolButton(parent=MicroPythonFileManagerWidget)
+        self.saveButton.setObjectName("saveButton")
+        self.verticalLayout_2.addWidget(self.saveButton)
+        self.saveAsButton = QtWidgets.QToolButton(parent=MicroPythonFileManagerWidget)
+        self.saveAsButton.setObjectName("saveAsButton")
+        self.verticalLayout_2.addWidget(self.saveAsButton)
+        spacerItem3 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout_2.addItem(spacerItem3)
+        self.gridLayout.addLayout(self.verticalLayout_2, 1, 3, 1, 1)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setSpacing(2)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.localCwd = QtWidgets.QLineEdit(parent=MicroPythonFileManagerWidget)
+        self.localCwd.setReadOnly(True)
+        self.localCwd.setObjectName("localCwd")
+        self.horizontalLayout.addWidget(self.localCwd)
+        self.localUpButton = QtWidgets.QToolButton(parent=MicroPythonFileManagerWidget)
+        self.localUpButton.setObjectName("localUpButton")
+        self.horizontalLayout.addWidget(self.localUpButton)
+        self.localHomeButton = QtWidgets.QToolButton(parent=MicroPythonFileManagerWidget)
+        self.localHomeButton.setObjectName("localHomeButton")
+        self.horizontalLayout.addWidget(self.localHomeButton)
+        self.localReloadButton = QtWidgets.QToolButton(parent=MicroPythonFileManagerWidget)
+        self.localReloadButton.setObjectName("localReloadButton")
+        self.horizontalLayout.addWidget(self.localReloadButton)
+        self.gridLayout.addLayout(self.horizontalLayout, 2, 0, 1, 1)
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setSpacing(2)
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.deviceCwd = QtWidgets.QLineEdit(parent=MicroPythonFileManagerWidget)
+        self.deviceCwd.setReadOnly(True)
+        self.deviceCwd.setObjectName("deviceCwd")
+        self.horizontalLayout_2.addWidget(self.deviceCwd)
+        self.deviceUpButton = QtWidgets.QToolButton(parent=MicroPythonFileManagerWidget)
+        self.deviceUpButton.setObjectName("deviceUpButton")
+        self.horizontalLayout_2.addWidget(self.deviceUpButton)
+        self.deviceHomeButton = QtWidgets.QToolButton(parent=MicroPythonFileManagerWidget)
+        self.deviceHomeButton.setObjectName("deviceHomeButton")
+        self.horizontalLayout_2.addWidget(self.deviceHomeButton)
+        self.deviceReloadButton = QtWidgets.QToolButton(parent=MicroPythonFileManagerWidget)
+        self.deviceReloadButton.setObjectName("deviceReloadButton")
+        self.horizontalLayout_2.addWidget(self.deviceReloadButton)
+        self.gridLayout.addLayout(self.horizontalLayout_2, 2, 2, 1, 1)
+
+        self.retranslateUi(MicroPythonFileManagerWidget)
+        QtCore.QMetaObject.connectSlotsByName(MicroPythonFileManagerWidget)
+        MicroPythonFileManagerWidget.setTabOrder(self.localFileTreeWidget, self.deviceFileTreeWidget)
+        MicroPythonFileManagerWidget.setTabOrder(self.deviceFileTreeWidget, self.syncButton)
+        MicroPythonFileManagerWidget.setTabOrder(self.syncButton, self.putButton)
+        MicroPythonFileManagerWidget.setTabOrder(self.putButton, self.putAsButton)
+        MicroPythonFileManagerWidget.setTabOrder(self.putAsButton, self.getButton)
+        MicroPythonFileManagerWidget.setTabOrder(self.getButton, self.getAsButton)
+        MicroPythonFileManagerWidget.setTabOrder(self.getAsButton, self.localCwd)
+        MicroPythonFileManagerWidget.setTabOrder(self.localCwd, self.localUpButton)
+        MicroPythonFileManagerWidget.setTabOrder(self.localUpButton, self.localHomeButton)
+        MicroPythonFileManagerWidget.setTabOrder(self.localHomeButton, self.localReloadButton)
+        MicroPythonFileManagerWidget.setTabOrder(self.localReloadButton, self.deviceCwd)
+        MicroPythonFileManagerWidget.setTabOrder(self.deviceCwd, self.deviceUpButton)
+        MicroPythonFileManagerWidget.setTabOrder(self.deviceUpButton, self.deviceHomeButton)
+        MicroPythonFileManagerWidget.setTabOrder(self.deviceHomeButton, self.deviceReloadButton)
+
+    def retranslateUi(self, MicroPythonFileManagerWidget):
+        _translate = QtCore.QCoreApplication.translate
+        self.label.setText(_translate("MicroPythonFileManagerWidget", "Local Files"))
+        self.label_2.setText(_translate("MicroPythonFileManagerWidget", "Device Files"))
+        self.localFileTreeWidget.setSortingEnabled(True)
+        self.localFileTreeWidget.headerItem().setText(0, _translate("MicroPythonFileManagerWidget", "Name"))
+        self.localFileTreeWidget.headerItem().setText(1, _translate("MicroPythonFileManagerWidget", "Mode"))
+        self.localFileTreeWidget.headerItem().setText(2, _translate("MicroPythonFileManagerWidget", "Size"))
+        self.localFileTreeWidget.headerItem().setText(3, _translate("MicroPythonFileManagerWidget", "Time"))
+        self.syncButton.setToolTip(_translate("MicroPythonFileManagerWidget", "Press to sync the local directory to the device directory"))
+        self.putButton.setToolTip(_translate("MicroPythonFileManagerWidget", "Press to copy the selected file to the device"))
+        self.putAsButton.setToolTip(_translate("MicroPythonFileManagerWidget", "Press to copy the selected file to the device with a new name"))
+        self.getButton.setToolTip(_translate("MicroPythonFileManagerWidget", "Press to copy the selected file from the device"))
+        self.getAsButton.setToolTip(_translate("MicroPythonFileManagerWidget", "Press to copy the selected file from the device with a new name"))
+        self.deviceFileTreeWidget.setSortingEnabled(True)
+        self.deviceFileTreeWidget.headerItem().setText(0, _translate("MicroPythonFileManagerWidget", "Name"))
+        self.deviceFileTreeWidget.headerItem().setText(1, _translate("MicroPythonFileManagerWidget", "Mode"))
+        self.deviceFileTreeWidget.headerItem().setText(2, _translate("MicroPythonFileManagerWidget", "Size"))
+        self.deviceFileTreeWidget.headerItem().setText(3, _translate("MicroPythonFileManagerWidget", "Time"))
+        self.openButton.setToolTip(_translate("MicroPythonFileManagerWidget", "Press to open the selected file of the device in an editor."))
+        self.saveButton.setToolTip(_translate("MicroPythonFileManagerWidget", "Press to save the current editor to the selected file on the device."))
+        self.saveAsButton.setToolTip(_translate("MicroPythonFileManagerWidget", "Press to save the current editor to a new file on the device."))
+        self.localUpButton.setToolTip(_translate("MicroPythonFileManagerWidget", "Press to move one directory level up"))
+        self.localHomeButton.setToolTip(_translate("MicroPythonFileManagerWidget", "Press to move to the configured home directory"))
+        self.localReloadButton.setToolTip(_translate("MicroPythonFileManagerWidget", "Press to reload the list"))
+        self.deviceUpButton.setToolTip(_translate("MicroPythonFileManagerWidget", "Press to move one directory level up"))
+        self.deviceHomeButton.setToolTip(_translate("MicroPythonFileManagerWidget", "Press to move to the device workspace directory"))
+        self.deviceReloadButton.setToolTip(_translate("MicroPythonFileManagerWidget", "Press to reload the list"))
+from eric7.EricWidgets.EricLed import EricLed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/MicroPython/Ui_MicroPythonProgressInfoDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,39 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/MicroPython/MicroPythonProgressInfoDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_MicroPythonProgressInfoDialog(object):
+    def setupUi(self, MicroPythonProgressInfoDialog):
+        MicroPythonProgressInfoDialog.setObjectName("MicroPythonProgressInfoDialog")
+        MicroPythonProgressInfoDialog.resize(500, 400)
+        MicroPythonProgressInfoDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(MicroPythonProgressInfoDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.progressEdit = QtWidgets.QPlainTextEdit(parent=MicroPythonProgressInfoDialog)
+        self.progressEdit.setTabChangesFocus(True)
+        self.progressEdit.setLineWrapMode(QtWidgets.QPlainTextEdit.LineWrapMode.NoWrap)
+        self.progressEdit.setReadOnly(True)
+        self.progressEdit.setTextInteractionFlags(QtCore.Qt.TextInteractionFlag.TextSelectableByKeyboard|QtCore.Qt.TextInteractionFlag.TextSelectableByMouse)
+        self.progressEdit.setObjectName("progressEdit")
+        self.verticalLayout.addWidget(self.progressEdit)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=MicroPythonProgressInfoDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(MicroPythonProgressInfoDialog)
+        self.buttonBox.accepted.connect(MicroPythonProgressInfoDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(MicroPythonProgressInfoDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(MicroPythonProgressInfoDialog)
+
+    def retranslateUi(self, MicroPythonProgressInfoDialog):
+        _translate = QtCore.QCoreApplication.translate
+        MicroPythonProgressInfoDialog.setWindowTitle(_translate("MicroPythonProgressInfoDialog", "Progress Information"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/MicroPython/Ui_MicroPythonWebreplConnectionDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,81 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/MicroPython/MicroPythonWebreplConnectionDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_MicroPythonWebreplConnectionDialog(object):
+    def setupUi(self, MicroPythonWebreplConnectionDialog):
+        MicroPythonWebreplConnectionDialog.setObjectName("MicroPythonWebreplConnectionDialog")
+        MicroPythonWebreplConnectionDialog.resize(400, 172)
+        MicroPythonWebreplConnectionDialog.setSizeGripEnabled(True)
+        self.gridLayout = QtWidgets.QGridLayout(MicroPythonWebreplConnectionDialog)
+        self.gridLayout.setObjectName("gridLayout")
+        self.label_3 = QtWidgets.QLabel(parent=MicroPythonWebreplConnectionDialog)
+        self.label_3.setObjectName("label_3")
+        self.gridLayout.addWidget(self.label_3, 0, 0, 1, 1)
+        self.hostEdit = QtWidgets.QLineEdit(parent=MicroPythonWebreplConnectionDialog)
+        self.hostEdit.setClearButtonEnabled(True)
+        self.hostEdit.setObjectName("hostEdit")
+        self.gridLayout.addWidget(self.hostEdit, 0, 1, 1, 2)
+        self.label_4 = QtWidgets.QLabel(parent=MicroPythonWebreplConnectionDialog)
+        self.label_4.setObjectName("label_4")
+        self.gridLayout.addWidget(self.label_4, 1, 0, 1, 1)
+        self.portEdit = QtWidgets.QLineEdit(parent=MicroPythonWebreplConnectionDialog)
+        self.portEdit.setClearButtonEnabled(True)
+        self.portEdit.setObjectName("portEdit")
+        self.gridLayout.addWidget(self.portEdit, 1, 1, 1, 2)
+        self.label_5 = QtWidgets.QLabel(parent=MicroPythonWebreplConnectionDialog)
+        self.label_5.setObjectName("label_5")
+        self.gridLayout.addWidget(self.label_5, 2, 0, 1, 1)
+        self.passwordEdit = QtWidgets.QLineEdit(parent=MicroPythonWebreplConnectionDialog)
+        self.passwordEdit.setEchoMode(QtWidgets.QLineEdit.EchoMode.Password)
+        self.passwordEdit.setClearButtonEnabled(True)
+        self.passwordEdit.setObjectName("passwordEdit")
+        self.gridLayout.addWidget(self.passwordEdit, 2, 1, 1, 1)
+        self.showPasswordButton = QtWidgets.QToolButton(parent=MicroPythonWebreplConnectionDialog)
+        self.showPasswordButton.setCheckable(True)
+        self.showPasswordButton.setObjectName("showPasswordButton")
+        self.gridLayout.addWidget(self.showPasswordButton, 2, 2, 1, 1)
+        self.label_6 = QtWidgets.QLabel(parent=MicroPythonWebreplConnectionDialog)
+        self.label_6.setObjectName("label_6")
+        self.gridLayout.addWidget(self.label_6, 3, 0, 1, 1)
+        self.deviceTypeComboBox = QtWidgets.QComboBox(parent=MicroPythonWebreplConnectionDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.deviceTypeComboBox.sizePolicy().hasHeightForWidth())
+        self.deviceTypeComboBox.setSizePolicy(sizePolicy)
+        self.deviceTypeComboBox.setObjectName("deviceTypeComboBox")
+        self.gridLayout.addWidget(self.deviceTypeComboBox, 3, 1, 1, 2)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=MicroPythonWebreplConnectionDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout.addWidget(self.buttonBox, 4, 0, 1, 3)
+
+        self.retranslateUi(MicroPythonWebreplConnectionDialog)
+        self.buttonBox.accepted.connect(MicroPythonWebreplConnectionDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(MicroPythonWebreplConnectionDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(MicroPythonWebreplConnectionDialog)
+        MicroPythonWebreplConnectionDialog.setTabOrder(self.hostEdit, self.portEdit)
+        MicroPythonWebreplConnectionDialog.setTabOrder(self.portEdit, self.passwordEdit)
+        MicroPythonWebreplConnectionDialog.setTabOrder(self.passwordEdit, self.deviceTypeComboBox)
+
+    def retranslateUi(self, MicroPythonWebreplConnectionDialog):
+        _translate = QtCore.QCoreApplication.translate
+        MicroPythonWebreplConnectionDialog.setWindowTitle(_translate("MicroPythonWebreplConnectionDialog", "WebREPL Connection"))
+        self.label_3.setText(_translate("MicroPythonWebreplConnectionDialog", "Host:"))
+        self.hostEdit.setToolTip(_translate("MicroPythonWebreplConnectionDialog", "Enter the host name or IPv4 address of the device."))
+        self.label_4.setText(_translate("MicroPythonWebreplConnectionDialog", "Port:"))
+        self.portEdit.setToolTip(_translate("MicroPythonWebreplConnectionDialog", "Enter the port of the WebREPL (empty for default port 8266)."))
+        self.label_5.setText(_translate("MicroPythonWebreplConnectionDialog", "Password:"))
+        self.passwordEdit.setToolTip(_translate("MicroPythonWebreplConnectionDialog", "Enter the password for this device connection."))
+        self.showPasswordButton.setToolTip(_translate("MicroPythonWebreplConnectionDialog", "Press to show the password."))
+        self.label_6.setText(_translate("MicroPythonWebreplConnectionDialog", "Device Type:"))
+        self.deviceTypeComboBox.setToolTip(_translate("MicroPythonWebreplConnectionDialog", "Select the device type"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/MicroPython/Ui_MicroPythonWebreplParametersDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,54 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/MicroPython/MicroPythonWebreplParametersDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_MicroPythonWebreplParametersDialog(object):
+    def setupUi(self, MicroPythonWebreplParametersDialog):
+        MicroPythonWebreplParametersDialog.setObjectName("MicroPythonWebreplParametersDialog")
+        MicroPythonWebreplParametersDialog.resize(400, 108)
+        MicroPythonWebreplParametersDialog.setSizeGripEnabled(True)
+        self.gridLayout = QtWidgets.QGridLayout(MicroPythonWebreplParametersDialog)
+        self.gridLayout.setObjectName("gridLayout")
+        self.label = QtWidgets.QLabel(parent=MicroPythonWebreplParametersDialog)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
+        self.passwordEdit = QtWidgets.QLineEdit(parent=MicroPythonWebreplParametersDialog)
+        self.passwordEdit.setMaxLength(9)
+        self.passwordEdit.setEchoMode(QtWidgets.QLineEdit.EchoMode.Password)
+        self.passwordEdit.setClearButtonEnabled(True)
+        self.passwordEdit.setObjectName("passwordEdit")
+        self.gridLayout.addWidget(self.passwordEdit, 0, 1, 1, 1)
+        self.label_2 = QtWidgets.QLabel(parent=MicroPythonWebreplParametersDialog)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 1, 0, 1, 1)
+        self.passwordConfirmEdit = QtWidgets.QLineEdit(parent=MicroPythonWebreplParametersDialog)
+        self.passwordConfirmEdit.setMaxLength(9)
+        self.passwordConfirmEdit.setEchoMode(QtWidgets.QLineEdit.EchoMode.Password)
+        self.passwordConfirmEdit.setClearButtonEnabled(True)
+        self.passwordConfirmEdit.setObjectName("passwordConfirmEdit")
+        self.gridLayout.addWidget(self.passwordConfirmEdit, 1, 1, 1, 1)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=MicroPythonWebreplParametersDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout.addWidget(self.buttonBox, 2, 0, 1, 2)
+
+        self.retranslateUi(MicroPythonWebreplParametersDialog)
+        self.buttonBox.accepted.connect(MicroPythonWebreplParametersDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(MicroPythonWebreplParametersDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(MicroPythonWebreplParametersDialog)
+
+    def retranslateUi(self, MicroPythonWebreplParametersDialog):
+        _translate = QtCore.QCoreApplication.translate
+        MicroPythonWebreplParametersDialog.setWindowTitle(_translate("MicroPythonWebreplParametersDialog", "WebREPL Server Parameters"))
+        self.label.setText(_translate("MicroPythonWebreplParametersDialog", "Password (4-9 characters):"))
+        self.passwordEdit.setToolTip(_translate("MicroPythonWebreplParametersDialog", "Enter the password for the device WebREPL server."))
+        self.label_2.setText(_translate("MicroPythonWebreplParametersDialog", "Confirm Password:"))
+        self.passwordConfirmEdit.setToolTip(_translate("MicroPythonWebreplParametersDialog", "Repeat the WebREPL server password."))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/MicroPython/Ui_MicroPythonWebreplUrlAddEditDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,90 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/MicroPython/MicroPythonWebreplUrlAddEditDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_MicroPythonWebreplUrlAddEditDialog(object):
+    def setupUi(self, MicroPythonWebreplUrlAddEditDialog):
+        MicroPythonWebreplUrlAddEditDialog.setObjectName("MicroPythonWebreplUrlAddEditDialog")
+        MicroPythonWebreplUrlAddEditDialog.resize(400, 236)
+        MicroPythonWebreplUrlAddEditDialog.setSizeGripEnabled(True)
+        self.gridLayout = QtWidgets.QGridLayout(MicroPythonWebreplUrlAddEditDialog)
+        self.gridLayout.setObjectName("gridLayout")
+        self.label = QtWidgets.QLabel(parent=MicroPythonWebreplUrlAddEditDialog)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
+        self.nameEdit = QtWidgets.QLineEdit(parent=MicroPythonWebreplUrlAddEditDialog)
+        self.nameEdit.setClearButtonEnabled(True)
+        self.nameEdit.setObjectName("nameEdit")
+        self.gridLayout.addWidget(self.nameEdit, 0, 1, 1, 1)
+        self.label_2 = QtWidgets.QLabel(parent=MicroPythonWebreplUrlAddEditDialog)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 1, 0, 1, 1)
+        self.descriptionEdit = QtWidgets.QLineEdit(parent=MicroPythonWebreplUrlAddEditDialog)
+        self.descriptionEdit.setClearButtonEnabled(True)
+        self.descriptionEdit.setObjectName("descriptionEdit")
+        self.gridLayout.addWidget(self.descriptionEdit, 1, 1, 1, 1)
+        self.label_3 = QtWidgets.QLabel(parent=MicroPythonWebreplUrlAddEditDialog)
+        self.label_3.setObjectName("label_3")
+        self.gridLayout.addWidget(self.label_3, 2, 0, 1, 1)
+        self.hostEdit = QtWidgets.QLineEdit(parent=MicroPythonWebreplUrlAddEditDialog)
+        self.hostEdit.setClearButtonEnabled(True)
+        self.hostEdit.setObjectName("hostEdit")
+        self.gridLayout.addWidget(self.hostEdit, 2, 1, 1, 1)
+        self.label_4 = QtWidgets.QLabel(parent=MicroPythonWebreplUrlAddEditDialog)
+        self.label_4.setObjectName("label_4")
+        self.gridLayout.addWidget(self.label_4, 3, 0, 1, 1)
+        self.portEdit = QtWidgets.QLineEdit(parent=MicroPythonWebreplUrlAddEditDialog)
+        self.portEdit.setClearButtonEnabled(True)
+        self.portEdit.setObjectName("portEdit")
+        self.gridLayout.addWidget(self.portEdit, 3, 1, 1, 1)
+        self.label_5 = QtWidgets.QLabel(parent=MicroPythonWebreplUrlAddEditDialog)
+        self.label_5.setObjectName("label_5")
+        self.gridLayout.addWidget(self.label_5, 4, 0, 1, 1)
+        self.passwordEdit = QtWidgets.QLineEdit(parent=MicroPythonWebreplUrlAddEditDialog)
+        self.passwordEdit.setClearButtonEnabled(True)
+        self.passwordEdit.setObjectName("passwordEdit")
+        self.gridLayout.addWidget(self.passwordEdit, 4, 1, 1, 1)
+        self.label_6 = QtWidgets.QLabel(parent=MicroPythonWebreplUrlAddEditDialog)
+        self.label_6.setObjectName("label_6")
+        self.gridLayout.addWidget(self.label_6, 5, 0, 1, 1)
+        self.deviceTypeComboBox = QtWidgets.QComboBox(parent=MicroPythonWebreplUrlAddEditDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.deviceTypeComboBox.sizePolicy().hasHeightForWidth())
+        self.deviceTypeComboBox.setSizePolicy(sizePolicy)
+        self.deviceTypeComboBox.setObjectName("deviceTypeComboBox")
+        self.gridLayout.addWidget(self.deviceTypeComboBox, 5, 1, 1, 1)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=MicroPythonWebreplUrlAddEditDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout.addWidget(self.buttonBox, 6, 0, 1, 2)
+
+        self.retranslateUi(MicroPythonWebreplUrlAddEditDialog)
+        self.buttonBox.accepted.connect(MicroPythonWebreplUrlAddEditDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(MicroPythonWebreplUrlAddEditDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(MicroPythonWebreplUrlAddEditDialog)
+
+    def retranslateUi(self, MicroPythonWebreplUrlAddEditDialog):
+        _translate = QtCore.QCoreApplication.translate
+        MicroPythonWebreplUrlAddEditDialog.setWindowTitle(_translate("MicroPythonWebreplUrlAddEditDialog", "WebREPL URL"))
+        self.label.setText(_translate("MicroPythonWebreplUrlAddEditDialog", "Name:"))
+        self.nameEdit.setToolTip(_translate("MicroPythonWebreplUrlAddEditDialog", "Enter a unique name for the WebREPL connection."))
+        self.label_2.setText(_translate("MicroPythonWebreplUrlAddEditDialog", "Description:"))
+        self.descriptionEdit.setToolTip(_translate("MicroPythonWebreplUrlAddEditDialog", "Enter a short description to be shown in the selector."))
+        self.label_3.setText(_translate("MicroPythonWebreplUrlAddEditDialog", "Host:"))
+        self.hostEdit.setToolTip(_translate("MicroPythonWebreplUrlAddEditDialog", "Enter the host name or IPv4 address of the device."))
+        self.label_4.setText(_translate("MicroPythonWebreplUrlAddEditDialog", "Port:"))
+        self.portEdit.setToolTip(_translate("MicroPythonWebreplUrlAddEditDialog", "Enter the port of the WebREPL (empty for default port 8266)."))
+        self.label_5.setText(_translate("MicroPythonWebreplUrlAddEditDialog", "Password:"))
+        self.passwordEdit.setToolTip(_translate("MicroPythonWebreplUrlAddEditDialog", "Enter the password for this device connection."))
+        self.label_6.setText(_translate("MicroPythonWebreplUrlAddEditDialog", "Device Type:"))
+        self.deviceTypeComboBox.setToolTip(_translate("MicroPythonWebreplUrlAddEditDialog", "Select the device type"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/MicroPython/Ui_MicroPythonWebreplUrlsConfigDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,72 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/MicroPython/MicroPythonWebreplUrlsConfigDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_MicroPythonWebreplUrlsConfigDialog(object):
+    def setupUi(self, MicroPythonWebreplUrlsConfigDialog):
+        MicroPythonWebreplUrlsConfigDialog.setObjectName("MicroPythonWebreplUrlsConfigDialog")
+        MicroPythonWebreplUrlsConfigDialog.resize(713, 516)
+        MicroPythonWebreplUrlsConfigDialog.setSizeGripEnabled(True)
+        self.gridLayout = QtWidgets.QGridLayout(MicroPythonWebreplUrlsConfigDialog)
+        self.gridLayout.setObjectName("gridLayout")
+        self.webreplUrlsList = QtWidgets.QTreeWidget(parent=MicroPythonWebreplUrlsConfigDialog)
+        self.webreplUrlsList.setEditTriggers(QtWidgets.QAbstractItemView.EditTrigger.NoEditTriggers)
+        self.webreplUrlsList.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.ExtendedSelection)
+        self.webreplUrlsList.setRootIsDecorated(False)
+        self.webreplUrlsList.setItemsExpandable(False)
+        self.webreplUrlsList.setObjectName("webreplUrlsList")
+        self.gridLayout.addWidget(self.webreplUrlsList, 0, 0, 1, 1)
+        self.verticalLayout = QtWidgets.QVBoxLayout()
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.addButton = QtWidgets.QPushButton(parent=MicroPythonWebreplUrlsConfigDialog)
+        self.addButton.setObjectName("addButton")
+        self.verticalLayout.addWidget(self.addButton)
+        self.editButton = QtWidgets.QPushButton(parent=MicroPythonWebreplUrlsConfigDialog)
+        self.editButton.setObjectName("editButton")
+        self.verticalLayout.addWidget(self.editButton)
+        self.removeButton = QtWidgets.QPushButton(parent=MicroPythonWebreplUrlsConfigDialog)
+        self.removeButton.setObjectName("removeButton")
+        self.verticalLayout.addWidget(self.removeButton)
+        self.removeAllButton = QtWidgets.QPushButton(parent=MicroPythonWebreplUrlsConfigDialog)
+        self.removeAllButton.setObjectName("removeAllButton")
+        self.verticalLayout.addWidget(self.removeAllButton)
+        spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout.addItem(spacerItem)
+        self.gridLayout.addLayout(self.verticalLayout, 0, 1, 1, 1)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=MicroPythonWebreplUrlsConfigDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout.addWidget(self.buttonBox, 2, 0, 1, 2)
+        self.label = QtWidgets.QLabel(parent=MicroPythonWebreplUrlsConfigDialog)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 1, 0, 1, 2)
+
+        self.retranslateUi(MicroPythonWebreplUrlsConfigDialog)
+        self.buttonBox.accepted.connect(MicroPythonWebreplUrlsConfigDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(MicroPythonWebreplUrlsConfigDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(MicroPythonWebreplUrlsConfigDialog)
+
+    def retranslateUi(self, MicroPythonWebreplUrlsConfigDialog):
+        _translate = QtCore.QCoreApplication.translate
+        MicroPythonWebreplUrlsConfigDialog.setWindowTitle(_translate("MicroPythonWebreplUrlsConfigDialog", "WebREPL URLs"))
+        self.webreplUrlsList.setSortingEnabled(True)
+        self.webreplUrlsList.headerItem().setText(0, _translate("MicroPythonWebreplUrlsConfigDialog", "Name"))
+        self.webreplUrlsList.headerItem().setText(1, _translate("MicroPythonWebreplUrlsConfigDialog", "Description"))
+        self.webreplUrlsList.headerItem().setText(2, _translate("MicroPythonWebreplUrlsConfigDialog", "URL"))
+        self.addButton.setToolTip(_translate("MicroPythonWebreplUrlsConfigDialog", "Press to add a new entry."))
+        self.addButton.setText(_translate("MicroPythonWebreplUrlsConfigDialog", "Add..."))
+        self.editButton.setToolTip(_translate("MicroPythonWebreplUrlsConfigDialog", "Press to edit the selected entry."))
+        self.editButton.setText(_translate("MicroPythonWebreplUrlsConfigDialog", "Edit..."))
+        self.removeButton.setToolTip(_translate("MicroPythonWebreplUrlsConfigDialog", "Press to remove the selected entries."))
+        self.removeButton.setText(_translate("MicroPythonWebreplUrlsConfigDialog", "Remove"))
+        self.removeAllButton.setToolTip(_translate("MicroPythonWebreplUrlsConfigDialog", "Press to remove all entries."))
+        self.removeAllButton.setText(_translate("MicroPythonWebreplUrlsConfigDialog", "Remove All"))
+        self.label.setText(_translate("MicroPythonWebreplUrlsConfigDialog", "<b>Note:</b> The name of an entry must be unique amongst the list."))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/MicroPython/Ui_MicroPythonWidget.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,125 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/MicroPython/MicroPythonWidget.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_MicroPythonWidget(object):
+    def setupUi(self, MicroPythonWidget):
+        MicroPythonWidget.setObjectName("MicroPythonWidget")
+        MicroPythonWidget.resize(456, 548)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(MicroPythonWidget.sizePolicy().hasHeightForWidth())
+        MicroPythonWidget.setSizePolicy(sizePolicy)
+        self.verticalLayout = QtWidgets.QVBoxLayout(MicroPythonWidget)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.deviceIconLabel = QtWidgets.QLabel(parent=MicroPythonWidget)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.deviceIconLabel.sizePolicy().hasHeightForWidth())
+        self.deviceIconLabel.setSizePolicy(sizePolicy)
+        self.deviceIconLabel.setMinimumSize(QtCore.QSize(48, 48))
+        self.deviceIconLabel.setAlignment(QtCore.Qt.AlignmentFlag.AlignLeading|QtCore.Qt.AlignmentFlag.AlignLeft|QtCore.Qt.AlignmentFlag.AlignTop)
+        self.deviceIconLabel.setObjectName("deviceIconLabel")
+        self.horizontalLayout.addWidget(self.deviceIconLabel)
+        self.gridLayout = QtWidgets.QGridLayout()
+        self.gridLayout.setObjectName("gridLayout")
+        self.repopulateButton = QtWidgets.QToolButton(parent=MicroPythonWidget)
+        self.repopulateButton.setObjectName("repopulateButton")
+        self.gridLayout.addWidget(self.repopulateButton, 0, 1, 1, 1)
+        self.menuButton = EricToolButton(parent=MicroPythonWidget)
+        self.menuButton.setObjectName("menuButton")
+        self.gridLayout.addWidget(self.menuButton, 0, 3, 1, 1)
+        self.deviceTypeComboBox = QtWidgets.QComboBox(parent=MicroPythonWidget)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.deviceTypeComboBox.sizePolicy().hasHeightForWidth())
+        self.deviceTypeComboBox.setSizePolicy(sizePolicy)
+        self.deviceTypeComboBox.setSizeAdjustPolicy(QtWidgets.QComboBox.SizeAdjustPolicy.AdjustToMinimumContentsLengthWithIcon)
+        self.deviceTypeComboBox.setObjectName("deviceTypeComboBox")
+        self.gridLayout.addWidget(self.deviceTypeComboBox, 0, 0, 1, 1)
+        self.deviceInfoLabel = QtWidgets.QLabel(parent=MicroPythonWidget)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.deviceInfoLabel.sizePolicy().hasHeightForWidth())
+        self.deviceInfoLabel.setSizePolicy(sizePolicy)
+        self.deviceInfoLabel.setWordWrap(True)
+        self.deviceInfoLabel.setObjectName("deviceInfoLabel")
+        self.gridLayout.addWidget(self.deviceInfoLabel, 1, 0, 1, 5)
+        self.deviceConnectedLed = EricLed(parent=MicroPythonWidget)
+        self.deviceConnectedLed.setObjectName("deviceConnectedLed")
+        self.gridLayout.addWidget(self.deviceConnectedLed, 0, 4, 1, 1)
+        self.webreplConfigButton = QtWidgets.QToolButton(parent=MicroPythonWidget)
+        self.webreplConfigButton.setObjectName("webreplConfigButton")
+        self.gridLayout.addWidget(self.webreplConfigButton, 0, 2, 1, 1)
+        self.horizontalLayout.addLayout(self.gridLayout)
+        self.verticalLayout.addLayout(self.horizontalLayout)
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.runButton = QtWidgets.QToolButton(parent=MicroPythonWidget)
+        self.runButton.setObjectName("runButton")
+        self.horizontalLayout_2.addWidget(self.runButton)
+        self.replButton = QtWidgets.QToolButton(parent=MicroPythonWidget)
+        self.replButton.setCheckable(True)
+        self.replButton.setObjectName("replButton")
+        self.horizontalLayout_2.addWidget(self.replButton)
+        self.filesButton = QtWidgets.QToolButton(parent=MicroPythonWidget)
+        self.filesButton.setCheckable(True)
+        self.filesButton.setObjectName("filesButton")
+        self.horizontalLayout_2.addWidget(self.filesButton)
+        self.chartButton = QtWidgets.QToolButton(parent=MicroPythonWidget)
+        self.chartButton.setCheckable(True)
+        self.chartButton.setObjectName("chartButton")
+        self.horizontalLayout_2.addWidget(self.chartButton)
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_2.addItem(spacerItem)
+        self.connectButton = QtWidgets.QToolButton(parent=MicroPythonWidget)
+        self.connectButton.setObjectName("connectButton")
+        self.horizontalLayout_2.addWidget(self.connectButton)
+        self.verticalLayout.addLayout(self.horizontalLayout_2)
+        self.replWidget = MicroPythonReplWidget(parent=MicroPythonWidget)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.replWidget.sizePolicy().hasHeightForWidth())
+        self.replWidget.setSizePolicy(sizePolicy)
+        self.replWidget.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.replWidget.setObjectName("replWidget")
+        self.verticalLayout.addWidget(self.replWidget)
+
+        self.retranslateUi(MicroPythonWidget)
+        QtCore.QMetaObject.connectSlotsByName(MicroPythonWidget)
+        MicroPythonWidget.setTabOrder(self.deviceTypeComboBox, self.repopulateButton)
+        MicroPythonWidget.setTabOrder(self.repopulateButton, self.webreplConfigButton)
+        MicroPythonWidget.setTabOrder(self.webreplConfigButton, self.menuButton)
+        MicroPythonWidget.setTabOrder(self.menuButton, self.runButton)
+        MicroPythonWidget.setTabOrder(self.runButton, self.replButton)
+        MicroPythonWidget.setTabOrder(self.replButton, self.filesButton)
+        MicroPythonWidget.setTabOrder(self.filesButton, self.chartButton)
+        MicroPythonWidget.setTabOrder(self.chartButton, self.connectButton)
+        MicroPythonWidget.setTabOrder(self.connectButton, self.replWidget)
+
+    def retranslateUi(self, MicroPythonWidget):
+        _translate = QtCore.QCoreApplication.translate
+        self.repopulateButton.setToolTip(_translate("MicroPythonWidget", "Press to detect connected devices and repopulate the device selector."))
+        self.webreplConfigButton.setToolTip(_translate("MicroPythonWidget", "Press to edit the list of configured WebREPL connections."))
+        self.runButton.setToolTip(_translate("MicroPythonWidget", "Press to run the current script on the selected device"))
+        self.replButton.setToolTip(_translate("MicroPythonWidget", "Press to open a terminal (REPL) on the selected device"))
+        self.filesButton.setToolTip(_translate("MicroPythonWidget", "Press to open a file manager on the selected device"))
+        self.chartButton.setToolTip(_translate("MicroPythonWidget", "Press to open a chart window to display data receive from the selected device"))
+        self.connectButton.setToolTip(_translate("MicroPythonWidget", "Press to connect the selected device"))
+from eric7.EricWidgets.EricLed import EricLed
+from eric7.EricWidgets.EricToolButton import EricToolButton
+from eric7.MicroPython.MicroPythonReplWidget import MicroPythonReplWidget
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/MicroPython/Ui_MipPackageDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,78 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/MicroPython/MipPackageDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_MipPackageDialog(object):
+    def setupUi(self, MipPackageDialog):
+        MipPackageDialog.setObjectName("MipPackageDialog")
+        MipPackageDialog.resize(450, 202)
+        MipPackageDialog.setSizeGripEnabled(True)
+        self.gridLayout = QtWidgets.QGridLayout(MipPackageDialog)
+        self.gridLayout.setObjectName("gridLayout")
+        self.label = QtWidgets.QLabel(parent=MipPackageDialog)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
+        self.packageEdit = QtWidgets.QLineEdit(parent=MipPackageDialog)
+        self.packageEdit.setClearButtonEnabled(True)
+        self.packageEdit.setObjectName("packageEdit")
+        self.gridLayout.addWidget(self.packageEdit, 0, 1, 1, 1)
+        self.label_2 = QtWidgets.QLabel(parent=MipPackageDialog)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 1, 0, 1, 1)
+        self.versionEdit = QtWidgets.QLineEdit(parent=MipPackageDialog)
+        self.versionEdit.setClearButtonEnabled(True)
+        self.versionEdit.setObjectName("versionEdit")
+        self.gridLayout.addWidget(self.versionEdit, 1, 1, 1, 1)
+        self.mpyCheckBox = QtWidgets.QCheckBox(parent=MipPackageDialog)
+        self.mpyCheckBox.setChecked(True)
+        self.mpyCheckBox.setObjectName("mpyCheckBox")
+        self.gridLayout.addWidget(self.mpyCheckBox, 2, 0, 1, 2)
+        self.label_3 = QtWidgets.QLabel(parent=MipPackageDialog)
+        self.label_3.setObjectName("label_3")
+        self.gridLayout.addWidget(self.label_3, 3, 0, 1, 1)
+        self.targetEdit = QtWidgets.QLineEdit(parent=MipPackageDialog)
+        self.targetEdit.setClearButtonEnabled(True)
+        self.targetEdit.setObjectName("targetEdit")
+        self.gridLayout.addWidget(self.targetEdit, 3, 1, 1, 1)
+        self.label_4 = QtWidgets.QLabel(parent=MipPackageDialog)
+        self.label_4.setObjectName("label_4")
+        self.gridLayout.addWidget(self.label_4, 4, 0, 1, 1)
+        self.indexEdit = QtWidgets.QLineEdit(parent=MipPackageDialog)
+        self.indexEdit.setToolTip("")
+        self.indexEdit.setClearButtonEnabled(True)
+        self.indexEdit.setObjectName("indexEdit")
+        self.gridLayout.addWidget(self.indexEdit, 4, 1, 1, 1)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=MipPackageDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout.addWidget(self.buttonBox, 5, 0, 1, 2)
+
+        self.retranslateUi(MipPackageDialog)
+        self.buttonBox.accepted.connect(MipPackageDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(MipPackageDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(MipPackageDialog)
+        MipPackageDialog.setTabOrder(self.packageEdit, self.versionEdit)
+        MipPackageDialog.setTabOrder(self.versionEdit, self.mpyCheckBox)
+        MipPackageDialog.setTabOrder(self.mpyCheckBox, self.targetEdit)
+        MipPackageDialog.setTabOrder(self.targetEdit, self.indexEdit)
+
+    def retranslateUi(self, MipPackageDialog):
+        _translate = QtCore.QCoreApplication.translate
+        MipPackageDialog.setWindowTitle(_translate("MipPackageDialog", "Install Package"))
+        self.label.setText(_translate("MipPackageDialog", "Package Name:"))
+        self.packageEdit.setToolTip(_translate("MipPackageDialog", "Enter the name of the package."))
+        self.label_2.setText(_translate("MipPackageDialog", "Version:"))
+        self.versionEdit.setToolTip(_translate("MipPackageDialog", "Enter the version of the package."))
+        self.mpyCheckBox.setToolTip(_translate("MipPackageDialog", "Select to install as compiled (.mpy) file."))
+        self.mpyCheckBox.setText(_translate("MipPackageDialog", "Install .mpy File"))
+        self.label_3.setText(_translate("MipPackageDialog", "Target Directory:"))
+        self.targetEdit.setToolTip(_translate("MipPackageDialog", "Enter the directory to install to (must be contained in sys.path). Leave empty to detect automatically."))
+        self.label_4.setText(_translate("MipPackageDialog", "Package Index:"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/MicroPython/Ui_NtpParametersDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,82 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/MicroPython/NtpParametersDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_NtpParametersDialog(object):
+    def setupUi(self, NtpParametersDialog):
+        NtpParametersDialog.setObjectName("NtpParametersDialog")
+        NtpParametersDialog.resize(450, 172)
+        NtpParametersDialog.setSizeGripEnabled(True)
+        self.gridLayout = QtWidgets.QGridLayout(NtpParametersDialog)
+        self.gridLayout.setObjectName("gridLayout")
+        self.label = QtWidgets.QLabel(parent=NtpParametersDialog)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
+        self.serverEdit = QtWidgets.QLineEdit(parent=NtpParametersDialog)
+        self.serverEdit.setClearButtonEnabled(True)
+        self.serverEdit.setObjectName("serverEdit")
+        self.gridLayout.addWidget(self.serverEdit, 0, 1, 1, 2)
+        self.label_2 = QtWidgets.QLabel(parent=NtpParametersDialog)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 1, 0, 1, 1)
+        self.tzOffsetSpinBox = QtWidgets.QSpinBox(parent=NtpParametersDialog)
+        self.tzOffsetSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.tzOffsetSpinBox.setMinimum(-12)
+        self.tzOffsetSpinBox.setMaximum(12)
+        self.tzOffsetSpinBox.setObjectName("tzOffsetSpinBox")
+        self.gridLayout.addWidget(self.tzOffsetSpinBox, 1, 1, 1, 1)
+        self.dstCheckBox = QtWidgets.QCheckBox(parent=NtpParametersDialog)
+        self.dstCheckBox.setObjectName("dstCheckBox")
+        self.gridLayout.addWidget(self.dstCheckBox, 1, 2, 1, 1)
+        self.label_3 = QtWidgets.QLabel(parent=NtpParametersDialog)
+        self.label_3.setObjectName("label_3")
+        self.gridLayout.addWidget(self.label_3, 2, 0, 1, 1)
+        self.timeoutSpinBox = QtWidgets.QSpinBox(parent=NtpParametersDialog)
+        self.timeoutSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.timeoutSpinBox.setMinimum(5)
+        self.timeoutSpinBox.setMaximum(15)
+        self.timeoutSpinBox.setProperty("value", 10)
+        self.timeoutSpinBox.setObjectName("timeoutSpinBox")
+        self.gridLayout.addWidget(self.timeoutSpinBox, 2, 1, 1, 1)
+        spacerItem = QtWidgets.QSpacerItem(250, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout.addItem(spacerItem, 2, 2, 1, 1)
+        self.rememberCheckBox = QtWidgets.QCheckBox(parent=NtpParametersDialog)
+        self.rememberCheckBox.setObjectName("rememberCheckBox")
+        self.gridLayout.addWidget(self.rememberCheckBox, 3, 0, 1, 3)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=NtpParametersDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok|QtWidgets.QDialogButtonBox.StandardButton.RestoreDefaults)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout.addWidget(self.buttonBox, 4, 0, 1, 3)
+
+        self.retranslateUi(NtpParametersDialog)
+        self.buttonBox.accepted.connect(NtpParametersDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(NtpParametersDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(NtpParametersDialog)
+        NtpParametersDialog.setTabOrder(self.serverEdit, self.tzOffsetSpinBox)
+        NtpParametersDialog.setTabOrder(self.tzOffsetSpinBox, self.dstCheckBox)
+        NtpParametersDialog.setTabOrder(self.dstCheckBox, self.timeoutSpinBox)
+        NtpParametersDialog.setTabOrder(self.timeoutSpinBox, self.rememberCheckBox)
+
+    def retranslateUi(self, NtpParametersDialog):
+        _translate = QtCore.QCoreApplication.translate
+        NtpParametersDialog.setWindowTitle(_translate("NtpParametersDialog", "NTP Parameter"))
+        self.label.setText(_translate("NtpParametersDialog", "NTP Server:"))
+        self.serverEdit.setToolTip(_translate("NtpParametersDialog", "Enter the name of the NTP server."))
+        self.label_2.setText(_translate("NtpParametersDialog", "Time Zone Offset:"))
+        self.tzOffsetSpinBox.setToolTip(_translate("NtpParametersDialog", "Enter the time zone offset to UTC."))
+        self.tzOffsetSpinBox.setSuffix(_translate("NtpParametersDialog", " h"))
+        self.dstCheckBox.setToolTip(_translate("NtpParametersDialog", "Select to indicate that daylight savings is in effect (i.e. 1h plus to UTC)."))
+        self.dstCheckBox.setText(_translate("NtpParametersDialog", "Is Daylight Savings"))
+        self.label_3.setText(_translate("NtpParametersDialog", "Timeout:"))
+        self.timeoutSpinBox.setToolTip(_translate("NtpParametersDialog", "Enter the timeout in seconds."))
+        self.timeoutSpinBox.setSuffix(_translate("NtpParametersDialog", " s"))
+        self.rememberCheckBox.setToolTip(_translate("NtpParametersDialog", "Select to remember the entered NTP parameters."))
+        self.rememberCheckBox.setText(_translate("NtpParametersDialog", "Remember Parameters"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/MicroPython/Ui_ShowModulesDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,64 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/MicroPython/ShowModulesDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_ShowModulesDialog(object):
+    def setupUi(self, ShowModulesDialog):
+        ShowModulesDialog.setObjectName("ShowModulesDialog")
+        ShowModulesDialog.resize(400, 700)
+        ShowModulesDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(ShowModulesDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.label = QtWidgets.QLabel(parent=ShowModulesDialog)
+        self.label.setObjectName("label")
+        self.horizontalLayout.addWidget(self.label)
+        self.filterEdit = QtWidgets.QLineEdit(parent=ShowModulesDialog)
+        self.filterEdit.setClearButtonEnabled(True)
+        self.filterEdit.setObjectName("filterEdit")
+        self.horizontalLayout.addWidget(self.filterEdit)
+        self.filterButton = QtWidgets.QToolButton(parent=ShowModulesDialog)
+        self.filterButton.setObjectName("filterButton")
+        self.horizontalLayout.addWidget(self.filterButton)
+        self.verticalLayout.addLayout(self.horizontalLayout)
+        self.modulesList = QtWidgets.QListWidget(parent=ShowModulesDialog)
+        self.modulesList.setAlternatingRowColors(True)
+        self.modulesList.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.NoSelection)
+        self.modulesList.setObjectName("modulesList")
+        self.verticalLayout.addWidget(self.modulesList)
+        self.infoLabel = QtWidgets.QLabel(parent=ShowModulesDialog)
+        self.infoLabel.setWordWrap(True)
+        self.infoLabel.setObjectName("infoLabel")
+        self.verticalLayout.addWidget(self.infoLabel)
+        self.statusLabel = QtWidgets.QLabel(parent=ShowModulesDialog)
+        self.statusLabel.setObjectName("statusLabel")
+        self.verticalLayout.addWidget(self.statusLabel)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=ShowModulesDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(ShowModulesDialog)
+        self.buttonBox.accepted.connect(ShowModulesDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(ShowModulesDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(ShowModulesDialog)
+        ShowModulesDialog.setTabOrder(self.filterEdit, self.filterButton)
+        ShowModulesDialog.setTabOrder(self.filterButton, self.modulesList)
+
+    def retranslateUi(self, ShowModulesDialog):
+        _translate = QtCore.QCoreApplication.translate
+        ShowModulesDialog.setWindowTitle(_translate("ShowModulesDialog", "Available Modules"))
+        self.label.setText(_translate("ShowModulesDialog", "Filter:"))
+        self.filterEdit.setToolTip(_translate("ShowModulesDialog", "Enter a string used to filter the list below."))
+        self.filterEdit.setPlaceholderText(_translate("ShowModulesDialog", "Enter Filter String"))
+        self.filterButton.setToolTip(_translate("ShowModulesDialog", "Press to apply the entered filter."))
+        self.modulesList.setSortingEnabled(False)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/MicroPython/Ui_UF2FlashDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,115 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/MicroPython/UF2FlashDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_UF2FlashDialog(object):
+    def setupUi(self, UF2FlashDialog):
+        UF2FlashDialog.setObjectName("UF2FlashDialog")
+        UF2FlashDialog.resize(600, 600)
+        UF2FlashDialog.setSizeGripEnabled(True)
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(UF2FlashDialog)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.gridLayout = QtWidgets.QGridLayout()
+        self.gridLayout.setObjectName("gridLayout")
+        self.label = QtWidgets.QLabel(parent=UF2FlashDialog)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
+        self.devicesComboBox = QtWidgets.QComboBox(parent=UF2FlashDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.devicesComboBox.sizePolicy().hasHeightForWidth())
+        self.devicesComboBox.setSizePolicy(sizePolicy)
+        self.devicesComboBox.setObjectName("devicesComboBox")
+        self.gridLayout.addWidget(self.devicesComboBox, 0, 1, 1, 2)
+        self.label_3 = QtWidgets.QLabel(parent=UF2FlashDialog)
+        self.label_3.setObjectName("label_3")
+        self.gridLayout.addWidget(self.label_3, 1, 0, 1, 1)
+        self.firmwarePicker = EricPathPicker(parent=UF2FlashDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.firmwarePicker.sizePolicy().hasHeightForWidth())
+        self.firmwarePicker.setSizePolicy(sizePolicy)
+        self.firmwarePicker.setFocusPolicy(QtCore.Qt.FocusPolicy.WheelFocus)
+        self.firmwarePicker.setObjectName("firmwarePicker")
+        self.gridLayout.addWidget(self.firmwarePicker, 1, 1, 1, 2)
+        self.label_2 = QtWidgets.QLabel(parent=UF2FlashDialog)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 2, 0, 1, 1)
+        self.bootPicker = EricPathPicker(parent=UF2FlashDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.bootPicker.sizePolicy().hasHeightForWidth())
+        self.bootPicker.setSizePolicy(sizePolicy)
+        self.bootPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.WheelFocus)
+        self.bootPicker.setObjectName("bootPicker")
+        self.gridLayout.addWidget(self.bootPicker, 2, 1, 1, 1)
+        self.searchBootButton = QtWidgets.QToolButton(parent=UF2FlashDialog)
+        self.searchBootButton.setObjectName("searchBootButton")
+        self.gridLayout.addWidget(self.searchBootButton, 2, 2, 1, 1)
+        self.verticalLayout_2.addLayout(self.gridLayout)
+        self.flashButton = QtWidgets.QPushButton(parent=UF2FlashDialog)
+        self.flashButton.setObjectName("flashButton")
+        self.verticalLayout_2.addWidget(self.flashButton)
+        self.infoFrame = QtWidgets.QFrame(parent=UF2FlashDialog)
+        self.infoFrame.setFrameShape(QtWidgets.QFrame.Shape.NoFrame)
+        self.infoFrame.setFrameShadow(QtWidgets.QFrame.Shadow.Raised)
+        self.infoFrame.setObjectName("infoFrame")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.infoFrame)
+        self.verticalLayout.setContentsMargins(0, 0, 0, 0)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.infoLabel = QtWidgets.QLabel(parent=self.infoFrame)
+        self.infoLabel.setText("")
+        self.infoLabel.setObjectName("infoLabel")
+        self.verticalLayout.addWidget(self.infoLabel)
+        self.infoEdit = QtWidgets.QTextEdit(parent=self.infoFrame)
+        self.infoEdit.setReadOnly(False)
+        self.infoEdit.setObjectName("infoEdit")
+        self.verticalLayout.addWidget(self.infoEdit)
+        self.verticalLayout_2.addWidget(self.infoFrame)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.refreshButton = QtWidgets.QPushButton(parent=UF2FlashDialog)
+        self.refreshButton.setObjectName("refreshButton")
+        self.horizontalLayout.addWidget(self.refreshButton)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=UF2FlashDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.horizontalLayout.addWidget(self.buttonBox)
+        self.verticalLayout_2.addLayout(self.horizontalLayout)
+
+        self.retranslateUi(UF2FlashDialog)
+        self.buttonBox.accepted.connect(UF2FlashDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(UF2FlashDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(UF2FlashDialog)
+        UF2FlashDialog.setTabOrder(self.devicesComboBox, self.firmwarePicker)
+        UF2FlashDialog.setTabOrder(self.firmwarePicker, self.bootPicker)
+        UF2FlashDialog.setTabOrder(self.bootPicker, self.searchBootButton)
+        UF2FlashDialog.setTabOrder(self.searchBootButton, self.flashButton)
+        UF2FlashDialog.setTabOrder(self.flashButton, self.infoEdit)
+        UF2FlashDialog.setTabOrder(self.infoEdit, self.refreshButton)
+
+    def retranslateUi(self, UF2FlashDialog):
+        _translate = QtCore.QCoreApplication.translate
+        UF2FlashDialog.setWindowTitle(_translate("UF2FlashDialog", "Flash UF2 Device"))
+        self.label.setText(_translate("UF2FlashDialog", "Detected Devices:"))
+        self.devicesComboBox.setToolTip(_translate("UF2FlashDialog", "Select the device to be flashed"))
+        self.devicesComboBox.setPlaceholderText(_translate("UF2FlashDialog", "Select Device"))
+        self.label_3.setText(_translate("UF2FlashDialog", "MicroPython:"))
+        self.firmwarePicker.setToolTip(_translate("UF2FlashDialog", "Enter the path of the MicroPython / CircuitPython firmware file"))
+        self.label_2.setText(_translate("UF2FlashDialog", "\'Boot\' Volume:"))
+        self.bootPicker.setToolTip(_translate("UF2FlashDialog", "Enter the path of the bootloader volume"))
+        self.searchBootButton.setToolTip(_translate("UF2FlashDialog", "Press to check for all known boot volume names."))
+        self.flashButton.setText(_translate("UF2FlashDialog", "Flash MicroPython / CircuitPython"))
+        self.refreshButton.setText(_translate("UF2FlashDialog", "Refresh"))
+from eric7.EricWidgets.EricPathPicker import EricPathPicker
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/MicroPython/Ui_UnknownDevicesDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,76 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/MicroPython/UnknownDevicesDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_UnknownDevicesDialog(object):
+    def setupUi(self, UnknownDevicesDialog):
+        UnknownDevicesDialog.setObjectName("UnknownDevicesDialog")
+        UnknownDevicesDialog.resize(450, 500)
+        UnknownDevicesDialog.setSizeGripEnabled(True)
+        self.gridLayout = QtWidgets.QGridLayout(UnknownDevicesDialog)
+        self.gridLayout.setObjectName("gridLayout")
+        self.deviceList = QtWidgets.QListWidget(parent=UnknownDevicesDialog)
+        self.deviceList.setAlternatingRowColors(True)
+        self.deviceList.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.ExtendedSelection)
+        self.deviceList.setObjectName("deviceList")
+        self.gridLayout.addWidget(self.deviceList, 0, 0, 1, 1)
+        self.verticalLayout = QtWidgets.QVBoxLayout()
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.editButton = QtWidgets.QPushButton(parent=UnknownDevicesDialog)
+        self.editButton.setObjectName("editButton")
+        self.verticalLayout.addWidget(self.editButton)
+        self.line = QtWidgets.QFrame(parent=UnknownDevicesDialog)
+        self.line.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line.setObjectName("line")
+        self.verticalLayout.addWidget(self.line)
+        self.deleteButton = QtWidgets.QPushButton(parent=UnknownDevicesDialog)
+        self.deleteButton.setObjectName("deleteButton")
+        self.verticalLayout.addWidget(self.deleteButton)
+        self.deleteAllButton = QtWidgets.QPushButton(parent=UnknownDevicesDialog)
+        self.deleteAllButton.setObjectName("deleteAllButton")
+        self.verticalLayout.addWidget(self.deleteAllButton)
+        spacerItem = QtWidgets.QSpacerItem(20, 128, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout.addItem(spacerItem)
+        self.restoreButton = QtWidgets.QPushButton(parent=UnknownDevicesDialog)
+        self.restoreButton.setObjectName("restoreButton")
+        self.verticalLayout.addWidget(self.restoreButton)
+        self.gridLayout.addLayout(self.verticalLayout, 0, 1, 1, 1)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=UnknownDevicesDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout.addWidget(self.buttonBox, 2, 0, 1, 2)
+        self.reportButton = QtWidgets.QPushButton(parent=UnknownDevicesDialog)
+        self.reportButton.setObjectName("reportButton")
+        self.gridLayout.addWidget(self.reportButton, 1, 0, 1, 2)
+
+        self.retranslateUi(UnknownDevicesDialog)
+        QtCore.QMetaObject.connectSlotsByName(UnknownDevicesDialog)
+        UnknownDevicesDialog.setTabOrder(self.deviceList, self.editButton)
+        UnknownDevicesDialog.setTabOrder(self.editButton, self.deleteButton)
+        UnknownDevicesDialog.setTabOrder(self.deleteButton, self.deleteAllButton)
+        UnknownDevicesDialog.setTabOrder(self.deleteAllButton, self.restoreButton)
+        UnknownDevicesDialog.setTabOrder(self.restoreButton, self.reportButton)
+
+    def retranslateUi(self, UnknownDevicesDialog):
+        _translate = QtCore.QCoreApplication.translate
+        UnknownDevicesDialog.setWindowTitle(_translate("UnknownDevicesDialog", "Unknown Devices"))
+        self.deviceList.setSortingEnabled(True)
+        self.editButton.setToolTip(_translate("UnknownDevicesDialog", "Press to edit the selected entry"))
+        self.editButton.setText(_translate("UnknownDevicesDialog", "Edit..."))
+        self.deleteButton.setToolTip(_translate("UnknownDevicesDialog", "Press to delete the selected entries"))
+        self.deleteButton.setText(_translate("UnknownDevicesDialog", "Delete"))
+        self.deleteAllButton.setToolTip(_translate("UnknownDevicesDialog", "Press to delete all entries"))
+        self.deleteAllButton.setText(_translate("UnknownDevicesDialog", "Delete All"))
+        self.restoreButton.setToolTip(_translate("UnknownDevicesDialog", "Press to restore the list of devices"))
+        self.restoreButton.setText(_translate("UnknownDevicesDialog", "Restore"))
+        self.reportButton.setToolTip(_translate("UnknownDevicesDialog", "Press to report the data of all boards via email"))
+        self.reportButton.setText(_translate("UnknownDevicesDialog", "Report All Data"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/MicroPython/WifiDialogs/Ui_WifiApConfigDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,132 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/MicroPython/WifiDialogs/WifiApConfigDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_WifiApConfigDialog(object):
+    def setupUi(self, WifiApConfigDialog):
+        WifiApConfigDialog.setObjectName("WifiApConfigDialog")
+        WifiApConfigDialog.resize(400, 347)
+        WifiApConfigDialog.setSizeGripEnabled(True)
+        self.gridLayout_2 = QtWidgets.QGridLayout(WifiApConfigDialog)
+        self.gridLayout_2.setObjectName("gridLayout_2")
+        self.label_10 = QtWidgets.QLabel(parent=WifiApConfigDialog)
+        self.label_10.setObjectName("label_10")
+        self.gridLayout_2.addWidget(self.label_10, 0, 0, 1, 1)
+        self.apSsidEdit = QtWidgets.QLineEdit(parent=WifiApConfigDialog)
+        self.apSsidEdit.setClearButtonEnabled(True)
+        self.apSsidEdit.setObjectName("apSsidEdit")
+        self.gridLayout_2.addWidget(self.apSsidEdit, 0, 1, 1, 2)
+        self.label_12 = QtWidgets.QLabel(parent=WifiApConfigDialog)
+        self.label_12.setObjectName("label_12")
+        self.gridLayout_2.addWidget(self.label_12, 1, 0, 1, 1)
+        self.apPasswordEdit = QtWidgets.QLineEdit(parent=WifiApConfigDialog)
+        self.apPasswordEdit.setEchoMode(QtWidgets.QLineEdit.EchoMode.Password)
+        self.apPasswordEdit.setClearButtonEnabled(True)
+        self.apPasswordEdit.setObjectName("apPasswordEdit")
+        self.gridLayout_2.addWidget(self.apPasswordEdit, 1, 1, 1, 1)
+        self.apShowPasswordButton = QtWidgets.QToolButton(parent=WifiApConfigDialog)
+        self.apShowPasswordButton.setCheckable(True)
+        self.apShowPasswordButton.setObjectName("apShowPasswordButton")
+        self.gridLayout_2.addWidget(self.apShowPasswordButton, 1, 2, 1, 1)
+        self.label_23 = QtWidgets.QLabel(parent=WifiApConfigDialog)
+        self.label_23.setObjectName("label_23")
+        self.gridLayout_2.addWidget(self.label_23, 2, 0, 1, 1)
+        self.horizontalLayout_6 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_6.setObjectName("horizontalLayout_6")
+        self.apSecurityComboBox = QtWidgets.QComboBox(parent=WifiApConfigDialog)
+        self.apSecurityComboBox.setObjectName("apSecurityComboBox")
+        self.horizontalLayout_6.addWidget(self.apSecurityComboBox)
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_6.addItem(spacerItem)
+        self.gridLayout_2.addLayout(self.horizontalLayout_6, 2, 1, 1, 2)
+        self.label_5 = QtWidgets.QLabel(parent=WifiApConfigDialog)
+        self.label_5.setObjectName("label_5")
+        self.gridLayout_2.addWidget(self.label_5, 3, 0, 1, 1)
+        self.hostnameEdit = EricHostnameInputWidget(parent=WifiApConfigDialog)
+        self.hostnameEdit.setObjectName("hostnameEdit")
+        self.gridLayout_2.addWidget(self.hostnameEdit, 3, 1, 1, 2)
+        self.ipv4GroupBox = QtWidgets.QGroupBox(parent=WifiApConfigDialog)
+        self.ipv4GroupBox.setObjectName("ipv4GroupBox")
+        self.horizontalLayout = QtWidgets.QHBoxLayout(self.ipv4GroupBox)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.gridLayout = QtWidgets.QGridLayout()
+        self.gridLayout.setObjectName("gridLayout")
+        self.label = QtWidgets.QLabel(parent=self.ipv4GroupBox)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
+        self.addressEdit = EricIPv4InputWidget(parent=self.ipv4GroupBox)
+        self.addressEdit.setFocusPolicy(QtCore.Qt.FocusPolicy.NoFocus)
+        self.addressEdit.setObjectName("addressEdit")
+        self.gridLayout.addWidget(self.addressEdit, 0, 1, 1, 1)
+        self.label_2 = QtWidgets.QLabel(parent=self.ipv4GroupBox)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 1, 0, 1, 1)
+        self.netmaskEdit = EricIPv4InputWidget(parent=self.ipv4GroupBox)
+        self.netmaskEdit.setFocusPolicy(QtCore.Qt.FocusPolicy.NoFocus)
+        self.netmaskEdit.setObjectName("netmaskEdit")
+        self.gridLayout.addWidget(self.netmaskEdit, 1, 1, 1, 1)
+        self.label_3 = QtWidgets.QLabel(parent=self.ipv4GroupBox)
+        self.label_3.setObjectName("label_3")
+        self.gridLayout.addWidget(self.label_3, 2, 0, 1, 1)
+        self.gatewayEdit = EricIPv4InputWidget(parent=self.ipv4GroupBox)
+        self.gatewayEdit.setFocusPolicy(QtCore.Qt.FocusPolicy.NoFocus)
+        self.gatewayEdit.setObjectName("gatewayEdit")
+        self.gridLayout.addWidget(self.gatewayEdit, 2, 1, 1, 1)
+        self.label_4 = QtWidgets.QLabel(parent=self.ipv4GroupBox)
+        self.label_4.setObjectName("label_4")
+        self.gridLayout.addWidget(self.label_4, 3, 0, 1, 1)
+        self.dnsEdit = EricIPv4InputWidget(parent=self.ipv4GroupBox)
+        self.dnsEdit.setFocusPolicy(QtCore.Qt.FocusPolicy.NoFocus)
+        self.dnsEdit.setObjectName("dnsEdit")
+        self.gridLayout.addWidget(self.dnsEdit, 3, 1, 1, 1)
+        self.horizontalLayout.addLayout(self.gridLayout)
+        spacerItem1 = QtWidgets.QSpacerItem(273, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem1)
+        self.gridLayout_2.addWidget(self.ipv4GroupBox, 4, 0, 1, 3)
+        self.rememberCheckBox = QtWidgets.QCheckBox(parent=WifiApConfigDialog)
+        self.rememberCheckBox.setObjectName("rememberCheckBox")
+        self.gridLayout_2.addWidget(self.rememberCheckBox, 5, 0, 1, 3)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=WifiApConfigDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout_2.addWidget(self.buttonBox, 6, 0, 1, 3)
+
+        self.retranslateUi(WifiApConfigDialog)
+        self.buttonBox.accepted.connect(WifiApConfigDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(WifiApConfigDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(WifiApConfigDialog)
+        WifiApConfigDialog.setTabOrder(self.apSsidEdit, self.apPasswordEdit)
+        WifiApConfigDialog.setTabOrder(self.apPasswordEdit, self.apShowPasswordButton)
+        WifiApConfigDialog.setTabOrder(self.apShowPasswordButton, self.apSecurityComboBox)
+        WifiApConfigDialog.setTabOrder(self.apSecurityComboBox, self.hostnameEdit)
+        WifiApConfigDialog.setTabOrder(self.hostnameEdit, self.rememberCheckBox)
+
+    def retranslateUi(self, WifiApConfigDialog):
+        _translate = QtCore.QCoreApplication.translate
+        WifiApConfigDialog.setWindowTitle(_translate("WifiApConfigDialog", "Access Point Configuration"))
+        self.label_10.setText(_translate("WifiApConfigDialog", "Name:"))
+        self.apSsidEdit.setToolTip(_translate("WifiApConfigDialog", "Enter the network name (SSID) to publish"))
+        self.label_12.setText(_translate("WifiApConfigDialog", "Password:"))
+        self.apPasswordEdit.setToolTip(_translate("WifiApConfigDialog", "Enter the network password"))
+        self.apShowPasswordButton.setToolTip(_translate("WifiApConfigDialog", "Press to show the password"))
+        self.label_23.setText(_translate("WifiApConfigDialog", "Security:"))
+        self.apSecurityComboBox.setToolTip(_translate("WifiApConfigDialog", "Select the security mode"))
+        self.label_5.setText(_translate("WifiApConfigDialog", "Hostname:"))
+        self.hostnameEdit.setToolTip(_translate("WifiApConfigDialog", "Enter the host name for the device (leave empty for MicroPython &lt; 1.20)."))
+        self.ipv4GroupBox.setTitle(_translate("WifiApConfigDialog", "IPv4 Configuration"))
+        self.label.setText(_translate("WifiApConfigDialog", "Address:"))
+        self.label_2.setText(_translate("WifiApConfigDialog", "Netmask:"))
+        self.label_3.setText(_translate("WifiApConfigDialog", "Gateway:"))
+        self.label_4.setText(_translate("WifiApConfigDialog", "DNS:"))
+        self.rememberCheckBox.setToolTip(_translate("WifiApConfigDialog", "Select to remember the entered connection parameters"))
+        self.rememberCheckBox.setText(_translate("WifiApConfigDialog", "Remember Parameters"))
+from eric7.EricNetwork.EricHostnameInputWidget import EricHostnameInputWidget
+from eric7.EricNetwork.EricIPv4InputWidget import EricIPv4InputWidget
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/MicroPython/WifiDialogs/Ui_WifiApStationsDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,42 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/MicroPython/WifiDialogs/WifiApStationsDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_WifiApStationsDialog(object):
+    def setupUi(self, WifiApStationsDialog):
+        WifiApStationsDialog.setObjectName("WifiApStationsDialog")
+        WifiApStationsDialog.resize(511, 509)
+        WifiApStationsDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(WifiApStationsDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.stationsList = QtWidgets.QTreeWidget(parent=WifiApStationsDialog)
+        self.stationsList.setAlternatingRowColors(True)
+        self.stationsList.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.NoSelection)
+        self.stationsList.setRootIsDecorated(False)
+        self.stationsList.setItemsExpandable(False)
+        self.stationsList.setObjectName("stationsList")
+        self.verticalLayout.addWidget(self.stationsList)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=WifiApStationsDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(WifiApStationsDialog)
+        self.buttonBox.accepted.connect(WifiApStationsDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(WifiApStationsDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(WifiApStationsDialog)
+
+    def retranslateUi(self, WifiApStationsDialog):
+        _translate = QtCore.QCoreApplication.translate
+        WifiApStationsDialog.setWindowTitle(_translate("WifiApStationsDialog", "Connected WiFi Clients"))
+        self.stationsList.setSortingEnabled(True)
+        self.stationsList.headerItem().setText(0, _translate("WifiApStationsDialog", "Name"))
+        self.stationsList.headerItem().setText(1, _translate("WifiApStationsDialog", "RSSI [dBm]"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/MicroPython/WifiDialogs/Ui_WifiConnectionDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,88 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/MicroPython/WifiDialogs/WifiConnectionDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_WifiConnectionDialog(object):
+    def setupUi(self, WifiConnectionDialog):
+        WifiConnectionDialog.setObjectName("WifiConnectionDialog")
+        WifiConnectionDialog.resize(400, 202)
+        WifiConnectionDialog.setSizeGripEnabled(True)
+        self.gridLayout = QtWidgets.QGridLayout(WifiConnectionDialog)
+        self.gridLayout.setObjectName("gridLayout")
+        self.label = QtWidgets.QLabel(parent=WifiConnectionDialog)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
+        self.ssidEdit = QtWidgets.QLineEdit(parent=WifiConnectionDialog)
+        self.ssidEdit.setClearButtonEnabled(True)
+        self.ssidEdit.setObjectName("ssidEdit")
+        self.gridLayout.addWidget(self.ssidEdit, 0, 1, 1, 3)
+        self.label_2 = QtWidgets.QLabel(parent=WifiConnectionDialog)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 1, 0, 1, 1)
+        self.passwordEdit = QtWidgets.QLineEdit(parent=WifiConnectionDialog)
+        self.passwordEdit.setEchoMode(QtWidgets.QLineEdit.EchoMode.Password)
+        self.passwordEdit.setClearButtonEnabled(True)
+        self.passwordEdit.setObjectName("passwordEdit")
+        self.gridLayout.addWidget(self.passwordEdit, 1, 1, 1, 2)
+        self.showPasswordButton = QtWidgets.QToolButton(parent=WifiConnectionDialog)
+        self.showPasswordButton.setCheckable(True)
+        self.showPasswordButton.setObjectName("showPasswordButton")
+        self.gridLayout.addWidget(self.showPasswordButton, 1, 3, 1, 1)
+        self.label_3 = QtWidgets.QLabel(parent=WifiConnectionDialog)
+        self.label_3.setObjectName("label_3")
+        self.gridLayout.addWidget(self.label_3, 2, 0, 1, 1)
+        self.hostnameEdit = EricHostnameInputWidget(parent=WifiConnectionDialog)
+        self.hostnameEdit.setObjectName("hostnameEdit")
+        self.gridLayout.addWidget(self.hostnameEdit, 2, 1, 1, 3)
+        self.countryLabel = QtWidgets.QLabel(parent=WifiConnectionDialog)
+        self.countryLabel.setObjectName("countryLabel")
+        self.gridLayout.addWidget(self.countryLabel, 3, 0, 1, 1)
+        self.countryEdit = QtWidgets.QLineEdit(parent=WifiConnectionDialog)
+        self.countryEdit.setInputMask(">AA;_")
+        self.countryEdit.setMaxLength(2)
+        self.countryEdit.setClearButtonEnabled(True)
+        self.countryEdit.setObjectName("countryEdit")
+        self.gridLayout.addWidget(self.countryEdit, 3, 1, 1, 1)
+        spacerItem = QtWidgets.QSpacerItem(222, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout.addItem(spacerItem, 3, 2, 1, 2)
+        self.rememberCheckBox = QtWidgets.QCheckBox(parent=WifiConnectionDialog)
+        self.rememberCheckBox.setObjectName("rememberCheckBox")
+        self.gridLayout.addWidget(self.rememberCheckBox, 4, 0, 1, 4)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=WifiConnectionDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout.addWidget(self.buttonBox, 5, 0, 1, 4)
+
+        self.retranslateUi(WifiConnectionDialog)
+        self.buttonBox.accepted.connect(WifiConnectionDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(WifiConnectionDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(WifiConnectionDialog)
+        WifiConnectionDialog.setTabOrder(self.ssidEdit, self.passwordEdit)
+        WifiConnectionDialog.setTabOrder(self.passwordEdit, self.showPasswordButton)
+        WifiConnectionDialog.setTabOrder(self.showPasswordButton, self.hostnameEdit)
+        WifiConnectionDialog.setTabOrder(self.hostnameEdit, self.countryEdit)
+        WifiConnectionDialog.setTabOrder(self.countryEdit, self.rememberCheckBox)
+
+    def retranslateUi(self, WifiConnectionDialog):
+        _translate = QtCore.QCoreApplication.translate
+        WifiConnectionDialog.setWindowTitle(_translate("WifiConnectionDialog", "WiFi Connection Parameters"))
+        self.label.setText(_translate("WifiConnectionDialog", "Name:"))
+        self.ssidEdit.setToolTip(_translate("WifiConnectionDialog", "Enter the network name (SSID) to connect to"))
+        self.label_2.setText(_translate("WifiConnectionDialog", "Password:"))
+        self.passwordEdit.setToolTip(_translate("WifiConnectionDialog", "Enter the network password"))
+        self.showPasswordButton.setToolTip(_translate("WifiConnectionDialog", "Press to show the password"))
+        self.label_3.setText(_translate("WifiConnectionDialog", "Hostname:"))
+        self.hostnameEdit.setToolTip(_translate("WifiConnectionDialog", "Enter the host name for the device (leave empty for MicroPython &lt; 1.20)."))
+        self.countryLabel.setText(_translate("WifiConnectionDialog", "Country:"))
+        self.countryEdit.setToolTip(_translate("WifiConnectionDialog", "Enter the country code for the WiFi interface"))
+        self.rememberCheckBox.setToolTip(_translate("WifiConnectionDialog", "Select to remember the entered connection parameters"))
+        self.rememberCheckBox.setText(_translate("WifiConnectionDialog", "Remember Parameters"))
+from eric7.EricNetwork.EricHostnameInputWidget import EricHostnameInputWidget
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/MicroPython/WifiDialogs/Ui_WifiCountryDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,49 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/MicroPython/WifiDialogs/WifiCountryDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_WifiCountryDialog(object):
+    def setupUi(self, WifiCountryDialog):
+        WifiCountryDialog.setObjectName("WifiCountryDialog")
+        WifiCountryDialog.resize(250, 106)
+        WifiCountryDialog.setSizeGripEnabled(True)
+        self.gridLayout = QtWidgets.QGridLayout(WifiCountryDialog)
+        self.gridLayout.setObjectName("gridLayout")
+        self.label_13 = QtWidgets.QLabel(parent=WifiCountryDialog)
+        self.label_13.setObjectName("label_13")
+        self.gridLayout.addWidget(self.label_13, 0, 0, 1, 1)
+        self.countryEdit = QtWidgets.QLineEdit(parent=WifiCountryDialog)
+        self.countryEdit.setInputMask(">AA;_")
+        self.countryEdit.setMaxLength(2)
+        self.countryEdit.setClearButtonEnabled(True)
+        self.countryEdit.setObjectName("countryEdit")
+        self.gridLayout.addWidget(self.countryEdit, 0, 1, 1, 1)
+        self.rememberCheckBox = QtWidgets.QCheckBox(parent=WifiCountryDialog)
+        self.rememberCheckBox.setObjectName("rememberCheckBox")
+        self.gridLayout.addWidget(self.rememberCheckBox, 1, 0, 1, 3)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=WifiCountryDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout.addWidget(self.buttonBox, 2, 0, 1, 3)
+
+        self.retranslateUi(WifiCountryDialog)
+        self.buttonBox.accepted.connect(WifiCountryDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(WifiCountryDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(WifiCountryDialog)
+        WifiCountryDialog.setTabOrder(self.countryEdit, self.rememberCheckBox)
+
+    def retranslateUi(self, WifiCountryDialog):
+        _translate = QtCore.QCoreApplication.translate
+        WifiCountryDialog.setWindowTitle(_translate("WifiCountryDialog", "WiFi Country Code"))
+        self.label_13.setText(_translate("WifiCountryDialog", "Country:"))
+        self.countryEdit.setToolTip(_translate("WifiCountryDialog", "Enter the country code for the WiFi interface"))
+        self.rememberCheckBox.setToolTip(_translate("WifiCountryDialog", "Select to remember the entered connection parameters"))
+        self.rememberCheckBox.setText(_translate("WifiCountryDialog", "Remember Parameters"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/MicroPython/WifiDialogs/Ui_WifiNetworksWindow.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,74 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/MicroPython/WifiDialogs/WifiNetworksWindow.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_WifiNetworksWindow(object):
+    def setupUi(self, WifiNetworksWindow):
+        WifiNetworksWindow.setObjectName("WifiNetworksWindow")
+        WifiNetworksWindow.resize(650, 600)
+        self.verticalLayout = QtWidgets.QVBoxLayout(WifiNetworksWindow)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.networkList = QtWidgets.QTreeWidget(parent=WifiNetworksWindow)
+        self.networkList.setAlternatingRowColors(True)
+        self.networkList.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.NoSelection)
+        self.networkList.setRootIsDecorated(False)
+        self.networkList.setItemsExpandable(False)
+        self.networkList.setObjectName("networkList")
+        self.verticalLayout.addWidget(self.networkList)
+        self.statusLabel = QtWidgets.QLabel(parent=WifiNetworksWindow)
+        self.statusLabel.setObjectName("statusLabel")
+        self.verticalLayout.addWidget(self.statusLabel)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.scanButton = QtWidgets.QPushButton(parent=WifiNetworksWindow)
+        self.scanButton.setObjectName("scanButton")
+        self.horizontalLayout.addWidget(self.scanButton)
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem)
+        self.label = QtWidgets.QLabel(parent=WifiNetworksWindow)
+        self.label.setObjectName("label")
+        self.horizontalLayout.addWidget(self.label)
+        self.intervalSpinBox = QtWidgets.QSpinBox(parent=WifiNetworksWindow)
+        self.intervalSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.intervalSpinBox.setMinimum(5)
+        self.intervalSpinBox.setMaximum(120)
+        self.intervalSpinBox.setProperty("value", 15)
+        self.intervalSpinBox.setObjectName("intervalSpinBox")
+        self.horizontalLayout.addWidget(self.intervalSpinBox)
+        self.periodicCheckBox = QtWidgets.QCheckBox(parent=WifiNetworksWindow)
+        self.periodicCheckBox.setObjectName("periodicCheckBox")
+        self.horizontalLayout.addWidget(self.periodicCheckBox)
+        self.verticalLayout.addLayout(self.horizontalLayout)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=WifiNetworksWindow)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(WifiNetworksWindow)
+        self.buttonBox.rejected.connect(WifiNetworksWindow.close) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(WifiNetworksWindow)
+        WifiNetworksWindow.setTabOrder(self.networkList, self.scanButton)
+
+    def retranslateUi(self, WifiNetworksWindow):
+        _translate = QtCore.QCoreApplication.translate
+        WifiNetworksWindow.setWindowTitle(_translate("WifiNetworksWindow", "WiFi Networks"))
+        self.networkList.setSortingEnabled(True)
+        self.networkList.headerItem().setText(0, _translate("WifiNetworksWindow", "Name"))
+        self.networkList.headerItem().setText(1, _translate("WifiNetworksWindow", "Channel"))
+        self.networkList.headerItem().setText(2, _translate("WifiNetworksWindow", "MAC-Address"))
+        self.networkList.headerItem().setText(3, _translate("WifiNetworksWindow", "RSSI [dBm]"))
+        self.networkList.headerItem().setText(4, _translate("WifiNetworksWindow", "Security"))
+        self.scanButton.setToolTip(_translate("WifiNetworksWindow", "Press to scan for available WiFi networks."))
+        self.scanButton.setText(_translate("WifiNetworksWindow", "Scan"))
+        self.label.setText(_translate("WifiNetworksWindow", "Scan Interval:"))
+        self.intervalSpinBox.setToolTip(_translate("WifiNetworksWindow", "Enter the scan interval in seconds"))
+        self.intervalSpinBox.setSuffix(_translate("WifiNetworksWindow", " s"))
+        self.periodicCheckBox.setToolTip(_translate("WifiNetworksWindow", "Select to perform a periodic WiFi network scan"))
+        self.periodicCheckBox.setText(_translate("WifiNetworksWindow", "Periodic Scan"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/MicroPython/WifiDialogs/Ui_WifiStatusDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,46 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/MicroPython/WifiDialogs/WifiStatusDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_WifiStatusDialog(object):
+    def setupUi(self, WifiStatusDialog):
+        WifiStatusDialog.setObjectName("WifiStatusDialog")
+        WifiStatusDialog.resize(600, 650)
+        WifiStatusDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(WifiStatusDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.label = QtWidgets.QLabel(parent=WifiStatusDialog)
+        font = QtGui.QFont()
+        font.setPointSize(14)
+        font.setBold(True)
+        self.label.setFont(font)
+        self.label.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
+        self.label.setObjectName("label")
+        self.verticalLayout.addWidget(self.label)
+        self.statusTree = QtWidgets.QTreeWidget(parent=WifiStatusDialog)
+        self.statusTree.setHeaderHidden(True)
+        self.statusTree.setObjectName("statusTree")
+        self.statusTree.headerItem().setText(0, "1")
+        self.verticalLayout.addWidget(self.statusTree)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=WifiStatusDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(WifiStatusDialog)
+        self.buttonBox.accepted.connect(WifiStatusDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(WifiStatusDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(WifiStatusDialog)
+
+    def retranslateUi(self, WifiStatusDialog):
+        _translate = QtCore.QCoreApplication.translate
+        WifiStatusDialog.setWindowTitle(_translate("WifiStatusDialog", "WiFi Status"))
+        self.label.setText(_translate("WifiStatusDialog", "WiFi Status"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/MultiProject/Ui_AddProjectDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,89 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/MultiProject/AddProjectDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_AddProjectDialog(object):
+    def setupUi(self, AddProjectDialog):
+        AddProjectDialog.setObjectName("AddProjectDialog")
+        AddProjectDialog.resize(569, 378)
+        AddProjectDialog.setSizeGripEnabled(True)
+        self.gridLayout = QtWidgets.QGridLayout(AddProjectDialog)
+        self.gridLayout.setObjectName("gridLayout")
+        self.label = QtWidgets.QLabel(parent=AddProjectDialog)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
+        self.nameEdit = QtWidgets.QLineEdit(parent=AddProjectDialog)
+        self.nameEdit.setObjectName("nameEdit")
+        self.gridLayout.addWidget(self.nameEdit, 0, 1, 1, 1)
+        self.label_2 = QtWidgets.QLabel(parent=AddProjectDialog)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 1, 0, 1, 1)
+        self.filenamePicker = EricPathPicker(parent=AddProjectDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.filenamePicker.sizePolicy().hasHeightForWidth())
+        self.filenamePicker.setSizePolicy(sizePolicy)
+        self.filenamePicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.filenamePicker.setObjectName("filenamePicker")
+        self.gridLayout.addWidget(self.filenamePicker, 1, 1, 1, 1)
+        self.label_3 = QtWidgets.QLabel(parent=AddProjectDialog)
+        self.label_3.setAlignment(QtCore.Qt.AlignmentFlag.AlignLeading|QtCore.Qt.AlignmentFlag.AlignLeft|QtCore.Qt.AlignmentFlag.AlignTop)
+        self.label_3.setObjectName("label_3")
+        self.gridLayout.addWidget(self.label_3, 2, 0, 1, 1)
+        self.descriptionEdit = EricSpellCheckedTextEdit(parent=AddProjectDialog)
+        self.descriptionEdit.setTabChangesFocus(True)
+        self.descriptionEdit.setAcceptRichText(False)
+        self.descriptionEdit.setObjectName("descriptionEdit")
+        self.gridLayout.addWidget(self.descriptionEdit, 2, 1, 1, 1)
+        self.label_4 = QtWidgets.QLabel(parent=AddProjectDialog)
+        self.label_4.setObjectName("label_4")
+        self.gridLayout.addWidget(self.label_4, 3, 0, 1, 1)
+        self.categoryComboBox = QtWidgets.QComboBox(parent=AddProjectDialog)
+        self.categoryComboBox.setEditable(True)
+        self.categoryComboBox.setObjectName("categoryComboBox")
+        self.gridLayout.addWidget(self.categoryComboBox, 3, 1, 1, 1)
+        self.mainCheckBox = QtWidgets.QCheckBox(parent=AddProjectDialog)
+        self.mainCheckBox.setObjectName("mainCheckBox")
+        self.gridLayout.addWidget(self.mainCheckBox, 4, 0, 1, 2)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=AddProjectDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout.addWidget(self.buttonBox, 5, 0, 1, 2)
+        self.label.setBuddy(self.nameEdit)
+        self.label_2.setBuddy(self.filenamePicker)
+        self.label_3.setBuddy(self.descriptionEdit)
+        self.label_4.setBuddy(self.categoryComboBox)
+
+        self.retranslateUi(AddProjectDialog)
+        self.buttonBox.accepted.connect(AddProjectDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(AddProjectDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(AddProjectDialog)
+        AddProjectDialog.setTabOrder(self.nameEdit, self.filenamePicker)
+        AddProjectDialog.setTabOrder(self.filenamePicker, self.descriptionEdit)
+        AddProjectDialog.setTabOrder(self.descriptionEdit, self.categoryComboBox)
+        AddProjectDialog.setTabOrder(self.categoryComboBox, self.mainCheckBox)
+
+    def retranslateUi(self, AddProjectDialog):
+        _translate = QtCore.QCoreApplication.translate
+        AddProjectDialog.setWindowTitle(_translate("AddProjectDialog", "Add Project"))
+        self.label.setText(_translate("AddProjectDialog", "&Name:"))
+        self.nameEdit.setToolTip(_translate("AddProjectDialog", "Enter the name of the project"))
+        self.label_2.setText(_translate("AddProjectDialog", "Project&file:"))
+        self.filenamePicker.setToolTip(_translate("AddProjectDialog", "Enter the name of the project file"))
+        self.label_3.setText(_translate("AddProjectDialog", "&Description:"))
+        self.descriptionEdit.setToolTip(_translate("AddProjectDialog", "Enter a short description for the project"))
+        self.label_4.setText(_translate("AddProjectDialog", "&Category:"))
+        self.categoryComboBox.setToolTip(_translate("AddProjectDialog", "Select a project category"))
+        self.mainCheckBox.setToolTip(_translate("AddProjectDialog", "Select to make this project the main project"))
+        self.mainCheckBox.setText(_translate("AddProjectDialog", "Is &main project"))
+from eric7.EricWidgets.EricPathPicker import EricPathPicker
+from eric7.EricWidgets.EricSpellCheckedTextEdit import EricSpellCheckedTextEdit
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/MultiProject/Ui_PropertiesDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,51 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/MultiProject/PropertiesDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_PropertiesDialog(object):
+    def setupUi(self, PropertiesDialog):
+        PropertiesDialog.setObjectName("PropertiesDialog")
+        PropertiesDialog.resize(530, 227)
+        PropertiesDialog.setSizeGripEnabled(True)
+        self.vboxlayout = QtWidgets.QVBoxLayout(PropertiesDialog)
+        self.vboxlayout.setObjectName("vboxlayout")
+        self.gridlayout = QtWidgets.QGridLayout()
+        self.gridlayout.setObjectName("gridlayout")
+        self.descriptionLabel = QtWidgets.QLabel(parent=PropertiesDialog)
+        self.descriptionLabel.setAlignment(QtCore.Qt.AlignmentFlag.AlignTop)
+        self.descriptionLabel.setObjectName("descriptionLabel")
+        self.gridlayout.addWidget(self.descriptionLabel, 0, 0, 1, 1)
+        self.descriptionEdit = EricSpellCheckedTextEdit(parent=PropertiesDialog)
+        self.descriptionEdit.setTabChangesFocus(True)
+        self.descriptionEdit.setAcceptRichText(False)
+        self.descriptionEdit.setObjectName("descriptionEdit")
+        self.gridlayout.addWidget(self.descriptionEdit, 0, 1, 1, 1)
+        self.vboxlayout.addLayout(self.gridlayout)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=PropertiesDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.vboxlayout.addWidget(self.buttonBox)
+        self.descriptionLabel.setBuddy(self.descriptionEdit)
+
+        self.retranslateUi(PropertiesDialog)
+        self.buttonBox.accepted.connect(PropertiesDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(PropertiesDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(PropertiesDialog)
+        PropertiesDialog.setTabOrder(self.descriptionEdit, self.buttonBox)
+
+    def retranslateUi(self, PropertiesDialog):
+        _translate = QtCore.QCoreApplication.translate
+        PropertiesDialog.setWindowTitle(_translate("PropertiesDialog", "Multiproject Properties"))
+        self.descriptionLabel.setText(_translate("PropertiesDialog", "&Description:"))
+        self.descriptionEdit.setToolTip(_translate("PropertiesDialog", "Enter description"))
+        self.descriptionEdit.setWhatsThis(_translate("PropertiesDialog", "<b>Description</b>\n"
+"<p>Enter a short description for the multiproject.</p>"))
+from eric7.EricWidgets.EricSpellCheckedTextEdit import EricSpellCheckedTextEdit
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Network/IRC/Ui_IrcChannelEditDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,57 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Network/IRC/IrcChannelEditDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_IrcChannelEditDialog(object):
+    def setupUi(self, IrcChannelEditDialog):
+        IrcChannelEditDialog.setObjectName("IrcChannelEditDialog")
+        IrcChannelEditDialog.resize(303, 128)
+        IrcChannelEditDialog.setSizeGripEnabled(True)
+        self.gridLayout = QtWidgets.QGridLayout(IrcChannelEditDialog)
+        self.gridLayout.setObjectName("gridLayout")
+        self.label = QtWidgets.QLabel(parent=IrcChannelEditDialog)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
+        self.nameEdit = QtWidgets.QLineEdit(parent=IrcChannelEditDialog)
+        self.nameEdit.setObjectName("nameEdit")
+        self.gridLayout.addWidget(self.nameEdit, 0, 1, 1, 1)
+        self.label_2 = QtWidgets.QLabel(parent=IrcChannelEditDialog)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 1, 0, 1, 1)
+        self.keyEdit = QtWidgets.QLineEdit(parent=IrcChannelEditDialog)
+        self.keyEdit.setEchoMode(QtWidgets.QLineEdit.EchoMode.Password)
+        self.keyEdit.setObjectName("keyEdit")
+        self.gridLayout.addWidget(self.keyEdit, 1, 1, 1, 1)
+        self.autoJoinCheckBox = QtWidgets.QCheckBox(parent=IrcChannelEditDialog)
+        self.autoJoinCheckBox.setObjectName("autoJoinCheckBox")
+        self.gridLayout.addWidget(self.autoJoinCheckBox, 2, 0, 1, 2)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=IrcChannelEditDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout.addWidget(self.buttonBox, 3, 0, 1, 2)
+
+        self.retranslateUi(IrcChannelEditDialog)
+        self.buttonBox.accepted.connect(IrcChannelEditDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(IrcChannelEditDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(IrcChannelEditDialog)
+        IrcChannelEditDialog.setTabOrder(self.nameEdit, self.keyEdit)
+        IrcChannelEditDialog.setTabOrder(self.keyEdit, self.autoJoinCheckBox)
+        IrcChannelEditDialog.setTabOrder(self.autoJoinCheckBox, self.buttonBox)
+
+    def retranslateUi(self, IrcChannelEditDialog):
+        _translate = QtCore.QCoreApplication.translate
+        IrcChannelEditDialog.setWindowTitle(_translate("IrcChannelEditDialog", "IRC Channel"))
+        self.label.setText(_translate("IrcChannelEditDialog", "Name:"))
+        self.nameEdit.setToolTip(_translate("IrcChannelEditDialog", "Enter the channel name"))
+        self.label_2.setText(_translate("IrcChannelEditDialog", "Key:"))
+        self.keyEdit.setToolTip(_translate("IrcChannelEditDialog", "Enter the channel key/password"))
+        self.autoJoinCheckBox.setToolTip(_translate("IrcChannelEditDialog", "Select to join this channel automatically"))
+        self.autoJoinCheckBox.setText(_translate("IrcChannelEditDialog", "Join channel automatically"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Network/IRC/Ui_IrcChannelWidget.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,71 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Network/IRC/IrcChannelWidget.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_IrcChannelWidget(object):
+    def setupUi(self, IrcChannelWidget):
+        IrcChannelWidget.setObjectName("IrcChannelWidget")
+        IrcChannelWidget.resize(400, 685)
+        IrcChannelWidget.setWindowTitle("")
+        self.verticalLayout = QtWidgets.QVBoxLayout(IrcChannelWidget)
+        self.verticalLayout.setContentsMargins(0, 0, 0, 0)
+        self.verticalLayout.setSpacing(3)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.topicLabel = QtWidgets.QLabel(parent=IrcChannelWidget)
+        self.topicLabel.setText("")
+        self.topicLabel.setWordWrap(True)
+        self.topicLabel.setOpenExternalLinks(True)
+        self.topicLabel.setObjectName("topicLabel")
+        self.horizontalLayout.addWidget(self.topicLabel)
+        self.editTopicButton = QtWidgets.QToolButton(parent=IrcChannelWidget)
+        self.editTopicButton.setText("")
+        self.editTopicButton.setObjectName("editTopicButton")
+        self.horizontalLayout.addWidget(self.editTopicButton)
+        self.verticalLayout.addLayout(self.horizontalLayout)
+        self.splitter = QtWidgets.QSplitter(parent=IrcChannelWidget)
+        self.splitter.setOrientation(QtCore.Qt.Orientation.Vertical)
+        self.splitter.setObjectName("splitter")
+        self.usersList = QtWidgets.QListWidget(parent=self.splitter)
+        self.usersList.setContextMenuPolicy(QtCore.Qt.ContextMenuPolicy.CustomContextMenu)
+        self.usersList.setAlternatingRowColors(True)
+        self.usersList.setObjectName("usersList")
+        self.messages = QtWidgets.QTextBrowser(parent=self.splitter)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(1)
+        sizePolicy.setHeightForWidth(self.messages.sizePolicy().hasHeightForWidth())
+        self.messages.setSizePolicy(sizePolicy)
+        self.messages.setContextMenuPolicy(QtCore.Qt.ContextMenuPolicy.CustomContextMenu)
+        self.messages.setTabChangesFocus(True)
+        self.messages.setOpenLinks(False)
+        self.messages.setObjectName("messages")
+        self.verticalLayout.addWidget(self.splitter)
+        self.messageEdit = IrcMessageEdit(parent=IrcChannelWidget)
+        self.messageEdit.setClearButtonEnabled(True)
+        self.messageEdit.setObjectName("messageEdit")
+        self.verticalLayout.addWidget(self.messageEdit)
+
+        self.retranslateUi(IrcChannelWidget)
+        QtCore.QMetaObject.connectSlotsByName(IrcChannelWidget)
+        IrcChannelWidget.setTabOrder(self.messageEdit, self.messages)
+        IrcChannelWidget.setTabOrder(self.messages, self.usersList)
+        IrcChannelWidget.setTabOrder(self.usersList, self.editTopicButton)
+
+    def retranslateUi(self, IrcChannelWidget):
+        _translate = QtCore.QCoreApplication.translate
+        self.editTopicButton.setToolTip(_translate("IrcChannelWidget", "Press to change the topic"))
+        self.usersList.setToolTip(_translate("IrcChannelWidget", "Shows the list of users"))
+        self.usersList.setSortingEnabled(True)
+        self.messages.setToolTip(_translate("IrcChannelWidget", "Shows the channel messages"))
+        self.messageEdit.setToolTip(_translate("IrcChannelWidget", "Enter a message, send by pressing Return or Enter"))
+        self.messageEdit.setPlaceholderText(_translate("IrcChannelWidget", "Enter a message, send by pressing Return or Enter"))
+from eric7.Network.IRC.IrcMessageEdit import IrcMessageEdit
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Network/IRC/Ui_IrcIdentitiesEditDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,218 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Network/IRC/IrcIdentitiesEditDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_IrcIdentitiesEditDialog(object):
+    def setupUi(self, IrcIdentitiesEditDialog):
+        IrcIdentitiesEditDialog.setObjectName("IrcIdentitiesEditDialog")
+        IrcIdentitiesEditDialog.resize(650, 510)
+        IrcIdentitiesEditDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(IrcIdentitiesEditDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.label = QtWidgets.QLabel(parent=IrcIdentitiesEditDialog)
+        self.label.setObjectName("label")
+        self.horizontalLayout.addWidget(self.label)
+        self.identitiesCombo = QtWidgets.QComboBox(parent=IrcIdentitiesEditDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.identitiesCombo.sizePolicy().hasHeightForWidth())
+        self.identitiesCombo.setSizePolicy(sizePolicy)
+        self.identitiesCombo.setObjectName("identitiesCombo")
+        self.horizontalLayout.addWidget(self.identitiesCombo)
+        self.addButton = QtWidgets.QToolButton(parent=IrcIdentitiesEditDialog)
+        self.addButton.setObjectName("addButton")
+        self.horizontalLayout.addWidget(self.addButton)
+        self.copyButton = QtWidgets.QToolButton(parent=IrcIdentitiesEditDialog)
+        self.copyButton.setObjectName("copyButton")
+        self.horizontalLayout.addWidget(self.copyButton)
+        self.renameButton = QtWidgets.QToolButton(parent=IrcIdentitiesEditDialog)
+        self.renameButton.setObjectName("renameButton")
+        self.horizontalLayout.addWidget(self.renameButton)
+        self.deleteButton = QtWidgets.QToolButton(parent=IrcIdentitiesEditDialog)
+        self.deleteButton.setObjectName("deleteButton")
+        self.horizontalLayout.addWidget(self.deleteButton)
+        self.verticalLayout.addLayout(self.horizontalLayout)
+        self.identityTabWidget = QtWidgets.QTabWidget(parent=IrcIdentitiesEditDialog)
+        self.identityTabWidget.setObjectName("identityTabWidget")
+        self.generalTab = QtWidgets.QWidget()
+        self.generalTab.setObjectName("generalTab")
+        self.gridLayout_2 = QtWidgets.QGridLayout(self.generalTab)
+        self.gridLayout_2.setObjectName("gridLayout_2")
+        self.label_2 = QtWidgets.QLabel(parent=self.generalTab)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout_2.addWidget(self.label_2, 0, 0, 1, 1)
+        self.realnameEdit = QtWidgets.QLineEdit(parent=self.generalTab)
+        self.realnameEdit.setObjectName("realnameEdit")
+        self.gridLayout_2.addWidget(self.realnameEdit, 0, 1, 1, 1)
+        self.nickNameGroup = QtWidgets.QGroupBox(parent=self.generalTab)
+        self.nickNameGroup.setObjectName("nickNameGroup")
+        self.gridLayout = QtWidgets.QGridLayout(self.nickNameGroup)
+        self.gridLayout.setObjectName("gridLayout")
+        self.nicknameEdit = QtWidgets.QLineEdit(parent=self.nickNameGroup)
+        self.nicknameEdit.setObjectName("nicknameEdit")
+        self.gridLayout.addWidget(self.nicknameEdit, 0, 0, 1, 2)
+        self.nicknamesList = QtWidgets.QListWidget(parent=self.nickNameGroup)
+        self.nicknamesList.setAlternatingRowColors(True)
+        self.nicknamesList.setObjectName("nicknamesList")
+        self.gridLayout.addWidget(self.nicknamesList, 1, 0, 5, 1)
+        self.nicknameAddButton = QtWidgets.QToolButton(parent=self.nickNameGroup)
+        self.nicknameAddButton.setObjectName("nicknameAddButton")
+        self.gridLayout.addWidget(self.nicknameAddButton, 1, 1, 1, 1)
+        self.nicknameDeleteButton = QtWidgets.QToolButton(parent=self.nickNameGroup)
+        self.nicknameDeleteButton.setText("")
+        self.nicknameDeleteButton.setObjectName("nicknameDeleteButton")
+        self.gridLayout.addWidget(self.nicknameDeleteButton, 2, 1, 1, 1)
+        self.nicknameUpButton = QtWidgets.QToolButton(parent=self.nickNameGroup)
+        self.nicknameUpButton.setObjectName("nicknameUpButton")
+        self.gridLayout.addWidget(self.nicknameUpButton, 3, 1, 1, 1)
+        self.nicknameDownButton = QtWidgets.QToolButton(parent=self.nickNameGroup)
+        self.nicknameDownButton.setObjectName("nicknameDownButton")
+        self.gridLayout.addWidget(self.nicknameDownButton, 4, 1, 1, 1)
+        spacerItem = QtWidgets.QSpacerItem(20, 87, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.gridLayout.addItem(spacerItem, 5, 1, 1, 1)
+        self.gridLayout_2.addWidget(self.nickNameGroup, 1, 0, 1, 2)
+        self.autoIdentifyGroup = QtWidgets.QGroupBox(parent=self.generalTab)
+        self.autoIdentifyGroup.setObjectName("autoIdentifyGroup")
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.autoIdentifyGroup)
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.label_3 = QtWidgets.QLabel(parent=self.autoIdentifyGroup)
+        self.label_3.setObjectName("label_3")
+        self.horizontalLayout_2.addWidget(self.label_3)
+        self.serviceEdit = QtWidgets.QLineEdit(parent=self.autoIdentifyGroup)
+        self.serviceEdit.setObjectName("serviceEdit")
+        self.horizontalLayout_2.addWidget(self.serviceEdit)
+        self.label_4 = QtWidgets.QLabel(parent=self.autoIdentifyGroup)
+        self.label_4.setObjectName("label_4")
+        self.horizontalLayout_2.addWidget(self.label_4)
+        self.passwordEdit = QtWidgets.QLineEdit(parent=self.autoIdentifyGroup)
+        self.passwordEdit.setEchoMode(QtWidgets.QLineEdit.EchoMode.Password)
+        self.passwordEdit.setObjectName("passwordEdit")
+        self.horizontalLayout_2.addWidget(self.passwordEdit)
+        self.showPasswordButton = QtWidgets.QToolButton(parent=self.autoIdentifyGroup)
+        self.showPasswordButton.setCheckable(True)
+        self.showPasswordButton.setObjectName("showPasswordButton")
+        self.horizontalLayout_2.addWidget(self.showPasswordButton)
+        self.gridLayout_2.addWidget(self.autoIdentifyGroup, 2, 0, 1, 2)
+        self.identityTabWidget.addTab(self.generalTab, "")
+        self.awayTab = QtWidgets.QWidget()
+        self.awayTab.setObjectName("awayTab")
+        self.gridLayout_5 = QtWidgets.QGridLayout(self.awayTab)
+        self.gridLayout_5.setObjectName("gridLayout_5")
+        self.rememberPosOnAwayCheckBox = QtWidgets.QCheckBox(parent=self.awayTab)
+        self.rememberPosOnAwayCheckBox.setWhatsThis("")
+        self.rememberPosOnAwayCheckBox.setObjectName("rememberPosOnAwayCheckBox")
+        self.gridLayout_5.addWidget(self.rememberPosOnAwayCheckBox, 0, 0, 1, 2)
+        self.label_8 = QtWidgets.QLabel(parent=self.awayTab)
+        self.label_8.setObjectName("label_8")
+        self.gridLayout_5.addWidget(self.label_8, 1, 0, 1, 1)
+        self.awayEdit = QtWidgets.QLineEdit(parent=self.awayTab)
+        self.awayEdit.setObjectName("awayEdit")
+        self.gridLayout_5.addWidget(self.awayEdit, 1, 1, 1, 1)
+        spacerItem1 = QtWidgets.QSpacerItem(20, 219, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.gridLayout_5.addItem(spacerItem1, 2, 1, 1, 1)
+        self.identityTabWidget.addTab(self.awayTab, "")
+        self.advancedTab = QtWidgets.QWidget()
+        self.advancedTab.setObjectName("advancedTab")
+        self.gridLayout_3 = QtWidgets.QGridLayout(self.advancedTab)
+        self.gridLayout_3.setObjectName("gridLayout_3")
+        self.label_5 = QtWidgets.QLabel(parent=self.advancedTab)
+        self.label_5.setObjectName("label_5")
+        self.gridLayout_3.addWidget(self.label_5, 0, 0, 1, 1)
+        self.identEdit = QtWidgets.QLineEdit(parent=self.advancedTab)
+        self.identEdit.setObjectName("identEdit")
+        self.gridLayout_3.addWidget(self.identEdit, 0, 1, 1, 1)
+        self.label_6 = QtWidgets.QLabel(parent=self.advancedTab)
+        self.label_6.setObjectName("label_6")
+        self.gridLayout_3.addWidget(self.label_6, 1, 0, 1, 1)
+        self.quitEdit = QtWidgets.QLineEdit(parent=self.advancedTab)
+        self.quitEdit.setObjectName("quitEdit")
+        self.gridLayout_3.addWidget(self.quitEdit, 1, 1, 1, 1)
+        self.label_7 = QtWidgets.QLabel(parent=self.advancedTab)
+        self.label_7.setObjectName("label_7")
+        self.gridLayout_3.addWidget(self.label_7, 2, 0, 1, 1)
+        self.partEdit = QtWidgets.QLineEdit(parent=self.advancedTab)
+        self.partEdit.setObjectName("partEdit")
+        self.gridLayout_3.addWidget(self.partEdit, 2, 1, 1, 1)
+        spacerItem2 = QtWidgets.QSpacerItem(20, 291, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.gridLayout_3.addItem(spacerItem2, 3, 1, 1, 1)
+        self.identityTabWidget.addTab(self.advancedTab, "")
+        self.verticalLayout.addWidget(self.identityTabWidget)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=IrcIdentitiesEditDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(IrcIdentitiesEditDialog)
+        self.identityTabWidget.setCurrentIndex(0)
+        self.buttonBox.accepted.connect(IrcIdentitiesEditDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(IrcIdentitiesEditDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(IrcIdentitiesEditDialog)
+        IrcIdentitiesEditDialog.setTabOrder(self.identitiesCombo, self.addButton)
+        IrcIdentitiesEditDialog.setTabOrder(self.addButton, self.copyButton)
+        IrcIdentitiesEditDialog.setTabOrder(self.copyButton, self.renameButton)
+        IrcIdentitiesEditDialog.setTabOrder(self.renameButton, self.deleteButton)
+        IrcIdentitiesEditDialog.setTabOrder(self.deleteButton, self.identityTabWidget)
+        IrcIdentitiesEditDialog.setTabOrder(self.identityTabWidget, self.realnameEdit)
+        IrcIdentitiesEditDialog.setTabOrder(self.realnameEdit, self.nicknameEdit)
+        IrcIdentitiesEditDialog.setTabOrder(self.nicknameEdit, self.nicknamesList)
+        IrcIdentitiesEditDialog.setTabOrder(self.nicknamesList, self.nicknameAddButton)
+        IrcIdentitiesEditDialog.setTabOrder(self.nicknameAddButton, self.nicknameDeleteButton)
+        IrcIdentitiesEditDialog.setTabOrder(self.nicknameDeleteButton, self.nicknameUpButton)
+        IrcIdentitiesEditDialog.setTabOrder(self.nicknameUpButton, self.nicknameDownButton)
+        IrcIdentitiesEditDialog.setTabOrder(self.nicknameDownButton, self.serviceEdit)
+        IrcIdentitiesEditDialog.setTabOrder(self.serviceEdit, self.passwordEdit)
+        IrcIdentitiesEditDialog.setTabOrder(self.passwordEdit, self.showPasswordButton)
+        IrcIdentitiesEditDialog.setTabOrder(self.showPasswordButton, self.rememberPosOnAwayCheckBox)
+        IrcIdentitiesEditDialog.setTabOrder(self.rememberPosOnAwayCheckBox, self.awayEdit)
+        IrcIdentitiesEditDialog.setTabOrder(self.awayEdit, self.identEdit)
+        IrcIdentitiesEditDialog.setTabOrder(self.identEdit, self.quitEdit)
+        IrcIdentitiesEditDialog.setTabOrder(self.quitEdit, self.partEdit)
+
+    def retranslateUi(self, IrcIdentitiesEditDialog):
+        _translate = QtCore.QCoreApplication.translate
+        IrcIdentitiesEditDialog.setWindowTitle(_translate("IrcIdentitiesEditDialog", "IRC Identities"))
+        self.label.setText(_translate("IrcIdentitiesEditDialog", "Identity:"))
+        self.identitiesCombo.setToolTip(_translate("IrcIdentitiesEditDialog", "Select the identity to work on"))
+        self.addButton.setToolTip(_translate("IrcIdentitiesEditDialog", "Press to add a new identity"))
+        self.copyButton.setToolTip(_translate("IrcIdentitiesEditDialog", "Press to copy the selected identity"))
+        self.renameButton.setToolTip(_translate("IrcIdentitiesEditDialog", "Press to rename the selected identity"))
+        self.deleteButton.setToolTip(_translate("IrcIdentitiesEditDialog", "Press to delete the selected identity"))
+        self.label_2.setText(_translate("IrcIdentitiesEditDialog", "Real Name:"))
+        self.realnameEdit.setToolTip(_translate("IrcIdentitiesEditDialog", "Enter the real name"))
+        self.nickNameGroup.setTitle(_translate("IrcIdentitiesEditDialog", "Nick Names"))
+        self.nicknameEdit.setToolTip(_translate("IrcIdentitiesEditDialog", "Enter a nick name to add"))
+        self.nicknameAddButton.setToolTip(_translate("IrcIdentitiesEditDialog", "Press to add the entered nick name"))
+        self.nicknameDeleteButton.setToolTip(_translate("IrcIdentitiesEditDialog", "Press to delete the selected nick name"))
+        self.nicknameUpButton.setToolTip(_translate("IrcIdentitiesEditDialog", "Press to move the selected nick name up"))
+        self.nicknameDownButton.setToolTip(_translate("IrcIdentitiesEditDialog", "Press to move the selected nick name down"))
+        self.autoIdentifyGroup.setTitle(_translate("IrcIdentitiesEditDialog", "Auto Identify"))
+        self.label_3.setText(_translate("IrcIdentitiesEditDialog", "Service:"))
+        self.serviceEdit.setToolTip(_translate("IrcIdentitiesEditDialog", "Enter the name of the service to identify against"))
+        self.serviceEdit.setWhatsThis(_translate("IrcIdentitiesEditDialog", "Service name can be <b><i>nickserv</i></b> or a network-dependent name such as <b><i>nickserv@services.dal.net</i></b>"))
+        self.label_4.setText(_translate("IrcIdentitiesEditDialog", "Password:"))
+        self.passwordEdit.setToolTip(_translate("IrcIdentitiesEditDialog", "Enter the password"))
+        self.showPasswordButton.setToolTip(_translate("IrcIdentitiesEditDialog", "Press to show the password"))
+        self.identityTabWidget.setTabText(self.identityTabWidget.indexOf(self.generalTab), _translate("IrcIdentitiesEditDialog", "General"))
+        self.rememberPosOnAwayCheckBox.setToolTip(_translate("IrcIdentitiesEditDialog", "Select to mark the current position in the chat, when you send an AWAY command."))
+        self.rememberPosOnAwayCheckBox.setText(_translate("IrcIdentitiesEditDialog", "Mark the current position in chat windows when going away"))
+        self.label_8.setText(_translate("IrcIdentitiesEditDialog", "Away Message:"))
+        self.awayEdit.setToolTip(_translate("IrcIdentitiesEditDialog", "Enter the message to be sent when going away"))
+        self.identityTabWidget.setTabText(self.identityTabWidget.indexOf(self.awayTab), _translate("IrcIdentitiesEditDialog", "Away"))
+        self.label_5.setText(_translate("IrcIdentitiesEditDialog", "Ident:"))
+        self.identEdit.setToolTip(_translate("IrcIdentitiesEditDialog", "Enter the identity to be used to log-on to the server"))
+        self.label_6.setText(_translate("IrcIdentitiesEditDialog", "Reason for Quit:"))
+        self.quitEdit.setToolTip(_translate("IrcIdentitiesEditDialog", "Enter a message to be sent when quitting"))
+        self.label_7.setText(_translate("IrcIdentitiesEditDialog", "Reason for Part:"))
+        self.partEdit.setToolTip(_translate("IrcIdentitiesEditDialog", "Enter message to be sent when leaving a channel"))
+        self.identityTabWidget.setTabText(self.identityTabWidget.indexOf(self.advancedTab), _translate("IrcIdentitiesEditDialog", "Advanced"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Network/IRC/Ui_IrcNetworkEditDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,110 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Network/IRC/IrcNetworkEditDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_IrcNetworkEditDialog(object):
+    def setupUi(self, IrcNetworkEditDialog):
+        IrcNetworkEditDialog.setObjectName("IrcNetworkEditDialog")
+        IrcNetworkEditDialog.resize(400, 321)
+        IrcNetworkEditDialog.setSizeGripEnabled(True)
+        self.gridLayout = QtWidgets.QGridLayout(IrcNetworkEditDialog)
+        self.gridLayout.setObjectName("gridLayout")
+        self.label = QtWidgets.QLabel(parent=IrcNetworkEditDialog)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
+        self.networkEdit = QtWidgets.QLineEdit(parent=IrcNetworkEditDialog)
+        self.networkEdit.setObjectName("networkEdit")
+        self.gridLayout.addWidget(self.networkEdit, 0, 1, 1, 2)
+        self.label_2 = QtWidgets.QLabel(parent=IrcNetworkEditDialog)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 1, 0, 1, 1)
+        self.identityCombo = QtWidgets.QComboBox(parent=IrcNetworkEditDialog)
+        self.identityCombo.setObjectName("identityCombo")
+        self.gridLayout.addWidget(self.identityCombo, 1, 1, 1, 1)
+        self.editIdentitiesButton = QtWidgets.QToolButton(parent=IrcNetworkEditDialog)
+        self.editIdentitiesButton.setText("")
+        self.editIdentitiesButton.setObjectName("editIdentitiesButton")
+        self.gridLayout.addWidget(self.editIdentitiesButton, 1, 2, 1, 1)
+        self.label_3 = QtWidgets.QLabel(parent=IrcNetworkEditDialog)
+        self.label_3.setObjectName("label_3")
+        self.gridLayout.addWidget(self.label_3, 2, 0, 1, 1)
+        self.editServerButton = QtWidgets.QToolButton(parent=IrcNetworkEditDialog)
+        self.editServerButton.setText("")
+        self.editServerButton.setObjectName("editServerButton")
+        self.gridLayout.addWidget(self.editServerButton, 2, 2, 1, 1)
+        self.label_4 = QtWidgets.QLabel(parent=IrcNetworkEditDialog)
+        self.label_4.setAlignment(QtCore.Qt.AlignmentFlag.AlignLeading|QtCore.Qt.AlignmentFlag.AlignLeft|QtCore.Qt.AlignmentFlag.AlignTop)
+        self.label_4.setObjectName("label_4")
+        self.gridLayout.addWidget(self.label_4, 3, 0, 1, 1)
+        self.channelList = QtWidgets.QTreeWidget(parent=IrcNetworkEditDialog)
+        self.channelList.setAlternatingRowColors(True)
+        self.channelList.setRootIsDecorated(False)
+        self.channelList.setItemsExpandable(False)
+        self.channelList.setExpandsOnDoubleClick(False)
+        self.channelList.setObjectName("channelList")
+        self.gridLayout.addWidget(self.channelList, 3, 1, 1, 1)
+        self.verticalLayout = QtWidgets.QVBoxLayout()
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.addChannelButton = QtWidgets.QToolButton(parent=IrcNetworkEditDialog)
+        self.addChannelButton.setText("")
+        self.addChannelButton.setObjectName("addChannelButton")
+        self.verticalLayout.addWidget(self.addChannelButton)
+        self.editChannelButton = QtWidgets.QToolButton(parent=IrcNetworkEditDialog)
+        self.editChannelButton.setText("")
+        self.editChannelButton.setObjectName("editChannelButton")
+        self.verticalLayout.addWidget(self.editChannelButton)
+        self.deleteChannelButton = QtWidgets.QToolButton(parent=IrcNetworkEditDialog)
+        self.deleteChannelButton.setText("")
+        self.deleteChannelButton.setObjectName("deleteChannelButton")
+        self.verticalLayout.addWidget(self.deleteChannelButton)
+        spacerItem = QtWidgets.QSpacerItem(20, 98, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout.addItem(spacerItem)
+        self.gridLayout.addLayout(self.verticalLayout, 3, 2, 1, 1)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=IrcNetworkEditDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout.addWidget(self.buttonBox, 4, 0, 1, 3)
+        self.serverEdit = QtWidgets.QLineEdit(parent=IrcNetworkEditDialog)
+        self.serverEdit.setReadOnly(True)
+        self.serverEdit.setObjectName("serverEdit")
+        self.gridLayout.addWidget(self.serverEdit, 2, 1, 1, 1)
+
+        self.retranslateUi(IrcNetworkEditDialog)
+        self.buttonBox.accepted.connect(IrcNetworkEditDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(IrcNetworkEditDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(IrcNetworkEditDialog)
+        IrcNetworkEditDialog.setTabOrder(self.networkEdit, self.identityCombo)
+        IrcNetworkEditDialog.setTabOrder(self.identityCombo, self.editIdentitiesButton)
+        IrcNetworkEditDialog.setTabOrder(self.editIdentitiesButton, self.serverEdit)
+        IrcNetworkEditDialog.setTabOrder(self.serverEdit, self.editServerButton)
+        IrcNetworkEditDialog.setTabOrder(self.editServerButton, self.channelList)
+        IrcNetworkEditDialog.setTabOrder(self.channelList, self.addChannelButton)
+        IrcNetworkEditDialog.setTabOrder(self.addChannelButton, self.editChannelButton)
+        IrcNetworkEditDialog.setTabOrder(self.editChannelButton, self.deleteChannelButton)
+        IrcNetworkEditDialog.setTabOrder(self.deleteChannelButton, self.buttonBox)
+
+    def retranslateUi(self, IrcNetworkEditDialog):
+        _translate = QtCore.QCoreApplication.translate
+        IrcNetworkEditDialog.setWindowTitle(_translate("IrcNetworkEditDialog", "IRC Network"))
+        self.label.setText(_translate("IrcNetworkEditDialog", "Network Name:"))
+        self.networkEdit.setToolTip(_translate("IrcNetworkEditDialog", "Enter the name of the IRC network"))
+        self.label_2.setText(_translate("IrcNetworkEditDialog", "Identity:"))
+        self.identityCombo.setToolTip(_translate("IrcNetworkEditDialog", "Select the identity to be used for the IRC network"))
+        self.editIdentitiesButton.setToolTip(_translate("IrcNetworkEditDialog", "Press to edit the identities"))
+        self.label_3.setText(_translate("IrcNetworkEditDialog", "Server:"))
+        self.editServerButton.setToolTip(_translate("IrcNetworkEditDialog", "Press to edit the server configuration"))
+        self.label_4.setText(_translate("IrcNetworkEditDialog", "Channels:"))
+        self.channelList.headerItem().setText(0, _translate("IrcNetworkEditDialog", "Channel"))
+        self.channelList.headerItem().setText(1, _translate("IrcNetworkEditDialog", "Join Automatically"))
+        self.addChannelButton.setToolTip(_translate("IrcNetworkEditDialog", "Press to add a new channel"))
+        self.editChannelButton.setToolTip(_translate("IrcNetworkEditDialog", "Press to edit the selected channel"))
+        self.deleteChannelButton.setToolTip(_translate("IrcNetworkEditDialog", "Press to delete the selected channel"))
+        self.serverEdit.setToolTip(_translate("IrcNetworkEditDialog", "Shows the name of the server"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Network/IRC/Ui_IrcNetworkListDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,84 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Network/IRC/IrcNetworkListDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_IrcNetworkListDialog(object):
+    def setupUi(self, IrcNetworkListDialog):
+        IrcNetworkListDialog.setObjectName("IrcNetworkListDialog")
+        IrcNetworkListDialog.resize(500, 350)
+        IrcNetworkListDialog.setSizeGripEnabled(True)
+        self.gridLayout = QtWidgets.QGridLayout(IrcNetworkListDialog)
+        self.gridLayout.setObjectName("gridLayout")
+        self.networksList = QtWidgets.QTreeWidget(parent=IrcNetworkListDialog)
+        self.networksList.setEditTriggers(QtWidgets.QAbstractItemView.EditTrigger.NoEditTriggers)
+        self.networksList.setAlternatingRowColors(True)
+        self.networksList.setColumnCount(2)
+        self.networksList.setObjectName("networksList")
+        self.networksList.headerItem().setText(0, "1")
+        self.networksList.headerItem().setText(1, "2")
+        self.networksList.header().setVisible(False)
+        self.gridLayout.addWidget(self.networksList, 0, 0, 1, 1)
+        self.verticalLayout = QtWidgets.QVBoxLayout()
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.newButton = QtWidgets.QPushButton(parent=IrcNetworkListDialog)
+        self.newButton.setObjectName("newButton")
+        self.verticalLayout.addWidget(self.newButton)
+        self.editButton = QtWidgets.QPushButton(parent=IrcNetworkListDialog)
+        self.editButton.setObjectName("editButton")
+        self.verticalLayout.addWidget(self.editButton)
+        self.deleteButton = QtWidgets.QPushButton(parent=IrcNetworkListDialog)
+        self.deleteButton.setObjectName("deleteButton")
+        self.verticalLayout.addWidget(self.deleteButton)
+        self.autoConnectButton = QtWidgets.QPushButton(parent=IrcNetworkListDialog)
+        self.autoConnectButton.setCheckable(True)
+        self.autoConnectButton.setObjectName("autoConnectButton")
+        self.verticalLayout.addWidget(self.autoConnectButton)
+        self.line = QtWidgets.QFrame(parent=IrcNetworkListDialog)
+        self.line.setLineWidth(2)
+        self.line.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line.setObjectName("line")
+        self.verticalLayout.addWidget(self.line)
+        self.editIdentitiesButton = QtWidgets.QPushButton(parent=IrcNetworkListDialog)
+        self.editIdentitiesButton.setObjectName("editIdentitiesButton")
+        self.verticalLayout.addWidget(self.editIdentitiesButton)
+        spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout.addItem(spacerItem)
+        self.gridLayout.addLayout(self.verticalLayout, 0, 1, 1, 1)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=IrcNetworkListDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout.addWidget(self.buttonBox, 1, 0, 1, 2)
+
+        self.retranslateUi(IrcNetworkListDialog)
+        self.buttonBox.accepted.connect(IrcNetworkListDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(IrcNetworkListDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(IrcNetworkListDialog)
+        IrcNetworkListDialog.setTabOrder(self.networksList, self.newButton)
+        IrcNetworkListDialog.setTabOrder(self.newButton, self.editButton)
+        IrcNetworkListDialog.setTabOrder(self.editButton, self.deleteButton)
+        IrcNetworkListDialog.setTabOrder(self.deleteButton, self.autoConnectButton)
+        IrcNetworkListDialog.setTabOrder(self.autoConnectButton, self.editIdentitiesButton)
+        IrcNetworkListDialog.setTabOrder(self.editIdentitiesButton, self.buttonBox)
+
+    def retranslateUi(self, IrcNetworkListDialog):
+        _translate = QtCore.QCoreApplication.translate
+        IrcNetworkListDialog.setWindowTitle(_translate("IrcNetworkListDialog", "IRC Networks"))
+        self.newButton.setToolTip(_translate("IrcNetworkListDialog", "Press to define a new network"))
+        self.newButton.setText(_translate("IrcNetworkListDialog", "&New..."))
+        self.editButton.setToolTip(_translate("IrcNetworkListDialog", "Press to edit the selected network"))
+        self.editButton.setText(_translate("IrcNetworkListDialog", "&Edit..."))
+        self.deleteButton.setToolTip(_translate("IrcNetworkListDialog", "Press to delete the selected network"))
+        self.deleteButton.setText(_translate("IrcNetworkListDialog", "&Delete"))
+        self.autoConnectButton.setToolTip(_translate("IrcNetworkListDialog", "Press to  toggle the auto-connect flag of the selected network"))
+        self.autoConnectButton.setText(_translate("IrcNetworkListDialog", "&Auto-Connect"))
+        self.editIdentitiesButton.setToolTip(_translate("IrcNetworkListDialog", "Press to edit the identities"))
+        self.editIdentitiesButton.setText(_translate("IrcNetworkListDialog", "Edit &Identities..."))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Network/IRC/Ui_IrcNetworkWidget.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,97 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Network/IRC/IrcNetworkWidget.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_IrcNetworkWidget(object):
+    def setupUi(self, IrcNetworkWidget):
+        IrcNetworkWidget.setObjectName("IrcNetworkWidget")
+        IrcNetworkWidget.resize(400, 322)
+        IrcNetworkWidget.setWindowTitle("")
+        self.verticalLayout = QtWidgets.QVBoxLayout(IrcNetworkWidget)
+        self.verticalLayout.setContentsMargins(0, 0, 0, 0)
+        self.verticalLayout.setSpacing(3)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.messages = QtWidgets.QTextBrowser(parent=IrcNetworkWidget)
+        self.messages.setContextMenuPolicy(QtCore.Qt.ContextMenuPolicy.CustomContextMenu)
+        self.messages.setTabChangesFocus(True)
+        self.messages.setOpenLinks(False)
+        self.messages.setObjectName("messages")
+        self.verticalLayout.addWidget(self.messages)
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.networkCombo = QtWidgets.QComboBox(parent=IrcNetworkWidget)
+        self.networkCombo.setObjectName("networkCombo")
+        self.horizontalLayout_2.addWidget(self.networkCombo)
+        self.connectButton = QtWidgets.QToolButton(parent=IrcNetworkWidget)
+        self.connectButton.setToolTip("")
+        self.connectButton.setText("")
+        self.connectButton.setObjectName("connectButton")
+        self.horizontalLayout_2.addWidget(self.connectButton)
+        self.awayButton = QtWidgets.QToolButton(parent=IrcNetworkWidget)
+        self.awayButton.setText("")
+        self.awayButton.setObjectName("awayButton")
+        self.horizontalLayout_2.addWidget(self.awayButton)
+        self.editButton = QtWidgets.QToolButton(parent=IrcNetworkWidget)
+        self.editButton.setText("")
+        self.editButton.setObjectName("editButton")
+        self.horizontalLayout_2.addWidget(self.editButton)
+        self.verticalLayout.addLayout(self.horizontalLayout_2)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.nickCombo = QtWidgets.QComboBox(parent=IrcNetworkWidget)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.nickCombo.sizePolicy().hasHeightForWidth())
+        self.nickCombo.setSizePolicy(sizePolicy)
+        self.nickCombo.setEditable(True)
+        self.nickCombo.setObjectName("nickCombo")
+        self.horizontalLayout.addWidget(self.nickCombo)
+        self.line = QtWidgets.QFrame(parent=IrcNetworkWidget)
+        self.line.setFrameShape(QtWidgets.QFrame.Shape.VLine)
+        self.line.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line.setObjectName("line")
+        self.horizontalLayout.addWidget(self.line)
+        self.channelCombo = QtWidgets.QComboBox(parent=IrcNetworkWidget)
+        self.channelCombo.setEnabled(False)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.channelCombo.sizePolicy().hasHeightForWidth())
+        self.channelCombo.setSizePolicy(sizePolicy)
+        self.channelCombo.setEditable(True)
+        self.channelCombo.setObjectName("channelCombo")
+        self.horizontalLayout.addWidget(self.channelCombo)
+        self.joinButton = QtWidgets.QToolButton(parent=IrcNetworkWidget)
+        self.joinButton.setEnabled(False)
+        self.joinButton.setText("")
+        self.joinButton.setObjectName("joinButton")
+        self.horizontalLayout.addWidget(self.joinButton)
+        self.verticalLayout.addLayout(self.horizontalLayout)
+
+        self.retranslateUi(IrcNetworkWidget)
+        QtCore.QMetaObject.connectSlotsByName(IrcNetworkWidget)
+        IrcNetworkWidget.setTabOrder(self.networkCombo, self.connectButton)
+        IrcNetworkWidget.setTabOrder(self.connectButton, self.awayButton)
+        IrcNetworkWidget.setTabOrder(self.awayButton, self.editButton)
+        IrcNetworkWidget.setTabOrder(self.editButton, self.nickCombo)
+        IrcNetworkWidget.setTabOrder(self.nickCombo, self.channelCombo)
+        IrcNetworkWidget.setTabOrder(self.channelCombo, self.joinButton)
+        IrcNetworkWidget.setTabOrder(self.joinButton, self.messages)
+
+    def retranslateUi(self, IrcNetworkWidget):
+        _translate = QtCore.QCoreApplication.translate
+        self.messages.setToolTip(_translate("IrcNetworkWidget", "Shows the network messages"))
+        self.networkCombo.setToolTip(_translate("IrcNetworkWidget", "Select a network to connect to"))
+        self.awayButton.setToolTip(_translate("IrcNetworkWidget", "Press to set the user status to AWAY"))
+        self.editButton.setToolTip(_translate("IrcNetworkWidget", "Press to edit the networks"))
+        self.nickCombo.setToolTip(_translate("IrcNetworkWidget", "Select a nick name for the channel"))
+        self.channelCombo.setToolTip(_translate("IrcNetworkWidget", "Enter the channel to join"))
+        self.joinButton.setToolTip(_translate("IrcNetworkWidget", "Press to join the channel"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Network/IRC/Ui_IrcServerEditDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,72 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Network/IRC/IrcServerEditDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_IrcServerEditDialog(object):
+    def setupUi(self, IrcServerEditDialog):
+        IrcServerEditDialog.setObjectName("IrcServerEditDialog")
+        IrcServerEditDialog.resize(400, 158)
+        IrcServerEditDialog.setSizeGripEnabled(True)
+        self.gridLayout = QtWidgets.QGridLayout(IrcServerEditDialog)
+        self.gridLayout.setObjectName("gridLayout")
+        self.label = QtWidgets.QLabel(parent=IrcServerEditDialog)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
+        self.serverEdit = QtWidgets.QLineEdit(parent=IrcServerEditDialog)
+        self.serverEdit.setObjectName("serverEdit")
+        self.gridLayout.addWidget(self.serverEdit, 0, 1, 1, 2)
+        self.label_2 = QtWidgets.QLabel(parent=IrcServerEditDialog)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 1, 0, 1, 1)
+        self.portSpinBox = QtWidgets.QSpinBox(parent=IrcServerEditDialog)
+        self.portSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.portSpinBox.setMinimum(1)
+        self.portSpinBox.setMaximum(65535)
+        self.portSpinBox.setProperty("value", 6667)
+        self.portSpinBox.setObjectName("portSpinBox")
+        self.gridLayout.addWidget(self.portSpinBox, 1, 1, 1, 1)
+        spacerItem = QtWidgets.QSpacerItem(238, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout.addItem(spacerItem, 1, 2, 1, 1)
+        self.label_3 = QtWidgets.QLabel(parent=IrcServerEditDialog)
+        self.label_3.setObjectName("label_3")
+        self.gridLayout.addWidget(self.label_3, 2, 0, 1, 1)
+        self.passwordEdit = QtWidgets.QLineEdit(parent=IrcServerEditDialog)
+        self.passwordEdit.setEchoMode(QtWidgets.QLineEdit.EchoMode.Password)
+        self.passwordEdit.setObjectName("passwordEdit")
+        self.gridLayout.addWidget(self.passwordEdit, 2, 1, 1, 2)
+        self.sslCheckBox = QtWidgets.QCheckBox(parent=IrcServerEditDialog)
+        self.sslCheckBox.setObjectName("sslCheckBox")
+        self.gridLayout.addWidget(self.sslCheckBox, 3, 0, 1, 3)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=IrcServerEditDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout.addWidget(self.buttonBox, 4, 0, 1, 3)
+
+        self.retranslateUi(IrcServerEditDialog)
+        self.buttonBox.accepted.connect(IrcServerEditDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(IrcServerEditDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(IrcServerEditDialog)
+        IrcServerEditDialog.setTabOrder(self.serverEdit, self.portSpinBox)
+        IrcServerEditDialog.setTabOrder(self.portSpinBox, self.passwordEdit)
+        IrcServerEditDialog.setTabOrder(self.passwordEdit, self.sslCheckBox)
+        IrcServerEditDialog.setTabOrder(self.sslCheckBox, self.buttonBox)
+
+    def retranslateUi(self, IrcServerEditDialog):
+        _translate = QtCore.QCoreApplication.translate
+        IrcServerEditDialog.setWindowTitle(_translate("IrcServerEditDialog", "IRC Server"))
+        self.label.setText(_translate("IrcServerEditDialog", "Server:"))
+        self.serverEdit.setToolTip(_translate("IrcServerEditDialog", "Enter the host name of the IRC server"))
+        self.label_2.setText(_translate("IrcServerEditDialog", "Port:"))
+        self.portSpinBox.setToolTip(_translate("IrcServerEditDialog", "Enter the port number"))
+        self.label_3.setText(_translate("IrcServerEditDialog", "Password:"))
+        self.passwordEdit.setToolTip(_translate("IrcServerEditDialog", "Enter the server password"))
+        self.sslCheckBox.setToolTip(_translate("IrcServerEditDialog", "Select to use an SSL encrypted connection"))
+        self.sslCheckBox.setText(_translate("IrcServerEditDialog", "Use Encrypted Connection (SSL)"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Network/IRC/Ui_IrcWidget.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,61 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Network/IRC/IrcWidget.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_IrcWidget(object):
+    def setupUi(self, IrcWidget):
+        IrcWidget.setObjectName("IrcWidget")
+        IrcWidget.resize(400, 941)
+        IrcWidget.setWindowTitle("")
+        self.verticalLayout_3 = QtWidgets.QVBoxLayout(IrcWidget)
+        self.verticalLayout_3.setContentsMargins(0, 0, 0, 0)
+        self.verticalLayout_3.setObjectName("verticalLayout_3")
+        self.splitter = QtWidgets.QSplitter(parent=IrcWidget)
+        self.splitter.setOrientation(QtCore.Qt.Orientation.Vertical)
+        self.splitter.setObjectName("splitter")
+        self.groupBox = QtWidgets.QGroupBox(parent=self.splitter)
+        self.groupBox.setObjectName("groupBox")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.groupBox)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.channelsWidget = QtWidgets.QTabWidget(parent=self.groupBox)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(3)
+        sizePolicy.setHeightForWidth(self.channelsWidget.sizePolicy().hasHeightForWidth())
+        self.channelsWidget.setSizePolicy(sizePolicy)
+        self.channelsWidget.setDocumentMode(True)
+        self.channelsWidget.setTabsClosable(True)
+        self.channelsWidget.setMovable(True)
+        self.channelsWidget.setObjectName("channelsWidget")
+        self.verticalLayout.addWidget(self.channelsWidget)
+        self.groupBox_2 = QtWidgets.QGroupBox(parent=self.splitter)
+        self.groupBox_2.setObjectName("groupBox_2")
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.groupBox_2)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.networkWidget = IrcNetworkWidget(parent=self.groupBox_2)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(2)
+        sizePolicy.setHeightForWidth(self.networkWidget.sizePolicy().hasHeightForWidth())
+        self.networkWidget.setSizePolicy(sizePolicy)
+        self.networkWidget.setFocusPolicy(QtCore.Qt.FocusPolicy.TabFocus)
+        self.networkWidget.setObjectName("networkWidget")
+        self.verticalLayout_2.addWidget(self.networkWidget)
+        self.verticalLayout_3.addWidget(self.splitter)
+
+        self.retranslateUi(IrcWidget)
+        QtCore.QMetaObject.connectSlotsByName(IrcWidget)
+        IrcWidget.setTabOrder(self.networkWidget, self.channelsWidget)
+
+    def retranslateUi(self, IrcWidget):
+        _translate = QtCore.QCoreApplication.translate
+        self.groupBox.setTitle(_translate("IrcWidget", "Channels"))
+        self.groupBox_2.setTitle(_translate("IrcWidget", "Network"))
+from eric7.Network.IRC.IrcNetworkWidget import IrcNetworkWidget
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/PipInterface/Ui_PipDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,70 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/PipInterface/PipDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_PipDialog(object):
+    def setupUi(self, PipDialog):
+        PipDialog.setObjectName("PipDialog")
+        PipDialog.resize(600, 500)
+        PipDialog.setSizeGripEnabled(True)
+        self.vboxlayout = QtWidgets.QVBoxLayout(PipDialog)
+        self.vboxlayout.setContentsMargins(11, 11, 11, 11)
+        self.vboxlayout.setSpacing(6)
+        self.vboxlayout.setObjectName("vboxlayout")
+        self.outputGroup = QtWidgets.QGroupBox(parent=PipDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(2)
+        sizePolicy.setHeightForWidth(self.outputGroup.sizePolicy().hasHeightForWidth())
+        self.outputGroup.setSizePolicy(sizePolicy)
+        self.outputGroup.setObjectName("outputGroup")
+        self.vboxlayout1 = QtWidgets.QVBoxLayout(self.outputGroup)
+        self.vboxlayout1.setContentsMargins(11, 11, 11, 11)
+        self.vboxlayout1.setSpacing(6)
+        self.vboxlayout1.setObjectName("vboxlayout1")
+        self.resultbox = QtWidgets.QTextEdit(parent=self.outputGroup)
+        self.resultbox.setReadOnly(True)
+        self.resultbox.setAcceptRichText(False)
+        self.resultbox.setObjectName("resultbox")
+        self.vboxlayout1.addWidget(self.resultbox)
+        self.vboxlayout.addWidget(self.outputGroup)
+        self.errorGroup = QtWidgets.QGroupBox(parent=PipDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(1)
+        sizePolicy.setHeightForWidth(self.errorGroup.sizePolicy().hasHeightForWidth())
+        self.errorGroup.setSizePolicy(sizePolicy)
+        self.errorGroup.setObjectName("errorGroup")
+        self.vboxlayout2 = QtWidgets.QVBoxLayout(self.errorGroup)
+        self.vboxlayout2.setContentsMargins(11, 11, 11, 11)
+        self.vboxlayout2.setSpacing(6)
+        self.vboxlayout2.setObjectName("vboxlayout2")
+        self.errors = QtWidgets.QTextEdit(parent=self.errorGroup)
+        self.errors.setReadOnly(True)
+        self.errors.setAcceptRichText(False)
+        self.errors.setObjectName("errors")
+        self.vboxlayout2.addWidget(self.errors)
+        self.vboxlayout.addWidget(self.errorGroup)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=PipDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.vboxlayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(PipDialog)
+        QtCore.QMetaObject.connectSlotsByName(PipDialog)
+        PipDialog.setTabOrder(self.resultbox, self.errors)
+        PipDialog.setTabOrder(self.errors, self.buttonBox)
+
+    def retranslateUi(self, PipDialog):
+        _translate = QtCore.QCoreApplication.translate
+        PipDialog.setWindowTitle(_translate("PipDialog", "pip"))
+        self.outputGroup.setTitle(_translate("PipDialog", "Output"))
+        self.errorGroup.setTitle(_translate("PipDialog", "Errors"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/PipInterface/Ui_PipFileSelectionDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,46 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/PipInterface/PipFileSelectionDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_PipFileSelectionDialog(object):
+    def setupUi(self, PipFileSelectionDialog):
+        PipFileSelectionDialog.setObjectName("PipFileSelectionDialog")
+        PipFileSelectionDialog.resize(600, 114)
+        PipFileSelectionDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(PipFileSelectionDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.fileLabel = QtWidgets.QLabel(parent=PipFileSelectionDialog)
+        self.fileLabel.setObjectName("fileLabel")
+        self.verticalLayout.addWidget(self.fileLabel)
+        self.filePicker = EricPathPicker(parent=PipFileSelectionDialog)
+        self.filePicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.filePicker.setObjectName("filePicker")
+        self.verticalLayout.addWidget(self.filePicker)
+        self.userCheckBox = QtWidgets.QCheckBox(parent=PipFileSelectionDialog)
+        self.userCheckBox.setObjectName("userCheckBox")
+        self.verticalLayout.addWidget(self.userCheckBox)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=PipFileSelectionDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(PipFileSelectionDialog)
+        self.buttonBox.accepted.connect(PipFileSelectionDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(PipFileSelectionDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(PipFileSelectionDialog)
+
+    def retranslateUi(self, PipFileSelectionDialog):
+        _translate = QtCore.QCoreApplication.translate
+        PipFileSelectionDialog.setWindowTitle(_translate("PipFileSelectionDialog", "Select File"))
+        self.fileLabel.setText(_translate("PipFileSelectionDialog", "File Name:"))
+        self.userCheckBox.setToolTip(_translate("PipFileSelectionDialog", "Select to install to the Python user install directory"))
+        self.userCheckBox.setText(_translate("PipFileSelectionDialog", "Install into User Directory"))
+from eric7.EricWidgets.EricPathPicker import EricPathPicker
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/PipInterface/Ui_PipFreezeDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,129 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/PipInterface/PipFreezeDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_PipFreezeDialog(object):
+    def setupUi(self, PipFreezeDialog):
+        PipFreezeDialog.setObjectName("PipFreezeDialog")
+        PipFreezeDialog.resize(600, 550)
+        PipFreezeDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(PipFreezeDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.localCheckBox = QtWidgets.QCheckBox(parent=PipFreezeDialog)
+        self.localCheckBox.setChecked(True)
+        self.localCheckBox.setObjectName("localCheckBox")
+        self.horizontalLayout_2.addWidget(self.localCheckBox)
+        self.userCheckBox = QtWidgets.QCheckBox(parent=PipFreezeDialog)
+        self.userCheckBox.setObjectName("userCheckBox")
+        self.horizontalLayout_2.addWidget(self.userCheckBox)
+        self.constraintsCheckBox = QtWidgets.QCheckBox(parent=PipFreezeDialog)
+        self.constraintsCheckBox.setObjectName("constraintsCheckBox")
+        self.horizontalLayout_2.addWidget(self.constraintsCheckBox)
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_2.addItem(spacerItem)
+        self.verticalLayout.addLayout(self.horizontalLayout_2)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.label = QtWidgets.QLabel(parent=PipFreezeDialog)
+        self.label.setObjectName("label")
+        self.horizontalLayout.addWidget(self.label)
+        self.requirementsFilePicker = EricPathPicker(parent=PipFreezeDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.requirementsFilePicker.sizePolicy().hasHeightForWidth())
+        self.requirementsFilePicker.setSizePolicy(sizePolicy)
+        self.requirementsFilePicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.requirementsFilePicker.setObjectName("requirementsFilePicker")
+        self.horizontalLayout.addWidget(self.requirementsFilePicker)
+        self.verticalLayout.addLayout(self.horizontalLayout)
+        self.gridLayout = QtWidgets.QGridLayout()
+        self.gridLayout.setObjectName("gridLayout")
+        self.saveButton = QtWidgets.QPushButton(parent=PipFreezeDialog)
+        self.saveButton.setObjectName("saveButton")
+        self.gridLayout.addWidget(self.saveButton, 0, 1, 1, 1)
+        self.line = QtWidgets.QFrame(parent=PipFreezeDialog)
+        self.line.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line.setObjectName("line")
+        self.gridLayout.addWidget(self.line, 3, 1, 1, 1)
+        self.replaceAllButton = QtWidgets.QPushButton(parent=PipFreezeDialog)
+        self.replaceAllButton.setObjectName("replaceAllButton")
+        self.gridLayout.addWidget(self.replaceAllButton, 7, 1, 1, 1)
+        self.insertButton = QtWidgets.QPushButton(parent=PipFreezeDialog)
+        self.insertButton.setObjectName("insertButton")
+        self.gridLayout.addWidget(self.insertButton, 5, 1, 1, 1)
+        self.copyButton = QtWidgets.QPushButton(parent=PipFreezeDialog)
+        self.copyButton.setObjectName("copyButton")
+        self.gridLayout.addWidget(self.copyButton, 2, 1, 1, 1)
+        self.requirementsEdit = QtWidgets.QPlainTextEdit(parent=PipFreezeDialog)
+        self.requirementsEdit.setTabChangesFocus(True)
+        self.requirementsEdit.setObjectName("requirementsEdit")
+        self.gridLayout.addWidget(self.requirementsEdit, 0, 0, 9, 1)
+        spacerItem1 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.gridLayout.addItem(spacerItem1, 8, 1, 1, 1)
+        self.replaceSelectionButton = QtWidgets.QPushButton(parent=PipFreezeDialog)
+        self.replaceSelectionButton.setObjectName("replaceSelectionButton")
+        self.gridLayout.addWidget(self.replaceSelectionButton, 6, 1, 1, 1)
+        self.saveToButton = QtWidgets.QPushButton(parent=PipFreezeDialog)
+        self.saveToButton.setObjectName("saveToButton")
+        self.gridLayout.addWidget(self.saveToButton, 1, 1, 1, 1)
+        self.label_2 = QtWidgets.QLabel(parent=PipFreezeDialog)
+        self.label_2.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 4, 1, 1, 1)
+        self.verticalLayout.addLayout(self.gridLayout)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=PipFreezeDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(PipFreezeDialog)
+        self.buttonBox.accepted.connect(PipFreezeDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(PipFreezeDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(PipFreezeDialog)
+        PipFreezeDialog.setTabOrder(self.localCheckBox, self.userCheckBox)
+        PipFreezeDialog.setTabOrder(self.userCheckBox, self.constraintsCheckBox)
+        PipFreezeDialog.setTabOrder(self.constraintsCheckBox, self.requirementsFilePicker)
+        PipFreezeDialog.setTabOrder(self.requirementsFilePicker, self.requirementsEdit)
+        PipFreezeDialog.setTabOrder(self.requirementsEdit, self.saveButton)
+        PipFreezeDialog.setTabOrder(self.saveButton, self.saveToButton)
+        PipFreezeDialog.setTabOrder(self.saveToButton, self.copyButton)
+        PipFreezeDialog.setTabOrder(self.copyButton, self.insertButton)
+        PipFreezeDialog.setTabOrder(self.insertButton, self.replaceSelectionButton)
+        PipFreezeDialog.setTabOrder(self.replaceSelectionButton, self.replaceAllButton)
+
+    def retranslateUi(self, PipFreezeDialog):
+        _translate = QtCore.QCoreApplication.translate
+        PipFreezeDialog.setWindowTitle(_translate("PipFreezeDialog", "Generate Requirements"))
+        PipFreezeDialog.setToolTip(_translate("PipFreezeDialog", "Replace the current selection with the requirements text"))
+        self.localCheckBox.setToolTip(_translate("PipFreezeDialog", "Select to show requirements for locally-installed packages only"))
+        self.localCheckBox.setText(_translate("PipFreezeDialog", "Local packages only"))
+        self.userCheckBox.setToolTip(_translate("PipFreezeDialog", "Select to show requirements for packages installed to the user-site only"))
+        self.userCheckBox.setText(_translate("PipFreezeDialog", "User-Site only"))
+        self.constraintsCheckBox.setToolTip(_translate("PipFreezeDialog", "Select to include an \'--constraint constraints.txt\' statement"))
+        self.constraintsCheckBox.setText(_translate("PipFreezeDialog", "Include Constraints"))
+        self.label.setText(_translate("PipFreezeDialog", "Requirements File:"))
+        self.saveButton.setToolTip(_translate("PipFreezeDialog", "Press to save to the requirements file"))
+        self.saveButton.setText(_translate("PipFreezeDialog", "Save"))
+        self.replaceAllButton.setToolTip(_translate("PipFreezeDialog", "Replace all text with the requirements text"))
+        self.replaceAllButton.setText(_translate("PipFreezeDialog", "Replace All"))
+        self.insertButton.setToolTip(_translate("PipFreezeDialog", "Insert the requirements text at the cursor position"))
+        self.insertButton.setText(_translate("PipFreezeDialog", "Insert"))
+        self.copyButton.setToolTip(_translate("PipFreezeDialog", "Copy the requirements text to the clipboard"))
+        self.copyButton.setText(_translate("PipFreezeDialog", "Copy"))
+        self.replaceSelectionButton.setText(_translate("PipFreezeDialog", "Replace Selection"))
+        self.saveToButton.setToolTip(_translate("PipFreezeDialog", "Save to a new file"))
+        self.saveToButton.setText(_translate("PipFreezeDialog", "Save To"))
+        self.label_2.setText(_translate("PipFreezeDialog", "<b>Editor Actions</b>"))
+from eric7.EricWidgets.EricPathPicker import EricPathPicker
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/PipInterface/Ui_PipLicensesDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,81 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/PipInterface/PipLicensesDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_PipLicensesDialog(object):
+    def setupUi(self, PipLicensesDialog):
+        PipLicensesDialog.setObjectName("PipLicensesDialog")
+        PipLicensesDialog.resize(600, 750)
+        PipLicensesDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(PipLicensesDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.environmentLabel = QtWidgets.QLabel(parent=PipLicensesDialog)
+        self.environmentLabel.setObjectName("environmentLabel")
+        self.verticalLayout.addWidget(self.environmentLabel)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem)
+        self.label = QtWidgets.QLabel(parent=PipLicensesDialog)
+        self.label.setObjectName("label")
+        self.horizontalLayout.addWidget(self.label)
+        self.licenseFilterComboBox = QtWidgets.QComboBox(parent=PipLicensesDialog)
+        self.licenseFilterComboBox.setObjectName("licenseFilterComboBox")
+        self.horizontalLayout.addWidget(self.licenseFilterComboBox)
+        self.verticalLayout.addLayout(self.horizontalLayout)
+        self.licensesList = QtWidgets.QTreeWidget(parent=PipLicensesDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(7)
+        sizePolicy.setHeightForWidth(self.licensesList.sizePolicy().hasHeightForWidth())
+        self.licensesList.setSizePolicy(sizePolicy)
+        self.licensesList.setAlternatingRowColors(True)
+        self.licensesList.setRootIsDecorated(False)
+        self.licensesList.setItemsExpandable(False)
+        self.licensesList.setWordWrap(True)
+        self.licensesList.setObjectName("licensesList")
+        self.verticalLayout.addWidget(self.licensesList)
+        self.summaryList = QtWidgets.QTreeWidget(parent=PipLicensesDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(3)
+        sizePolicy.setHeightForWidth(self.summaryList.sizePolicy().hasHeightForWidth())
+        self.summaryList.setSizePolicy(sizePolicy)
+        self.summaryList.setAlternatingRowColors(True)
+        self.summaryList.setRootIsDecorated(False)
+        self.summaryList.setItemsExpandable(False)
+        self.summaryList.setWordWrap(True)
+        self.summaryList.setObjectName("summaryList")
+        self.verticalLayout.addWidget(self.summaryList)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=PipLicensesDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(PipLicensesDialog)
+        self.buttonBox.accepted.connect(PipLicensesDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(PipLicensesDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(PipLicensesDialog)
+        PipLicensesDialog.setTabOrder(self.licenseFilterComboBox, self.licensesList)
+        PipLicensesDialog.setTabOrder(self.licensesList, self.summaryList)
+
+    def retranslateUi(self, PipLicensesDialog):
+        _translate = QtCore.QCoreApplication.translate
+        PipLicensesDialog.setWindowTitle(_translate("PipLicensesDialog", "Package Licenses"))
+        self.label.setText(_translate("PipLicensesDialog", "License Filter:"))
+        self.licenseFilterComboBox.setToolTip(_translate("PipLicensesDialog", "Select the license to filter the packages list"))
+        self.licensesList.setSortingEnabled(True)
+        self.licensesList.headerItem().setText(0, _translate("PipLicensesDialog", "Package"))
+        self.licensesList.headerItem().setText(1, _translate("PipLicensesDialog", "Version"))
+        self.licensesList.headerItem().setText(2, _translate("PipLicensesDialog", "License"))
+        self.summaryList.setSortingEnabled(True)
+        self.summaryList.headerItem().setText(0, _translate("PipLicensesDialog", "Count"))
+        self.summaryList.headerItem().setText(1, _translate("PipLicensesDialog", "License"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/PipInterface/Ui_PipPackageDetailsDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,271 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/PipInterface/PipPackageDetailsDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_PipPackageDetailsDialog(object):
+    def setupUi(self, PipPackageDetailsDialog):
+        PipPackageDetailsDialog.setObjectName("PipPackageDetailsDialog")
+        PipPackageDetailsDialog.resize(800, 700)
+        PipPackageDetailsDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(PipPackageDetailsDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.packageNameLabel = QtWidgets.QLabel(parent=PipPackageDetailsDialog)
+        self.packageNameLabel.setObjectName("packageNameLabel")
+        self.verticalLayout.addWidget(self.packageNameLabel)
+        self.infoWidget = QtWidgets.QTabWidget(parent=PipPackageDetailsDialog)
+        self.infoWidget.setObjectName("infoWidget")
+        self.details = QtWidgets.QWidget()
+        self.details.setObjectName("details")
+        self.gridLayout_2 = QtWidgets.QGridLayout(self.details)
+        self.gridLayout_2.setObjectName("gridLayout_2")
+        self.label_4 = QtWidgets.QLabel(parent=self.details)
+        self.label_4.setObjectName("label_4")
+        self.gridLayout_2.addWidget(self.label_4, 2, 0, 1, 1)
+        self.label = QtWidgets.QLabel(parent=self.details)
+        self.label.setAlignment(QtCore.Qt.AlignmentFlag.AlignLeading|QtCore.Qt.AlignmentFlag.AlignLeft|QtCore.Qt.AlignmentFlag.AlignTop)
+        self.label.setObjectName("label")
+        self.gridLayout_2.addWidget(self.label, 0, 0, 1, 1)
+        self.licenseLabel = QtWidgets.QLabel(parent=self.details)
+        self.licenseLabel.setWordWrap(True)
+        self.licenseLabel.setObjectName("licenseLabel")
+        self.gridLayout_2.addWidget(self.licenseLabel, 4, 1, 1, 1)
+        self.label_10 = QtWidgets.QLabel(parent=self.details)
+        self.label_10.setObjectName("label_10")
+        self.gridLayout_2.addWidget(self.label_10, 8, 0, 1, 1)
+        self.label_3 = QtWidgets.QLabel(parent=self.details)
+        self.label_3.setAlignment(QtCore.Qt.AlignmentFlag.AlignLeading|QtCore.Qt.AlignmentFlag.AlignLeft|QtCore.Qt.AlignmentFlag.AlignTop)
+        self.label_3.setObjectName("label_3")
+        self.gridLayout_2.addWidget(self.label_3, 1, 0, 1, 1)
+        self.authorLabel = QtWidgets.QLabel(parent=self.details)
+        self.authorLabel.setObjectName("authorLabel")
+        self.gridLayout_2.addWidget(self.authorLabel, 2, 1, 1, 1)
+        self.releaseUrlLabel = QtWidgets.QLabel(parent=self.details)
+        self.releaseUrlLabel.setOpenExternalLinks(True)
+        self.releaseUrlLabel.setObjectName("releaseUrlLabel")
+        self.gridLayout_2.addWidget(self.releaseUrlLabel, 8, 1, 1, 1)
+        self.label_8 = QtWidgets.QLabel(parent=self.details)
+        self.label_8.setObjectName("label_8")
+        self.gridLayout_2.addWidget(self.label_8, 6, 0, 1, 1)
+        self.label_6 = QtWidgets.QLabel(parent=self.details)
+        self.label_6.setObjectName("label_6")
+        self.gridLayout_2.addWidget(self.label_6, 4, 0, 1, 1)
+        self.label_11 = QtWidgets.QLabel(parent=self.details)
+        self.label_11.setObjectName("label_11")
+        self.gridLayout_2.addWidget(self.label_11, 9, 0, 1, 1)
+        self.authorEmailLabel = QtWidgets.QLabel(parent=self.details)
+        self.authorEmailLabel.setOpenExternalLinks(True)
+        self.authorEmailLabel.setObjectName("authorEmailLabel")
+        self.gridLayout_2.addWidget(self.authorEmailLabel, 3, 1, 1, 1)
+        self.label_16 = QtWidgets.QLabel(parent=self.details)
+        self.label_16.setAlignment(QtCore.Qt.AlignmentFlag.AlignLeading|QtCore.Qt.AlignmentFlag.AlignLeft|QtCore.Qt.AlignmentFlag.AlignTop)
+        self.label_16.setObjectName("label_16")
+        self.gridLayout_2.addWidget(self.label_16, 10, 0, 1, 1)
+        self.homePageLabel = QtWidgets.QLabel(parent=self.details)
+        self.homePageLabel.setOpenExternalLinks(True)
+        self.homePageLabel.setObjectName("homePageLabel")
+        self.gridLayout_2.addWidget(self.homePageLabel, 6, 1, 1, 1)
+        self.classifiersList = QtWidgets.QListWidget(parent=self.details)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(1)
+        sizePolicy.setHeightForWidth(self.classifiersList.sizePolicy().hasHeightForWidth())
+        self.classifiersList.setSizePolicy(sizePolicy)
+        self.classifiersList.setAlternatingRowColors(True)
+        self.classifiersList.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.NoSelection)
+        self.classifiersList.setObjectName("classifiersList")
+        self.gridLayout_2.addWidget(self.classifiersList, 10, 1, 1, 1)
+        self.packageUrlLabel = QtWidgets.QLabel(parent=self.details)
+        self.packageUrlLabel.setOpenExternalLinks(True)
+        self.packageUrlLabel.setObjectName("packageUrlLabel")
+        self.gridLayout_2.addWidget(self.packageUrlLabel, 7, 1, 1, 1)
+        self.label_9 = QtWidgets.QLabel(parent=self.details)
+        self.label_9.setObjectName("label_9")
+        self.gridLayout_2.addWidget(self.label_9, 7, 0, 1, 1)
+        self.platformLabel = QtWidgets.QLabel(parent=self.details)
+        self.platformLabel.setObjectName("platformLabel")
+        self.gridLayout_2.addWidget(self.platformLabel, 5, 1, 1, 1)
+        self.label_5 = QtWidgets.QLabel(parent=self.details)
+        self.label_5.setObjectName("label_5")
+        self.gridLayout_2.addWidget(self.label_5, 3, 0, 1, 1)
+        self.label_7 = QtWidgets.QLabel(parent=self.details)
+        self.label_7.setObjectName("label_7")
+        self.gridLayout_2.addWidget(self.label_7, 5, 0, 1, 1)
+        self.descriptionEdit = QtWidgets.QTextEdit(parent=self.details)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(5)
+        sizePolicy.setHeightForWidth(self.descriptionEdit.sizePolicy().hasHeightForWidth())
+        self.descriptionEdit.setSizePolicy(sizePolicy)
+        self.descriptionEdit.setTabChangesFocus(True)
+        self.descriptionEdit.setReadOnly(True)
+        self.descriptionEdit.setObjectName("descriptionEdit")
+        self.gridLayout_2.addWidget(self.descriptionEdit, 1, 1, 1, 1)
+        self.summaryLabel = QtWidgets.QLabel(parent=self.details)
+        self.summaryLabel.setWordWrap(True)
+        self.summaryLabel.setObjectName("summaryLabel")
+        self.gridLayout_2.addWidget(self.summaryLabel, 0, 1, 1, 1)
+        self.docsUrlLabel = QtWidgets.QLabel(parent=self.details)
+        self.docsUrlLabel.setOpenExternalLinks(True)
+        self.docsUrlLabel.setObjectName("docsUrlLabel")
+        self.gridLayout_2.addWidget(self.docsUrlLabel, 9, 1, 1, 1)
+        self.infoWidget.addTab(self.details, "")
+        self.urls = QtWidgets.QWidget()
+        self.urls.setObjectName("urls")
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.urls)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.downloadUrlsList = QtWidgets.QTreeWidget(parent=self.urls)
+        self.downloadUrlsList.setAlternatingRowColors(True)
+        self.downloadUrlsList.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.NoSelection)
+        self.downloadUrlsList.setRootIsDecorated(False)
+        self.downloadUrlsList.setItemsExpandable(False)
+        self.downloadUrlsList.setObjectName("downloadUrlsList")
+        self.downloadUrlsList.header().setStretchLastSection(False)
+        self.verticalLayout_2.addWidget(self.downloadUrlsList)
+        self.infoWidget.addTab(self.urls, "")
+        self.projectUrls = QtWidgets.QWidget()
+        self.projectUrls.setObjectName("projectUrls")
+        self.verticalLayout_5 = QtWidgets.QVBoxLayout(self.projectUrls)
+        self.verticalLayout_5.setObjectName("verticalLayout_5")
+        self.projectUrlsList = QtWidgets.QTreeWidget(parent=self.projectUrls)
+        self.projectUrlsList.setAlternatingRowColors(True)
+        self.projectUrlsList.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.NoSelection)
+        self.projectUrlsList.setRootIsDecorated(False)
+        self.projectUrlsList.setItemsExpandable(False)
+        self.projectUrlsList.setObjectName("projectUrlsList")
+        self.projectUrlsList.header().setStretchLastSection(False)
+        self.verticalLayout_5.addWidget(self.projectUrlsList)
+        self.infoWidget.addTab(self.projectUrls, "")
+        self.requires = QtWidgets.QWidget()
+        self.requires.setObjectName("requires")
+        self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.requires)
+        self.verticalLayout_3.setObjectName("verticalLayout_3")
+        self.groupBox = QtWidgets.QGroupBox(parent=self.requires)
+        self.groupBox.setObjectName("groupBox")
+        self.gridLayout_4 = QtWidgets.QGridLayout(self.groupBox)
+        self.gridLayout_4.setObjectName("gridLayout_4")
+        self.label_17 = QtWidgets.QLabel(parent=self.groupBox)
+        self.label_17.setAlignment(QtCore.Qt.AlignmentFlag.AlignLeading|QtCore.Qt.AlignmentFlag.AlignLeft|QtCore.Qt.AlignmentFlag.AlignTop)
+        self.label_17.setObjectName("label_17")
+        self.gridLayout_4.addWidget(self.label_17, 0, 0, 1, 1)
+        self.requiredPackagesList = QtWidgets.QListWidget(parent=self.groupBox)
+        self.requiredPackagesList.setAlternatingRowColors(True)
+        self.requiredPackagesList.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.NoSelection)
+        self.requiredPackagesList.setObjectName("requiredPackagesList")
+        self.gridLayout_4.addWidget(self.requiredPackagesList, 0, 1, 1, 1)
+        self.label_18 = QtWidgets.QLabel(parent=self.groupBox)
+        self.label_18.setAlignment(QtCore.Qt.AlignmentFlag.AlignLeading|QtCore.Qt.AlignmentFlag.AlignLeft|QtCore.Qt.AlignmentFlag.AlignTop)
+        self.label_18.setObjectName("label_18")
+        self.gridLayout_4.addWidget(self.label_18, 1, 0, 1, 1)
+        self.requiredDistributionsList = QtWidgets.QListWidget(parent=self.groupBox)
+        self.requiredDistributionsList.setAlternatingRowColors(True)
+        self.requiredDistributionsList.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.NoSelection)
+        self.requiredDistributionsList.setObjectName("requiredDistributionsList")
+        self.gridLayout_4.addWidget(self.requiredDistributionsList, 1, 1, 1, 1)
+        self.verticalLayout_3.addWidget(self.groupBox)
+        self.groupBox_2 = QtWidgets.QGroupBox(parent=self.requires)
+        self.groupBox_2.setObjectName("groupBox_2")
+        self.gridLayout_3 = QtWidgets.QGridLayout(self.groupBox_2)
+        self.gridLayout_3.setObjectName("gridLayout_3")
+        self.label_20 = QtWidgets.QLabel(parent=self.groupBox_2)
+        self.label_20.setAlignment(QtCore.Qt.AlignmentFlag.AlignLeading|QtCore.Qt.AlignmentFlag.AlignLeft|QtCore.Qt.AlignmentFlag.AlignTop)
+        self.label_20.setObjectName("label_20")
+        self.gridLayout_3.addWidget(self.label_20, 0, 0, 1, 1)
+        self.providedPackagesList = QtWidgets.QListWidget(parent=self.groupBox_2)
+        self.providedPackagesList.setAlternatingRowColors(True)
+        self.providedPackagesList.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.NoSelection)
+        self.providedPackagesList.setObjectName("providedPackagesList")
+        self.gridLayout_3.addWidget(self.providedPackagesList, 0, 1, 1, 1)
+        self.label_19 = QtWidgets.QLabel(parent=self.groupBox_2)
+        self.label_19.setAlignment(QtCore.Qt.AlignmentFlag.AlignLeading|QtCore.Qt.AlignmentFlag.AlignLeft|QtCore.Qt.AlignmentFlag.AlignTop)
+        self.label_19.setObjectName("label_19")
+        self.gridLayout_3.addWidget(self.label_19, 1, 0, 1, 1)
+        self.providedDistributionsList = QtWidgets.QListWidget(parent=self.groupBox_2)
+        self.providedDistributionsList.setAlternatingRowColors(True)
+        self.providedDistributionsList.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.NoSelection)
+        self.providedDistributionsList.setObjectName("providedDistributionsList")
+        self.gridLayout_3.addWidget(self.providedDistributionsList, 1, 1, 1, 1)
+        self.verticalLayout_3.addWidget(self.groupBox_2)
+        self.infoWidget.addTab(self.requires, "")
+        self.security = QtWidgets.QWidget()
+        self.security.setObjectName("security")
+        self.verticalLayout_4 = QtWidgets.QVBoxLayout(self.security)
+        self.verticalLayout_4.setObjectName("verticalLayout_4")
+        self.label_2 = QtWidgets.QLabel(parent=self.security)
+        self.label_2.setObjectName("label_2")
+        self.verticalLayout_4.addWidget(self.label_2)
+        self.vulnerabilitiesEdit = QtWidgets.QTextEdit(parent=self.security)
+        self.vulnerabilitiesEdit.setTabChangesFocus(True)
+        self.vulnerabilitiesEdit.setReadOnly(True)
+        self.vulnerabilitiesEdit.setObjectName("vulnerabilitiesEdit")
+        self.verticalLayout_4.addWidget(self.vulnerabilitiesEdit)
+        self.infoWidget.addTab(self.security, "")
+        self.verticalLayout.addWidget(self.infoWidget)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=PipPackageDetailsDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(PipPackageDetailsDialog)
+        self.infoWidget.setCurrentIndex(0)
+        self.buttonBox.accepted.connect(PipPackageDetailsDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(PipPackageDetailsDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(PipPackageDetailsDialog)
+        PipPackageDetailsDialog.setTabOrder(self.infoWidget, self.descriptionEdit)
+        PipPackageDetailsDialog.setTabOrder(self.descriptionEdit, self.classifiersList)
+        PipPackageDetailsDialog.setTabOrder(self.classifiersList, self.downloadUrlsList)
+        PipPackageDetailsDialog.setTabOrder(self.downloadUrlsList, self.projectUrlsList)
+        PipPackageDetailsDialog.setTabOrder(self.projectUrlsList, self.requiredPackagesList)
+        PipPackageDetailsDialog.setTabOrder(self.requiredPackagesList, self.requiredDistributionsList)
+        PipPackageDetailsDialog.setTabOrder(self.requiredDistributionsList, self.providedPackagesList)
+        PipPackageDetailsDialog.setTabOrder(self.providedPackagesList, self.providedDistributionsList)
+        PipPackageDetailsDialog.setTabOrder(self.providedDistributionsList, self.vulnerabilitiesEdit)
+
+    def retranslateUi(self, PipPackageDetailsDialog):
+        _translate = QtCore.QCoreApplication.translate
+        PipPackageDetailsDialog.setWindowTitle(_translate("PipPackageDetailsDialog", "Package Details"))
+        self.label_4.setText(_translate("PipPackageDetailsDialog", "Author:"))
+        self.label.setText(_translate("PipPackageDetailsDialog", "Summary:"))
+        self.label_10.setText(_translate("PipPackageDetailsDialog", "Release URL:"))
+        self.label_3.setText(_translate("PipPackageDetailsDialog", "Description:"))
+        self.label_8.setText(_translate("PipPackageDetailsDialog", "Home Page:"))
+        self.label_6.setText(_translate("PipPackageDetailsDialog", "License:"))
+        self.label_11.setText(_translate("PipPackageDetailsDialog", "Documentation URL:"))
+        self.label_16.setText(_translate("PipPackageDetailsDialog", "Classifiers:"))
+        self.classifiersList.setSortingEnabled(True)
+        self.label_9.setText(_translate("PipPackageDetailsDialog", "Package URL:"))
+        self.label_5.setText(_translate("PipPackageDetailsDialog", "Author Email:"))
+        self.label_7.setText(_translate("PipPackageDetailsDialog", "Platform:"))
+        self.infoWidget.setTabText(self.infoWidget.indexOf(self.details), _translate("PipPackageDetailsDialog", "Details"))
+        self.infoWidget.setTabToolTip(self.infoWidget.indexOf(self.details), _translate("PipPackageDetailsDialog", "Lists package informations"))
+        self.downloadUrlsList.headerItem().setText(0, _translate("PipPackageDetailsDialog", "File"))
+        self.downloadUrlsList.headerItem().setText(1, _translate("PipPackageDetailsDialog", "Type"))
+        self.downloadUrlsList.headerItem().setText(2, _translate("PipPackageDetailsDialog", "Py Version"))
+        self.downloadUrlsList.headerItem().setText(3, _translate("PipPackageDetailsDialog", "Uploaded on"))
+        self.downloadUrlsList.headerItem().setText(4, _translate("PipPackageDetailsDialog", "Size"))
+        self.infoWidget.setTabText(self.infoWidget.indexOf(self.urls), _translate("PipPackageDetailsDialog", "Download URLs"))
+        self.infoWidget.setTabToolTip(self.infoWidget.indexOf(self.urls), _translate("PipPackageDetailsDialog", "Lists the download URLs"))
+        self.projectUrlsList.headerItem().setText(0, _translate("PipPackageDetailsDialog", "Type"))
+        self.projectUrlsList.headerItem().setText(1, _translate("PipPackageDetailsDialog", "URL"))
+        self.infoWidget.setTabText(self.infoWidget.indexOf(self.projectUrls), _translate("PipPackageDetailsDialog", "Project URLs"))
+        self.groupBox.setTitle(_translate("PipPackageDetailsDialog", "Requires"))
+        self.label_17.setText(_translate("PipPackageDetailsDialog", "Required Packages:"))
+        self.requiredPackagesList.setSortingEnabled(True)
+        self.label_18.setText(_translate("PipPackageDetailsDialog", "Required Distributions:"))
+        self.requiredDistributionsList.setSortingEnabled(True)
+        self.groupBox_2.setTitle(_translate("PipPackageDetailsDialog", "Provides"))
+        self.label_20.setText(_translate("PipPackageDetailsDialog", "Provided Packages:"))
+        self.providedPackagesList.setSortingEnabled(True)
+        self.label_19.setText(_translate("PipPackageDetailsDialog", "Provided Distributions:"))
+        self.providedDistributionsList.setSortingEnabled(True)
+        self.infoWidget.setTabText(self.infoWidget.indexOf(self.requires), _translate("PipPackageDetailsDialog", "Requires/Provides"))
+        self.infoWidget.setTabToolTip(self.infoWidget.indexOf(self.requires), _translate("PipPackageDetailsDialog", "Lists required and provided packages"))
+        self.label_2.setText(_translate("PipPackageDetailsDialog", "Known Vulnerabilities:"))
+        self.infoWidget.setTabText(self.infoWidget.indexOf(self.security), _translate("PipPackageDetailsDialog", "Vulnerabilities"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/PipInterface/Ui_PipPackagesInputDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,44 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/PipInterface/PipPackagesInputDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_PipPackagesInputDialog(object):
+    def setupUi(self, PipPackagesInputDialog):
+        PipPackagesInputDialog.setObjectName("PipPackagesInputDialog")
+        PipPackagesInputDialog.resize(600, 130)
+        PipPackagesInputDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(PipPackagesInputDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.label_2 = QtWidgets.QLabel(parent=PipPackagesInputDialog)
+        self.label_2.setObjectName("label_2")
+        self.verticalLayout.addWidget(self.label_2)
+        self.packagesEdit = QtWidgets.QLineEdit(parent=PipPackagesInputDialog)
+        self.packagesEdit.setObjectName("packagesEdit")
+        self.verticalLayout.addWidget(self.packagesEdit)
+        self.userCheckBox = QtWidgets.QCheckBox(parent=PipPackagesInputDialog)
+        self.userCheckBox.setObjectName("userCheckBox")
+        self.verticalLayout.addWidget(self.userCheckBox)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=PipPackagesInputDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(PipPackagesInputDialog)
+        self.buttonBox.accepted.connect(PipPackagesInputDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(PipPackagesInputDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(PipPackagesInputDialog)
+
+    def retranslateUi(self, PipPackagesInputDialog):
+        _translate = QtCore.QCoreApplication.translate
+        PipPackagesInputDialog.setWindowTitle(_translate("PipPackagesInputDialog", "Packages "))
+        self.label_2.setText(_translate("PipPackagesInputDialog", "Package Specifications (separated by whitespace):"))
+        self.userCheckBox.setToolTip(_translate("PipPackagesInputDialog", "Select to install to the Python user install directory"))
+        self.userCheckBox.setText(_translate("PipPackagesInputDialog", "Install into User Directory"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/PipInterface/Ui_PipPackagesWidget.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,423 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/PipInterface/PipPackagesWidget.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_PipPackagesWidget(object):
+    def setupUi(self, PipPackagesWidget):
+        PipPackagesWidget.setObjectName("PipPackagesWidget")
+        PipPackagesWidget.resize(500, 999)
+        self.verticalLayout_8 = QtWidgets.QVBoxLayout(PipPackagesWidget)
+        self.verticalLayout_8.setObjectName("verticalLayout_8")
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.viewToggleButton = QtWidgets.QToolButton(parent=PipPackagesWidget)
+        self.viewToggleButton.setCheckable(True)
+        self.viewToggleButton.setObjectName("viewToggleButton")
+        self.horizontalLayout.addWidget(self.viewToggleButton)
+        self.environmentsComboBox = QtWidgets.QComboBox(parent=PipPackagesWidget)
+        self.environmentsComboBox.setObjectName("environmentsComboBox")
+        self.horizontalLayout.addWidget(self.environmentsComboBox)
+        self.pipMenuButton = EricToolButton(parent=PipPackagesWidget)
+        self.pipMenuButton.setObjectName("pipMenuButton")
+        self.horizontalLayout.addWidget(self.pipMenuButton)
+        self.verticalLayout_8.addLayout(self.horizontalLayout)
+        self.environmentPathLabel = EricSqueezeLabelPath(parent=PipPackagesWidget)
+        self.environmentPathLabel.setText("")
+        self.environmentPathLabel.setObjectName("environmentPathLabel")
+        self.verticalLayout_8.addWidget(self.environmentPathLabel)
+        self.line = QtWidgets.QFrame(parent=PipPackagesWidget)
+        self.line.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line.setObjectName("line")
+        self.verticalLayout_8.addWidget(self.line)
+        self.viewsStackWidget = QtWidgets.QStackedWidget(parent=PipPackagesWidget)
+        self.viewsStackWidget.setObjectName("viewsStackWidget")
+        self.packagesPage = QtWidgets.QWidget()
+        self.packagesPage.setObjectName("packagesPage")
+        self.verticalLayout_5 = QtWidgets.QVBoxLayout(self.packagesPage)
+        self.verticalLayout_5.setContentsMargins(0, 0, 0, 0)
+        self.verticalLayout_5.setObjectName("verticalLayout_5")
+        self.searchWidget = QtWidgets.QWidget(parent=self.packagesPage)
+        self.searchWidget.setObjectName("searchWidget")
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.searchWidget)
+        self.verticalLayout_2.setContentsMargins(0, 0, 0, 0)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_3.addItem(spacerItem)
+        self.installButton = QtWidgets.QToolButton(parent=self.searchWidget)
+        self.installButton.setObjectName("installButton")
+        self.horizontalLayout_3.addWidget(self.installButton)
+        self.installUserSiteButton = QtWidgets.QToolButton(parent=self.searchWidget)
+        self.installUserSiteButton.setObjectName("installUserSiteButton")
+        self.horizontalLayout_3.addWidget(self.installUserSiteButton)
+        self.showDetailsButton = QtWidgets.QToolButton(parent=self.searchWidget)
+        self.showDetailsButton.setObjectName("showDetailsButton")
+        self.horizontalLayout_3.addWidget(self.showDetailsButton)
+        spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_3.addItem(spacerItem1)
+        self.searchToggleButton_2 = QtWidgets.QToolButton(parent=self.searchWidget)
+        self.searchToggleButton_2.setCheckable(True)
+        self.searchToggleButton_2.setObjectName("searchToggleButton_2")
+        self.horizontalLayout_3.addWidget(self.searchToggleButton_2)
+        self.verticalLayout_2.addLayout(self.horizontalLayout_3)
+        self.horizontalLayout_8 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_8.setObjectName("horizontalLayout_8")
+        self.label = QtWidgets.QLabel(parent=self.searchWidget)
+        self.label.setObjectName("label")
+        self.horizontalLayout_8.addWidget(self.label)
+        self.searchNameEdit = QtWidgets.QLineEdit(parent=self.searchWidget)
+        self.searchNameEdit.setObjectName("searchNameEdit")
+        self.horizontalLayout_8.addWidget(self.searchNameEdit)
+        self.searchButton = QtWidgets.QToolButton(parent=self.searchWidget)
+        self.searchButton.setEnabled(False)
+        self.searchButton.setObjectName("searchButton")
+        self.horizontalLayout_8.addWidget(self.searchButton)
+        self.searchMoreButton = QtWidgets.QToolButton(parent=self.searchWidget)
+        self.searchMoreButton.setEnabled(False)
+        self.searchMoreButton.setObjectName("searchMoreButton")
+        self.horizontalLayout_8.addWidget(self.searchMoreButton)
+        self.verticalLayout_2.addLayout(self.horizontalLayout_8)
+        self.searchOptionsWidget = QtWidgets.QWidget(parent=self.searchWidget)
+        self.searchOptionsWidget.setObjectName("searchOptionsWidget")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.searchOptionsWidget)
+        self.verticalLayout.setContentsMargins(0, 0, 0, 0)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.verticalLayout_2.addWidget(self.searchOptionsWidget)
+        self.searchResultList = QtWidgets.QTreeWidget(parent=self.searchWidget)
+        self.searchResultList.setAlternatingRowColors(True)
+        self.searchResultList.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.ExtendedSelection)
+        self.searchResultList.setRootIsDecorated(False)
+        self.searchResultList.setItemsExpandable(False)
+        self.searchResultList.setAllColumnsShowFocus(True)
+        self.searchResultList.setWordWrap(True)
+        self.searchResultList.setObjectName("searchResultList")
+        self.verticalLayout_2.addWidget(self.searchResultList)
+        self.searchInfoLabel = QtWidgets.QLabel(parent=self.searchWidget)
+        self.searchInfoLabel.setObjectName("searchInfoLabel")
+        self.verticalLayout_2.addWidget(self.searchInfoLabel)
+        self.line_2 = QtWidgets.QFrame(parent=self.searchWidget)
+        self.line_2.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line_2.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line_2.setObjectName("line_2")
+        self.verticalLayout_2.addWidget(self.line_2)
+        self.verticalLayout_5.addWidget(self.searchWidget)
+        self.baseWidget = QtWidgets.QWidget(parent=self.packagesPage)
+        self.baseWidget.setObjectName("baseWidget")
+        self.verticalLayout_6 = QtWidgets.QVBoxLayout(self.baseWidget)
+        self.verticalLayout_6.setObjectName("verticalLayout_6")
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_2.addItem(spacerItem2)
+        self.refreshButton = QtWidgets.QToolButton(parent=self.baseWidget)
+        self.refreshButton.setObjectName("refreshButton")
+        self.horizontalLayout_2.addWidget(self.refreshButton)
+        self.upgradeButton = QtWidgets.QToolButton(parent=self.baseWidget)
+        self.upgradeButton.setObjectName("upgradeButton")
+        self.horizontalLayout_2.addWidget(self.upgradeButton)
+        self.upgradeAllButton = QtWidgets.QToolButton(parent=self.baseWidget)
+        self.upgradeAllButton.setObjectName("upgradeAllButton")
+        self.horizontalLayout_2.addWidget(self.upgradeAllButton)
+        self.uninstallButton = QtWidgets.QToolButton(parent=self.baseWidget)
+        self.uninstallButton.setObjectName("uninstallButton")
+        self.horizontalLayout_2.addWidget(self.uninstallButton)
+        self.showPackageDetailsButton = QtWidgets.QToolButton(parent=self.baseWidget)
+        self.showPackageDetailsButton.setObjectName("showPackageDetailsButton")
+        self.horizontalLayout_2.addWidget(self.showPackageDetailsButton)
+        spacerItem3 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_2.addItem(spacerItem3)
+        self.searchToggleButton_1 = QtWidgets.QToolButton(parent=self.baseWidget)
+        self.searchToggleButton_1.setCheckable(True)
+        self.searchToggleButton_1.setObjectName("searchToggleButton_1")
+        self.horizontalLayout_2.addWidget(self.searchToggleButton_1)
+        self.verticalLayout_6.addLayout(self.horizontalLayout_2)
+        self.gridLayout_2 = QtWidgets.QGridLayout()
+        self.gridLayout_2.setObjectName("gridLayout_2")
+        self.localCheckBox = QtWidgets.QCheckBox(parent=self.baseWidget)
+        self.localCheckBox.setChecked(True)
+        self.localCheckBox.setObjectName("localCheckBox")
+        self.gridLayout_2.addWidget(self.localCheckBox, 0, 0, 1, 1)
+        self.notRequiredCheckBox = QtWidgets.QCheckBox(parent=self.baseWidget)
+        self.notRequiredCheckBox.setObjectName("notRequiredCheckBox")
+        self.gridLayout_2.addWidget(self.notRequiredCheckBox, 0, 1, 1, 1)
+        self.userCheckBox = QtWidgets.QCheckBox(parent=self.baseWidget)
+        self.userCheckBox.setObjectName("userCheckBox")
+        self.gridLayout_2.addWidget(self.userCheckBox, 1, 0, 1, 1)
+        self.vulnerabilityCheckBox = QtWidgets.QCheckBox(parent=self.baseWidget)
+        self.vulnerabilityCheckBox.setChecked(True)
+        self.vulnerabilityCheckBox.setObjectName("vulnerabilityCheckBox")
+        self.gridLayout_2.addWidget(self.vulnerabilityCheckBox, 1, 1, 1, 1)
+        self.verticalLayout_6.addLayout(self.gridLayout_2)
+        self.statusLabel = QtWidgets.QLabel(parent=self.baseWidget)
+        self.statusLabel.setObjectName("statusLabel")
+        self.verticalLayout_6.addWidget(self.statusLabel)
+        self.splitter = QtWidgets.QSplitter(parent=self.baseWidget)
+        self.splitter.setOrientation(QtCore.Qt.Orientation.Vertical)
+        self.splitter.setChildrenCollapsible(False)
+        self.splitter.setObjectName("splitter")
+        self.packagesList = QtWidgets.QTreeWidget(parent=self.splitter)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(3)
+        sizePolicy.setHeightForWidth(self.packagesList.sizePolicy().hasHeightForWidth())
+        self.packagesList.setSizePolicy(sizePolicy)
+        self.packagesList.setAlternatingRowColors(True)
+        self.packagesList.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.ExtendedSelection)
+        self.packagesList.setRootIsDecorated(False)
+        self.packagesList.setItemsExpandable(False)
+        self.packagesList.setObjectName("packagesList")
+        self.packagesList.header().setDefaultSectionSize(150)
+        self.infoWidget = QtWidgets.QTabWidget(parent=self.splitter)
+        self.infoWidget.setObjectName("infoWidget")
+        self.packageTab = QtWidgets.QWidget()
+        self.packageTab.setObjectName("packageTab")
+        self.verticalLayout_4 = QtWidgets.QVBoxLayout(self.packageTab)
+        self.verticalLayout_4.setObjectName("verticalLayout_4")
+        self.horizontalLayout_7 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_7.setObjectName("horizontalLayout_7")
+        self.verboseCheckBox = QtWidgets.QCheckBox(parent=self.packageTab)
+        self.verboseCheckBox.setObjectName("verboseCheckBox")
+        self.horizontalLayout_7.addWidget(self.verboseCheckBox)
+        self.installedFilesCheckBox = QtWidgets.QCheckBox(parent=self.packageTab)
+        self.installedFilesCheckBox.setObjectName("installedFilesCheckBox")
+        self.horizontalLayout_7.addWidget(self.installedFilesCheckBox)
+        self.verticalLayout_4.addLayout(self.horizontalLayout_7)
+        self.packageInfoWidget = QtWidgets.QTreeWidget(parent=self.packageTab)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(1)
+        sizePolicy.setHeightForWidth(self.packageInfoWidget.sizePolicy().hasHeightForWidth())
+        self.packageInfoWidget.setSizePolicy(sizePolicy)
+        self.packageInfoWidget.setAlternatingRowColors(True)
+        self.packageInfoWidget.setSelectionBehavior(QtWidgets.QAbstractItemView.SelectionBehavior.SelectItems)
+        self.packageInfoWidget.setRootIsDecorated(False)
+        self.packageInfoWidget.setItemsExpandable(False)
+        self.packageInfoWidget.setAllColumnsShowFocus(True)
+        self.packageInfoWidget.setWordWrap(True)
+        self.packageInfoWidget.setColumnCount(2)
+        self.packageInfoWidget.setObjectName("packageInfoWidget")
+        self.packageInfoWidget.headerItem().setText(0, "1")
+        self.packageInfoWidget.headerItem().setText(1, "2")
+        self.packageInfoWidget.header().setVisible(False)
+        self.packageInfoWidget.header().setStretchLastSection(False)
+        self.verticalLayout_4.addWidget(self.packageInfoWidget)
+        self.infoWidget.addTab(self.packageTab, "")
+        self.vulnerabilitiesTab = QtWidgets.QWidget()
+        self.vulnerabilitiesTab.setObjectName("vulnerabilitiesTab")
+        self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.vulnerabilitiesTab)
+        self.verticalLayout_3.setObjectName("verticalLayout_3")
+        self.vulnerabilitiesInfoWidget = QtWidgets.QTreeWidget(parent=self.vulnerabilitiesTab)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(1)
+        sizePolicy.setHeightForWidth(self.vulnerabilitiesInfoWidget.sizePolicy().hasHeightForWidth())
+        self.vulnerabilitiesInfoWidget.setSizePolicy(sizePolicy)
+        self.vulnerabilitiesInfoWidget.setAlternatingRowColors(True)
+        self.vulnerabilitiesInfoWidget.setSelectionBehavior(QtWidgets.QAbstractItemView.SelectionBehavior.SelectItems)
+        self.vulnerabilitiesInfoWidget.setRootIsDecorated(False)
+        self.vulnerabilitiesInfoWidget.setItemsExpandable(False)
+        self.vulnerabilitiesInfoWidget.setAllColumnsShowFocus(True)
+        self.vulnerabilitiesInfoWidget.setWordWrap(True)
+        self.vulnerabilitiesInfoWidget.setColumnCount(2)
+        self.vulnerabilitiesInfoWidget.setObjectName("vulnerabilitiesInfoWidget")
+        self.vulnerabilitiesInfoWidget.headerItem().setText(0, "1")
+        self.vulnerabilitiesInfoWidget.headerItem().setText(1, "2")
+        self.vulnerabilitiesInfoWidget.header().setVisible(False)
+        self.vulnerabilitiesInfoWidget.header().setStretchLastSection(False)
+        self.verticalLayout_3.addWidget(self.vulnerabilitiesInfoWidget)
+        self.infoWidget.addTab(self.vulnerabilitiesTab, "")
+        self.verticalLayout_6.addWidget(self.splitter)
+        self.verticalLayout_5.addWidget(self.baseWidget)
+        self.viewsStackWidget.addWidget(self.packagesPage)
+        self.dependenciesPage = QtWidgets.QWidget()
+        self.dependenciesPage.setObjectName("dependenciesPage")
+        self.verticalLayout_7 = QtWidgets.QVBoxLayout(self.dependenciesPage)
+        self.verticalLayout_7.setContentsMargins(0, 0, 0, 0)
+        self.verticalLayout_7.setObjectName("verticalLayout_7")
+        self.horizontalLayout_6 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_6.setObjectName("horizontalLayout_6")
+        spacerItem4 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_6.addItem(spacerItem4)
+        self.refreshDependenciesButton = QtWidgets.QToolButton(parent=self.dependenciesPage)
+        self.refreshDependenciesButton.setObjectName("refreshDependenciesButton")
+        self.horizontalLayout_6.addWidget(self.refreshDependenciesButton)
+        self.showDepPackageDetailsButton = QtWidgets.QToolButton(parent=self.dependenciesPage)
+        self.showDepPackageDetailsButton.setObjectName("showDepPackageDetailsButton")
+        self.horizontalLayout_6.addWidget(self.showDepPackageDetailsButton)
+        self.dependencyRepairButton = QtWidgets.QToolButton(parent=self.dependenciesPage)
+        self.dependencyRepairButton.setText("")
+        self.dependencyRepairButton.setObjectName("dependencyRepairButton")
+        self.horizontalLayout_6.addWidget(self.dependencyRepairButton)
+        self.dependencyRepairAllButton = QtWidgets.QToolButton(parent=self.dependenciesPage)
+        self.dependencyRepairAllButton.setObjectName("dependencyRepairAllButton")
+        self.horizontalLayout_6.addWidget(self.dependencyRepairAllButton)
+        spacerItem5 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_6.addItem(spacerItem5)
+        self.verticalLayout_7.addLayout(self.horizontalLayout_6)
+        self.groupBox = QtWidgets.QGroupBox(parent=self.dependenciesPage)
+        self.groupBox.setObjectName("groupBox")
+        self.horizontalLayout_5 = QtWidgets.QHBoxLayout(self.groupBox)
+        self.horizontalLayout_5.setObjectName("horizontalLayout_5")
+        self.requiresButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.requiresButton.setChecked(True)
+        self.requiresButton.setObjectName("requiresButton")
+        self.horizontalLayout_5.addWidget(self.requiresButton)
+        self.requiredByButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.requiredByButton.setObjectName("requiredByButton")
+        self.horizontalLayout_5.addWidget(self.requiredByButton)
+        self.verticalLayout_7.addWidget(self.groupBox)
+        self.horizontalLayout_4 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_4.setObjectName("horizontalLayout_4")
+        self.localDepCheckBox = QtWidgets.QCheckBox(parent=self.dependenciesPage)
+        self.localDepCheckBox.setChecked(True)
+        self.localDepCheckBox.setObjectName("localDepCheckBox")
+        self.horizontalLayout_4.addWidget(self.localDepCheckBox)
+        self.userDepCheckBox = QtWidgets.QCheckBox(parent=self.dependenciesPage)
+        self.userDepCheckBox.setObjectName("userDepCheckBox")
+        self.horizontalLayout_4.addWidget(self.userDepCheckBox)
+        self.verticalLayout_7.addLayout(self.horizontalLayout_4)
+        self.splitter_2 = QtWidgets.QSplitter(parent=self.dependenciesPage)
+        self.splitter_2.setOrientation(QtCore.Qt.Orientation.Vertical)
+        self.splitter_2.setObjectName("splitter_2")
+        self.dependenciesList = QtWidgets.QTreeWidget(parent=self.splitter_2)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(3)
+        sizePolicy.setHeightForWidth(self.dependenciesList.sizePolicy().hasHeightForWidth())
+        self.dependenciesList.setSizePolicy(sizePolicy)
+        self.dependenciesList.setAlternatingRowColors(True)
+        self.dependenciesList.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.ExtendedSelection)
+        self.dependenciesList.setExpandsOnDoubleClick(False)
+        self.dependenciesList.setObjectName("dependenciesList")
+        self.dependenciesList.header().setDefaultSectionSize(150)
+        self.dependencyInfoWidget = QtWidgets.QTreeWidget(parent=self.splitter_2)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(1)
+        sizePolicy.setHeightForWidth(self.dependencyInfoWidget.sizePolicy().hasHeightForWidth())
+        self.dependencyInfoWidget.setSizePolicy(sizePolicy)
+        self.dependencyInfoWidget.setAlternatingRowColors(True)
+        self.dependencyInfoWidget.setRootIsDecorated(False)
+        self.dependencyInfoWidget.setItemsExpandable(False)
+        self.dependencyInfoWidget.setAllColumnsShowFocus(True)
+        self.dependencyInfoWidget.setWordWrap(True)
+        self.dependencyInfoWidget.setColumnCount(2)
+        self.dependencyInfoWidget.setObjectName("dependencyInfoWidget")
+        self.dependencyInfoWidget.headerItem().setText(0, "1")
+        self.dependencyInfoWidget.headerItem().setText(1, "2")
+        self.dependencyInfoWidget.header().setVisible(False)
+        self.dependencyInfoWidget.header().setStretchLastSection(False)
+        self.verticalLayout_7.addWidget(self.splitter_2)
+        self.viewsStackWidget.addWidget(self.dependenciesPage)
+        self.verticalLayout_8.addWidget(self.viewsStackWidget)
+
+        self.retranslateUi(PipPackagesWidget)
+        self.viewsStackWidget.setCurrentIndex(0)
+        self.infoWidget.setCurrentIndex(0)
+        QtCore.QMetaObject.connectSlotsByName(PipPackagesWidget)
+        PipPackagesWidget.setTabOrder(self.viewToggleButton, self.environmentsComboBox)
+        PipPackagesWidget.setTabOrder(self.environmentsComboBox, self.pipMenuButton)
+        PipPackagesWidget.setTabOrder(self.pipMenuButton, self.refreshButton)
+        PipPackagesWidget.setTabOrder(self.refreshButton, self.upgradeButton)
+        PipPackagesWidget.setTabOrder(self.upgradeButton, self.upgradeAllButton)
+        PipPackagesWidget.setTabOrder(self.upgradeAllButton, self.uninstallButton)
+        PipPackagesWidget.setTabOrder(self.uninstallButton, self.showPackageDetailsButton)
+        PipPackagesWidget.setTabOrder(self.showPackageDetailsButton, self.searchToggleButton_1)
+        PipPackagesWidget.setTabOrder(self.searchToggleButton_1, self.localCheckBox)
+        PipPackagesWidget.setTabOrder(self.localCheckBox, self.notRequiredCheckBox)
+        PipPackagesWidget.setTabOrder(self.notRequiredCheckBox, self.userCheckBox)
+        PipPackagesWidget.setTabOrder(self.userCheckBox, self.vulnerabilityCheckBox)
+        PipPackagesWidget.setTabOrder(self.vulnerabilityCheckBox, self.packagesList)
+        PipPackagesWidget.setTabOrder(self.packagesList, self.infoWidget)
+        PipPackagesWidget.setTabOrder(self.infoWidget, self.verboseCheckBox)
+        PipPackagesWidget.setTabOrder(self.verboseCheckBox, self.installedFilesCheckBox)
+        PipPackagesWidget.setTabOrder(self.installedFilesCheckBox, self.packageInfoWidget)
+        PipPackagesWidget.setTabOrder(self.packageInfoWidget, self.vulnerabilitiesInfoWidget)
+        PipPackagesWidget.setTabOrder(self.vulnerabilitiesInfoWidget, self.installButton)
+        PipPackagesWidget.setTabOrder(self.installButton, self.installUserSiteButton)
+        PipPackagesWidget.setTabOrder(self.installUserSiteButton, self.showDetailsButton)
+        PipPackagesWidget.setTabOrder(self.showDetailsButton, self.searchToggleButton_2)
+        PipPackagesWidget.setTabOrder(self.searchToggleButton_2, self.searchNameEdit)
+        PipPackagesWidget.setTabOrder(self.searchNameEdit, self.searchButton)
+        PipPackagesWidget.setTabOrder(self.searchButton, self.searchMoreButton)
+        PipPackagesWidget.setTabOrder(self.searchMoreButton, self.searchResultList)
+        PipPackagesWidget.setTabOrder(self.searchResultList, self.refreshDependenciesButton)
+        PipPackagesWidget.setTabOrder(self.refreshDependenciesButton, self.showDepPackageDetailsButton)
+        PipPackagesWidget.setTabOrder(self.showDepPackageDetailsButton, self.dependencyRepairButton)
+        PipPackagesWidget.setTabOrder(self.dependencyRepairButton, self.dependencyRepairAllButton)
+        PipPackagesWidget.setTabOrder(self.dependencyRepairAllButton, self.requiresButton)
+        PipPackagesWidget.setTabOrder(self.requiresButton, self.requiredByButton)
+        PipPackagesWidget.setTabOrder(self.requiredByButton, self.localDepCheckBox)
+        PipPackagesWidget.setTabOrder(self.localDepCheckBox, self.userDepCheckBox)
+        PipPackagesWidget.setTabOrder(self.userDepCheckBox, self.dependenciesList)
+        PipPackagesWidget.setTabOrder(self.dependenciesList, self.dependencyInfoWidget)
+
+    def retranslateUi(self, PipPackagesWidget):
+        _translate = QtCore.QCoreApplication.translate
+        self.viewToggleButton.setToolTip(_translate("PipPackagesWidget", "Toggle to show or hide the dependency tree view"))
+        self.installButton.setToolTip(_translate("PipPackagesWidget", "Press to install the selected package"))
+        self.installUserSiteButton.setToolTip(_translate("PipPackagesWidget", "Press to install the selected package to the user site"))
+        self.showDetailsButton.setToolTip(_translate("PipPackagesWidget", "Press to show details for the selected entry"))
+        self.searchToggleButton_2.setToolTip(_translate("PipPackagesWidget", "Toggle to show or hide the search window"))
+        self.label.setText(_translate("PipPackagesWidget", "Package"))
+        self.searchNameEdit.setToolTip(_translate("PipPackagesWidget", "Enter the search term for the package name"))
+        self.searchNameEdit.setPlaceholderText(_translate("PipPackagesWidget", "Enter search term"))
+        self.searchButton.setToolTip(_translate("PipPackagesWidget", "Press to start the search"))
+        self.searchMoreButton.setToolTip(_translate("PipPackagesWidget", "Press to search for more packages"))
+        self.searchResultList.headerItem().setText(0, _translate("PipPackagesWidget", "Package"))
+        self.searchResultList.headerItem().setText(1, _translate("PipPackagesWidget", "Version"))
+        self.searchResultList.headerItem().setText(2, _translate("PipPackagesWidget", "Released"))
+        self.searchResultList.headerItem().setText(3, _translate("PipPackagesWidget", "Description"))
+        self.refreshButton.setToolTip(_translate("PipPackagesWidget", "Press to refresh the lists"))
+        self.upgradeButton.setToolTip(_translate("PipPackagesWidget", "Press to upgrade the selected packages"))
+        self.upgradeAllButton.setToolTip(_translate("PipPackagesWidget", "Press to upgrade all listed packages"))
+        self.uninstallButton.setToolTip(_translate("PipPackagesWidget", "Press to uninstall the selected package"))
+        self.showPackageDetailsButton.setToolTip(_translate("PipPackagesWidget", "Press to show details for the selected entry"))
+        self.searchToggleButton_1.setToolTip(_translate("PipPackagesWidget", "Toggle to show or hide the search window"))
+        self.localCheckBox.setToolTip(_translate("PipPackagesWidget", "Select to show only locally-installed packages"))
+        self.localCheckBox.setText(_translate("PipPackagesWidget", "Local packages only"))
+        self.notRequiredCheckBox.setToolTip(_translate("PipPackagesWidget", "Select to list packages that are not dependencies of installed packages"))
+        self.notRequiredCheckBox.setText(_translate("PipPackagesWidget", "Not required Packages"))
+        self.userCheckBox.setToolTip(_translate("PipPackagesWidget", "Select to show only packages installed to the user-site"))
+        self.userCheckBox.setText(_translate("PipPackagesWidget", "User-Site only"))
+        self.vulnerabilityCheckBox.setToolTip(_translate("PipPackagesWidget", "Perform vulnerability checks based on \"Safety DB\"."))
+        self.vulnerabilityCheckBox.setText(_translate("PipPackagesWidget", "Vulnerability Check"))
+        self.packagesList.setSortingEnabled(True)
+        self.packagesList.headerItem().setText(0, _translate("PipPackagesWidget", "Package"))
+        self.packagesList.headerItem().setText(1, _translate("PipPackagesWidget", "Installed"))
+        self.packagesList.headerItem().setText(2, _translate("PipPackagesWidget", "Available"))
+        self.packagesList.headerItem().setText(3, _translate("PipPackagesWidget", "Affected"))
+        self.verboseCheckBox.setToolTip(_translate("PipPackagesWidget", "Select to show verbose package information"))
+        self.verboseCheckBox.setText(_translate("PipPackagesWidget", "Verbose Information"))
+        self.installedFilesCheckBox.setToolTip(_translate("PipPackagesWidget", "Select to show information about installed files"))
+        self.installedFilesCheckBox.setText(_translate("PipPackagesWidget", "Installed Files"))
+        self.infoWidget.setTabText(self.infoWidget.indexOf(self.packageTab), _translate("PipPackagesWidget", "Package"))
+        self.infoWidget.setTabText(self.infoWidget.indexOf(self.vulnerabilitiesTab), _translate("PipPackagesWidget", "Vulnerabilities"))
+        self.refreshDependenciesButton.setToolTip(_translate("PipPackagesWidget", "Press to refresh the dependency tree"))
+        self.showDepPackageDetailsButton.setToolTip(_translate("PipPackagesWidget", "Press to show details for the selected entry"))
+        self.dependencyRepairButton.setToolTip(_translate("PipPackagesWidget", "Press to repair the selected dependency"))
+        self.dependencyRepairAllButton.setToolTip(_translate("PipPackagesWidget", "Press to repair all dependencies"))
+        self.groupBox.setTitle(_translate("PipPackagesWidget", "View Type"))
+        self.requiresButton.setToolTip(_translate("PipPackagesWidget", "Select to show which package requires other packages"))
+        self.requiresButton.setText(_translate("PipPackagesWidget", "Requires"))
+        self.requiredByButton.setToolTip(_translate("PipPackagesWidget", "Select to show which package is required by others"))
+        self.requiredByButton.setText(_translate("PipPackagesWidget", "Required By"))
+        self.localDepCheckBox.setToolTip(_translate("PipPackagesWidget", "Select to show only dependencies of locally installed packages"))
+        self.localDepCheckBox.setText(_translate("PipPackagesWidget", "Local packages only"))
+        self.userDepCheckBox.setToolTip(_translate("PipPackagesWidget", "Select to show only dependencies of packages installed to the user-site"))
+        self.userDepCheckBox.setText(_translate("PipPackagesWidget", "User-Site only"))
+        self.dependenciesList.setSortingEnabled(True)
+        self.dependenciesList.headerItem().setText(0, _translate("PipPackagesWidget", "Package"))
+        self.dependenciesList.headerItem().setText(1, _translate("PipPackagesWidget", "Installed"))
+        self.dependenciesList.headerItem().setText(2, _translate("PipPackagesWidget", "Required"))
+from eric7.EricWidgets.EricSqueezeLabels import EricSqueezeLabelPath
+from eric7.EricWidgets.EricToolButton import EricToolButton
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/PluginManager/Ui_PluginDetailsDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,119 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/PluginManager/PluginDetailsDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_PluginDetailsDialog(object):
+    def setupUi(self, PluginDetailsDialog):
+        PluginDetailsDialog.setObjectName("PluginDetailsDialog")
+        PluginDetailsDialog.resize(563, 479)
+        PluginDetailsDialog.setSizeGripEnabled(True)
+        self.gridlayout = QtWidgets.QGridLayout(PluginDetailsDialog)
+        self.gridlayout.setObjectName("gridlayout")
+        self.label = QtWidgets.QLabel(parent=PluginDetailsDialog)
+        self.label.setObjectName("label")
+        self.gridlayout.addWidget(self.label, 0, 0, 1, 1)
+        self.moduleNameEdit = QtWidgets.QLineEdit(parent=PluginDetailsDialog)
+        self.moduleNameEdit.setReadOnly(True)
+        self.moduleNameEdit.setObjectName("moduleNameEdit")
+        self.gridlayout.addWidget(self.moduleNameEdit, 0, 1, 1, 2)
+        self.label_2 = QtWidgets.QLabel(parent=PluginDetailsDialog)
+        self.label_2.setObjectName("label_2")
+        self.gridlayout.addWidget(self.label_2, 1, 0, 1, 1)
+        self.moduleFileNameEdit = QtWidgets.QLineEdit(parent=PluginDetailsDialog)
+        self.moduleFileNameEdit.setReadOnly(True)
+        self.moduleFileNameEdit.setObjectName("moduleFileNameEdit")
+        self.gridlayout.addWidget(self.moduleFileNameEdit, 1, 1, 1, 2)
+        self.autoactivateCheckBox = QtWidgets.QCheckBox(parent=PluginDetailsDialog)
+        self.autoactivateCheckBox.setFocusPolicy(QtCore.Qt.FocusPolicy.NoFocus)
+        self.autoactivateCheckBox.setObjectName("autoactivateCheckBox")
+        self.gridlayout.addWidget(self.autoactivateCheckBox, 2, 0, 1, 1)
+        self.activeCheckBox = QtWidgets.QCheckBox(parent=PluginDetailsDialog)
+        self.activeCheckBox.setFocusPolicy(QtCore.Qt.FocusPolicy.NoFocus)
+        self.activeCheckBox.setObjectName("activeCheckBox")
+        self.gridlayout.addWidget(self.activeCheckBox, 2, 1, 1, 1)
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridlayout.addItem(spacerItem, 2, 2, 1, 1)
+        self.label_3 = QtWidgets.QLabel(parent=PluginDetailsDialog)
+        self.label_3.setObjectName("label_3")
+        self.gridlayout.addWidget(self.label_3, 3, 0, 1, 1)
+        self.pluginNameEdit = QtWidgets.QLineEdit(parent=PluginDetailsDialog)
+        self.pluginNameEdit.setReadOnly(True)
+        self.pluginNameEdit.setObjectName("pluginNameEdit")
+        self.gridlayout.addWidget(self.pluginNameEdit, 3, 1, 1, 2)
+        self.label_4 = QtWidgets.QLabel(parent=PluginDetailsDialog)
+        self.label_4.setObjectName("label_4")
+        self.gridlayout.addWidget(self.label_4, 4, 0, 1, 1)
+        self.versionEdit = QtWidgets.QLineEdit(parent=PluginDetailsDialog)
+        self.versionEdit.setReadOnly(True)
+        self.versionEdit.setObjectName("versionEdit")
+        self.gridlayout.addWidget(self.versionEdit, 4, 1, 1, 2)
+        self.label_5 = QtWidgets.QLabel(parent=PluginDetailsDialog)
+        self.label_5.setObjectName("label_5")
+        self.gridlayout.addWidget(self.label_5, 5, 0, 1, 1)
+        self.authorEdit = QtWidgets.QLineEdit(parent=PluginDetailsDialog)
+        self.authorEdit.setReadOnly(True)
+        self.authorEdit.setObjectName("authorEdit")
+        self.gridlayout.addWidget(self.authorEdit, 5, 1, 1, 2)
+        self.label_6 = QtWidgets.QLabel(parent=PluginDetailsDialog)
+        self.label_6.setAlignment(QtCore.Qt.AlignmentFlag.AlignLeading|QtCore.Qt.AlignmentFlag.AlignLeft|QtCore.Qt.AlignmentFlag.AlignTop)
+        self.label_6.setObjectName("label_6")
+        self.gridlayout.addWidget(self.label_6, 6, 0, 1, 1)
+        self.descriptionEdit = QtWidgets.QTextEdit(parent=PluginDetailsDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(5)
+        sizePolicy.setHeightForWidth(self.descriptionEdit.sizePolicy().hasHeightForWidth())
+        self.descriptionEdit.setSizePolicy(sizePolicy)
+        self.descriptionEdit.setReadOnly(True)
+        self.descriptionEdit.setObjectName("descriptionEdit")
+        self.gridlayout.addWidget(self.descriptionEdit, 6, 1, 1, 2)
+        self.label_7 = QtWidgets.QLabel(parent=PluginDetailsDialog)
+        self.label_7.setAlignment(QtCore.Qt.AlignmentFlag.AlignLeading|QtCore.Qt.AlignmentFlag.AlignLeft|QtCore.Qt.AlignmentFlag.AlignTop)
+        self.label_7.setObjectName("label_7")
+        self.gridlayout.addWidget(self.label_7, 7, 0, 1, 1)
+        self.errorEdit = QtWidgets.QTextEdit(parent=PluginDetailsDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(1)
+        sizePolicy.setHeightForWidth(self.errorEdit.sizePolicy().hasHeightForWidth())
+        self.errorEdit.setSizePolicy(sizePolicy)
+        self.errorEdit.setReadOnly(True)
+        self.errorEdit.setObjectName("errorEdit")
+        self.gridlayout.addWidget(self.errorEdit, 7, 1, 1, 2)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=PluginDetailsDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridlayout.addWidget(self.buttonBox, 8, 0, 1, 3)
+
+        self.retranslateUi(PluginDetailsDialog)
+        self.buttonBox.accepted.connect(PluginDetailsDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(PluginDetailsDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(PluginDetailsDialog)
+        PluginDetailsDialog.setTabOrder(self.moduleNameEdit, self.moduleFileNameEdit)
+        PluginDetailsDialog.setTabOrder(self.moduleFileNameEdit, self.pluginNameEdit)
+        PluginDetailsDialog.setTabOrder(self.pluginNameEdit, self.versionEdit)
+        PluginDetailsDialog.setTabOrder(self.versionEdit, self.authorEdit)
+        PluginDetailsDialog.setTabOrder(self.authorEdit, self.descriptionEdit)
+        PluginDetailsDialog.setTabOrder(self.descriptionEdit, self.errorEdit)
+        PluginDetailsDialog.setTabOrder(self.errorEdit, self.buttonBox)
+
+    def retranslateUi(self, PluginDetailsDialog):
+        _translate = QtCore.QCoreApplication.translate
+        PluginDetailsDialog.setWindowTitle(_translate("PluginDetailsDialog", "Plugin Details"))
+        self.label.setText(_translate("PluginDetailsDialog", "Module name:"))
+        self.label_2.setText(_translate("PluginDetailsDialog", "Module filename:"))
+        self.autoactivateCheckBox.setText(_translate("PluginDetailsDialog", "Autoactivate"))
+        self.activeCheckBox.setText(_translate("PluginDetailsDialog", "Active"))
+        self.label_3.setText(_translate("PluginDetailsDialog", "Plugin name:"))
+        self.label_4.setText(_translate("PluginDetailsDialog", "Version:"))
+        self.label_5.setText(_translate("PluginDetailsDialog", "Author:"))
+        self.label_6.setText(_translate("PluginDetailsDialog", "Description:"))
+        self.label_7.setText(_translate("PluginDetailsDialog", "Error:"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/PluginManager/Ui_PluginInfoDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,53 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/PluginManager/PluginInfoDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_PluginInfoDialog(object):
+    def setupUi(self, PluginInfoDialog):
+        PluginInfoDialog.setObjectName("PluginInfoDialog")
+        PluginInfoDialog.resize(800, 600)
+        PluginInfoDialog.setSizeGripEnabled(True)
+        self.vboxlayout = QtWidgets.QVBoxLayout(PluginInfoDialog)
+        self.vboxlayout.setObjectName("vboxlayout")
+        self.label = QtWidgets.QLabel(parent=PluginInfoDialog)
+        self.label.setWordWrap(True)
+        self.label.setObjectName("label")
+        self.vboxlayout.addWidget(self.label)
+        self.pluginList = QtWidgets.QTreeWidget(parent=PluginInfoDialog)
+        self.pluginList.setAlternatingRowColors(True)
+        self.pluginList.setRootIsDecorated(False)
+        self.pluginList.setItemsExpandable(False)
+        self.pluginList.setAllColumnsShowFocus(True)
+        self.pluginList.setObjectName("pluginList")
+        self.vboxlayout.addWidget(self.pluginList)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=PluginInfoDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.vboxlayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(PluginInfoDialog)
+        self.buttonBox.accepted.connect(PluginInfoDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(PluginInfoDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(PluginInfoDialog)
+        PluginInfoDialog.setTabOrder(self.pluginList, self.buttonBox)
+
+    def retranslateUi(self, PluginInfoDialog):
+        _translate = QtCore.QCoreApplication.translate
+        PluginInfoDialog.setWindowTitle(_translate("PluginInfoDialog", "Loaded Plugins"))
+        self.label.setText(_translate("PluginInfoDialog", "Double-Click an entry to show detailed info. Plugins with an error are shown in red."))
+        self.pluginList.setWhatsThis(_translate("PluginInfoDialog", "<b>Plugin List</b><p>This lists all loaded plugins. Double-clicking an entry shows more detailed information in a separate dialog.</p>"))
+        self.pluginList.setSortingEnabled(True)
+        self.pluginList.headerItem().setText(0, _translate("PluginInfoDialog", "Module"))
+        self.pluginList.headerItem().setText(1, _translate("PluginInfoDialog", "Name"))
+        self.pluginList.headerItem().setText(2, _translate("PluginInfoDialog", "Version"))
+        self.pluginList.headerItem().setText(3, _translate("PluginInfoDialog", "Autoactivate"))
+        self.pluginList.headerItem().setText(4, _translate("PluginInfoDialog", "Active"))
+        self.pluginList.headerItem().setText(5, _translate("PluginInfoDialog", "Description"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/PluginManager/Ui_PluginInstallDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,104 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/PluginManager/PluginInstallDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_PluginInstallDialog(object):
+    def setupUi(self, PluginInstallDialog):
+        PluginInstallDialog.setObjectName("PluginInstallDialog")
+        PluginInstallDialog.resize(611, 362)
+        self.vboxlayout = QtWidgets.QVBoxLayout(PluginInstallDialog)
+        self.vboxlayout.setObjectName("vboxlayout")
+        self.wizard = QtWidgets.QStackedWidget(parent=PluginInstallDialog)
+        self.wizard.setObjectName("wizard")
+        self.selectionPage = QtWidgets.QWidget()
+        self.selectionPage.setObjectName("selectionPage")
+        self.gridlayout = QtWidgets.QGridLayout(self.selectionPage)
+        self.gridlayout.setContentsMargins(0, 0, 0, 0)
+        self.gridlayout.setVerticalSpacing(6)
+        self.gridlayout.setObjectName("gridlayout")
+        self.label = QtWidgets.QLabel(parent=self.selectionPage)
+        self.label.setObjectName("label")
+        self.gridlayout.addWidget(self.label, 0, 0, 1, 2)
+        self.archivesList = QtWidgets.QListWidget(parent=self.selectionPage)
+        self.archivesList.setAlternatingRowColors(True)
+        self.archivesList.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.ExtendedSelection)
+        self.archivesList.setObjectName("archivesList")
+        self.gridlayout.addWidget(self.archivesList, 1, 0, 3, 1)
+        self.addArchivesButton = QtWidgets.QPushButton(parent=self.selectionPage)
+        self.addArchivesButton.setObjectName("addArchivesButton")
+        self.gridlayout.addWidget(self.addArchivesButton, 1, 1, 1, 1)
+        self.removeArchivesButton = QtWidgets.QPushButton(parent=self.selectionPage)
+        self.removeArchivesButton.setEnabled(False)
+        self.removeArchivesButton.setObjectName("removeArchivesButton")
+        self.gridlayout.addWidget(self.removeArchivesButton, 2, 1, 1, 1)
+        spacerItem = QtWidgets.QSpacerItem(20, 101, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.gridlayout.addItem(spacerItem, 3, 1, 1, 1)
+        self.wizard.addWidget(self.selectionPage)
+        self.destinationPage = QtWidgets.QWidget()
+        self.destinationPage.setObjectName("destinationPage")
+        self.vboxlayout1 = QtWidgets.QVBoxLayout(self.destinationPage)
+        self.vboxlayout1.setContentsMargins(0, 0, 0, 0)
+        self.vboxlayout1.setObjectName("vboxlayout1")
+        self.label_2 = QtWidgets.QLabel(parent=self.destinationPage)
+        self.label_2.setObjectName("label_2")
+        self.vboxlayout1.addWidget(self.label_2)
+        self.destinationCombo = QtWidgets.QComboBox(parent=self.destinationPage)
+        self.destinationCombo.setObjectName("destinationCombo")
+        self.vboxlayout1.addWidget(self.destinationCombo)
+        spacerItem1 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.vboxlayout1.addItem(spacerItem1)
+        self.wizard.addWidget(self.destinationPage)
+        self.summaryPage = QtWidgets.QWidget()
+        self.summaryPage.setObjectName("summaryPage")
+        self.vboxlayout2 = QtWidgets.QVBoxLayout(self.summaryPage)
+        self.vboxlayout2.setContentsMargins(0, 0, 0, 0)
+        self.vboxlayout2.setObjectName("vboxlayout2")
+        self.label_3 = QtWidgets.QLabel(parent=self.summaryPage)
+        self.label_3.setObjectName("label_3")
+        self.vboxlayout2.addWidget(self.label_3)
+        self.summaryEdit = QtWidgets.QTextEdit(parent=self.summaryPage)
+        self.summaryEdit.setReadOnly(True)
+        self.summaryEdit.setObjectName("summaryEdit")
+        self.vboxlayout2.addWidget(self.summaryEdit)
+        self.progress = QtWidgets.QProgressBar(parent=self.summaryPage)
+        self.progress.setProperty("value", 0)
+        self.progress.setObjectName("progress")
+        self.vboxlayout2.addWidget(self.progress)
+        self.wizard.addWidget(self.summaryPage)
+        self.vboxlayout.addWidget(self.wizard)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=PluginInstallDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.vboxlayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(PluginInstallDialog)
+        self.wizard.setCurrentIndex(2)
+        QtCore.QMetaObject.connectSlotsByName(PluginInstallDialog)
+        PluginInstallDialog.setTabOrder(self.addArchivesButton, self.archivesList)
+        PluginInstallDialog.setTabOrder(self.archivesList, self.removeArchivesButton)
+        PluginInstallDialog.setTabOrder(self.removeArchivesButton, self.destinationCombo)
+        PluginInstallDialog.setTabOrder(self.destinationCombo, self.summaryEdit)
+        PluginInstallDialog.setTabOrder(self.summaryEdit, self.buttonBox)
+
+    def retranslateUi(self, PluginInstallDialog):
+        _translate = QtCore.QCoreApplication.translate
+        PluginInstallDialog.setWindowTitle(_translate("PluginInstallDialog", "Plugin Installation"))
+        self.label.setText(_translate("PluginInstallDialog", "<b>Enter the plugin archives to install</b>"))
+        self.archivesList.setSortingEnabled(True)
+        self.addArchivesButton.setToolTip(_translate("PluginInstallDialog", "Add plugin ZIP-archives via a file selection dialog"))
+        self.addArchivesButton.setText(_translate("PluginInstallDialog", "Add ..."))
+        self.removeArchivesButton.setToolTip(_translate("PluginInstallDialog", "Remove the selected entries from the list of plugin archives to be installed"))
+        self.removeArchivesButton.setText(_translate("PluginInstallDialog", "Remove"))
+        self.label_2.setText(_translate("PluginInstallDialog", "<b>Select the destination plugin directory</b>"))
+        self.destinationCombo.setToolTip(_translate("PluginInstallDialog", "Select the destination plugin area"))
+        self.label_3.setText(_translate("PluginInstallDialog", "<b>Installation Summary</b>"))
+        self.summaryEdit.setToolTip(_translate("PluginInstallDialog", "This shows the summary of the installation data"))
+        self.progress.setFormat(_translate("PluginInstallDialog", "%v/%m Files"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/PluginManager/Ui_PluginRepositoryDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,150 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/PluginManager/PluginRepositoryDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_PluginRepositoryDialog(object):
+    def setupUi(self, PluginRepositoryDialog):
+        PluginRepositoryDialog.setObjectName("PluginRepositoryDialog")
+        PluginRepositoryDialog.resize(800, 666)
+        PluginRepositoryDialog.setProperty("sizeGripEnabled", True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(PluginRepositoryDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.gridLayout = QtWidgets.QGridLayout()
+        self.gridLayout.setObjectName("gridLayout")
+        self.repositoryList = QtWidgets.QTreeWidget(parent=PluginRepositoryDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(7)
+        sizePolicy.setHeightForWidth(self.repositoryList.sizePolicy().hasHeightForWidth())
+        self.repositoryList.setSizePolicy(sizePolicy)
+        self.repositoryList.setContextMenuPolicy(QtCore.Qt.ContextMenuPolicy.CustomContextMenu)
+        self.repositoryList.setAlternatingRowColors(True)
+        self.repositoryList.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.ExtendedSelection)
+        self.repositoryList.setAllColumnsShowFocus(True)
+        self.repositoryList.setObjectName("repositoryList")
+        self.gridLayout.addWidget(self.repositoryList, 0, 0, 1, 2)
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.selectedLabel = QtWidgets.QLabel(parent=PluginRepositoryDialog)
+        self.selectedLabel.setText("")
+        self.selectedLabel.setObjectName("selectedLabel")
+        self.horizontalLayout_2.addWidget(self.selectedLabel)
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_2.addItem(spacerItem)
+        self.newLabel = QtWidgets.QLabel(parent=PluginRepositoryDialog)
+        self.newLabel.setText("")
+        self.newLabel.setObjectName("newLabel")
+        self.horizontalLayout_2.addWidget(self.newLabel)
+        spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_2.addItem(spacerItem1)
+        self.updateLocalLabel = QtWidgets.QLabel(parent=PluginRepositoryDialog)
+        self.updateLocalLabel.setText("")
+        self.updateLocalLabel.setObjectName("updateLocalLabel")
+        self.horizontalLayout_2.addWidget(self.updateLocalLabel)
+        spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_2.addItem(spacerItem2)
+        self.updateRemoteLabel = QtWidgets.QLabel(parent=PluginRepositoryDialog)
+        self.updateRemoteLabel.setText("")
+        self.updateRemoteLabel.setObjectName("updateRemoteLabel")
+        self.horizontalLayout_2.addWidget(self.updateRemoteLabel)
+        self.gridLayout.addLayout(self.horizontalLayout_2, 1, 0, 1, 2)
+        self.label_2 = QtWidgets.QLabel(parent=PluginRepositoryDialog)
+        self.label_2.setAlignment(QtCore.Qt.AlignmentFlag.AlignLeading|QtCore.Qt.AlignmentFlag.AlignLeft|QtCore.Qt.AlignmentFlag.AlignTop)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 2, 0, 1, 1)
+        self.descriptionEdit = QtWidgets.QTextEdit(parent=PluginRepositoryDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(3)
+        sizePolicy.setHeightForWidth(self.descriptionEdit.sizePolicy().hasHeightForWidth())
+        self.descriptionEdit.setSizePolicy(sizePolicy)
+        self.descriptionEdit.setFocusPolicy(QtCore.Qt.FocusPolicy.NoFocus)
+        self.descriptionEdit.setReadOnly(True)
+        self.descriptionEdit.setObjectName("descriptionEdit")
+        self.gridLayout.addWidget(self.descriptionEdit, 2, 1, 1, 1)
+        self.label_3 = QtWidgets.QLabel(parent=PluginRepositoryDialog)
+        self.label_3.setObjectName("label_3")
+        self.gridLayout.addWidget(self.label_3, 3, 0, 1, 1)
+        self.authorEdit = QtWidgets.QLineEdit(parent=PluginRepositoryDialog)
+        self.authorEdit.setFocusPolicy(QtCore.Qt.FocusPolicy.NoFocus)
+        self.authorEdit.setReadOnly(True)
+        self.authorEdit.setObjectName("authorEdit")
+        self.gridLayout.addWidget(self.authorEdit, 3, 1, 1, 1)
+        self.label = QtWidgets.QLabel(parent=PluginRepositoryDialog)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 4, 0, 1, 1)
+        self.urlEdit = QtWidgets.QLineEdit(parent=PluginRepositoryDialog)
+        self.urlEdit.setFocusPolicy(QtCore.Qt.FocusPolicy.NoFocus)
+        self.urlEdit.setReadOnly(True)
+        self.urlEdit.setObjectName("urlEdit")
+        self.gridLayout.addWidget(self.urlEdit, 4, 1, 1, 1)
+        self.verticalLayout.addLayout(self.gridLayout)
+        self.line = QtWidgets.QFrame(parent=PluginRepositoryDialog)
+        self.line.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line.setObjectName("line")
+        self.verticalLayout.addWidget(self.line)
+        self.downloadProgress = QtWidgets.QProgressBar(parent=PluginRepositoryDialog)
+        self.downloadProgress.setProperty("value", 0)
+        self.downloadProgress.setObjectName("downloadProgress")
+        self.verticalLayout.addWidget(self.downloadProgress)
+        self.statusLabel = QtWidgets.QLabel(parent=PluginRepositoryDialog)
+        self.statusLabel.setText("")
+        self.statusLabel.setWordWrap(True)
+        self.statusLabel.setObjectName("statusLabel")
+        self.verticalLayout.addWidget(self.statusLabel)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.label_4 = QtWidgets.QLabel(parent=PluginRepositoryDialog)
+        self.label_4.setObjectName("label_4")
+        self.horizontalLayout.addWidget(self.label_4)
+        self.repositoryUrlEdit = QtWidgets.QLineEdit(parent=PluginRepositoryDialog)
+        self.repositoryUrlEdit.setReadOnly(True)
+        self.repositoryUrlEdit.setObjectName("repositoryUrlEdit")
+        self.horizontalLayout.addWidget(self.repositoryUrlEdit)
+        self.repositoryUrlEditButton = QtWidgets.QPushButton(parent=PluginRepositoryDialog)
+        self.repositoryUrlEditButton.setCheckable(True)
+        self.repositoryUrlEditButton.setObjectName("repositoryUrlEditButton")
+        self.horizontalLayout.addWidget(self.repositoryUrlEditButton)
+        self.verticalLayout.addLayout(self.horizontalLayout)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=PluginRepositoryDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.NoButton)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(PluginRepositoryDialog)
+        QtCore.QMetaObject.connectSlotsByName(PluginRepositoryDialog)
+        PluginRepositoryDialog.setTabOrder(self.repositoryList, self.buttonBox)
+        PluginRepositoryDialog.setTabOrder(self.buttonBox, self.repositoryUrlEdit)
+        PluginRepositoryDialog.setTabOrder(self.repositoryUrlEdit, self.repositoryUrlEditButton)
+
+    def retranslateUi(self, PluginRepositoryDialog):
+        _translate = QtCore.QCoreApplication.translate
+        PluginRepositoryDialog.setWindowTitle(_translate("PluginRepositoryDialog", "Plugin Repository"))
+        self.repositoryList.setSortingEnabled(True)
+        self.repositoryList.headerItem().setText(0, _translate("PluginRepositoryDialog", "Name"))
+        self.repositoryList.headerItem().setText(1, _translate("PluginRepositoryDialog", "Version"))
+        self.repositoryList.headerItem().setText(2, _translate("PluginRepositoryDialog", "Short Description"))
+        self.selectedLabel.setToolTip(_translate("PluginRepositoryDialog", "Shows the number of locally updatable plug-ins available"))
+        self.newLabel.setToolTip(_translate("PluginRepositoryDialog", "Shows the number of new plug-ins available"))
+        self.updateLocalLabel.setToolTip(_translate("PluginRepositoryDialog", "Shows the number of locally updatable plug-ins available"))
+        self.updateRemoteLabel.setToolTip(_translate("PluginRepositoryDialog", "Shows the number of remotely updatable plug-ins available"))
+        self.label_2.setText(_translate("PluginRepositoryDialog", "Description:"))
+        self.descriptionEdit.setToolTip(_translate("PluginRepositoryDialog", "Displays the description of the selected plugin"))
+        self.label_3.setText(_translate("PluginRepositoryDialog", "Author:"))
+        self.authorEdit.setToolTip(_translate("PluginRepositoryDialog", "Displays the author of the selected plugin"))
+        self.label.setText(_translate("PluginRepositoryDialog", "URL:"))
+        self.urlEdit.setToolTip(_translate("PluginRepositoryDialog", "Displays the download URL of the selected plugin"))
+        self.downloadProgress.setToolTip(_translate("PluginRepositoryDialog", "Shows the progress of the current download"))
+        self.label_4.setText(_translate("PluginRepositoryDialog", "Repository URL:"))
+        self.repositoryUrlEdit.setToolTip(_translate("PluginRepositoryDialog", "Shows the repository URL"))
+        self.repositoryUrlEditButton.setToolTip(_translate("PluginRepositoryDialog", "Press to edit the plugin repository URL"))
+        self.repositoryUrlEditButton.setText(_translate("PluginRepositoryDialog", "Edit URL"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/PluginManager/Ui_PluginUninstallDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,54 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/PluginManager/PluginUninstallDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_PluginUninstallDialog(object):
+    def setupUi(self, PluginUninstallDialog):
+        PluginUninstallDialog.setObjectName("PluginUninstallDialog")
+        PluginUninstallDialog.resize(400, 450)
+        self.verticalLayout = QtWidgets.QVBoxLayout(PluginUninstallDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.label_3 = QtWidgets.QLabel(parent=PluginUninstallDialog)
+        self.label_3.setObjectName("label_3")
+        self.verticalLayout.addWidget(self.label_3)
+        self.pluginDirectoryCombo = QtWidgets.QComboBox(parent=PluginUninstallDialog)
+        self.pluginDirectoryCombo.setObjectName("pluginDirectoryCombo")
+        self.verticalLayout.addWidget(self.pluginDirectoryCombo)
+        self.label_2 = QtWidgets.QLabel(parent=PluginUninstallDialog)
+        self.label_2.setObjectName("label_2")
+        self.verticalLayout.addWidget(self.label_2)
+        self.pluginsList = QtWidgets.QListWidget(parent=PluginUninstallDialog)
+        self.pluginsList.setAlternatingRowColors(True)
+        self.pluginsList.setObjectName("pluginsList")
+        self.verticalLayout.addWidget(self.pluginsList)
+        self.keepConfigurationCheckBox = QtWidgets.QCheckBox(parent=PluginUninstallDialog)
+        self.keepConfigurationCheckBox.setObjectName("keepConfigurationCheckBox")
+        self.verticalLayout.addWidget(self.keepConfigurationCheckBox)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=PluginUninstallDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(PluginUninstallDialog)
+        QtCore.QMetaObject.connectSlotsByName(PluginUninstallDialog)
+        PluginUninstallDialog.setTabOrder(self.pluginDirectoryCombo, self.pluginsList)
+        PluginUninstallDialog.setTabOrder(self.pluginsList, self.keepConfigurationCheckBox)
+
+    def retranslateUi(self, PluginUninstallDialog):
+        _translate = QtCore.QCoreApplication.translate
+        PluginUninstallDialog.setWindowTitle(_translate("PluginUninstallDialog", "Plugin Uninstallation"))
+        self.label_3.setText(_translate("PluginUninstallDialog", "Plugin directory:"))
+        self.pluginDirectoryCombo.setToolTip(_translate("PluginUninstallDialog", "Select the plugin area containing the plugin to uninstall"))
+        self.label_2.setText(_translate("PluginUninstallDialog", "Plugins:"))
+        self.pluginsList.setToolTip(_translate("PluginUninstallDialog", "Check the plugins to be uninstalled"))
+        self.pluginsList.setSortingEnabled(True)
+        self.keepConfigurationCheckBox.setToolTip(_translate("PluginUninstallDialog", "Select to keep the configuration data"))
+        self.keepConfigurationCheckBox.setText(_translate("PluginUninstallDialog", "Keep configuration data"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/AboutPlugin/Ui_AboutDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,108 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/AboutPlugin/AboutDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_AboutDialog(object):
+    def setupUi(self, AboutDialog):
+        AboutDialog.setObjectName("AboutDialog")
+        AboutDialog.resize(650, 550)
+        self.vboxlayout = QtWidgets.QVBoxLayout(AboutDialog)
+        self.vboxlayout.setObjectName("vboxlayout")
+        self.hboxlayout = QtWidgets.QHBoxLayout()
+        self.hboxlayout.setObjectName("hboxlayout")
+        self.ericPixmap = QtWidgets.QLabel(parent=AboutDialog)
+        self.ericPixmap.setScaledContents(False)
+        self.ericPixmap.setObjectName("ericPixmap")
+        self.hboxlayout.addWidget(self.ericPixmap)
+        self.ericLabel = QtWidgets.QLabel(parent=AboutDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.ericLabel.sizePolicy().hasHeightForWidth())
+        self.ericLabel.setSizePolicy(sizePolicy)
+        font = QtGui.QFont()
+        font.setFamily("Sans Serif")
+        font.setPointSize(11)
+        font.setBold(True)
+        font.setItalic(False)
+        font.setUnderline(False)
+        font.setStrikeOut(False)
+        self.ericLabel.setFont(font)
+        self.ericLabel.setObjectName("ericLabel")
+        self.hboxlayout.addWidget(self.ericLabel)
+        self.vboxlayout.addLayout(self.hboxlayout)
+        self.aboutTabWidget = QtWidgets.QTabWidget(parent=AboutDialog)
+        self.aboutTabWidget.setObjectName("aboutTabWidget")
+        self.about = QtWidgets.QWidget()
+        self.about.setObjectName("about")
+        self.vboxlayout1 = QtWidgets.QVBoxLayout(self.about)
+        self.vboxlayout1.setObjectName("vboxlayout1")
+        self.aboutEdit = QtWidgets.QTextBrowser(parent=self.about)
+        self.aboutEdit.setFrameShape(QtWidgets.QFrame.Shape.NoFrame)
+        self.aboutEdit.setOpenExternalLinks(True)
+        self.aboutEdit.setObjectName("aboutEdit")
+        self.vboxlayout1.addWidget(self.aboutEdit)
+        self.aboutTabWidget.addTab(self.about, "")
+        self.authors = QtWidgets.QWidget()
+        self.authors.setObjectName("authors")
+        self.vboxlayout2 = QtWidgets.QVBoxLayout(self.authors)
+        self.vboxlayout2.setObjectName("vboxlayout2")
+        self.authorsEdit = QtWidgets.QTextEdit(parent=self.authors)
+        self.authorsEdit.setFrameShape(QtWidgets.QFrame.Shape.NoFrame)
+        self.authorsEdit.setReadOnly(True)
+        self.authorsEdit.setObjectName("authorsEdit")
+        self.vboxlayout2.addWidget(self.authorsEdit)
+        self.aboutTabWidget.addTab(self.authors, "")
+        self.thanks = QtWidgets.QWidget()
+        self.thanks.setObjectName("thanks")
+        self.vboxlayout3 = QtWidgets.QVBoxLayout(self.thanks)
+        self.vboxlayout3.setObjectName("vboxlayout3")
+        self.thanksEdit = QtWidgets.QTextEdit(parent=self.thanks)
+        self.thanksEdit.setFrameShape(QtWidgets.QFrame.Shape.NoFrame)
+        self.thanksEdit.setReadOnly(True)
+        self.thanksEdit.setObjectName("thanksEdit")
+        self.vboxlayout3.addWidget(self.thanksEdit)
+        self.aboutTabWidget.addTab(self.thanks, "")
+        self.license = QtWidgets.QWidget()
+        self.license.setObjectName("license")
+        self.vboxlayout4 = QtWidgets.QVBoxLayout(self.license)
+        self.vboxlayout4.setObjectName("vboxlayout4")
+        self.licenseEdit = QtWidgets.QTextEdit(parent=self.license)
+        self.licenseEdit.setFrameShape(QtWidgets.QFrame.Shape.NoFrame)
+        self.licenseEdit.setLineWrapMode(QtWidgets.QTextEdit.LineWrapMode.NoWrap)
+        self.licenseEdit.setReadOnly(True)
+        self.licenseEdit.setAcceptRichText(False)
+        self.licenseEdit.setObjectName("licenseEdit")
+        self.vboxlayout4.addWidget(self.licenseEdit)
+        self.aboutTabWidget.addTab(self.license, "")
+        self.vboxlayout.addWidget(self.aboutTabWidget)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=AboutDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.vboxlayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(AboutDialog)
+        self.aboutTabWidget.setCurrentIndex(0)
+        self.buttonBox.accepted.connect(AboutDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(AboutDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(AboutDialog)
+        AboutDialog.setTabOrder(self.aboutTabWidget, self.aboutEdit)
+        AboutDialog.setTabOrder(self.aboutEdit, self.authorsEdit)
+        AboutDialog.setTabOrder(self.authorsEdit, self.thanksEdit)
+        AboutDialog.setTabOrder(self.thanksEdit, self.licenseEdit)
+
+    def retranslateUi(self, AboutDialog):
+        _translate = QtCore.QCoreApplication.translate
+        AboutDialog.setWindowTitle(_translate("AboutDialog", "About Eric"))
+        self.aboutTabWidget.setTabText(self.aboutTabWidget.indexOf(self.about), _translate("AboutDialog", "&About"))
+        self.aboutTabWidget.setTabText(self.aboutTabWidget.indexOf(self.authors), _translate("AboutDialog", "A&uthors"))
+        self.aboutTabWidget.setTabText(self.aboutTabWidget.indexOf(self.thanks), _translate("AboutDialog", "&Thanks To"))
+        self.aboutTabWidget.setTabText(self.aboutTabWidget.indexOf(self.license), _translate("AboutDialog", "&License Agreement"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/CheckerPlugins/CodeStyleChecker/Ui_CodeStyleAddBuiltinIgnoreDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,55 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleAddBuiltinIgnoreDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_CodeStyleAddBuiltinIgnoreDialog(object):
+    def setupUi(self, CodeStyleAddBuiltinIgnoreDialog):
+        CodeStyleAddBuiltinIgnoreDialog.setObjectName("CodeStyleAddBuiltinIgnoreDialog")
+        CodeStyleAddBuiltinIgnoreDialog.resize(400, 132)
+        CodeStyleAddBuiltinIgnoreDialog.setSizeGripEnabled(True)
+        self.gridLayout = QtWidgets.QGridLayout(CodeStyleAddBuiltinIgnoreDialog)
+        self.gridLayout.setObjectName("gridLayout")
+        self.label = QtWidgets.QLabel(parent=CodeStyleAddBuiltinIgnoreDialog)
+        self.label.setWordWrap(True)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 0, 0, 1, 2)
+        self.label_2 = QtWidgets.QLabel(parent=CodeStyleAddBuiltinIgnoreDialog)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 1, 0, 1, 1)
+        self.leftEdit = QtWidgets.QLineEdit(parent=CodeStyleAddBuiltinIgnoreDialog)
+        self.leftEdit.setClearButtonEnabled(True)
+        self.leftEdit.setObjectName("leftEdit")
+        self.gridLayout.addWidget(self.leftEdit, 1, 1, 1, 1)
+        self.label_3 = QtWidgets.QLabel(parent=CodeStyleAddBuiltinIgnoreDialog)
+        self.label_3.setObjectName("label_3")
+        self.gridLayout.addWidget(self.label_3, 2, 0, 1, 1)
+        self.rightEdit = QtWidgets.QLineEdit(parent=CodeStyleAddBuiltinIgnoreDialog)
+        self.rightEdit.setClearButtonEnabled(True)
+        self.rightEdit.setObjectName("rightEdit")
+        self.gridLayout.addWidget(self.rightEdit, 2, 1, 1, 1)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=CodeStyleAddBuiltinIgnoreDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout.addWidget(self.buttonBox, 3, 0, 1, 2)
+
+        self.retranslateUi(CodeStyleAddBuiltinIgnoreDialog)
+        self.buttonBox.accepted.connect(CodeStyleAddBuiltinIgnoreDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(CodeStyleAddBuiltinIgnoreDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(CodeStyleAddBuiltinIgnoreDialog)
+
+    def retranslateUi(self, CodeStyleAddBuiltinIgnoreDialog):
+        _translate = QtCore.QCoreApplication.translate
+        CodeStyleAddBuiltinIgnoreDialog.setWindowTitle(_translate("CodeStyleAddBuiltinIgnoreDialog", "Add Built-in Assignment"))
+        self.label.setText(_translate("CodeStyleAddBuiltinIgnoreDialog", "Enter the data for a built-in assignment to be ignored:"))
+        self.label_2.setText(_translate("CodeStyleAddBuiltinIgnoreDialog", "Left Side:"))
+        self.leftEdit.setPlaceholderText(_translate("CodeStyleAddBuiltinIgnoreDialog", "Enter left hand side of assignment"))
+        self.label_3.setText(_translate("CodeStyleAddBuiltinIgnoreDialog", "Right Side:"))
+        self.rightEdit.setPlaceholderText(_translate("CodeStyleAddBuiltinIgnoreDialog", "Enter right hand side of assignment"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/CheckerPlugins/CodeStyleChecker/Ui_CodeStyleCheckerDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,1105 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_CodeStyleCheckerDialog(object):
+    def setupUi(self, CodeStyleCheckerDialog):
+        CodeStyleCheckerDialog.setObjectName("CodeStyleCheckerDialog")
+        CodeStyleCheckerDialog.resize(800, 700)
+        CodeStyleCheckerDialog.setSizeGripEnabled(True)
+        self.verticalLayout_13 = QtWidgets.QVBoxLayout(CodeStyleCheckerDialog)
+        self.verticalLayout_13.setObjectName("verticalLayout_13")
+        self.mainWidget = QtWidgets.QTabWidget(parent=CodeStyleCheckerDialog)
+        self.mainWidget.setObjectName("mainWidget")
+        self.configureTab = QtWidgets.QWidget()
+        self.configureTab.setObjectName("configureTab")
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.configureTab)
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.optionsTabWidget = QtWidgets.QTabWidget(parent=self.configureTab)
+        self.optionsTabWidget.setObjectName("optionsTabWidget")
+        self.globalOptionsTab = QtWidgets.QWidget()
+        self.globalOptionsTab.setObjectName("globalOptionsTab")
+        self.gridLayout_2 = QtWidgets.QGridLayout(self.globalOptionsTab)
+        self.gridLayout_2.setObjectName("gridLayout_2")
+        self.label_20 = QtWidgets.QLabel(parent=self.globalOptionsTab)
+        self.label_20.setAlignment(QtCore.Qt.AlignmentFlag.AlignLeading|QtCore.Qt.AlignmentFlag.AlignLeft|QtCore.Qt.AlignmentFlag.AlignTop)
+        self.label_20.setObjectName("label_20")
+        self.gridLayout_2.addWidget(self.label_20, 0, 0, 1, 1)
+        self.categoriesList = QtWidgets.QListWidget(parent=self.globalOptionsTab)
+        self.categoriesList.setObjectName("categoriesList")
+        self.gridLayout_2.addWidget(self.categoriesList, 0, 1, 1, 1)
+        self.label_2 = QtWidgets.QLabel(parent=self.globalOptionsTab)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout_2.addWidget(self.label_2, 1, 0, 1, 1)
+        self.excludeFilesEdit = QtWidgets.QLineEdit(parent=self.globalOptionsTab)
+        self.excludeFilesEdit.setClearButtonEnabled(True)
+        self.excludeFilesEdit.setObjectName("excludeFilesEdit")
+        self.gridLayout_2.addWidget(self.excludeFilesEdit, 1, 1, 1, 1)
+        self.label = QtWidgets.QLabel(parent=self.globalOptionsTab)
+        self.label.setObjectName("label")
+        self.gridLayout_2.addWidget(self.label, 2, 0, 1, 1)
+        self.excludeMessagesEdit = QtWidgets.QLineEdit(parent=self.globalOptionsTab)
+        self.excludeMessagesEdit.setClearButtonEnabled(True)
+        self.excludeMessagesEdit.setObjectName("excludeMessagesEdit")
+        self.gridLayout_2.addWidget(self.excludeMessagesEdit, 2, 1, 1, 1)
+        self.excludeMessagesSelectButton = QtWidgets.QToolButton(parent=self.globalOptionsTab)
+        self.excludeMessagesSelectButton.setObjectName("excludeMessagesSelectButton")
+        self.gridLayout_2.addWidget(self.excludeMessagesSelectButton, 2, 2, 1, 1)
+        self.label_3 = QtWidgets.QLabel(parent=self.globalOptionsTab)
+        self.label_3.setObjectName("label_3")
+        self.gridLayout_2.addWidget(self.label_3, 3, 0, 1, 1)
+        self.includeMessagesEdit = QtWidgets.QLineEdit(parent=self.globalOptionsTab)
+        self.includeMessagesEdit.setClearButtonEnabled(True)
+        self.includeMessagesEdit.setObjectName("includeMessagesEdit")
+        self.gridLayout_2.addWidget(self.includeMessagesEdit, 3, 1, 1, 1)
+        self.includeMessagesSelectButton = QtWidgets.QToolButton(parent=self.globalOptionsTab)
+        self.includeMessagesSelectButton.setObjectName("includeMessagesSelectButton")
+        self.gridLayout_2.addWidget(self.includeMessagesSelectButton, 3, 2, 1, 1)
+        self.label_4 = QtWidgets.QLabel(parent=self.globalOptionsTab)
+        self.label_4.setObjectName("label_4")
+        self.gridLayout_2.addWidget(self.label_4, 4, 0, 1, 1)
+        self.fixIssuesEdit = QtWidgets.QLineEdit(parent=self.globalOptionsTab)
+        self.fixIssuesEdit.setClearButtonEnabled(True)
+        self.fixIssuesEdit.setObjectName("fixIssuesEdit")
+        self.gridLayout_2.addWidget(self.fixIssuesEdit, 4, 1, 1, 1)
+        self.fixIssuesSelectButton = QtWidgets.QToolButton(parent=self.globalOptionsTab)
+        self.fixIssuesSelectButton.setObjectName("fixIssuesSelectButton")
+        self.gridLayout_2.addWidget(self.fixIssuesSelectButton, 4, 2, 1, 1)
+        self.label_6 = QtWidgets.QLabel(parent=self.globalOptionsTab)
+        self.label_6.setObjectName("label_6")
+        self.gridLayout_2.addWidget(self.label_6, 5, 0, 1, 1)
+        self.noFixIssuesEdit = QtWidgets.QLineEdit(parent=self.globalOptionsTab)
+        self.noFixIssuesEdit.setClearButtonEnabled(True)
+        self.noFixIssuesEdit.setObjectName("noFixIssuesEdit")
+        self.gridLayout_2.addWidget(self.noFixIssuesEdit, 5, 1, 1, 1)
+        self.noFixIssuesSelectButton = QtWidgets.QToolButton(parent=self.globalOptionsTab)
+        self.noFixIssuesSelectButton.setObjectName("noFixIssuesSelectButton")
+        self.gridLayout_2.addWidget(self.noFixIssuesSelectButton, 5, 2, 1, 1)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.repeatCheckBox = QtWidgets.QCheckBox(parent=self.globalOptionsTab)
+        self.repeatCheckBox.setObjectName("repeatCheckBox")
+        self.horizontalLayout.addWidget(self.repeatCheckBox)
+        self.fixIssuesCheckBox = QtWidgets.QCheckBox(parent=self.globalOptionsTab)
+        self.fixIssuesCheckBox.setEnabled(False)
+        self.fixIssuesCheckBox.setObjectName("fixIssuesCheckBox")
+        self.horizontalLayout.addWidget(self.fixIssuesCheckBox)
+        self.ignoredCheckBox = QtWidgets.QCheckBox(parent=self.globalOptionsTab)
+        self.ignoredCheckBox.setEnabled(False)
+        self.ignoredCheckBox.setObjectName("ignoredCheckBox")
+        self.horizontalLayout.addWidget(self.ignoredCheckBox)
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem)
+        self.gridLayout_2.addLayout(self.horizontalLayout, 6, 0, 1, 3)
+        spacerItem1 = QtWidgets.QSpacerItem(20, 68, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.gridLayout_2.addItem(spacerItem1, 7, 0, 1, 1)
+        self.optionsTabWidget.addTab(self.globalOptionsTab, "")
+        self.specificOptionsTab = QtWidgets.QWidget()
+        self.specificOptionsTab.setObjectName("specificOptionsTab")
+        self.verticalLayout_9 = QtWidgets.QVBoxLayout(self.specificOptionsTab)
+        self.verticalLayout_9.setObjectName("verticalLayout_9")
+        self.scrollArea = QtWidgets.QScrollArea(parent=self.specificOptionsTab)
+        self.scrollArea.setFrameShape(QtWidgets.QFrame.Shape.NoFrame)
+        self.scrollArea.setFrameShadow(QtWidgets.QFrame.Shadow.Plain)
+        self.scrollArea.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarPolicy.ScrollBarAlwaysOn)
+        self.scrollArea.setWidgetResizable(True)
+        self.scrollArea.setObjectName("scrollArea")
+        self.scrollAreaWidgetContents = QtWidgets.QWidget()
+        self.scrollAreaWidgetContents.setGeometry(QtCore.QRect(0, 0, 367, 905))
+        self.scrollAreaWidgetContents.setObjectName("scrollAreaWidgetContents")
+        self.verticalLayout_4 = QtWidgets.QVBoxLayout(self.scrollAreaWidgetContents)
+        self.verticalLayout_4.setObjectName("verticalLayout_4")
+        self.groupBox = QtWidgets.QGroupBox(parent=self.scrollAreaWidgetContents)
+        self.groupBox.setObjectName("groupBox")
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.groupBox)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.gridLayout_5 = QtWidgets.QGridLayout()
+        self.gridLayout_5.setObjectName("gridLayout_5")
+        self.label_5 = QtWidgets.QLabel(parent=self.groupBox)
+        self.label_5.setObjectName("label_5")
+        self.gridLayout_5.addWidget(self.label_5, 0, 0, 1, 1)
+        self.lineLengthSpinBox = QtWidgets.QSpinBox(parent=self.groupBox)
+        self.lineLengthSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.lineLengthSpinBox.setMinimum(60)
+        self.lineLengthSpinBox.setMaximum(119)
+        self.lineLengthSpinBox.setProperty("value", 79)
+        self.lineLengthSpinBox.setObjectName("lineLengthSpinBox")
+        self.gridLayout_5.addWidget(self.lineLengthSpinBox, 0, 1, 1, 1)
+        self.label_17 = QtWidgets.QLabel(parent=self.groupBox)
+        self.label_17.setObjectName("label_17")
+        self.gridLayout_5.addWidget(self.label_17, 1, 0, 1, 1)
+        self.docLineLengthSpinBox = QtWidgets.QSpinBox(parent=self.groupBox)
+        self.docLineLengthSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.docLineLengthSpinBox.setMinimum(60)
+        self.docLineLengthSpinBox.setMaximum(119)
+        self.docLineLengthSpinBox.setProperty("value", 79)
+        self.docLineLengthSpinBox.setObjectName("docLineLengthSpinBox")
+        self.gridLayout_5.addWidget(self.docLineLengthSpinBox, 1, 1, 1, 1)
+        spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout_5.addItem(spacerItem2, 0, 2, 1, 1)
+        self.verticalLayout_2.addLayout(self.gridLayout_5)
+        self.groupBox_8 = QtWidgets.QGroupBox(parent=self.groupBox)
+        self.groupBox_8.setObjectName("groupBox_8")
+        self.gridLayout_3 = QtWidgets.QGridLayout(self.groupBox_8)
+        self.gridLayout_3.setObjectName("gridLayout_3")
+        self.label_15 = QtWidgets.QLabel(parent=self.groupBox_8)
+        self.label_15.setObjectName("label_15")
+        self.gridLayout_3.addWidget(self.label_15, 0, 0, 1, 1)
+        self.blankBeforeTopLevelSpinBox = QtWidgets.QSpinBox(parent=self.groupBox_8)
+        self.blankBeforeTopLevelSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.blankBeforeTopLevelSpinBox.setMinimum(1)
+        self.blankBeforeTopLevelSpinBox.setMaximum(10)
+        self.blankBeforeTopLevelSpinBox.setProperty("value", 2)
+        self.blankBeforeTopLevelSpinBox.setObjectName("blankBeforeTopLevelSpinBox")
+        self.gridLayout_3.addWidget(self.blankBeforeTopLevelSpinBox, 0, 1, 1, 1)
+        spacerItem3 = QtWidgets.QSpacerItem(153, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout_3.addItem(spacerItem3, 0, 2, 1, 1)
+        self.label_16 = QtWidgets.QLabel(parent=self.groupBox_8)
+        self.label_16.setObjectName("label_16")
+        self.gridLayout_3.addWidget(self.label_16, 1, 0, 1, 1)
+        self.blankBeforeMethodSpinBox = QtWidgets.QSpinBox(parent=self.groupBox_8)
+        self.blankBeforeMethodSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.blankBeforeMethodSpinBox.setMinimum(1)
+        self.blankBeforeMethodSpinBox.setMaximum(10)
+        self.blankBeforeMethodSpinBox.setProperty("value", 1)
+        self.blankBeforeMethodSpinBox.setObjectName("blankBeforeMethodSpinBox")
+        self.gridLayout_3.addWidget(self.blankBeforeMethodSpinBox, 1, 1, 1, 1)
+        self.verticalLayout_2.addWidget(self.groupBox_8)
+        self.hangClosingCheckBox = QtWidgets.QCheckBox(parent=self.groupBox)
+        self.hangClosingCheckBox.setObjectName("hangClosingCheckBox")
+        self.verticalLayout_2.addWidget(self.hangClosingCheckBox)
+        self.verticalLayout_4.addWidget(self.groupBox)
+        self.groupBox_2 = QtWidgets.QGroupBox(parent=self.scrollAreaWidgetContents)
+        self.groupBox_2.setObjectName("groupBox_2")
+        self.horizontalLayout_3 = QtWidgets.QHBoxLayout(self.groupBox_2)
+        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
+        self.label_7 = QtWidgets.QLabel(parent=self.groupBox_2)
+        self.label_7.setObjectName("label_7")
+        self.horizontalLayout_3.addWidget(self.label_7)
+        self.docTypeComboBox = QtWidgets.QComboBox(parent=self.groupBox_2)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.docTypeComboBox.sizePolicy().hasHeightForWidth())
+        self.docTypeComboBox.setSizePolicy(sizePolicy)
+        self.docTypeComboBox.setObjectName("docTypeComboBox")
+        self.horizontalLayout_3.addWidget(self.docTypeComboBox)
+        self.verticalLayout_4.addWidget(self.groupBox_2)
+        self.groupBox_4 = QtWidgets.QGroupBox(parent=self.scrollAreaWidgetContents)
+        self.groupBox_4.setObjectName("groupBox_4")
+        self.horizontalLayout_6 = QtWidgets.QHBoxLayout(self.groupBox_4)
+        self.horizontalLayout_6.setObjectName("horizontalLayout_6")
+        self.label_9 = QtWidgets.QLabel(parent=self.groupBox_4)
+        self.label_9.setObjectName("label_9")
+        self.horizontalLayout_6.addWidget(self.label_9)
+        self.encodingsEdit = QtWidgets.QLineEdit(parent=self.groupBox_4)
+        self.encodingsEdit.setClearButtonEnabled(True)
+        self.encodingsEdit.setObjectName("encodingsEdit")
+        self.horizontalLayout_6.addWidget(self.encodingsEdit)
+        self.verticalLayout_4.addWidget(self.groupBox_4)
+        self.groupBox_5 = QtWidgets.QGroupBox(parent=self.scrollAreaWidgetContents)
+        self.groupBox_5.setObjectName("groupBox_5")
+        self.gridLayout = QtWidgets.QGridLayout(self.groupBox_5)
+        self.gridLayout.setObjectName("gridLayout")
+        self.label_10 = QtWidgets.QLabel(parent=self.groupBox_5)
+        self.label_10.setObjectName("label_10")
+        self.gridLayout.addWidget(self.label_10, 0, 0, 1, 1)
+        self.copyrightFileSizeSpinBox = QtWidgets.QSpinBox(parent=self.groupBox_5)
+        self.copyrightFileSizeSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.copyrightFileSizeSpinBox.setMaximum(4096)
+        self.copyrightFileSizeSpinBox.setObjectName("copyrightFileSizeSpinBox")
+        self.gridLayout.addWidget(self.copyrightFileSizeSpinBox, 0, 1, 1, 1)
+        spacerItem4 = QtWidgets.QSpacerItem(324, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout.addItem(spacerItem4, 0, 2, 1, 1)
+        self.label_11 = QtWidgets.QLabel(parent=self.groupBox_5)
+        self.label_11.setObjectName("label_11")
+        self.gridLayout.addWidget(self.label_11, 1, 0, 1, 1)
+        self.copyrightAuthorEdit = QtWidgets.QLineEdit(parent=self.groupBox_5)
+        self.copyrightAuthorEdit.setClearButtonEnabled(True)
+        self.copyrightAuthorEdit.setObjectName("copyrightAuthorEdit")
+        self.gridLayout.addWidget(self.copyrightAuthorEdit, 1, 1, 1, 2)
+        self.verticalLayout_4.addWidget(self.groupBox_5)
+        self.groupBox_6 = QtWidgets.QGroupBox(parent=self.scrollAreaWidgetContents)
+        self.groupBox_6.setObjectName("groupBox_6")
+        self.horizontalLayout_7 = QtWidgets.QHBoxLayout(self.groupBox_6)
+        self.horizontalLayout_7.setObjectName("horizontalLayout_7")
+        self.label_12 = QtWidgets.QLabel(parent=self.groupBox_6)
+        self.label_12.setAlignment(QtCore.Qt.AlignmentFlag.AlignLeading|QtCore.Qt.AlignmentFlag.AlignLeft|QtCore.Qt.AlignmentFlag.AlignTop)
+        self.label_12.setObjectName("label_12")
+        self.horizontalLayout_7.addWidget(self.label_12)
+        self.futuresList = QtWidgets.QListWidget(parent=self.groupBox_6)
+        self.futuresList.setAlternatingRowColors(True)
+        self.futuresList.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.ExtendedSelection)
+        self.futuresList.setObjectName("futuresList")
+        self.horizontalLayout_7.addWidget(self.futuresList)
+        self.verticalLayout_4.addWidget(self.groupBox_6)
+        self.groupBox_7 = QtWidgets.QGroupBox(parent=self.scrollAreaWidgetContents)
+        self.groupBox_7.setObjectName("groupBox_7")
+        self.horizontalLayout_8 = QtWidgets.QHBoxLayout(self.groupBox_7)
+        self.horizontalLayout_8.setObjectName("horizontalLayout_8")
+        self.builtinsAssignmentList = QtWidgets.QTreeWidget(parent=self.groupBox_7)
+        self.builtinsAssignmentList.setAlternatingRowColors(True)
+        self.builtinsAssignmentList.setRootIsDecorated(False)
+        self.builtinsAssignmentList.setObjectName("builtinsAssignmentList")
+        self.horizontalLayout_8.addWidget(self.builtinsAssignmentList)
+        self.verticalLayout_5 = QtWidgets.QVBoxLayout()
+        self.verticalLayout_5.setObjectName("verticalLayout_5")
+        self.addBuiltinButton = QtWidgets.QToolButton(parent=self.groupBox_7)
+        self.addBuiltinButton.setText("+")
+        self.addBuiltinButton.setObjectName("addBuiltinButton")
+        self.verticalLayout_5.addWidget(self.addBuiltinButton)
+        self.deleteBuiltinButton = QtWidgets.QToolButton(parent=self.groupBox_7)
+        self.deleteBuiltinButton.setText("-")
+        self.deleteBuiltinButton.setObjectName("deleteBuiltinButton")
+        self.verticalLayout_5.addWidget(self.deleteBuiltinButton)
+        spacerItem5 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout_5.addItem(spacerItem5)
+        self.horizontalLayout_8.addLayout(self.verticalLayout_5)
+        self.verticalLayout_4.addWidget(self.groupBox_7)
+        self.groupBox_9 = QtWidgets.QGroupBox(parent=self.scrollAreaWidgetContents)
+        self.groupBox_9.setObjectName("groupBox_9")
+        self.gridLayout_8 = QtWidgets.QGridLayout(self.groupBox_9)
+        self.gridLayout_8.setObjectName("gridLayout_8")
+        self.aggressiveCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_9)
+        self.aggressiveCheckBox.setObjectName("aggressiveCheckBox")
+        self.gridLayout_8.addWidget(self.aggressiveCheckBox, 0, 0, 1, 3)
+        self.label_30 = QtWidgets.QLabel(parent=self.groupBox_9)
+        self.label_30.setAlignment(QtCore.Qt.AlignmentFlag.AlignLeading|QtCore.Qt.AlignmentFlag.AlignLeft|QtCore.Qt.AlignmentFlag.AlignTop)
+        self.label_30.setObjectName("label_30")
+        self.gridLayout_8.addWidget(self.label_30, 1, 0, 1, 1)
+        self.whitelistWidget = QtWidgets.QListWidget(parent=self.groupBox_9)
+        self.whitelistWidget.setObjectName("whitelistWidget")
+        self.gridLayout_8.addWidget(self.whitelistWidget, 1, 1, 1, 1)
+        self.verticalLayout_6 = QtWidgets.QVBoxLayout()
+        self.verticalLayout_6.setObjectName("verticalLayout_6")
+        self.addWhitelistButton = QtWidgets.QToolButton(parent=self.groupBox_9)
+        self.addWhitelistButton.setText("+")
+        self.addWhitelistButton.setObjectName("addWhitelistButton")
+        self.verticalLayout_6.addWidget(self.addWhitelistButton)
+        self.deleteWhitelistButton = QtWidgets.QToolButton(parent=self.groupBox_9)
+        self.deleteWhitelistButton.setText("-")
+        self.deleteWhitelistButton.setObjectName("deleteWhitelistButton")
+        self.verticalLayout_6.addWidget(self.deleteWhitelistButton)
+        spacerItem6 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout_6.addItem(spacerItem6)
+        self.gridLayout_8.addLayout(self.verticalLayout_6, 1, 2, 1, 1)
+        self.verticalLayout_4.addWidget(self.groupBox_9)
+        self.scrollArea.setWidget(self.scrollAreaWidgetContents)
+        self.verticalLayout_9.addWidget(self.scrollArea)
+        self.optionsTabWidget.addTab(self.specificOptionsTab, "")
+        self.codeComplexityTab = QtWidgets.QWidget()
+        self.codeComplexityTab.setObjectName("codeComplexityTab")
+        self.verticalLayout_17 = QtWidgets.QVBoxLayout(self.codeComplexityTab)
+        self.verticalLayout_17.setObjectName("verticalLayout_17")
+        self.groupBox_3 = QtWidgets.QGroupBox(parent=self.codeComplexityTab)
+        self.groupBox_3.setObjectName("groupBox_3")
+        self.gridLayout_4 = QtWidgets.QGridLayout(self.groupBox_3)
+        self.gridLayout_4.setObjectName("gridLayout_4")
+        spacerItem7 = QtWidgets.QSpacerItem(313, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout_4.addItem(spacerItem7, 0, 2, 2, 1)
+        self.label_8 = QtWidgets.QLabel(parent=self.groupBox_3)
+        self.label_8.setObjectName("label_8")
+        self.gridLayout_4.addWidget(self.label_8, 0, 0, 1, 1)
+        self.complexitySpinBox = QtWidgets.QSpinBox(parent=self.groupBox_3)
+        self.complexitySpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.complexitySpinBox.setMaximum(100)
+        self.complexitySpinBox.setProperty("value", 10)
+        self.complexitySpinBox.setObjectName("complexitySpinBox")
+        self.gridLayout_4.addWidget(self.complexitySpinBox, 0, 1, 1, 1)
+        self.label_13 = QtWidgets.QLabel(parent=self.groupBox_3)
+        self.label_13.setObjectName("label_13")
+        self.gridLayout_4.addWidget(self.label_13, 1, 0, 1, 1)
+        self.lineComplexitySpinBox = QtWidgets.QSpinBox(parent=self.groupBox_3)
+        self.lineComplexitySpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.lineComplexitySpinBox.setMaximum(100)
+        self.lineComplexitySpinBox.setProperty("value", 15)
+        self.lineComplexitySpinBox.setObjectName("lineComplexitySpinBox")
+        self.gridLayout_4.addWidget(self.lineComplexitySpinBox, 1, 1, 1, 1)
+        self.label_14 = QtWidgets.QLabel(parent=self.groupBox_3)
+        self.label_14.setObjectName("label_14")
+        self.gridLayout_4.addWidget(self.label_14, 2, 0, 1, 1)
+        self.lineComplexityScoreSpinBox = QtWidgets.QSpinBox(parent=self.groupBox_3)
+        self.lineComplexityScoreSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.lineComplexityScoreSpinBox.setMaximum(100)
+        self.lineComplexityScoreSpinBox.setProperty("value", 10)
+        self.lineComplexityScoreSpinBox.setObjectName("lineComplexityScoreSpinBox")
+        self.gridLayout_4.addWidget(self.lineComplexityScoreSpinBox, 2, 1, 1, 1)
+        self.verticalLayout_17.addWidget(self.groupBox_3)
+        spacerItem8 = QtWidgets.QSpacerItem(20, 802, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout_17.addItem(spacerItem8)
+        self.optionsTabWidget.addTab(self.codeComplexityTab, "")
+        self.typeAnnotationsTab = QtWidgets.QWidget()
+        self.typeAnnotationsTab.setObjectName("typeAnnotationsTab")
+        self.verticalLayout_18 = QtWidgets.QVBoxLayout(self.typeAnnotationsTab)
+        self.verticalLayout_18.setObjectName("verticalLayout_18")
+        self.groupBox_10 = QtWidgets.QGroupBox(parent=self.typeAnnotationsTab)
+        self.groupBox_10.setObjectName("groupBox_10")
+        self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.groupBox_10)
+        self.verticalLayout_3.setObjectName("verticalLayout_3")
+        self.gridLayout_6 = QtWidgets.QGridLayout()
+        self.gridLayout_6.setObjectName("gridLayout_6")
+        self.label_18 = QtWidgets.QLabel(parent=self.groupBox_10)
+        self.label_18.setObjectName("label_18")
+        self.gridLayout_6.addWidget(self.label_18, 0, 0, 1, 1)
+        self.minAnnotationsCoverageSpinBox = QtWidgets.QSpinBox(parent=self.groupBox_10)
+        self.minAnnotationsCoverageSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.minAnnotationsCoverageSpinBox.setMaximum(100)
+        self.minAnnotationsCoverageSpinBox.setObjectName("minAnnotationsCoverageSpinBox")
+        self.gridLayout_6.addWidget(self.minAnnotationsCoverageSpinBox, 0, 1, 1, 1)
+        spacerItem9 = QtWidgets.QSpacerItem(352, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout_6.addItem(spacerItem9, 0, 2, 1, 1)
+        self.label_19 = QtWidgets.QLabel(parent=self.groupBox_10)
+        self.label_19.setObjectName("label_19")
+        self.gridLayout_6.addWidget(self.label_19, 1, 0, 1, 1)
+        self.maxAnnotationsComplexitySpinBox = QtWidgets.QSpinBox(parent=self.groupBox_10)
+        self.maxAnnotationsComplexitySpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.maxAnnotationsComplexitySpinBox.setMinimum(1)
+        self.maxAnnotationsComplexitySpinBox.setMaximum(9)
+        self.maxAnnotationsComplexitySpinBox.setObjectName("maxAnnotationsComplexitySpinBox")
+        self.gridLayout_6.addWidget(self.maxAnnotationsComplexitySpinBox, 1, 1, 1, 1)
+        self.label_32 = QtWidgets.QLabel(parent=self.groupBox_10)
+        self.label_32.setObjectName("label_32")
+        self.gridLayout_6.addWidget(self.label_32, 2, 0, 1, 1)
+        self.maxAnnotationsLengthSpinBox = QtWidgets.QSpinBox(parent=self.groupBox_10)
+        self.maxAnnotationsLengthSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.maxAnnotationsLengthSpinBox.setMinimum(1)
+        self.maxAnnotationsLengthSpinBox.setMaximum(15)
+        self.maxAnnotationsLengthSpinBox.setObjectName("maxAnnotationsLengthSpinBox")
+        self.gridLayout_6.addWidget(self.maxAnnotationsLengthSpinBox, 2, 1, 1, 1)
+        self.verticalLayout_3.addLayout(self.gridLayout_6)
+        self.gridLayout_9 = QtWidgets.QGridLayout()
+        self.gridLayout_9.setObjectName("gridLayout_9")
+        self.suppressNoneReturningCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_10)
+        self.suppressNoneReturningCheckBox.setObjectName("suppressNoneReturningCheckBox")
+        self.gridLayout_9.addWidget(self.suppressNoneReturningCheckBox, 0, 0, 1, 1)
+        self.suppressDummyArgsCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_10)
+        self.suppressDummyArgsCheckBox.setObjectName("suppressDummyArgsCheckBox")
+        self.gridLayout_9.addWidget(self.suppressDummyArgsCheckBox, 0, 1, 1, 1)
+        self.allowUntypedDefsCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_10)
+        self.allowUntypedDefsCheckBox.setObjectName("allowUntypedDefsCheckBox")
+        self.gridLayout_9.addWidget(self.allowUntypedDefsCheckBox, 1, 0, 1, 1)
+        self.allowUntypedNestedCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_10)
+        self.allowUntypedNestedCheckBox.setObjectName("allowUntypedNestedCheckBox")
+        self.gridLayout_9.addWidget(self.allowUntypedNestedCheckBox, 1, 1, 1, 1)
+        self.mypyInitReturnCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_10)
+        self.mypyInitReturnCheckBox.setObjectName("mypyInitReturnCheckBox")
+        self.gridLayout_9.addWidget(self.mypyInitReturnCheckBox, 2, 0, 1, 1)
+        self.allowStarArgAnyCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_10)
+        self.allowStarArgAnyCheckBox.setObjectName("allowStarArgAnyCheckBox")
+        self.gridLayout_9.addWidget(self.allowStarArgAnyCheckBox, 2, 1, 1, 1)
+        self.forceFutureAnnotationsCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_10)
+        self.forceFutureAnnotationsCheckBox.setObjectName("forceFutureAnnotationsCheckBox")
+        self.gridLayout_9.addWidget(self.forceFutureAnnotationsCheckBox, 3, 0, 1, 1)
+        self.simplifiedTypesCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_10)
+        self.simplifiedTypesCheckBox.setObjectName("simplifiedTypesCheckBox")
+        self.gridLayout_9.addWidget(self.simplifiedTypesCheckBox, 3, 1, 1, 1)
+        self.verticalLayout_3.addLayout(self.gridLayout_9)
+        self.label_33 = QtWidgets.QLabel(parent=self.groupBox_10)
+        self.label_33.setObjectName("label_33")
+        self.verticalLayout_3.addWidget(self.label_33)
+        self.dispatchDecoratorEdit = QtWidgets.QLineEdit(parent=self.groupBox_10)
+        self.dispatchDecoratorEdit.setClearButtonEnabled(True)
+        self.dispatchDecoratorEdit.setObjectName("dispatchDecoratorEdit")
+        self.verticalLayout_3.addWidget(self.dispatchDecoratorEdit)
+        self.label_34 = QtWidgets.QLabel(parent=self.groupBox_10)
+        self.label_34.setObjectName("label_34")
+        self.verticalLayout_3.addWidget(self.label_34)
+        self.overloadDecoratorEdit = QtWidgets.QLineEdit(parent=self.groupBox_10)
+        self.overloadDecoratorEdit.setClearButtonEnabled(True)
+        self.overloadDecoratorEdit.setObjectName("overloadDecoratorEdit")
+        self.verticalLayout_3.addWidget(self.overloadDecoratorEdit)
+        self.label_38 = QtWidgets.QLabel(parent=self.groupBox_10)
+        self.label_38.setObjectName("label_38")
+        self.verticalLayout_3.addWidget(self.label_38)
+        self.exemptedTypingSymbolsEdit = QtWidgets.QLineEdit(parent=self.groupBox_10)
+        self.exemptedTypingSymbolsEdit.setClearButtonEnabled(True)
+        self.exemptedTypingSymbolsEdit.setObjectName("exemptedTypingSymbolsEdit")
+        self.verticalLayout_3.addWidget(self.exemptedTypingSymbolsEdit)
+        self.verticalLayout_18.addWidget(self.groupBox_10)
+        spacerItem10 = QtWidgets.QSpacerItem(20, 596, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout_18.addItem(spacerItem10)
+        self.optionsTabWidget.addTab(self.typeAnnotationsTab, "")
+        self.securityOptionsTab = QtWidgets.QWidget()
+        self.securityOptionsTab.setObjectName("securityOptionsTab")
+        self.gridLayout_7 = QtWidgets.QGridLayout(self.securityOptionsTab)
+        self.gridLayout_7.setObjectName("gridLayout_7")
+        self.label_21 = QtWidgets.QLabel(parent=self.securityOptionsTab)
+        self.label_21.setAlignment(QtCore.Qt.AlignmentFlag.AlignLeading|QtCore.Qt.AlignmentFlag.AlignLeft|QtCore.Qt.AlignmentFlag.AlignTop)
+        self.label_21.setObjectName("label_21")
+        self.gridLayout_7.addWidget(self.label_21, 0, 0, 1, 1)
+        self.groupBox_11 = QtWidgets.QGroupBox(parent=self.securityOptionsTab)
+        self.groupBox_11.setObjectName("groupBox_11")
+        self.verticalLayout_10 = QtWidgets.QVBoxLayout(self.groupBox_11)
+        self.verticalLayout_10.setObjectName("verticalLayout_10")
+        self.groupBox_12 = QtWidgets.QGroupBox(parent=self.groupBox_11)
+        self.groupBox_12.setObjectName("groupBox_12")
+        self.horizontalLayout_5 = QtWidgets.QHBoxLayout(self.groupBox_12)
+        self.horizontalLayout_5.setObjectName("horizontalLayout_5")
+        self.label_24 = QtWidgets.QLabel(parent=self.groupBox_12)
+        self.label_24.setObjectName("label_24")
+        self.horizontalLayout_5.addWidget(self.label_24)
+        self.dsaHighRiskCombo = QtWidgets.QComboBox(parent=self.groupBox_12)
+        self.dsaHighRiskCombo.setEditable(False)
+        self.dsaHighRiskCombo.setObjectName("dsaHighRiskCombo")
+        self.horizontalLayout_5.addWidget(self.dsaHighRiskCombo)
+        self.label_25 = QtWidgets.QLabel(parent=self.groupBox_12)
+        self.label_25.setObjectName("label_25")
+        self.horizontalLayout_5.addWidget(self.label_25)
+        self.dsaMediumRiskCombo = QtWidgets.QComboBox(parent=self.groupBox_12)
+        self.dsaMediumRiskCombo.setEditable(False)
+        self.dsaMediumRiskCombo.setObjectName("dsaMediumRiskCombo")
+        self.horizontalLayout_5.addWidget(self.dsaMediumRiskCombo)
+        spacerItem11 = QtWidgets.QSpacerItem(324, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_5.addItem(spacerItem11)
+        self.verticalLayout_10.addWidget(self.groupBox_12)
+        self.groupBox_13 = QtWidgets.QGroupBox(parent=self.groupBox_11)
+        self.groupBox_13.setObjectName("groupBox_13")
+        self.horizontalLayout_9 = QtWidgets.QHBoxLayout(self.groupBox_13)
+        self.horizontalLayout_9.setObjectName("horizontalLayout_9")
+        self.label_26 = QtWidgets.QLabel(parent=self.groupBox_13)
+        self.label_26.setObjectName("label_26")
+        self.horizontalLayout_9.addWidget(self.label_26)
+        self.rsaHighRiskCombo = QtWidgets.QComboBox(parent=self.groupBox_13)
+        self.rsaHighRiskCombo.setEditable(False)
+        self.rsaHighRiskCombo.setObjectName("rsaHighRiskCombo")
+        self.horizontalLayout_9.addWidget(self.rsaHighRiskCombo)
+        self.label_27 = QtWidgets.QLabel(parent=self.groupBox_13)
+        self.label_27.setObjectName("label_27")
+        self.horizontalLayout_9.addWidget(self.label_27)
+        self.rsaMediumRiskCombo = QtWidgets.QComboBox(parent=self.groupBox_13)
+        self.rsaMediumRiskCombo.setEditable(False)
+        self.rsaMediumRiskCombo.setObjectName("rsaMediumRiskCombo")
+        self.horizontalLayout_9.addWidget(self.rsaMediumRiskCombo)
+        spacerItem12 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_9.addItem(spacerItem12)
+        self.verticalLayout_10.addWidget(self.groupBox_13)
+        self.groupBox_14 = QtWidgets.QGroupBox(parent=self.groupBox_11)
+        self.groupBox_14.setObjectName("groupBox_14")
+        self.horizontalLayout_10 = QtWidgets.QHBoxLayout(self.groupBox_14)
+        self.horizontalLayout_10.setObjectName("horizontalLayout_10")
+        self.label_28 = QtWidgets.QLabel(parent=self.groupBox_14)
+        self.label_28.setObjectName("label_28")
+        self.horizontalLayout_10.addWidget(self.label_28)
+        self.ecHighRiskCombo = QtWidgets.QComboBox(parent=self.groupBox_14)
+        self.ecHighRiskCombo.setEditable(False)
+        self.ecHighRiskCombo.setObjectName("ecHighRiskCombo")
+        self.horizontalLayout_10.addWidget(self.ecHighRiskCombo)
+        self.label_29 = QtWidgets.QLabel(parent=self.groupBox_14)
+        self.label_29.setObjectName("label_29")
+        self.horizontalLayout_10.addWidget(self.label_29)
+        self.ecMediumRiskCombo = QtWidgets.QComboBox(parent=self.groupBox_14)
+        self.ecMediumRiskCombo.setEditable(False)
+        self.ecMediumRiskCombo.setObjectName("ecMediumRiskCombo")
+        self.horizontalLayout_10.addWidget(self.ecMediumRiskCombo)
+        spacerItem13 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_10.addItem(spacerItem13)
+        self.verticalLayout_10.addWidget(self.groupBox_14)
+        self.gridLayout_7.addWidget(self.groupBox_11, 3, 0, 1, 2)
+        self.insecureSslProtocolsEdit = QtWidgets.QPlainTextEdit(parent=self.securityOptionsTab)
+        self.insecureSslProtocolsEdit.setObjectName("insecureSslProtocolsEdit")
+        self.gridLayout_7.addWidget(self.insecureSslProtocolsEdit, 2, 1, 1, 1)
+        self.label_23 = QtWidgets.QLabel(parent=self.securityOptionsTab)
+        self.label_23.setAlignment(QtCore.Qt.AlignmentFlag.AlignLeading|QtCore.Qt.AlignmentFlag.AlignLeft|QtCore.Qt.AlignmentFlag.AlignTop)
+        self.label_23.setObjectName("label_23")
+        self.gridLayout_7.addWidget(self.label_23, 2, 0, 1, 1)
+        self.label_22 = QtWidgets.QLabel(parent=self.securityOptionsTab)
+        self.label_22.setObjectName("label_22")
+        self.gridLayout_7.addWidget(self.label_22, 1, 0, 1, 1)
+        self.hashesEdit = QtWidgets.QLineEdit(parent=self.securityOptionsTab)
+        self.hashesEdit.setClearButtonEnabled(True)
+        self.hashesEdit.setObjectName("hashesEdit")
+        self.gridLayout_7.addWidget(self.hashesEdit, 1, 1, 1, 1)
+        self.typedExceptionsCheckBox = QtWidgets.QCheckBox(parent=self.securityOptionsTab)
+        self.typedExceptionsCheckBox.setObjectName("typedExceptionsCheckBox")
+        self.gridLayout_7.addWidget(self.typedExceptionsCheckBox, 4, 0, 1, 2)
+        self.tmpDirectoriesEdit = QtWidgets.QPlainTextEdit(parent=self.securityOptionsTab)
+        self.tmpDirectoriesEdit.setObjectName("tmpDirectoriesEdit")
+        self.gridLayout_7.addWidget(self.tmpDirectoriesEdit, 0, 1, 1, 1)
+        self.optionsTabWidget.addTab(self.securityOptionsTab, "")
+        self.importOptionsTab = QtWidgets.QWidget()
+        self.importOptionsTab.setObjectName("importOptionsTab")
+        self.verticalLayout_16 = QtWidgets.QVBoxLayout(self.importOptionsTab)
+        self.verticalLayout_16.setObjectName("verticalLayout_16")
+        self.groupBox_15 = QtWidgets.QGroupBox(parent=self.importOptionsTab)
+        self.groupBox_15.setObjectName("groupBox_15")
+        self.verticalLayout_14 = QtWidgets.QVBoxLayout(self.groupBox_15)
+        self.verticalLayout_14.setObjectName("verticalLayout_14")
+        self.label_35 = QtWidgets.QLabel(parent=self.groupBox_15)
+        self.label_35.setWordWrap(True)
+        self.label_35.setObjectName("label_35")
+        self.verticalLayout_14.addWidget(self.label_35)
+        self.appPackagesEdit = QtWidgets.QPlainTextEdit(parent=self.groupBox_15)
+        self.appPackagesEdit.setTabChangesFocus(True)
+        self.appPackagesEdit.setObjectName("appPackagesEdit")
+        self.verticalLayout_14.addWidget(self.appPackagesEdit)
+        self.verticalLayout_16.addWidget(self.groupBox_15)
+        self.groupBox_16 = QtWidgets.QGroupBox(parent=self.importOptionsTab)
+        self.groupBox_16.setObjectName("groupBox_16")
+        self.verticalLayout_15 = QtWidgets.QVBoxLayout(self.groupBox_16)
+        self.verticalLayout_15.setObjectName("verticalLayout_15")
+        self.label_36 = QtWidgets.QLabel(parent=self.groupBox_16)
+        self.label_36.setWordWrap(True)
+        self.label_36.setObjectName("label_36")
+        self.verticalLayout_15.addWidget(self.label_36)
+        self.bannedModulesEdit = QtWidgets.QPlainTextEdit(parent=self.groupBox_16)
+        self.bannedModulesEdit.setTabChangesFocus(True)
+        self.bannedModulesEdit.setObjectName("bannedModulesEdit")
+        self.verticalLayout_15.addWidget(self.bannedModulesEdit)
+        self.verticalLayout_16.addWidget(self.groupBox_16)
+        self.groupBox_17 = QtWidgets.QGroupBox(parent=self.importOptionsTab)
+        self.groupBox_17.setObjectName("groupBox_17")
+        self.horizontalLayout_12 = QtWidgets.QHBoxLayout(self.groupBox_17)
+        self.horizontalLayout_12.setObjectName("horizontalLayout_12")
+        self.allowAllButton = QtWidgets.QRadioButton(parent=self.groupBox_17)
+        self.allowAllButton.setChecked(True)
+        self.allowAllButton.setObjectName("allowAllButton")
+        self.horizontalLayout_12.addWidget(self.allowAllButton)
+        self.banParentsButton = QtWidgets.QRadioButton(parent=self.groupBox_17)
+        self.banParentsButton.setObjectName("banParentsButton")
+        self.horizontalLayout_12.addWidget(self.banParentsButton)
+        self.banAllButton = QtWidgets.QRadioButton(parent=self.groupBox_17)
+        self.banAllButton.setObjectName("banAllButton")
+        self.horizontalLayout_12.addWidget(self.banAllButton)
+        self.verticalLayout_16.addWidget(self.groupBox_17)
+        spacerItem14 = QtWidgets.QSpacerItem(20, 737, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout_16.addItem(spacerItem14)
+        self.optionsTabWidget.addTab(self.importOptionsTab, "")
+        self.nameOrderOptionsTab = QtWidgets.QWidget()
+        self.nameOrderOptionsTab.setObjectName("nameOrderOptionsTab")
+        self.verticalLayout_19 = QtWidgets.QVBoxLayout(self.nameOrderOptionsTab)
+        self.verticalLayout_19.setObjectName("verticalLayout_19")
+        self.groupBox_18 = QtWidgets.QGroupBox(parent=self.nameOrderOptionsTab)
+        self.groupBox_18.setObjectName("groupBox_18")
+        self.gridLayout_10 = QtWidgets.QGridLayout(self.groupBox_18)
+        self.gridLayout_10.setObjectName("gridLayout_10")
+        self.label_37 = QtWidgets.QLabel(parent=self.groupBox_18)
+        self.label_37.setObjectName("label_37")
+        self.gridLayout_10.addWidget(self.label_37, 0, 0, 1, 1)
+        self.sortOrderComboBox = QtWidgets.QComboBox(parent=self.groupBox_18)
+        self.sortOrderComboBox.setObjectName("sortOrderComboBox")
+        self.gridLayout_10.addWidget(self.sortOrderComboBox, 0, 1, 1, 1)
+        self.sortIgnoreStyleCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_18)
+        self.sortIgnoreStyleCheckBox.setObjectName("sortIgnoreStyleCheckBox")
+        self.gridLayout_10.addWidget(self.sortIgnoreStyleCheckBox, 0, 2, 1, 1)
+        spacerItem15 = QtWidgets.QSpacerItem(439, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout_10.addItem(spacerItem15, 0, 3, 1, 1)
+        self.sortCaseSensitiveCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_18)
+        self.sortCaseSensitiveCheckBox.setObjectName("sortCaseSensitiveCheckBox")
+        self.gridLayout_10.addWidget(self.sortCaseSensitiveCheckBox, 1, 0, 1, 2)
+        self.verticalLayout_19.addWidget(self.groupBox_18)
+        self.groupBox_19 = QtWidgets.QGroupBox(parent=self.nameOrderOptionsTab)
+        self.groupBox_19.setObjectName("groupBox_19")
+        self.horizontalLayout_13 = QtWidgets.QHBoxLayout(self.groupBox_19)
+        self.horizontalLayout_13.setObjectName("horizontalLayout_13")
+        self.sortFromFirstCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_19)
+        self.sortFromFirstCheckBox.setObjectName("sortFromFirstCheckBox")
+        self.horizontalLayout_13.addWidget(self.sortFromFirstCheckBox)
+        self.combinedAsImpotsCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_19)
+        self.combinedAsImpotsCheckBox.setObjectName("combinedAsImpotsCheckBox")
+        self.horizontalLayout_13.addWidget(self.combinedAsImpotsCheckBox)
+        spacerItem16 = QtWidgets.QSpacerItem(313, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_13.addItem(spacerItem16)
+        self.verticalLayout_19.addWidget(self.groupBox_19)
+        spacerItem17 = QtWidgets.QSpacerItem(20, 365, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout_19.addItem(spacerItem17)
+        self.optionsTabWidget.addTab(self.nameOrderOptionsTab, "")
+        self.unusedOptionsTab = QtWidgets.QWidget()
+        self.unusedOptionsTab.setObjectName("unusedOptionsTab")
+        self.verticalLayout_20 = QtWidgets.QVBoxLayout(self.unusedOptionsTab)
+        self.verticalLayout_20.setObjectName("verticalLayout_20")
+        self.groupBox_20 = QtWidgets.QGroupBox(parent=self.unusedOptionsTab)
+        self.groupBox_20.setObjectName("groupBox_20")
+        self.gridLayout_11 = QtWidgets.QGridLayout(self.groupBox_20)
+        self.gridLayout_11.setObjectName("gridLayout_11")
+        self.ignoreAbstractCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_20)
+        self.ignoreAbstractCheckBox.setObjectName("ignoreAbstractCheckBox")
+        self.gridLayout_11.addWidget(self.ignoreAbstractCheckBox, 0, 0, 1, 1)
+        self.ignoreOverloadCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_20)
+        self.ignoreOverloadCheckBox.setObjectName("ignoreOverloadCheckBox")
+        self.gridLayout_11.addWidget(self.ignoreOverloadCheckBox, 0, 1, 1, 1)
+        self.ignoreOverrideCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_20)
+        self.ignoreOverrideCheckBox.setObjectName("ignoreOverrideCheckBox")
+        self.gridLayout_11.addWidget(self.ignoreOverrideCheckBox, 1, 0, 1, 1)
+        self.ignoreStubsCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_20)
+        self.ignoreStubsCheckBox.setObjectName("ignoreStubsCheckBox")
+        self.gridLayout_11.addWidget(self.ignoreStubsCheckBox, 1, 1, 1, 1)
+        self.ignoreVariadicNamesCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_20)
+        self.ignoreVariadicNamesCheckBox.setObjectName("ignoreVariadicNamesCheckBox")
+        self.gridLayout_11.addWidget(self.ignoreVariadicNamesCheckBox, 2, 0, 1, 1)
+        self.ignoreLambdasCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_20)
+        self.ignoreLambdasCheckBox.setObjectName("ignoreLambdasCheckBox")
+        self.gridLayout_11.addWidget(self.ignoreLambdasCheckBox, 2, 1, 1, 1)
+        self.ignoreSlotsCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_20)
+        self.ignoreSlotsCheckBox.setObjectName("ignoreSlotsCheckBox")
+        self.gridLayout_11.addWidget(self.ignoreSlotsCheckBox, 3, 0, 1, 1)
+        self.ignoreEventHandlersCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_20)
+        self.ignoreEventHandlersCheckBox.setObjectName("ignoreEventHandlersCheckBox")
+        self.gridLayout_11.addWidget(self.ignoreEventHandlersCheckBox, 3, 1, 1, 1)
+        self.ignoreDunderMethodsCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_20)
+        self.ignoreDunderMethodsCheckBox.setObjectName("ignoreDunderMethodsCheckBox")
+        self.gridLayout_11.addWidget(self.ignoreDunderMethodsCheckBox, 4, 0, 1, 1)
+        self.ignoreDunderGlobalsCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_20)
+        self.ignoreDunderGlobalsCheckBox.setObjectName("ignoreDunderGlobalsCheckBox")
+        self.gridLayout_11.addWidget(self.ignoreDunderGlobalsCheckBox, 4, 1, 1, 1)
+        self.ignoreNestedFunctionsCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_20)
+        self.ignoreNestedFunctionsCheckBox.setObjectName("ignoreNestedFunctionsCheckBox")
+        self.gridLayout_11.addWidget(self.ignoreNestedFunctionsCheckBox, 5, 0, 1, 1)
+        self.verticalLayout_20.addWidget(self.groupBox_20)
+        spacerItem18 = QtWidgets.QSpacerItem(20, 382, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout_20.addItem(spacerItem18)
+        self.optionsTabWidget.addTab(self.unusedOptionsTab, "")
+        self.horizontalLayout_2.addWidget(self.optionsTabWidget)
+        self.line = QtWidgets.QFrame(parent=self.configureTab)
+        self.line.setLineWidth(2)
+        self.line.setFrameShape(QtWidgets.QFrame.Shape.VLine)
+        self.line.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line.setObjectName("line")
+        self.horizontalLayout_2.addWidget(self.line)
+        self.verticalLayout = QtWidgets.QVBoxLayout()
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.startButton = QtWidgets.QPushButton(parent=self.configureTab)
+        self.startButton.setObjectName("startButton")
+        self.verticalLayout.addWidget(self.startButton)
+        spacerItem19 = QtWidgets.QSpacerItem(20, 18, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout.addItem(spacerItem19)
+        self.loadDefaultButton = QtWidgets.QPushButton(parent=self.configureTab)
+        self.loadDefaultButton.setObjectName("loadDefaultButton")
+        self.verticalLayout.addWidget(self.loadDefaultButton)
+        self.storeDefaultButton = QtWidgets.QPushButton(parent=self.configureTab)
+        self.storeDefaultButton.setObjectName("storeDefaultButton")
+        self.verticalLayout.addWidget(self.storeDefaultButton)
+        self.resetDefaultButton = QtWidgets.QPushButton(parent=self.configureTab)
+        self.resetDefaultButton.setObjectName("resetDefaultButton")
+        self.verticalLayout.addWidget(self.resetDefaultButton)
+        self.horizontalLayout_2.addLayout(self.verticalLayout)
+        self.mainWidget.addTab(self.configureTab, "")
+        self.progressTab = QtWidgets.QWidget()
+        self.progressTab.setObjectName("progressTab")
+        self.horizontalLayout_11 = QtWidgets.QHBoxLayout(self.progressTab)
+        self.horizontalLayout_11.setObjectName("horizontalLayout_11")
+        self.verticalLayout_12 = QtWidgets.QVBoxLayout()
+        self.verticalLayout_12.setObjectName("verticalLayout_12")
+        self.progressList = QtWidgets.QListWidget(parent=self.progressTab)
+        self.progressList.setEditTriggers(QtWidgets.QAbstractItemView.EditTrigger.NoEditTriggers)
+        self.progressList.setAlternatingRowColors(True)
+        self.progressList.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.NoSelection)
+        self.progressList.setTextElideMode(QtCore.Qt.TextElideMode.ElideMiddle)
+        self.progressList.setObjectName("progressList")
+        self.verticalLayout_12.addWidget(self.progressList)
+        self.checkProgress = QtWidgets.QProgressBar(parent=self.progressTab)
+        self.checkProgress.setProperty("value", 0)
+        self.checkProgress.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.checkProgress.setObjectName("checkProgress")
+        self.verticalLayout_12.addWidget(self.checkProgress)
+        self.horizontalLayout_11.addLayout(self.verticalLayout_12)
+        self.line_3 = QtWidgets.QFrame(parent=self.progressTab)
+        self.line_3.setLineWidth(2)
+        self.line_3.setFrameShape(QtWidgets.QFrame.Shape.VLine)
+        self.line_3.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line_3.setObjectName("line_3")
+        self.horizontalLayout_11.addWidget(self.line_3)
+        self.verticalLayout_11 = QtWidgets.QVBoxLayout()
+        self.verticalLayout_11.setObjectName("verticalLayout_11")
+        self.cancelButton = QtWidgets.QPushButton(parent=self.progressTab)
+        self.cancelButton.setObjectName("cancelButton")
+        self.verticalLayout_11.addWidget(self.cancelButton)
+        spacerItem20 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout_11.addItem(spacerItem20)
+        self.horizontalLayout_11.addLayout(self.verticalLayout_11)
+        self.mainWidget.addTab(self.progressTab, "")
+        self.resultsTab = QtWidgets.QWidget()
+        self.resultsTab.setObjectName("resultsTab")
+        self.horizontalLayout_4 = QtWidgets.QHBoxLayout(self.resultsTab)
+        self.horizontalLayout_4.setObjectName("horizontalLayout_4")
+        self.verticalLayout_7 = QtWidgets.QVBoxLayout()
+        self.verticalLayout_7.setObjectName("verticalLayout_7")
+        self.securityNoteLabel = QtWidgets.QLabel(parent=self.resultsTab)
+        self.securityNoteLabel.setObjectName("securityNoteLabel")
+        self.verticalLayout_7.addWidget(self.securityNoteLabel)
+        self.resultList = QtWidgets.QTreeWidget(parent=self.resultsTab)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(6)
+        sizePolicy.setHeightForWidth(self.resultList.sizePolicy().hasHeightForWidth())
+        self.resultList.setSizePolicy(sizePolicy)
+        self.resultList.setAlternatingRowColors(True)
+        self.resultList.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.ExtendedSelection)
+        self.resultList.setExpandsOnDoubleClick(False)
+        self.resultList.setObjectName("resultList")
+        self.verticalLayout_7.addWidget(self.resultList)
+        self.horizontalLayout_4.addLayout(self.verticalLayout_7)
+        self.line_2 = QtWidgets.QFrame(parent=self.resultsTab)
+        self.line_2.setLineWidth(2)
+        self.line_2.setFrameShape(QtWidgets.QFrame.Shape.VLine)
+        self.line_2.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line_2.setObjectName("line_2")
+        self.horizontalLayout_4.addWidget(self.line_2)
+        self.verticalLayout_8 = QtWidgets.QVBoxLayout()
+        self.verticalLayout_8.setObjectName("verticalLayout_8")
+        self.restartButton = QtWidgets.QPushButton(parent=self.resultsTab)
+        self.restartButton.setObjectName("restartButton")
+        self.verticalLayout_8.addWidget(self.restartButton)
+        self.fixButton = QtWidgets.QPushButton(parent=self.resultsTab)
+        self.fixButton.setObjectName("fixButton")
+        self.verticalLayout_8.addWidget(self.fixButton)
+        self.line_4 = QtWidgets.QFrame(parent=self.resultsTab)
+        self.line_4.setLineWidth(2)
+        self.line_4.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line_4.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line_4.setObjectName("line_4")
+        self.verticalLayout_8.addWidget(self.line_4)
+        self.showButton = QtWidgets.QPushButton(parent=self.resultsTab)
+        self.showButton.setObjectName("showButton")
+        self.verticalLayout_8.addWidget(self.showButton)
+        self.statisticsButton = QtWidgets.QPushButton(parent=self.resultsTab)
+        self.statisticsButton.setObjectName("statisticsButton")
+        self.verticalLayout_8.addWidget(self.statisticsButton)
+        self.line_5 = QtWidgets.QFrame(parent=self.resultsTab)
+        self.line_5.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line_5.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line_5.setObjectName("line_5")
+        self.verticalLayout_8.addWidget(self.line_5)
+        self.label_31 = QtWidgets.QLabel(parent=self.resultsTab)
+        self.label_31.setObjectName("label_31")
+        self.verticalLayout_8.addWidget(self.label_31)
+        self.filterComboBox = QtWidgets.QComboBox(parent=self.resultsTab)
+        self.filterComboBox.setObjectName("filterComboBox")
+        self.verticalLayout_8.addWidget(self.filterComboBox)
+        self.filterButton = QtWidgets.QPushButton(parent=self.resultsTab)
+        self.filterButton.setObjectName("filterButton")
+        self.verticalLayout_8.addWidget(self.filterButton)
+        spacerItem21 = QtWidgets.QSpacerItem(20, 18, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout_8.addItem(spacerItem21)
+        self.horizontalLayout_4.addLayout(self.verticalLayout_8)
+        self.mainWidget.addTab(self.resultsTab, "")
+        self.verticalLayout_13.addWidget(self.mainWidget)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=CodeStyleCheckerDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout_13.addWidget(self.buttonBox)
+
+        self.retranslateUi(CodeStyleCheckerDialog)
+        self.mainWidget.setCurrentIndex(2)
+        self.optionsTabWidget.setCurrentIndex(7)
+        self.repeatCheckBox.toggled['bool'].connect(self.fixIssuesCheckBox.setEnabled) # type: ignore
+        self.repeatCheckBox.toggled['bool'].connect(self.ignoredCheckBox.setEnabled) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(CodeStyleCheckerDialog)
+        CodeStyleCheckerDialog.setTabOrder(self.mainWidget, self.optionsTabWidget)
+        CodeStyleCheckerDialog.setTabOrder(self.optionsTabWidget, self.categoriesList)
+        CodeStyleCheckerDialog.setTabOrder(self.categoriesList, self.excludeFilesEdit)
+        CodeStyleCheckerDialog.setTabOrder(self.excludeFilesEdit, self.excludeMessagesEdit)
+        CodeStyleCheckerDialog.setTabOrder(self.excludeMessagesEdit, self.excludeMessagesSelectButton)
+        CodeStyleCheckerDialog.setTabOrder(self.excludeMessagesSelectButton, self.includeMessagesEdit)
+        CodeStyleCheckerDialog.setTabOrder(self.includeMessagesEdit, self.includeMessagesSelectButton)
+        CodeStyleCheckerDialog.setTabOrder(self.includeMessagesSelectButton, self.fixIssuesEdit)
+        CodeStyleCheckerDialog.setTabOrder(self.fixIssuesEdit, self.fixIssuesSelectButton)
+        CodeStyleCheckerDialog.setTabOrder(self.fixIssuesSelectButton, self.noFixIssuesEdit)
+        CodeStyleCheckerDialog.setTabOrder(self.noFixIssuesEdit, self.noFixIssuesSelectButton)
+        CodeStyleCheckerDialog.setTabOrder(self.noFixIssuesSelectButton, self.repeatCheckBox)
+        CodeStyleCheckerDialog.setTabOrder(self.repeatCheckBox, self.fixIssuesCheckBox)
+        CodeStyleCheckerDialog.setTabOrder(self.fixIssuesCheckBox, self.ignoredCheckBox)
+        CodeStyleCheckerDialog.setTabOrder(self.ignoredCheckBox, self.scrollArea)
+        CodeStyleCheckerDialog.setTabOrder(self.scrollArea, self.lineLengthSpinBox)
+        CodeStyleCheckerDialog.setTabOrder(self.lineLengthSpinBox, self.docLineLengthSpinBox)
+        CodeStyleCheckerDialog.setTabOrder(self.docLineLengthSpinBox, self.blankBeforeTopLevelSpinBox)
+        CodeStyleCheckerDialog.setTabOrder(self.blankBeforeTopLevelSpinBox, self.blankBeforeMethodSpinBox)
+        CodeStyleCheckerDialog.setTabOrder(self.blankBeforeMethodSpinBox, self.hangClosingCheckBox)
+        CodeStyleCheckerDialog.setTabOrder(self.hangClosingCheckBox, self.docTypeComboBox)
+        CodeStyleCheckerDialog.setTabOrder(self.docTypeComboBox, self.encodingsEdit)
+        CodeStyleCheckerDialog.setTabOrder(self.encodingsEdit, self.copyrightFileSizeSpinBox)
+        CodeStyleCheckerDialog.setTabOrder(self.copyrightFileSizeSpinBox, self.copyrightAuthorEdit)
+        CodeStyleCheckerDialog.setTabOrder(self.copyrightAuthorEdit, self.futuresList)
+        CodeStyleCheckerDialog.setTabOrder(self.futuresList, self.builtinsAssignmentList)
+        CodeStyleCheckerDialog.setTabOrder(self.builtinsAssignmentList, self.addBuiltinButton)
+        CodeStyleCheckerDialog.setTabOrder(self.addBuiltinButton, self.deleteBuiltinButton)
+        CodeStyleCheckerDialog.setTabOrder(self.deleteBuiltinButton, self.aggressiveCheckBox)
+        CodeStyleCheckerDialog.setTabOrder(self.aggressiveCheckBox, self.whitelistWidget)
+        CodeStyleCheckerDialog.setTabOrder(self.whitelistWidget, self.addWhitelistButton)
+        CodeStyleCheckerDialog.setTabOrder(self.addWhitelistButton, self.deleteWhitelistButton)
+        CodeStyleCheckerDialog.setTabOrder(self.deleteWhitelistButton, self.complexitySpinBox)
+        CodeStyleCheckerDialog.setTabOrder(self.complexitySpinBox, self.lineComplexitySpinBox)
+        CodeStyleCheckerDialog.setTabOrder(self.lineComplexitySpinBox, self.lineComplexityScoreSpinBox)
+        CodeStyleCheckerDialog.setTabOrder(self.lineComplexityScoreSpinBox, self.minAnnotationsCoverageSpinBox)
+        CodeStyleCheckerDialog.setTabOrder(self.minAnnotationsCoverageSpinBox, self.maxAnnotationsComplexitySpinBox)
+        CodeStyleCheckerDialog.setTabOrder(self.maxAnnotationsComplexitySpinBox, self.maxAnnotationsLengthSpinBox)
+        CodeStyleCheckerDialog.setTabOrder(self.maxAnnotationsLengthSpinBox, self.suppressNoneReturningCheckBox)
+        CodeStyleCheckerDialog.setTabOrder(self.suppressNoneReturningCheckBox, self.suppressDummyArgsCheckBox)
+        CodeStyleCheckerDialog.setTabOrder(self.suppressDummyArgsCheckBox, self.allowUntypedDefsCheckBox)
+        CodeStyleCheckerDialog.setTabOrder(self.allowUntypedDefsCheckBox, self.allowUntypedNestedCheckBox)
+        CodeStyleCheckerDialog.setTabOrder(self.allowUntypedNestedCheckBox, self.mypyInitReturnCheckBox)
+        CodeStyleCheckerDialog.setTabOrder(self.mypyInitReturnCheckBox, self.allowStarArgAnyCheckBox)
+        CodeStyleCheckerDialog.setTabOrder(self.allowStarArgAnyCheckBox, self.forceFutureAnnotationsCheckBox)
+        CodeStyleCheckerDialog.setTabOrder(self.forceFutureAnnotationsCheckBox, self.simplifiedTypesCheckBox)
+        CodeStyleCheckerDialog.setTabOrder(self.simplifiedTypesCheckBox, self.dispatchDecoratorEdit)
+        CodeStyleCheckerDialog.setTabOrder(self.dispatchDecoratorEdit, self.overloadDecoratorEdit)
+        CodeStyleCheckerDialog.setTabOrder(self.overloadDecoratorEdit, self.exemptedTypingSymbolsEdit)
+        CodeStyleCheckerDialog.setTabOrder(self.exemptedTypingSymbolsEdit, self.tmpDirectoriesEdit)
+        CodeStyleCheckerDialog.setTabOrder(self.tmpDirectoriesEdit, self.hashesEdit)
+        CodeStyleCheckerDialog.setTabOrder(self.hashesEdit, self.insecureSslProtocolsEdit)
+        CodeStyleCheckerDialog.setTabOrder(self.insecureSslProtocolsEdit, self.dsaHighRiskCombo)
+        CodeStyleCheckerDialog.setTabOrder(self.dsaHighRiskCombo, self.dsaMediumRiskCombo)
+        CodeStyleCheckerDialog.setTabOrder(self.dsaMediumRiskCombo, self.rsaHighRiskCombo)
+        CodeStyleCheckerDialog.setTabOrder(self.rsaHighRiskCombo, self.rsaMediumRiskCombo)
+        CodeStyleCheckerDialog.setTabOrder(self.rsaMediumRiskCombo, self.ecHighRiskCombo)
+        CodeStyleCheckerDialog.setTabOrder(self.ecHighRiskCombo, self.ecMediumRiskCombo)
+        CodeStyleCheckerDialog.setTabOrder(self.ecMediumRiskCombo, self.typedExceptionsCheckBox)
+        CodeStyleCheckerDialog.setTabOrder(self.typedExceptionsCheckBox, self.appPackagesEdit)
+        CodeStyleCheckerDialog.setTabOrder(self.appPackagesEdit, self.bannedModulesEdit)
+        CodeStyleCheckerDialog.setTabOrder(self.bannedModulesEdit, self.allowAllButton)
+        CodeStyleCheckerDialog.setTabOrder(self.allowAllButton, self.banParentsButton)
+        CodeStyleCheckerDialog.setTabOrder(self.banParentsButton, self.banAllButton)
+        CodeStyleCheckerDialog.setTabOrder(self.banAllButton, self.sortOrderComboBox)
+        CodeStyleCheckerDialog.setTabOrder(self.sortOrderComboBox, self.sortIgnoreStyleCheckBox)
+        CodeStyleCheckerDialog.setTabOrder(self.sortIgnoreStyleCheckBox, self.sortCaseSensitiveCheckBox)
+        CodeStyleCheckerDialog.setTabOrder(self.sortCaseSensitiveCheckBox, self.sortFromFirstCheckBox)
+        CodeStyleCheckerDialog.setTabOrder(self.sortFromFirstCheckBox, self.combinedAsImpotsCheckBox)
+        CodeStyleCheckerDialog.setTabOrder(self.combinedAsImpotsCheckBox, self.ignoreAbstractCheckBox)
+        CodeStyleCheckerDialog.setTabOrder(self.ignoreAbstractCheckBox, self.ignoreOverloadCheckBox)
+        CodeStyleCheckerDialog.setTabOrder(self.ignoreOverloadCheckBox, self.ignoreOverrideCheckBox)
+        CodeStyleCheckerDialog.setTabOrder(self.ignoreOverrideCheckBox, self.ignoreStubsCheckBox)
+        CodeStyleCheckerDialog.setTabOrder(self.ignoreStubsCheckBox, self.ignoreVariadicNamesCheckBox)
+        CodeStyleCheckerDialog.setTabOrder(self.ignoreVariadicNamesCheckBox, self.ignoreLambdasCheckBox)
+        CodeStyleCheckerDialog.setTabOrder(self.ignoreLambdasCheckBox, self.ignoreSlotsCheckBox)
+        CodeStyleCheckerDialog.setTabOrder(self.ignoreSlotsCheckBox, self.ignoreEventHandlersCheckBox)
+        CodeStyleCheckerDialog.setTabOrder(self.ignoreEventHandlersCheckBox, self.ignoreDunderMethodsCheckBox)
+        CodeStyleCheckerDialog.setTabOrder(self.ignoreDunderMethodsCheckBox, self.ignoreDunderGlobalsCheckBox)
+        CodeStyleCheckerDialog.setTabOrder(self.ignoreDunderGlobalsCheckBox, self.ignoreNestedFunctionsCheckBox)
+        CodeStyleCheckerDialog.setTabOrder(self.ignoreNestedFunctionsCheckBox, self.startButton)
+        CodeStyleCheckerDialog.setTabOrder(self.startButton, self.loadDefaultButton)
+        CodeStyleCheckerDialog.setTabOrder(self.loadDefaultButton, self.storeDefaultButton)
+        CodeStyleCheckerDialog.setTabOrder(self.storeDefaultButton, self.resetDefaultButton)
+        CodeStyleCheckerDialog.setTabOrder(self.resetDefaultButton, self.progressList)
+        CodeStyleCheckerDialog.setTabOrder(self.progressList, self.cancelButton)
+        CodeStyleCheckerDialog.setTabOrder(self.cancelButton, self.resultList)
+        CodeStyleCheckerDialog.setTabOrder(self.resultList, self.restartButton)
+        CodeStyleCheckerDialog.setTabOrder(self.restartButton, self.fixButton)
+        CodeStyleCheckerDialog.setTabOrder(self.fixButton, self.showButton)
+        CodeStyleCheckerDialog.setTabOrder(self.showButton, self.statisticsButton)
+        CodeStyleCheckerDialog.setTabOrder(self.statisticsButton, self.filterComboBox)
+        CodeStyleCheckerDialog.setTabOrder(self.filterComboBox, self.filterButton)
+
+    def retranslateUi(self, CodeStyleCheckerDialog):
+        _translate = QtCore.QCoreApplication.translate
+        CodeStyleCheckerDialog.setWindowTitle(_translate("CodeStyleCheckerDialog", "Code Style Check"))
+        self.label_20.setText(_translate("CodeStyleCheckerDialog", "Categories:"))
+        self.categoriesList.setToolTip(_translate("CodeStyleCheckerDialog", "Select the categories of checks to be performed."))
+        self.categoriesList.setSortingEnabled(True)
+        self.label_2.setText(_translate("CodeStyleCheckerDialog", "Exclude Files:"))
+        self.excludeFilesEdit.setToolTip(_translate("CodeStyleCheckerDialog", "Enter filename patterns of files to be excluded separated by a comma"))
+        self.label.setText(_translate("CodeStyleCheckerDialog", "Exclude Messages:"))
+        self.excludeMessagesEdit.setToolTip(_translate("CodeStyleCheckerDialog", "Enter message codes to be excluded separated by a comma"))
+        self.excludeMessagesSelectButton.setToolTip(_translate("CodeStyleCheckerDialog", "Press to select the message codes from a list"))
+        self.label_3.setText(_translate("CodeStyleCheckerDialog", "Included Messages:"))
+        self.includeMessagesEdit.setToolTip(_translate("CodeStyleCheckerDialog", "Enter message codes to be included separated by a comma"))
+        self.includeMessagesSelectButton.setToolTip(_translate("CodeStyleCheckerDialog", "Press to select the message codes from a list"))
+        self.label_4.setText(_translate("CodeStyleCheckerDialog", "Fix Issues:"))
+        self.fixIssuesEdit.setToolTip(_translate("CodeStyleCheckerDialog", "Enter message codes of issues to be fixed automatically (leave empty to fix all)"))
+        self.fixIssuesSelectButton.setToolTip(_translate("CodeStyleCheckerDialog", "Press to select the message codes from a list"))
+        self.label_6.setText(_translate("CodeStyleCheckerDialog", "Don\'t Fix Issues:"))
+        self.noFixIssuesEdit.setToolTip(_translate("CodeStyleCheckerDialog", "Enter message codes of issues not to be fixed automatically"))
+        self.noFixIssuesSelectButton.setToolTip(_translate("CodeStyleCheckerDialog", "Press to select the message codes from a list"))
+        self.repeatCheckBox.setToolTip(_translate("CodeStyleCheckerDialog", "Select to repeat each message type"))
+        self.repeatCheckBox.setText(_translate("CodeStyleCheckerDialog", "Repeat messages"))
+        self.fixIssuesCheckBox.setToolTip(_translate("CodeStyleCheckerDialog", "Select to fix some issues"))
+        self.fixIssuesCheckBox.setText(_translate("CodeStyleCheckerDialog", "Fix issues automatically"))
+        self.ignoredCheckBox.setToolTip(_translate("CodeStyleCheckerDialog", "Select to show ignored issues"))
+        self.ignoredCheckBox.setText(_translate("CodeStyleCheckerDialog", "Show ignored"))
+        self.optionsTabWidget.setTabText(self.optionsTabWidget.indexOf(self.globalOptionsTab), _translate("CodeStyleCheckerDialog", "Globals"))
+        self.groupBox.setTitle(_translate("CodeStyleCheckerDialog", "Source Style"))
+        self.label_5.setText(_translate("CodeStyleCheckerDialog", "Max. Line Length:"))
+        self.lineLengthSpinBox.setToolTip(_translate("CodeStyleCheckerDialog", "Enter the maximum allowed line length (PEP-8: 79 characters)"))
+        self.label_17.setText(_translate("CodeStyleCheckerDialog", "Max. Documentation Line Length:"))
+        self.docLineLengthSpinBox.setToolTip(_translate("CodeStyleCheckerDialog", "Enter the maximum allowed line length (PEP-8: 79 characters)"))
+        self.groupBox_8.setTitle(_translate("CodeStyleCheckerDialog", "Blank Lines Before"))
+        self.label_15.setText(_translate("CodeStyleCheckerDialog", "Top Level Classes and Functions:"))
+        self.blankBeforeTopLevelSpinBox.setToolTip(_translate("CodeStyleCheckerDialog", "Enter the number of blank lines before top level classes and functions"))
+        self.label_16.setText(_translate("CodeStyleCheckerDialog", "Methods and Nested Classes and Functions:"))
+        self.blankBeforeMethodSpinBox.setToolTip(_translate("CodeStyleCheckerDialog", "Enter the number of blank lines before methods and nested classes or functions"))
+        self.hangClosingCheckBox.setToolTip(_translate("CodeStyleCheckerDialog", "Select to allow hanging closing brackets"))
+        self.hangClosingCheckBox.setText(_translate("CodeStyleCheckerDialog", "Allow hanging closing brackets"))
+        self.groupBox_2.setTitle(_translate("CodeStyleCheckerDialog", "Documentation Style"))
+        self.label_7.setText(_translate("CodeStyleCheckerDialog", "Docstring Type:"))
+        self.docTypeComboBox.setToolTip(_translate("CodeStyleCheckerDialog", "Select the rule set for docstrings"))
+        self.groupBox_4.setTitle(_translate("CodeStyleCheckerDialog", "Coding Line"))
+        self.label_9.setText(_translate("CodeStyleCheckerDialog", "Valid Encodings:"))
+        self.encodingsEdit.setToolTip(_translate("CodeStyleCheckerDialog", "Enter valid encodings separated by a comma (leave empty to use defaults)"))
+        self.groupBox_5.setTitle(_translate("CodeStyleCheckerDialog", "Copyright"))
+        self.label_10.setText(_translate("CodeStyleCheckerDialog", "Min. File Size:"))
+        self.copyrightFileSizeSpinBox.setToolTip(_translate("CodeStyleCheckerDialog", "Enter the minimum size a file must have to be checked (0 for all files)"))
+        self.label_11.setText(_translate("CodeStyleCheckerDialog", "Author:"))
+        self.copyrightAuthorEdit.setToolTip(_translate("CodeStyleCheckerDialog", "Enter a copyright author name to check for (leave empty to omit this check)"))
+        self.groupBox_6.setTitle(_translate("CodeStyleCheckerDialog", "Future Imports"))
+        self.label_12.setText(_translate("CodeStyleCheckerDialog", "Expected Imports:"))
+        self.futuresList.setSortingEnabled(True)
+        self.groupBox_7.setTitle(_translate("CodeStyleCheckerDialog", "Ignore Built-ins Assignment"))
+        self.builtinsAssignmentList.setSortingEnabled(True)
+        self.builtinsAssignmentList.headerItem().setText(0, _translate("CodeStyleCheckerDialog", "Left"))
+        self.builtinsAssignmentList.headerItem().setText(1, _translate("CodeStyleCheckerDialog", "Right"))
+        self.addBuiltinButton.setToolTip(_translate("CodeStyleCheckerDialog", "Press to add a built-in assignment to be ignored"))
+        self.deleteBuiltinButton.setToolTip(_translate("CodeStyleCheckerDialog", "Press to delete the selected entries"))
+        self.groupBox_9.setTitle(_translate("CodeStyleCheckerDialog", "Commented Code"))
+        self.aggressiveCheckBox.setToolTip(_translate("CodeStyleCheckerDialog", "Select to search for commented code more aggressively. This may increase the number of false positives."))
+        self.aggressiveCheckBox.setText(_translate("CodeStyleCheckerDialog", "Search aggressively"))
+        self.label_30.setText(_translate("CodeStyleCheckerDialog", "Whitelist:"))
+        self.addWhitelistButton.setToolTip(_translate("CodeStyleCheckerDialog", "Press to add a commented code whitelist pattern"))
+        self.deleteWhitelistButton.setToolTip(_translate("CodeStyleCheckerDialog", "Press to delete the selected entries"))
+        self.optionsTabWidget.setTabText(self.optionsTabWidget.indexOf(self.specificOptionsTab), _translate("CodeStyleCheckerDialog", "Specifics"))
+        self.groupBox_3.setTitle(_translate("CodeStyleCheckerDialog", "Code Complexity"))
+        self.label_8.setText(_translate("CodeStyleCheckerDialog", "Max. McCabe Complexity:"))
+        self.complexitySpinBox.setToolTip(_translate("CodeStyleCheckerDialog", "Enter the maximum allowed code complexity (McCabe: 10)"))
+        self.label_13.setText(_translate("CodeStyleCheckerDialog", "Max. Line Complexity:"))
+        self.lineComplexitySpinBox.setToolTip(_translate("CodeStyleCheckerDialog", "Enter the maximum complexity (number of nodes) for a line of code"))
+        self.label_14.setText(_translate("CodeStyleCheckerDialog", "Max. Line Complexity Score:"))
+        self.lineComplexityScoreSpinBox.setToolTip(_translate("CodeStyleCheckerDialog", "Enter the maximum allowed median for line complexity"))
+        self.optionsTabWidget.setTabText(self.optionsTabWidget.indexOf(self.codeComplexityTab), _translate("CodeStyleCheckerDialog", "Complexity"))
+        self.groupBox_10.setTitle(_translate("CodeStyleCheckerDialog", "Type Annotations"))
+        self.label_18.setText(_translate("CodeStyleCheckerDialog", "Min. Coverage:"))
+        self.minAnnotationsCoverageSpinBox.setToolTip(_translate("CodeStyleCheckerDialog", "Enter the minimum percentage of type annotations"))
+        self.minAnnotationsCoverageSpinBox.setSpecialValueText(_translate("CodeStyleCheckerDialog", "off"))
+        self.minAnnotationsCoverageSpinBox.setSuffix(_translate("CodeStyleCheckerDialog", "%"))
+        self.label_19.setText(_translate("CodeStyleCheckerDialog", "Max. Complexity:"))
+        self.maxAnnotationsComplexitySpinBox.setToolTip(_translate("CodeStyleCheckerDialog", "Enter the maximum type annotation complexity"))
+        self.label_32.setText(_translate("CodeStyleCheckerDialog", "Max. Length:"))
+        self.maxAnnotationsLengthSpinBox.setToolTip(_translate("CodeStyleCheckerDialog", "Enter the maximum type annotation length"))
+        self.suppressNoneReturningCheckBox.setToolTip(_translate("CodeStyleCheckerDialog", "Select to not report functions without returns or with only bare returns"))
+        self.suppressNoneReturningCheckBox.setText(_translate("CodeStyleCheckerDialog", "Suppress \'None\' return"))
+        self.suppressDummyArgsCheckBox.setToolTip(_translate("CodeStyleCheckerDialog", "Select to not report dummy (i.e. \'_\') arguments"))
+        self.suppressDummyArgsCheckBox.setText(_translate("CodeStyleCheckerDialog", "Suppress Dummy Arguments"))
+        self.allowUntypedDefsCheckBox.setToolTip(_translate("CodeStyleCheckerDialog", "Select to not report dynamically typed functions"))
+        self.allowUntypedDefsCheckBox.setText(_translate("CodeStyleCheckerDialog", "Allow Untyped Functions"))
+        self.allowUntypedNestedCheckBox.setToolTip(_translate("CodeStyleCheckerDialog", "Select to not report dynamically typed nested functions"))
+        self.allowUntypedNestedCheckBox.setText(_translate("CodeStyleCheckerDialog", "Allow Untyped Nested Functions"))
+        self.mypyInitReturnCheckBox.setToolTip(_translate("CodeStyleCheckerDialog", "Select to not report unhinted \'__init__\' return"))
+        self.mypyInitReturnCheckBox.setText(_translate("CodeStyleCheckerDialog", "Allow Untyped \'__init__\' function"))
+        self.allowStarArgAnyCheckBox.setToolTip(_translate("CodeStyleCheckerDialog", "Allow dynamically typed *args and **kwargs"))
+        self.allowStarArgAnyCheckBox.setText(_translate("CodeStyleCheckerDialog", "Allow dynamically typed * Arguments"))
+        self.forceFutureAnnotationsCheckBox.setToolTip(_translate("CodeStyleCheckerDialog", "Enforce the presence of a \'from __future__ import annotations\' statement"))
+        self.forceFutureAnnotationsCheckBox.setText(_translate("CodeStyleCheckerDialog", "Enforce \'__future__\' statement"))
+        self.simplifiedTypesCheckBox.setToolTip(_translate("CodeStyleCheckerDialog", "Verifies &lt;3.10 code with simplified types uses \'from __future__ import annotations\'."))
+        self.simplifiedTypesCheckBox.setText(_translate("CodeStyleCheckerDialog", "Check use of simplified types"))
+        self.label_33.setText(_translate("CodeStyleCheckerDialog", "Dispatch Decorators:"))
+        self.dispatchDecoratorEdit.setToolTip(_translate("CodeStyleCheckerDialog", "Enter the list of dispatch decorators separated by comma"))
+        self.label_34.setText(_translate("CodeStyleCheckerDialog", "Overload Decorators:"))
+        self.overloadDecoratorEdit.setToolTip(_translate("CodeStyleCheckerDialog", "Enter the list of typing.overload decorators separated by comma"))
+        self.label_38.setText(_translate("CodeStyleCheckerDialog", "Exempted \'typing\' symbols:"))
+        self.exemptedTypingSymbolsEdit.setToolTip(_translate("CodeStyleCheckerDialog", "Enter deprecated symbols of the \'typing\' module exempted from PEP-585 checking separated by space"))
+        self.optionsTabWidget.setTabText(self.optionsTabWidget.indexOf(self.typeAnnotationsTab), _translate("CodeStyleCheckerDialog", "Annotations"))
+        self.label_21.setText(_translate("CodeStyleCheckerDialog", "Hardcoded \'tmp\' Directories:"))
+        self.groupBox_11.setTitle(_translate("CodeStyleCheckerDialog", "Weak Cryptographic Keys"))
+        self.groupBox_12.setTitle(_translate("CodeStyleCheckerDialog", "DSA"))
+        self.label_24.setText(_translate("CodeStyleCheckerDialog", "High Risk:"))
+        self.dsaHighRiskCombo.setToolTip(_translate("CodeStyleCheckerDialog", "Select the bit length below which a DSA key is to be considered very weak"))
+        self.label_25.setText(_translate("CodeStyleCheckerDialog", "Medium Risk:"))
+        self.dsaMediumRiskCombo.setToolTip(_translate("CodeStyleCheckerDialog", "Select the bit length below which a DSA key is to be considered weak"))
+        self.groupBox_13.setTitle(_translate("CodeStyleCheckerDialog", "RSA"))
+        self.label_26.setText(_translate("CodeStyleCheckerDialog", "High Risk:"))
+        self.rsaHighRiskCombo.setToolTip(_translate("CodeStyleCheckerDialog", "Select the bit length below which a RSA key is to be considered very weak"))
+        self.label_27.setText(_translate("CodeStyleCheckerDialog", "Medium Risk:"))
+        self.rsaMediumRiskCombo.setToolTip(_translate("CodeStyleCheckerDialog", "Select the bit length below which a RSA key is to be considered weak"))
+        self.groupBox_14.setTitle(_translate("CodeStyleCheckerDialog", "Elliptic Curves"))
+        self.label_28.setText(_translate("CodeStyleCheckerDialog", "High Risk:"))
+        self.ecHighRiskCombo.setToolTip(_translate("CodeStyleCheckerDialog", "Select the bit length below which an Elliptic Curve is to be considered very weak"))
+        self.label_29.setText(_translate("CodeStyleCheckerDialog", "Medium Risk:"))
+        self.ecMediumRiskCombo.setToolTip(_translate("CodeStyleCheckerDialog", "Select the bit length below which an Elliptic Curve is to be considered weak"))
+        self.insecureSslProtocolsEdit.setToolTip(_translate("CodeStyleCheckerDialog", "Enter the names of insecure SSL protocols and methods (one per line)"))
+        self.label_23.setText(_translate("CodeStyleCheckerDialog", "Insecure SSL Protocols:"))
+        self.label_22.setText(_translate("CodeStyleCheckerDialog", "Insecure Hashes:"))
+        self.hashesEdit.setToolTip(_translate("CodeStyleCheckerDialog", "Enter a list of hash methods to be considered insecure separated by comma"))
+        self.typedExceptionsCheckBox.setToolTip(_translate("CodeStyleCheckerDialog", "Select to also check for insecure exception handling for typed exceptions"))
+        self.typedExceptionsCheckBox.setText(_translate("CodeStyleCheckerDialog", "Check Typed Exceptions"))
+        self.tmpDirectoriesEdit.setToolTip(_translate("CodeStyleCheckerDialog", "Enter directory names (one per line) to be checked for"))
+        self.optionsTabWidget.setTabText(self.optionsTabWidget.indexOf(self.securityOptionsTab), _translate("CodeStyleCheckerDialog", "Security"))
+        self.groupBox_15.setTitle(_translate("CodeStyleCheckerDialog", "Application Packages"))
+        self.label_35.setText(_translate("CodeStyleCheckerDialog", "Enter top level application package names separated by a space character:"))
+        self.groupBox_16.setTitle(_translate("CodeStyleCheckerDialog", "Banned Modules"))
+        self.label_36.setText(_translate("CodeStyleCheckerDialog", "Enter the name of modules to be banned separated by a space character:"))
+        self.groupBox_17.setTitle(_translate("CodeStyleCheckerDialog", "Ban Relative Imports"))
+        self.allowAllButton.setToolTip(_translate("CodeStyleCheckerDialog", "Select to allow relative imports"))
+        self.allowAllButton.setText(_translate("CodeStyleCheckerDialog", "Allow"))
+        self.banParentsButton.setToolTip(_translate("CodeStyleCheckerDialog", "Select to ban relative imports of parents"))
+        self.banParentsButton.setText(_translate("CodeStyleCheckerDialog", "Ban Parents Import"))
+        self.banAllButton.setToolTip(_translate("CodeStyleCheckerDialog", "Select to ban all relative imports"))
+        self.banAllButton.setText(_translate("CodeStyleCheckerDialog", "Ban All"))
+        self.optionsTabWidget.setTabText(self.optionsTabWidget.indexOf(self.importOptionsTab), _translate("CodeStyleCheckerDialog", "Imports"))
+        self.groupBox_18.setTitle(_translate("CodeStyleCheckerDialog", "Name Sorting"))
+        self.label_37.setText(_translate("CodeStyleCheckerDialog", "Sort Order:"))
+        self.sortOrderComboBox.setToolTip(_translate("CodeStyleCheckerDialog", "Select the sort order"))
+        self.sortIgnoreStyleCheckBox.setToolTip(_translate("CodeStyleCheckerDialog", "Select to sort the imports by module, independent of import style"))
+        self.sortIgnoreStyleCheckBox.setText(_translate("CodeStyleCheckerDialog", "Sort Ignoring Style"))
+        self.sortCaseSensitiveCheckBox.setToolTip(_translate("CodeStyleCheckerDialog", "Select to sort imports observing the case"))
+        self.sortCaseSensitiveCheckBox.setText(_translate("CodeStyleCheckerDialog", "Sort Case Sensitively"))
+        self.groupBox_19.setTitle(_translate("CodeStyleCheckerDialog", "Imports Sorting"))
+        self.sortFromFirstCheckBox.setToolTip(_translate("CodeStyleCheckerDialog", "Select to place from imports first then straight ones"))
+        self.sortFromFirstCheckBox.setText(_translate("CodeStyleCheckerDialog", "Sort From First"))
+        self.combinedAsImpotsCheckBox.setToolTip(_translate("CodeStyleCheckerDialog", "Select to allow combined as imports (e.g. from foo import bar, baz as bas)"))
+        self.combinedAsImpotsCheckBox.setText(_translate("CodeStyleCheckerDialog", "Combined As Imports"))
+        self.optionsTabWidget.setTabText(self.optionsTabWidget.indexOf(self.nameOrderOptionsTab), _translate("CodeStyleCheckerDialog", "Name Order"))
+        self.groupBox_20.setTitle(_translate("CodeStyleCheckerDialog", "Ignore Warnings For"))
+        self.ignoreAbstractCheckBox.setToolTip(_translate("CodeStyleCheckerDialog", "Ignore unused arguments for methods decorated with \'@abstractmethod\'."))
+        self.ignoreAbstractCheckBox.setText(_translate("CodeStyleCheckerDialog", "Abstract Methods"))
+        self.ignoreOverloadCheckBox.setToolTip(_translate("CodeStyleCheckerDialog", "Ignore unused arguments for methods decorated with \'@overload\'."))
+        self.ignoreOverloadCheckBox.setText(_translate("CodeStyleCheckerDialog", "Overload Methods"))
+        self.ignoreOverrideCheckBox.setToolTip(_translate("CodeStyleCheckerDialog", "Ignore unused arguments for methods decorated with \'@override\'."))
+        self.ignoreOverrideCheckBox.setText(_translate("CodeStyleCheckerDialog", "Override Methods"))
+        self.ignoreStubsCheckBox.setToolTip(_translate("CodeStyleCheckerDialog", "Ignore unused arguments for methods consisting of a pass statement only."))
+        self.ignoreStubsCheckBox.setText(_translate("CodeStyleCheckerDialog", "Stub Methods"))
+        self.ignoreVariadicNamesCheckBox.setToolTip(_translate("CodeStyleCheckerDialog", "Ignore unused *args and **kwargs."))
+        self.ignoreVariadicNamesCheckBox.setText(_translate("CodeStyleCheckerDialog", "*args and **kwargs"))
+        self.ignoreLambdasCheckBox.setToolTip(_translate("CodeStyleCheckerDialog", "Ignore unused arguments for lambda functions."))
+        self.ignoreLambdasCheckBox.setText(_translate("CodeStyleCheckerDialog", "Lambda Functions"))
+        self.ignoreSlotsCheckBox.setToolTip(_translate("CodeStyleCheckerDialog", "Ignore unused arguments for methods decorated with \'@pyqtSlot\' or \'@Slot\'."))
+        self.ignoreSlotsCheckBox.setText(_translate("CodeStyleCheckerDialog", "Qt Slot Methods"))
+        self.ignoreEventHandlersCheckBox.setToolTip(_translate("CodeStyleCheckerDialog", "Ignore unused arguments for Qt event handler methods."))
+        self.ignoreEventHandlersCheckBox.setText(_translate("CodeStyleCheckerDialog", "Qt Event Handler Methods"))
+        self.ignoreDunderMethodsCheckBox.setToolTip(_translate("CodeStyleCheckerDialog", "Ignore unused arguments for methods starting and ending with double underscores."))
+        self.ignoreDunderMethodsCheckBox.setText(_translate("CodeStyleCheckerDialog", "Special Methods"))
+        self.ignoreDunderGlobalsCheckBox.setToolTip(_translate("CodeStyleCheckerDialog", "Ignore unused global variables starting and ending with double underscores."))
+        self.ignoreDunderGlobalsCheckBox.setText(_translate("CodeStyleCheckerDialog", "Special Global Variables"))
+        self.ignoreNestedFunctionsCheckBox.setToolTip(_translate("CodeStyleCheckerDialog", "Ignore unused arguments for nested functions."))
+        self.ignoreNestedFunctionsCheckBox.setText(_translate("CodeStyleCheckerDialog", "Nested Functions"))
+        self.optionsTabWidget.setTabText(self.optionsTabWidget.indexOf(self.unusedOptionsTab), _translate("CodeStyleCheckerDialog", "Unused"))
+        self.startButton.setToolTip(_translate("CodeStyleCheckerDialog", "Press to start the code style check run"))
+        self.startButton.setText(_translate("CodeStyleCheckerDialog", "&Start"))
+        self.loadDefaultButton.setToolTip(_translate("CodeStyleCheckerDialog", "Press to load the default values"))
+        self.loadDefaultButton.setText(_translate("CodeStyleCheckerDialog", "&Load Defaults"))
+        self.storeDefaultButton.setToolTip(_translate("CodeStyleCheckerDialog", "Press to store the current values as defaults"))
+        self.storeDefaultButton.setText(_translate("CodeStyleCheckerDialog", "St&ore Defaults"))
+        self.resetDefaultButton.setToolTip(_translate("CodeStyleCheckerDialog", "Press to reset the default values"))
+        self.resetDefaultButton.setText(_translate("CodeStyleCheckerDialog", "&Reset Defaults"))
+        self.mainWidget.setTabText(self.mainWidget.indexOf(self.configureTab), _translate("CodeStyleCheckerDialog", "Configure"))
+        self.progressList.setToolTip(_translate("CodeStyleCheckerDialog", "Shows the list of files still to be checked"))
+        self.progressList.setSortingEnabled(True)
+        self.checkProgress.setToolTip(_translate("CodeStyleCheckerDialog", "Shows the progress of the code style check"))
+        self.checkProgress.setFormat(_translate("CodeStyleCheckerDialog", "%v/%m Files"))
+        self.cancelButton.setText(_translate("CodeStyleCheckerDialog", "Cancel"))
+        self.mainWidget.setTabText(self.mainWidget.indexOf(self.progressTab), _translate("CodeStyleCheckerDialog", "Progress"))
+        self.securityNoteLabel.setText(_translate("CodeStyleCheckerDialog", "<b>Note:</b> Mark reviewed security issues with a \"<b>#  secok</b>\" comment."))
+        self.resultList.setWhatsThis(_translate("CodeStyleCheckerDialog", "<b>Result List</b>\n"
+"<p>This list shows the results of the code style check. Double clicking\n"
+"an entry will open this entry in an editor window and position the cursor at\n"
+"the respective line and position.</p>"))
+        self.resultList.setSortingEnabled(True)
+        self.resultList.headerItem().setText(0, _translate("CodeStyleCheckerDialog", "File/Line"))
+        self.resultList.headerItem().setText(1, _translate("CodeStyleCheckerDialog", "Code"))
+        self.resultList.headerItem().setText(2, _translate("CodeStyleCheckerDialog", "Message"))
+        self.restartButton.setToolTip(_translate("CodeStyleCheckerDialog", "Press to restart the code style check run"))
+        self.restartButton.setText(_translate("CodeStyleCheckerDialog", "Restart"))
+        self.fixButton.setToolTip(_translate("CodeStyleCheckerDialog", "Press to fix the selected issues"))
+        self.fixButton.setText(_translate("CodeStyleCheckerDialog", "&Fix Selected"))
+        self.showButton.setToolTip(_translate("CodeStyleCheckerDialog", "Press to show all files containing an issue"))
+        self.showButton.setText(_translate("CodeStyleCheckerDialog", "Show"))
+        self.statisticsButton.setToolTip(_translate("CodeStyleCheckerDialog", "Press to show some statistics for the last run"))
+        self.statisticsButton.setText(_translate("CodeStyleCheckerDialog", "Statistics..."))
+        self.label_31.setText(_translate("CodeStyleCheckerDialog", "Code Filter:"))
+        self.filterComboBox.setToolTip(_translate("CodeStyleCheckerDialog", "Select the message code to be shown (empty for all)"))
+        self.filterButton.setToolTip(_translate("CodeStyleCheckerDialog", "Press to filter the list of messages"))
+        self.filterButton.setText(_translate("CodeStyleCheckerDialog", "Filter"))
+        self.mainWidget.setTabText(self.mainWidget.indexOf(self.resultsTab), _translate("CodeStyleCheckerDialog", "Results"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/CheckerPlugins/CodeStyleChecker/Ui_CodeStyleCodeSelectionDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,50 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCodeSelectionDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_CodeStyleCodeSelectionDialog(object):
+    def setupUi(self, CodeStyleCodeSelectionDialog):
+        CodeStyleCodeSelectionDialog.setObjectName("CodeStyleCodeSelectionDialog")
+        CodeStyleCodeSelectionDialog.resize(500, 400)
+        CodeStyleCodeSelectionDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(CodeStyleCodeSelectionDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.label = QtWidgets.QLabel(parent=CodeStyleCodeSelectionDialog)
+        self.label.setObjectName("label")
+        self.verticalLayout.addWidget(self.label)
+        self.codeTable = QtWidgets.QTreeWidget(parent=CodeStyleCodeSelectionDialog)
+        self.codeTable.setEditTriggers(QtWidgets.QAbstractItemView.EditTrigger.NoEditTriggers)
+        self.codeTable.setAlternatingRowColors(True)
+        self.codeTable.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.ExtendedSelection)
+        self.codeTable.setSelectionBehavior(QtWidgets.QAbstractItemView.SelectionBehavior.SelectRows)
+        self.codeTable.setRootIsDecorated(False)
+        self.codeTable.setAllColumnsShowFocus(True)
+        self.codeTable.setWordWrap(True)
+        self.codeTable.setObjectName("codeTable")
+        self.verticalLayout.addWidget(self.codeTable)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=CodeStyleCodeSelectionDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(CodeStyleCodeSelectionDialog)
+        self.buttonBox.accepted.connect(CodeStyleCodeSelectionDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(CodeStyleCodeSelectionDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(CodeStyleCodeSelectionDialog)
+        CodeStyleCodeSelectionDialog.setTabOrder(self.codeTable, self.buttonBox)
+
+    def retranslateUi(self, CodeStyleCodeSelectionDialog):
+        _translate = QtCore.QCoreApplication.translate
+        CodeStyleCodeSelectionDialog.setWindowTitle(_translate("CodeStyleCodeSelectionDialog", "Code Style Message Codes"))
+        self.label.setText(_translate("CodeStyleCodeSelectionDialog", "Select the message codes from the list:"))
+        self.codeTable.setToolTip(_translate("CodeStyleCodeSelectionDialog", "Select the message codes from this table"))
+        self.codeTable.headerItem().setText(0, _translate("CodeStyleCodeSelectionDialog", "Code"))
+        self.codeTable.headerItem().setText(1, _translate("CodeStyleCodeSelectionDialog", "Message"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/CheckerPlugins/CodeStyleChecker/Ui_CodeStyleStatisticsDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,63 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleStatisticsDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_CodeStyleStatisticsDialog(object):
+    def setupUi(self, CodeStyleStatisticsDialog):
+        CodeStyleStatisticsDialog.setObjectName("CodeStyleStatisticsDialog")
+        CodeStyleStatisticsDialog.resize(531, 372)
+        self.verticalLayout = QtWidgets.QVBoxLayout(CodeStyleStatisticsDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.statisticsList = QtWidgets.QTreeWidget(parent=CodeStyleStatisticsDialog)
+        self.statisticsList.setAlternatingRowColors(True)
+        self.statisticsList.setRootIsDecorated(False)
+        self.statisticsList.setWordWrap(True)
+        self.statisticsList.setObjectName("statisticsList")
+        self.verticalLayout.addWidget(self.statisticsList)
+        self.gridLayout = QtWidgets.QGridLayout()
+        self.gridLayout.setObjectName("gridLayout")
+        self.filesChecked = QtWidgets.QLabel(parent=CodeStyleStatisticsDialog)
+        self.filesChecked.setObjectName("filesChecked")
+        self.gridLayout.addWidget(self.filesChecked, 0, 0, 1, 1)
+        self.filesIssues = QtWidgets.QLabel(parent=CodeStyleStatisticsDialog)
+        self.filesIssues.setObjectName("filesIssues")
+        self.gridLayout.addWidget(self.filesIssues, 0, 1, 1, 1)
+        self.totalIssues = QtWidgets.QLabel(parent=CodeStyleStatisticsDialog)
+        self.totalIssues.setObjectName("totalIssues")
+        self.gridLayout.addWidget(self.totalIssues, 1, 0, 1, 1)
+        self.ignoredIssues = QtWidgets.QLabel(parent=CodeStyleStatisticsDialog)
+        self.ignoredIssues.setObjectName("ignoredIssues")
+        self.gridLayout.addWidget(self.ignoredIssues, 1, 1, 1, 1)
+        self.fixedIssues = QtWidgets.QLabel(parent=CodeStyleStatisticsDialog)
+        self.fixedIssues.setObjectName("fixedIssues")
+        self.gridLayout.addWidget(self.fixedIssues, 2, 0, 1, 1)
+        self.securityOk = QtWidgets.QLabel(parent=CodeStyleStatisticsDialog)
+        self.securityOk.setObjectName("securityOk")
+        self.gridLayout.addWidget(self.securityOk, 2, 1, 1, 1)
+        self.verticalLayout.addLayout(self.gridLayout)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=CodeStyleStatisticsDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(CodeStyleStatisticsDialog)
+        self.buttonBox.accepted.connect(CodeStyleStatisticsDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(CodeStyleStatisticsDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(CodeStyleStatisticsDialog)
+        CodeStyleStatisticsDialog.setTabOrder(self.statisticsList, self.buttonBox)
+
+    def retranslateUi(self, CodeStyleStatisticsDialog):
+        _translate = QtCore.QCoreApplication.translate
+        CodeStyleStatisticsDialog.setWindowTitle(_translate("CodeStyleStatisticsDialog", "Code Style Checker Statistics"))
+        self.statisticsList.headerItem().setText(0, _translate("CodeStyleStatisticsDialog", "Code"))
+        self.statisticsList.headerItem().setText(1, _translate("CodeStyleStatisticsDialog", "Open"))
+        self.statisticsList.headerItem().setText(2, _translate("CodeStyleStatisticsDialog", "Ignored"))
+        self.statisticsList.headerItem().setText(3, _translate("CodeStyleStatisticsDialog", "Message"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/CheckerPlugins/SyntaxChecker/Ui_SyntaxCheckerDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,194 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheckerDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_SyntaxCheckerDialog(object):
+    def setupUi(self, SyntaxCheckerDialog):
+        SyntaxCheckerDialog.setObjectName("SyntaxCheckerDialog")
+        SyntaxCheckerDialog.resize(800, 700)
+        SyntaxCheckerDialog.setSizeGripEnabled(True)
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(SyntaxCheckerDialog)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.filterFrame = QtWidgets.QFrame(parent=SyntaxCheckerDialog)
+        self.filterFrame.setObjectName("filterFrame")
+        self.gridLayout = QtWidgets.QGridLayout(self.filterFrame)
+        self.gridLayout.setContentsMargins(0, 0, 0, 0)
+        self.gridLayout.setObjectName("gridLayout")
+        self.label_2 = QtWidgets.QLabel(parent=self.filterFrame)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 0, 0, 1, 1)
+        self.excludeFilesEdit = QtWidgets.QLineEdit(parent=self.filterFrame)
+        self.excludeFilesEdit.setClearButtonEnabled(True)
+        self.excludeFilesEdit.setObjectName("excludeFilesEdit")
+        self.gridLayout.addWidget(self.excludeFilesEdit, 0, 1, 1, 1)
+        self.line = QtWidgets.QFrame(parent=self.filterFrame)
+        self.line.setLineWidth(2)
+        self.line.setFrameShape(QtWidgets.QFrame.Shape.VLine)
+        self.line.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line.setObjectName("line")
+        self.gridLayout.addWidget(self.line, 0, 2, 2, 1)
+        self.startButton = QtWidgets.QPushButton(parent=self.filterFrame)
+        self.startButton.setObjectName("startButton")
+        self.gridLayout.addWidget(self.startButton, 0, 3, 1, 1)
+        self.label_3 = QtWidgets.QLabel(parent=self.filterFrame)
+        self.label_3.setObjectName("label_3")
+        self.gridLayout.addWidget(self.label_3, 1, 0, 1, 1)
+        self.builtinsEdit = QtWidgets.QLineEdit(parent=self.filterFrame)
+        self.builtinsEdit.setClearButtonEnabled(True)
+        self.builtinsEdit.setObjectName("builtinsEdit")
+        self.gridLayout.addWidget(self.builtinsEdit, 1, 1, 1, 1)
+        self.verticalLayout_2.addWidget(self.filterFrame)
+        self.resultList = QtWidgets.QTreeWidget(parent=SyntaxCheckerDialog)
+        self.resultList.setAlternatingRowColors(True)
+        self.resultList.setExpandsOnDoubleClick(False)
+        self.resultList.setObjectName("resultList")
+        self.verticalLayout_2.addWidget(self.resultList)
+        self.checkProgress = QtWidgets.QProgressBar(parent=SyntaxCheckerDialog)
+        self.checkProgress.setProperty("value", 0)
+        self.checkProgress.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.checkProgress.setObjectName("checkProgress")
+        self.verticalLayout_2.addWidget(self.checkProgress)
+        self.statisticsGroup = QtWidgets.QGroupBox(parent=SyntaxCheckerDialog)
+        self.statisticsGroup.setObjectName("statisticsGroup")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.statisticsGroup)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.label_8 = QtWidgets.QLabel(parent=self.statisticsGroup)
+        self.label_8.setObjectName("label_8")
+        self.horizontalLayout.addWidget(self.label_8)
+        self.totalLabel = QtWidgets.QLabel(parent=self.statisticsGroup)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.totalLabel.sizePolicy().hasHeightForWidth())
+        self.totalLabel.setSizePolicy(sizePolicy)
+        self.totalLabel.setText("")
+        self.totalLabel.setObjectName("totalLabel")
+        self.horizontalLayout.addWidget(self.totalLabel)
+        self.label_9 = QtWidgets.QLabel(parent=self.statisticsGroup)
+        self.label_9.setObjectName("label_9")
+        self.horizontalLayout.addWidget(self.label_9)
+        self.skippedLabel = QtWidgets.QLabel(parent=self.statisticsGroup)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.skippedLabel.sizePolicy().hasHeightForWidth())
+        self.skippedLabel.setSizePolicy(sizePolicy)
+        self.skippedLabel.setText("")
+        self.skippedLabel.setObjectName("skippedLabel")
+        self.horizontalLayout.addWidget(self.skippedLabel)
+        self.label = QtWidgets.QLabel(parent=self.statisticsGroup)
+        self.label.setObjectName("label")
+        self.horizontalLayout.addWidget(self.label)
+        self.checkedLabel = QtWidgets.QLabel(parent=self.statisticsGroup)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.checkedLabel.sizePolicy().hasHeightForWidth())
+        self.checkedLabel.setSizePolicy(sizePolicy)
+        self.checkedLabel.setText("")
+        self.checkedLabel.setObjectName("checkedLabel")
+        self.horizontalLayout.addWidget(self.checkedLabel)
+        self.label_4 = QtWidgets.QLabel(parent=self.statisticsGroup)
+        self.label_4.setObjectName("label_4")
+        self.horizontalLayout.addWidget(self.label_4)
+        self.issuesLabel = QtWidgets.QLabel(parent=self.statisticsGroup)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.issuesLabel.sizePolicy().hasHeightForWidth())
+        self.issuesLabel.setSizePolicy(sizePolicy)
+        self.issuesLabel.setText("")
+        self.issuesLabel.setObjectName("issuesLabel")
+        self.horizontalLayout.addWidget(self.issuesLabel)
+        self.verticalLayout.addLayout(self.horizontalLayout)
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.label_5 = QtWidgets.QLabel(parent=self.statisticsGroup)
+        self.label_5.setObjectName("label_5")
+        self.horizontalLayout_2.addWidget(self.label_5)
+        self.errorsLabel = QtWidgets.QLabel(parent=self.statisticsGroup)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.errorsLabel.sizePolicy().hasHeightForWidth())
+        self.errorsLabel.setSizePolicy(sizePolicy)
+        self.errorsLabel.setText("")
+        self.errorsLabel.setObjectName("errorsLabel")
+        self.horizontalLayout_2.addWidget(self.errorsLabel)
+        self.label_6 = QtWidgets.QLabel(parent=self.statisticsGroup)
+        self.label_6.setObjectName("label_6")
+        self.horizontalLayout_2.addWidget(self.label_6)
+        self.warningsLabel = QtWidgets.QLabel(parent=self.statisticsGroup)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.warningsLabel.sizePolicy().hasHeightForWidth())
+        self.warningsLabel.setSizePolicy(sizePolicy)
+        self.warningsLabel.setText("")
+        self.warningsLabel.setObjectName("warningsLabel")
+        self.horizontalLayout_2.addWidget(self.warningsLabel)
+        self.label_7 = QtWidgets.QLabel(parent=self.statisticsGroup)
+        self.label_7.setObjectName("label_7")
+        self.horizontalLayout_2.addWidget(self.label_7)
+        self.pyWarningsLabel = QtWidgets.QLabel(parent=self.statisticsGroup)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.pyWarningsLabel.sizePolicy().hasHeightForWidth())
+        self.pyWarningsLabel.setSizePolicy(sizePolicy)
+        self.pyWarningsLabel.setText("")
+        self.pyWarningsLabel.setObjectName("pyWarningsLabel")
+        self.horizontalLayout_2.addWidget(self.pyWarningsLabel)
+        self.verticalLayout.addLayout(self.horizontalLayout_2)
+        self.verticalLayout_2.addWidget(self.statisticsGroup)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=SyntaxCheckerDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout_2.addWidget(self.buttonBox)
+
+        self.retranslateUi(SyntaxCheckerDialog)
+        QtCore.QMetaObject.connectSlotsByName(SyntaxCheckerDialog)
+        SyntaxCheckerDialog.setTabOrder(self.excludeFilesEdit, self.builtinsEdit)
+        SyntaxCheckerDialog.setTabOrder(self.builtinsEdit, self.startButton)
+        SyntaxCheckerDialog.setTabOrder(self.startButton, self.resultList)
+
+    def retranslateUi(self, SyntaxCheckerDialog):
+        _translate = QtCore.QCoreApplication.translate
+        SyntaxCheckerDialog.setWindowTitle(_translate("SyntaxCheckerDialog", "Syntax Check Result"))
+        SyntaxCheckerDialog.setWhatsThis(_translate("SyntaxCheckerDialog", "<b>Syntax Check Results</b>\n"
+"<p>This dialog shows the results of the syntax check. Double clicking an\n"
+"entry will open an editor window and position the cursor at the respective line.</p>"))
+        self.label_2.setText(_translate("SyntaxCheckerDialog", "Exclude Files:"))
+        self.excludeFilesEdit.setToolTip(_translate("SyntaxCheckerDialog", "Enter filename patterns of files to be excluded separated by a comma"))
+        self.startButton.setToolTip(_translate("SyntaxCheckerDialog", "Press to start the syntax check run"))
+        self.startButton.setText(_translate("SyntaxCheckerDialog", "Start"))
+        self.label_3.setText(_translate("SyntaxCheckerDialog", "Additional \'builtins\':"))
+        self.builtinsEdit.setToolTip(_translate("SyntaxCheckerDialog", "Enter additional \'builtins\' names separated by whitespace."))
+        self.resultList.setWhatsThis(_translate("SyntaxCheckerDialog", "<b>Result List</b>\n"
+"<p>This list shows the results of the syntax check. Double clicking\n"
+"an entry will open this entry in an editor window and position the cursor at\n"
+"the respective line.</p>"))
+        self.resultList.setSortingEnabled(True)
+        self.resultList.headerItem().setText(0, _translate("SyntaxCheckerDialog", "File/Line"))
+        self.resultList.headerItem().setText(1, _translate("SyntaxCheckerDialog", "Message"))
+        self.resultList.headerItem().setText(2, _translate("SyntaxCheckerDialog", "Source"))
+        self.checkProgress.setToolTip(_translate("SyntaxCheckerDialog", "Shows the progress of the syntax check action"))
+        self.checkProgress.setFormat(_translate("SyntaxCheckerDialog", "%v/%m Files"))
+        self.statisticsGroup.setTitle(_translate("SyntaxCheckerDialog", "Statistics"))
+        self.label_8.setText(_translate("SyntaxCheckerDialog", "Files Total:"))
+        self.label_9.setText(_translate("SyntaxCheckerDialog", "Files Skipped:"))
+        self.label.setText(_translate("SyntaxCheckerDialog", "Files Checked:"))
+        self.label_4.setText(_translate("SyntaxCheckerDialog", "Files with Issues:"))
+        self.label_5.setText(_translate("SyntaxCheckerDialog", "Errors:"))
+        self.label_6.setText(_translate("SyntaxCheckerDialog", "Warnings:"))
+        self.label_7.setText(_translate("SyntaxCheckerDialog", "Python Warnings:"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/DocumentationPlugins/Ericapi/Ui_EricapiConfigDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,180 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/DocumentationPlugins/Ericapi/EricapiConfigDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_EricapiConfigDialog(object):
+    def setupUi(self, EricapiConfigDialog):
+        EricapiConfigDialog.setObjectName("EricapiConfigDialog")
+        EricapiConfigDialog.resize(500, 600)
+        EricapiConfigDialog.setSizeGripEnabled(True)
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(EricapiConfigDialog)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.label_7 = QtWidgets.QLabel(parent=EricapiConfigDialog)
+        self.label_7.setObjectName("label_7")
+        self.horizontalLayout_2.addWidget(self.label_7)
+        self.startDirPicker = EricPathPicker(parent=EricapiConfigDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.startDirPicker.sizePolicy().hasHeightForWidth())
+        self.startDirPicker.setSizePolicy(sizePolicy)
+        self.startDirPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.startDirPicker.setObjectName("startDirPicker")
+        self.horizontalLayout_2.addWidget(self.startDirPicker)
+        self.verticalLayout_2.addLayout(self.horizontalLayout_2)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.TextLabel6 = QtWidgets.QLabel(parent=EricapiConfigDialog)
+        self.TextLabel6.setObjectName("TextLabel6")
+        self.horizontalLayout.addWidget(self.TextLabel6)
+        self.outputFilePicker = EricPathPicker(parent=EricapiConfigDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.outputFilePicker.sizePolicy().hasHeightForWidth())
+        self.outputFilePicker.setSizePolicy(sizePolicy)
+        self.outputFilePicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.outputFilePicker.setObjectName("outputFilePicker")
+        self.horizontalLayout.addWidget(self.outputFilePicker)
+        self.verticalLayout_2.addLayout(self.horizontalLayout)
+        self.groupBox_2 = QtWidgets.QGroupBox(parent=EricapiConfigDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(1)
+        sizePolicy.setHeightForWidth(self.groupBox_2.sizePolicy().hasHeightForWidth())
+        self.groupBox_2.setSizePolicy(sizePolicy)
+        self.groupBox_2.setObjectName("groupBox_2")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.groupBox_2)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.languagesList = QtWidgets.QListWidget(parent=self.groupBox_2)
+        self.languagesList.setAlternatingRowColors(True)
+        self.languagesList.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.ExtendedSelection)
+        self.languagesList.setObjectName("languagesList")
+        self.verticalLayout.addWidget(self.languagesList)
+        self.verticalLayout_2.addWidget(self.groupBox_2)
+        self.hboxlayout = QtWidgets.QHBoxLayout()
+        self.hboxlayout.setObjectName("hboxlayout")
+        self.textLabel1_3 = QtWidgets.QLabel(parent=EricapiConfigDialog)
+        self.textLabel1_3.setObjectName("textLabel1_3")
+        self.hboxlayout.addWidget(self.textLabel1_3)
+        self.sourceExtEdit = QtWidgets.QLineEdit(parent=EricapiConfigDialog)
+        self.sourceExtEdit.setObjectName("sourceExtEdit")
+        self.hboxlayout.addWidget(self.sourceExtEdit)
+        self.verticalLayout_2.addLayout(self.hboxlayout)
+        self.gridlayout = QtWidgets.QGridLayout()
+        self.gridlayout.setObjectName("gridlayout")
+        spacerItem = QtWidgets.QSpacerItem(31, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridlayout.addItem(spacerItem, 0, 1, 1, 1)
+        self.recursionCheckBox = QtWidgets.QCheckBox(parent=EricapiConfigDialog)
+        self.recursionCheckBox.setObjectName("recursionCheckBox")
+        self.gridlayout.addWidget(self.recursionCheckBox, 0, 0, 1, 1)
+        self.includePrivateCheckBox = QtWidgets.QCheckBox(parent=EricapiConfigDialog)
+        self.includePrivateCheckBox.setObjectName("includePrivateCheckBox")
+        self.gridlayout.addWidget(self.includePrivateCheckBox, 1, 0, 1, 2)
+        self.verticalLayout_2.addLayout(self.gridlayout)
+        self.hboxlayout1 = QtWidgets.QHBoxLayout()
+        self.hboxlayout1.setObjectName("hboxlayout1")
+        self.label = QtWidgets.QLabel(parent=EricapiConfigDialog)
+        self.label.setObjectName("label")
+        self.hboxlayout1.addWidget(self.label)
+        self.baseEdit = QtWidgets.QLineEdit(parent=EricapiConfigDialog)
+        self.baseEdit.setObjectName("baseEdit")
+        self.hboxlayout1.addWidget(self.baseEdit)
+        self.verticalLayout_2.addLayout(self.hboxlayout1)
+        self.hboxlayout2 = QtWidgets.QHBoxLayout()
+        self.hboxlayout2.setObjectName("hboxlayout2")
+        self.label_2 = QtWidgets.QLabel(parent=EricapiConfigDialog)
+        self.label_2.setObjectName("label_2")
+        self.hboxlayout2.addWidget(self.label_2)
+        self.excludeFilesEdit = QtWidgets.QLineEdit(parent=EricapiConfigDialog)
+        self.excludeFilesEdit.setObjectName("excludeFilesEdit")
+        self.hboxlayout2.addWidget(self.excludeFilesEdit)
+        self.verticalLayout_2.addLayout(self.hboxlayout2)
+        self.groupBox = QtWidgets.QGroupBox(parent=EricapiConfigDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(2)
+        sizePolicy.setHeightForWidth(self.groupBox.sizePolicy().hasHeightForWidth())
+        self.groupBox.setSizePolicy(sizePolicy)
+        self.groupBox.setObjectName("groupBox")
+        self.gridLayout = QtWidgets.QGridLayout(self.groupBox)
+        self.gridLayout.setObjectName("gridLayout")
+        self.ignoreDirsList = QtWidgets.QListWidget(parent=self.groupBox)
+        self.ignoreDirsList.setAlternatingRowColors(True)
+        self.ignoreDirsList.setObjectName("ignoreDirsList")
+        self.gridLayout.addWidget(self.ignoreDirsList, 0, 0, 1, 3)
+        self.deleteButton = QtWidgets.QPushButton(parent=self.groupBox)
+        self.deleteButton.setObjectName("deleteButton")
+        self.gridLayout.addWidget(self.deleteButton, 1, 0, 1, 1)
+        self.addButton = QtWidgets.QPushButton(parent=self.groupBox)
+        self.addButton.setObjectName("addButton")
+        self.gridLayout.addWidget(self.addButton, 1, 1, 1, 1)
+        self.ignoreDirPicker = EricPathPicker(parent=self.groupBox)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.ignoreDirPicker.sizePolicy().hasHeightForWidth())
+        self.ignoreDirPicker.setSizePolicy(sizePolicy)
+        self.ignoreDirPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.ignoreDirPicker.setObjectName("ignoreDirPicker")
+        self.gridLayout.addWidget(self.ignoreDirPicker, 1, 2, 1, 1)
+        self.verticalLayout_2.addWidget(self.groupBox)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=EricapiConfigDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout_2.addWidget(self.buttonBox)
+
+        self.retranslateUi(EricapiConfigDialog)
+        self.buttonBox.accepted.connect(EricapiConfigDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(EricapiConfigDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(EricapiConfigDialog)
+        EricapiConfigDialog.setTabOrder(self.startDirPicker, self.outputFilePicker)
+        EricapiConfigDialog.setTabOrder(self.outputFilePicker, self.languagesList)
+        EricapiConfigDialog.setTabOrder(self.languagesList, self.sourceExtEdit)
+        EricapiConfigDialog.setTabOrder(self.sourceExtEdit, self.recursionCheckBox)
+        EricapiConfigDialog.setTabOrder(self.recursionCheckBox, self.includePrivateCheckBox)
+        EricapiConfigDialog.setTabOrder(self.includePrivateCheckBox, self.baseEdit)
+        EricapiConfigDialog.setTabOrder(self.baseEdit, self.excludeFilesEdit)
+        EricapiConfigDialog.setTabOrder(self.excludeFilesEdit, self.ignoreDirPicker)
+        EricapiConfigDialog.setTabOrder(self.ignoreDirPicker, self.addButton)
+        EricapiConfigDialog.setTabOrder(self.addButton, self.ignoreDirsList)
+        EricapiConfigDialog.setTabOrder(self.ignoreDirsList, self.deleteButton)
+
+    def retranslateUi(self, EricapiConfigDialog):
+        _translate = QtCore.QCoreApplication.translate
+        EricapiConfigDialog.setWindowTitle(_translate("EricapiConfigDialog", "Ericapi Configuration"))
+        self.label_7.setText(_translate("EricapiConfigDialog", "Start Directory:"))
+        self.startDirPicker.setToolTip(_translate("EricapiConfigDialog", "Enter the start directory for the API generator"))
+        self.TextLabel6.setText(_translate("EricapiConfigDialog", "Output File:"))
+        self.outputFilePicker.setToolTip(_translate("EricapiConfigDialog", "Enter an output filename"))
+        self.outputFilePicker.setWhatsThis(_translate("EricapiConfigDialog", "<b>Output Filename</b><p>Enter the filename of the output file. A \'%L\' placeholder is replaced by the language of the API file.</p>"))
+        self.groupBox_2.setTitle(_translate("EricapiConfigDialog", "Languages"))
+        self.languagesList.setToolTip(_translate("EricapiConfigDialog", "Select the languages of the  APIs to generate"))
+        self.textLabel1_3.setText(_translate("EricapiConfigDialog", "Additional source extensions:"))
+        self.sourceExtEdit.setToolTip(_translate("EricapiConfigDialog", "Enter additional source extensions separated by a comma"))
+        self.recursionCheckBox.setToolTip(_translate("EricapiConfigDialog", "Select to recurse into subdirectories"))
+        self.recursionCheckBox.setText(_translate("EricapiConfigDialog", "Recurse into subdirectories"))
+        self.includePrivateCheckBox.setToolTip(_translate("EricapiConfigDialog", "Select to include private classes, methods and functions in the API file"))
+        self.includePrivateCheckBox.setText(_translate("EricapiConfigDialog", "Include private classes, methods and functions"))
+        self.label.setText(_translate("EricapiConfigDialog", "Base package name:"))
+        self.baseEdit.setToolTip(_translate("EricapiConfigDialog", "Enter the name of the base package"))
+        self.label_2.setText(_translate("EricapiConfigDialog", "Exclude Files:"))
+        self.excludeFilesEdit.setToolTip(_translate("EricapiConfigDialog", "Enter filename patterns of files to be excluded separated by a comma"))
+        self.groupBox.setTitle(_translate("EricapiConfigDialog", "Exclude Directories"))
+        self.ignoreDirsList.setToolTip(_translate("EricapiConfigDialog", "List of directory basenames to be ignored"))
+        self.deleteButton.setToolTip(_translate("EricapiConfigDialog", "Press to delete the selected directory from the list"))
+        self.deleteButton.setText(_translate("EricapiConfigDialog", "Delete"))
+        self.addButton.setToolTip(_translate("EricapiConfigDialog", "Press to add the entered directory to the list"))
+        self.addButton.setText(_translate("EricapiConfigDialog", "Add"))
+        self.ignoreDirPicker.setToolTip(_translate("EricapiConfigDialog", "Enter a directory basename to be ignored"))
+from eric7.EricWidgets.EricPathPicker import EricPathPicker
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/DocumentationPlugins/Ericapi/Ui_EricapiExecDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,76 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/DocumentationPlugins/Ericapi/EricapiExecDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_EricapiExecDialog(object):
+    def setupUi(self, EricapiExecDialog):
+        EricapiExecDialog.setObjectName("EricapiExecDialog")
+        EricapiExecDialog.resize(753, 602)
+        EricapiExecDialog.setSizeGripEnabled(True)
+        self.verticalLayout_3 = QtWidgets.QVBoxLayout(EricapiExecDialog)
+        self.verticalLayout_3.setObjectName("verticalLayout_3")
+        self.splitter = QtWidgets.QSplitter(parent=EricapiExecDialog)
+        self.splitter.setOrientation(QtCore.Qt.Orientation.Vertical)
+        self.splitter.setObjectName("splitter")
+        self.messagesGroup = QtWidgets.QGroupBox(parent=self.splitter)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(3)
+        sizePolicy.setHeightForWidth(self.messagesGroup.sizePolicy().hasHeightForWidth())
+        self.messagesGroup.setSizePolicy(sizePolicy)
+        self.messagesGroup.setObjectName("messagesGroup")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.messagesGroup)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.contents = QtWidgets.QTextBrowser(parent=self.messagesGroup)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(3)
+        sizePolicy.setHeightForWidth(self.contents.sizePolicy().hasHeightForWidth())
+        self.contents.setSizePolicy(sizePolicy)
+        self.contents.setObjectName("contents")
+        self.verticalLayout.addWidget(self.contents)
+        self.errorGroup = QtWidgets.QGroupBox(parent=self.splitter)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(1)
+        sizePolicy.setHeightForWidth(self.errorGroup.sizePolicy().hasHeightForWidth())
+        self.errorGroup.setSizePolicy(sizePolicy)
+        self.errorGroup.setObjectName("errorGroup")
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.errorGroup)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.errors = QtWidgets.QTextBrowser(parent=self.errorGroup)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(1)
+        sizePolicy.setHeightForWidth(self.errors.sizePolicy().hasHeightForWidth())
+        self.errors.setSizePolicy(sizePolicy)
+        self.errors.setObjectName("errors")
+        self.verticalLayout_2.addWidget(self.errors)
+        self.verticalLayout_3.addWidget(self.splitter)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=EricapiExecDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout_3.addWidget(self.buttonBox)
+
+        self.retranslateUi(EricapiExecDialog)
+        QtCore.QMetaObject.connectSlotsByName(EricapiExecDialog)
+        EricapiExecDialog.setTabOrder(self.contents, self.errors)
+        EricapiExecDialog.setTabOrder(self.errors, self.buttonBox)
+
+    def retranslateUi(self, EricapiExecDialog):
+        _translate = QtCore.QCoreApplication.translate
+        EricapiExecDialog.setWindowTitle(_translate("EricapiExecDialog", "Ericapi"))
+        self.messagesGroup.setTitle(_translate("EricapiExecDialog", "Messages"))
+        self.contents.setWhatsThis(_translate("EricapiExecDialog", "<b>Ericapi Execution</b>\n"
+"<p>This shows the output of the Ericapi generator command.</p>"))
+        self.errorGroup.setTitle(_translate("EricapiExecDialog", "Errors"))
+        self.errors.setWhatsThis(_translate("EricapiExecDialog", "<b>Ericapi Execution</b>\n"
+"<p>This shows the errors of the Ericapi generator command.</p>"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/DocumentationPlugins/Ericdoc/Ui_EricdocConfigDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,348 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/DocumentationPlugins/Ericdoc/EricdocConfigDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_EricdocConfigDialog(object):
+    def setupUi(self, EricdocConfigDialog):
+        EricdocConfigDialog.setObjectName("EricdocConfigDialog")
+        EricdocConfigDialog.resize(550, 600)
+        EricdocConfigDialog.setSizeGripEnabled(True)
+        self.vboxlayout = QtWidgets.QVBoxLayout(EricdocConfigDialog)
+        self.vboxlayout.setObjectName("vboxlayout")
+        self.tabWidget = QtWidgets.QTabWidget(parent=EricdocConfigDialog)
+        self.tabWidget.setObjectName("tabWidget")
+        self.generalTab = QtWidgets.QWidget()
+        self.generalTab.setObjectName("generalTab")
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.generalTab)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.label_7 = QtWidgets.QLabel(parent=self.generalTab)
+        self.label_7.setObjectName("label_7")
+        self.horizontalLayout.addWidget(self.label_7)
+        self.startDirPicker = EricPathPicker(parent=self.generalTab)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.startDirPicker.sizePolicy().hasHeightForWidth())
+        self.startDirPicker.setSizePolicy(sizePolicy)
+        self.startDirPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.startDirPicker.setObjectName("startDirPicker")
+        self.horizontalLayout.addWidget(self.startDirPicker)
+        self.verticalLayout_2.addLayout(self.horizontalLayout)
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.TextLabel6 = QtWidgets.QLabel(parent=self.generalTab)
+        self.TextLabel6.setObjectName("TextLabel6")
+        self.horizontalLayout_2.addWidget(self.TextLabel6)
+        self.outputDirPicker = EricPathPicker(parent=self.generalTab)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.outputDirPicker.sizePolicy().hasHeightForWidth())
+        self.outputDirPicker.setSizePolicy(sizePolicy)
+        self.outputDirPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.outputDirPicker.setObjectName("outputDirPicker")
+        self.horizontalLayout_2.addWidget(self.outputDirPicker)
+        self.verticalLayout_2.addLayout(self.horizontalLayout_2)
+        self.hboxlayout = QtWidgets.QHBoxLayout()
+        self.hboxlayout.setObjectName("hboxlayout")
+        self.textLabel1_3 = QtWidgets.QLabel(parent=self.generalTab)
+        self.textLabel1_3.setObjectName("textLabel1_3")
+        self.hboxlayout.addWidget(self.textLabel1_3)
+        self.sourceExtEdit = QtWidgets.QLineEdit(parent=self.generalTab)
+        self.sourceExtEdit.setObjectName("sourceExtEdit")
+        self.hboxlayout.addWidget(self.sourceExtEdit)
+        self.verticalLayout_2.addLayout(self.hboxlayout)
+        self.hboxlayout1 = QtWidgets.QHBoxLayout()
+        self.hboxlayout1.setObjectName("hboxlayout1")
+        self.recursionCheckBox = QtWidgets.QCheckBox(parent=self.generalTab)
+        self.recursionCheckBox.setObjectName("recursionCheckBox")
+        self.hboxlayout1.addWidget(self.recursionCheckBox)
+        self.noindexCheckBox = QtWidgets.QCheckBox(parent=self.generalTab)
+        self.noindexCheckBox.setObjectName("noindexCheckBox")
+        self.hboxlayout1.addWidget(self.noindexCheckBox)
+        spacerItem = QtWidgets.QSpacerItem(145, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.hboxlayout1.addItem(spacerItem)
+        self.verticalLayout_2.addLayout(self.hboxlayout1)
+        self.hboxlayout2 = QtWidgets.QHBoxLayout()
+        self.hboxlayout2.setObjectName("hboxlayout2")
+        self.noemptyCheckBox = QtWidgets.QCheckBox(parent=self.generalTab)
+        self.noemptyCheckBox.setObjectName("noemptyCheckBox")
+        self.hboxlayout2.addWidget(self.noemptyCheckBox)
+        spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.hboxlayout2.addItem(spacerItem1)
+        self.verticalLayout_2.addLayout(self.hboxlayout2)
+        self.hboxlayout3 = QtWidgets.QHBoxLayout()
+        self.hboxlayout3.setObjectName("hboxlayout3")
+        self.label = QtWidgets.QLabel(parent=self.generalTab)
+        self.label.setObjectName("label")
+        self.hboxlayout3.addWidget(self.label)
+        self.excludeFilesEdit = QtWidgets.QLineEdit(parent=self.generalTab)
+        self.excludeFilesEdit.setObjectName("excludeFilesEdit")
+        self.hboxlayout3.addWidget(self.excludeFilesEdit)
+        self.verticalLayout_2.addLayout(self.hboxlayout3)
+        self.groupBox = QtWidgets.QGroupBox(parent=self.generalTab)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(2)
+        sizePolicy.setHeightForWidth(self.groupBox.sizePolicy().hasHeightForWidth())
+        self.groupBox.setSizePolicy(sizePolicy)
+        self.groupBox.setObjectName("groupBox")
+        self.gridLayout_2 = QtWidgets.QGridLayout(self.groupBox)
+        self.gridLayout_2.setObjectName("gridLayout_2")
+        self.addButton = QtWidgets.QPushButton(parent=self.groupBox)
+        self.addButton.setObjectName("addButton")
+        self.gridLayout_2.addWidget(self.addButton, 1, 1, 1, 1)
+        self.deleteButton = QtWidgets.QPushButton(parent=self.groupBox)
+        self.deleteButton.setObjectName("deleteButton")
+        self.gridLayout_2.addWidget(self.deleteButton, 1, 0, 1, 1)
+        self.ignoreDirsList = QtWidgets.QListWidget(parent=self.groupBox)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(3)
+        sizePolicy.setHeightForWidth(self.ignoreDirsList.sizePolicy().hasHeightForWidth())
+        self.ignoreDirsList.setSizePolicy(sizePolicy)
+        self.ignoreDirsList.setAlternatingRowColors(True)
+        self.ignoreDirsList.setObjectName("ignoreDirsList")
+        self.gridLayout_2.addWidget(self.ignoreDirsList, 0, 0, 1, 3)
+        self.ignoreDirPicker = EricPathPicker(parent=self.groupBox)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.ignoreDirPicker.sizePolicy().hasHeightForWidth())
+        self.ignoreDirPicker.setSizePolicy(sizePolicy)
+        self.ignoreDirPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.ignoreDirPicker.setObjectName("ignoreDirPicker")
+        self.gridLayout_2.addWidget(self.ignoreDirPicker, 1, 2, 1, 1)
+        self.verticalLayout_2.addWidget(self.groupBox)
+        self.tabWidget.addTab(self.generalTab, "")
+        self.styleTab = QtWidgets.QWidget()
+        self.styleTab.setObjectName("styleTab")
+        self.vboxlayout1 = QtWidgets.QVBoxLayout(self.styleTab)
+        self.vboxlayout1.setObjectName("vboxlayout1")
+        self.groupBox_3 = QtWidgets.QGroupBox(parent=self.styleTab)
+        self.groupBox_3.setObjectName("groupBox_3")
+        self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.groupBox_3)
+        self.verticalLayout_3.setObjectName("verticalLayout_3")
+        self.cssPicker = EricPathPicker(parent=self.groupBox_3)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.cssPicker.sizePolicy().hasHeightForWidth())
+        self.cssPicker.setSizePolicy(sizePolicy)
+        self.cssPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.cssPicker.setObjectName("cssPicker")
+        self.verticalLayout_3.addWidget(self.cssPicker)
+        self.vboxlayout1.addWidget(self.groupBox_3)
+        self.groupBox_2 = QtWidgets.QGroupBox(parent=self.styleTab)
+        self.groupBox_2.setObjectName("groupBox_2")
+        self.gridlayout = QtWidgets.QGridLayout(self.groupBox_2)
+        self.gridlayout.setObjectName("gridlayout")
+        self.cfBgButton = QtWidgets.QPushButton(parent=self.groupBox_2)
+        self.cfBgButton.setObjectName("cfBgButton")
+        self.gridlayout.addWidget(self.cfBgButton, 3, 1, 1, 1)
+        self.cfFgButton = QtWidgets.QPushButton(parent=self.groupBox_2)
+        self.cfFgButton.setObjectName("cfFgButton")
+        self.gridlayout.addWidget(self.cfFgButton, 3, 0, 1, 1)
+        self.l2BgButton = QtWidgets.QPushButton(parent=self.groupBox_2)
+        self.l2BgButton.setObjectName("l2BgButton")
+        self.gridlayout.addWidget(self.l2BgButton, 2, 1, 1, 1)
+        self.l2FgButton = QtWidgets.QPushButton(parent=self.groupBox_2)
+        self.l2FgButton.setObjectName("l2FgButton")
+        self.gridlayout.addWidget(self.l2FgButton, 2, 0, 1, 1)
+        self.l1BgButton = QtWidgets.QPushButton(parent=self.groupBox_2)
+        self.l1BgButton.setObjectName("l1BgButton")
+        self.gridlayout.addWidget(self.l1BgButton, 1, 1, 1, 1)
+        self.l1FgButton = QtWidgets.QPushButton(parent=self.groupBox_2)
+        self.l1FgButton.setObjectName("l1FgButton")
+        self.gridlayout.addWidget(self.l1FgButton, 1, 0, 1, 1)
+        self.bodyBgButton = QtWidgets.QPushButton(parent=self.groupBox_2)
+        self.bodyBgButton.setObjectName("bodyBgButton")
+        self.gridlayout.addWidget(self.bodyBgButton, 0, 1, 1, 1)
+        self.bodyFgButton = QtWidgets.QPushButton(parent=self.groupBox_2)
+        self.bodyFgButton.setObjectName("bodyFgButton")
+        self.gridlayout.addWidget(self.bodyFgButton, 0, 0, 1, 1)
+        self.linkFgButton = QtWidgets.QPushButton(parent=self.groupBox_2)
+        self.linkFgButton.setObjectName("linkFgButton")
+        self.gridlayout.addWidget(self.linkFgButton, 4, 0, 1, 1)
+        self.sample = QtWidgets.QTextEdit(parent=self.groupBox_2)
+        self.sample.setReadOnly(True)
+        self.sample.setObjectName("sample")
+        self.gridlayout.addWidget(self.sample, 5, 0, 1, 2)
+        self.vboxlayout1.addWidget(self.groupBox_2)
+        self.tabWidget.addTab(self.styleTab, "")
+        self.qtHelpTab = QtWidgets.QWidget()
+        self.qtHelpTab.setObjectName("qtHelpTab")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.qtHelpTab)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.qtHelpGroup = QtWidgets.QGroupBox(parent=self.qtHelpTab)
+        self.qtHelpGroup.setCheckable(True)
+        self.qtHelpGroup.setChecked(False)
+        self.qtHelpGroup.setObjectName("qtHelpGroup")
+        self.gridLayout = QtWidgets.QGridLayout(self.qtHelpGroup)
+        self.gridLayout.setObjectName("gridLayout")
+        self.TextLabel6_2 = QtWidgets.QLabel(parent=self.qtHelpGroup)
+        self.TextLabel6_2.setObjectName("TextLabel6_2")
+        self.gridLayout.addWidget(self.TextLabel6_2, 0, 0, 1, 1)
+        self.qtHelpDirPicker = EricPathPicker(parent=self.qtHelpGroup)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.qtHelpDirPicker.sizePolicy().hasHeightForWidth())
+        self.qtHelpDirPicker.setSizePolicy(sizePolicy)
+        self.qtHelpDirPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.qtHelpDirPicker.setObjectName("qtHelpDirPicker")
+        self.gridLayout.addWidget(self.qtHelpDirPicker, 0, 1, 1, 1)
+        self.label_2 = QtWidgets.QLabel(parent=self.qtHelpGroup)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 1, 0, 1, 1)
+        self.qtHelpNamespaceEdit = QtWidgets.QLineEdit(parent=self.qtHelpGroup)
+        self.qtHelpNamespaceEdit.setObjectName("qtHelpNamespaceEdit")
+        self.gridLayout.addWidget(self.qtHelpNamespaceEdit, 1, 1, 1, 1)
+        self.label_3 = QtWidgets.QLabel(parent=self.qtHelpGroup)
+        self.label_3.setObjectName("label_3")
+        self.gridLayout.addWidget(self.label_3, 2, 0, 1, 1)
+        self.qtHelpFolderEdit = QtWidgets.QLineEdit(parent=self.qtHelpGroup)
+        self.qtHelpFolderEdit.setObjectName("qtHelpFolderEdit")
+        self.gridLayout.addWidget(self.qtHelpFolderEdit, 2, 1, 1, 1)
+        self.label_4 = QtWidgets.QLabel(parent=self.qtHelpGroup)
+        self.label_4.setObjectName("label_4")
+        self.gridLayout.addWidget(self.label_4, 3, 0, 1, 1)
+        self.qtHelpFilterNameEdit = QtWidgets.QLineEdit(parent=self.qtHelpGroup)
+        self.qtHelpFilterNameEdit.setObjectName("qtHelpFilterNameEdit")
+        self.gridLayout.addWidget(self.qtHelpFilterNameEdit, 3, 1, 1, 1)
+        self.label_5 = QtWidgets.QLabel(parent=self.qtHelpGroup)
+        self.label_5.setObjectName("label_5")
+        self.gridLayout.addWidget(self.label_5, 4, 0, 1, 1)
+        self.qtHelpFilterAttributesEdit = QtWidgets.QLineEdit(parent=self.qtHelpGroup)
+        self.qtHelpFilterAttributesEdit.setObjectName("qtHelpFilterAttributesEdit")
+        self.gridLayout.addWidget(self.qtHelpFilterAttributesEdit, 4, 1, 1, 1)
+        self.label_6 = QtWidgets.QLabel(parent=self.qtHelpGroup)
+        self.label_6.setObjectName("label_6")
+        self.gridLayout.addWidget(self.label_6, 5, 0, 1, 1)
+        self.qtHelpTitleEdit = QtWidgets.QLineEdit(parent=self.qtHelpGroup)
+        self.qtHelpTitleEdit.setObjectName("qtHelpTitleEdit")
+        self.gridLayout.addWidget(self.qtHelpTitleEdit, 5, 1, 1, 1)
+        self.qtHelpGenerateCollectionCheckBox = QtWidgets.QCheckBox(parent=self.qtHelpGroup)
+        self.qtHelpGenerateCollectionCheckBox.setObjectName("qtHelpGenerateCollectionCheckBox")
+        self.gridLayout.addWidget(self.qtHelpGenerateCollectionCheckBox, 6, 0, 1, 2)
+        spacerItem2 = QtWidgets.QSpacerItem(20, 271, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.gridLayout.addItem(spacerItem2, 7, 0, 1, 2)
+        self.verticalLayout.addWidget(self.qtHelpGroup)
+        self.tabWidget.addTab(self.qtHelpTab, "")
+        self.vboxlayout.addWidget(self.tabWidget)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=EricdocConfigDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.vboxlayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(EricdocConfigDialog)
+        self.tabWidget.setCurrentIndex(0)
+        self.buttonBox.accepted.connect(EricdocConfigDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(EricdocConfigDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(EricdocConfigDialog)
+        EricdocConfigDialog.setTabOrder(self.tabWidget, self.startDirPicker)
+        EricdocConfigDialog.setTabOrder(self.startDirPicker, self.outputDirPicker)
+        EricdocConfigDialog.setTabOrder(self.outputDirPicker, self.sourceExtEdit)
+        EricdocConfigDialog.setTabOrder(self.sourceExtEdit, self.recursionCheckBox)
+        EricdocConfigDialog.setTabOrder(self.recursionCheckBox, self.noindexCheckBox)
+        EricdocConfigDialog.setTabOrder(self.noindexCheckBox, self.noemptyCheckBox)
+        EricdocConfigDialog.setTabOrder(self.noemptyCheckBox, self.excludeFilesEdit)
+        EricdocConfigDialog.setTabOrder(self.excludeFilesEdit, self.ignoreDirsList)
+        EricdocConfigDialog.setTabOrder(self.ignoreDirsList, self.ignoreDirPicker)
+        EricdocConfigDialog.setTabOrder(self.ignoreDirPicker, self.addButton)
+        EricdocConfigDialog.setTabOrder(self.addButton, self.deleteButton)
+        EricdocConfigDialog.setTabOrder(self.deleteButton, self.cssPicker)
+        EricdocConfigDialog.setTabOrder(self.cssPicker, self.bodyFgButton)
+        EricdocConfigDialog.setTabOrder(self.bodyFgButton, self.bodyBgButton)
+        EricdocConfigDialog.setTabOrder(self.bodyBgButton, self.l1FgButton)
+        EricdocConfigDialog.setTabOrder(self.l1FgButton, self.l1BgButton)
+        EricdocConfigDialog.setTabOrder(self.l1BgButton, self.l2FgButton)
+        EricdocConfigDialog.setTabOrder(self.l2FgButton, self.l2BgButton)
+        EricdocConfigDialog.setTabOrder(self.l2BgButton, self.cfFgButton)
+        EricdocConfigDialog.setTabOrder(self.cfFgButton, self.cfBgButton)
+        EricdocConfigDialog.setTabOrder(self.cfBgButton, self.linkFgButton)
+        EricdocConfigDialog.setTabOrder(self.linkFgButton, self.sample)
+        EricdocConfigDialog.setTabOrder(self.sample, self.qtHelpGroup)
+        EricdocConfigDialog.setTabOrder(self.qtHelpGroup, self.qtHelpDirPicker)
+        EricdocConfigDialog.setTabOrder(self.qtHelpDirPicker, self.qtHelpNamespaceEdit)
+        EricdocConfigDialog.setTabOrder(self.qtHelpNamespaceEdit, self.qtHelpFolderEdit)
+        EricdocConfigDialog.setTabOrder(self.qtHelpFolderEdit, self.qtHelpFilterNameEdit)
+        EricdocConfigDialog.setTabOrder(self.qtHelpFilterNameEdit, self.qtHelpFilterAttributesEdit)
+        EricdocConfigDialog.setTabOrder(self.qtHelpFilterAttributesEdit, self.qtHelpTitleEdit)
+        EricdocConfigDialog.setTabOrder(self.qtHelpTitleEdit, self.qtHelpGenerateCollectionCheckBox)
+
+    def retranslateUi(self, EricdocConfigDialog):
+        _translate = QtCore.QCoreApplication.translate
+        EricdocConfigDialog.setWindowTitle(_translate("EricdocConfigDialog", "Ericdoc Configuration"))
+        self.label_7.setText(_translate("EricdocConfigDialog", "Start Directory:"))
+        self.startDirPicker.setToolTip(_translate("EricdocConfigDialog", "Enter the start directory for the documentation"))
+        self.TextLabel6.setText(_translate("EricdocConfigDialog", "Output Directory:"))
+        self.outputDirPicker.setToolTip(_translate("EricdocConfigDialog", "Enter an output directory"))
+        self.textLabel1_3.setText(_translate("EricdocConfigDialog", "Additional source extensions:"))
+        self.sourceExtEdit.setToolTip(_translate("EricdocConfigDialog", "Enter additional source extensions separated by a comma"))
+        self.recursionCheckBox.setToolTip(_translate("EricdocConfigDialog", "Select to recurse into subdirectories"))
+        self.recursionCheckBox.setText(_translate("EricdocConfigDialog", "Recurse into subdirectories"))
+        self.noindexCheckBox.setToolTip(_translate("EricdocConfigDialog", "Select, if no index files should be generated"))
+        self.noindexCheckBox.setText(_translate("EricdocConfigDialog", "Don\'t generate index files"))
+        self.noemptyCheckBox.setToolTip(_translate("EricdocConfigDialog", "Select to exclude empty modules"))
+        self.noemptyCheckBox.setText(_translate("EricdocConfigDialog", "Don\'t include empty modules"))
+        self.label.setText(_translate("EricdocConfigDialog", "Exclude Files:"))
+        self.excludeFilesEdit.setToolTip(_translate("EricdocConfigDialog", "Enter filename patterns of files to be excluded separated by a comma"))
+        self.groupBox.setTitle(_translate("EricdocConfigDialog", "Exclude Directories"))
+        self.addButton.setToolTip(_translate("EricdocConfigDialog", "Press to add the entered directory to the list"))
+        self.addButton.setText(_translate("EricdocConfigDialog", "Add"))
+        self.deleteButton.setToolTip(_translate("EricdocConfigDialog", "Press to delete the selected directory from the list"))
+        self.deleteButton.setText(_translate("EricdocConfigDialog", "Delete"))
+        self.ignoreDirsList.setToolTip(_translate("EricdocConfigDialog", "List of directory basenames to be ignored"))
+        self.ignoreDirPicker.setToolTip(_translate("EricdocConfigDialog", "Enter a directory basename to be ignored"))
+        self.tabWidget.setTabText(self.tabWidget.indexOf(self.generalTab), _translate("EricdocConfigDialog", "General"))
+        self.groupBox_3.setTitle(_translate("EricdocConfigDialog", "Style Sheet"))
+        self.cssPicker.setToolTip(_translate("EricdocConfigDialog", "Enter the filename of a CSS style sheet. Leave empty to use the colors defined below."))
+        self.groupBox_2.setTitle(_translate("EricdocConfigDialog", "Colors"))
+        self.cfBgButton.setToolTip(_translate("EricdocConfigDialog", "Press to select the class and function header background color."))
+        self.cfBgButton.setText(_translate("EricdocConfigDialog", "Class/Function Header Background"))
+        self.cfFgButton.setToolTip(_translate("EricdocConfigDialog", "Press to select the class and function header foreground color."))
+        self.cfFgButton.setText(_translate("EricdocConfigDialog", "Class/Function Header Foreground"))
+        self.l2BgButton.setToolTip(_translate("EricdocConfigDialog", "Press to select the level 2 header background color."))
+        self.l2BgButton.setText(_translate("EricdocConfigDialog", "Level 2 Header Background"))
+        self.l2FgButton.setToolTip(_translate("EricdocConfigDialog", "Press to select the level 2 header foreground color."))
+        self.l2FgButton.setText(_translate("EricdocConfigDialog", "Level 2 Header Foreground"))
+        self.l1BgButton.setToolTip(_translate("EricdocConfigDialog", "Press to select the level 1 header background color."))
+        self.l1BgButton.setText(_translate("EricdocConfigDialog", "Level 1 Header Background"))
+        self.l1FgButton.setToolTip(_translate("EricdocConfigDialog", "Press to select the level 1 header foreground color."))
+        self.l1FgButton.setText(_translate("EricdocConfigDialog", "Level 1 Header Foreground"))
+        self.bodyBgButton.setToolTip(_translate("EricdocConfigDialog", "Press to select the body background color."))
+        self.bodyBgButton.setText(_translate("EricdocConfigDialog", "Body Background"))
+        self.bodyFgButton.setToolTip(_translate("EricdocConfigDialog", "Press to select the body foreground color."))
+        self.bodyFgButton.setText(_translate("EricdocConfigDialog", "Body Foreground"))
+        self.linkFgButton.setToolTip(_translate("EricdocConfigDialog", "Press to select the foreground color of links."))
+        self.linkFgButton.setText(_translate("EricdocConfigDialog", "Links"))
+        self.sample.setToolTip(_translate("EricdocConfigDialog", "This shows an example of the selected colors."))
+        self.tabWidget.setTabText(self.tabWidget.indexOf(self.styleTab), _translate("EricdocConfigDialog", "Style"))
+        self.qtHelpGroup.setTitle(_translate("EricdocConfigDialog", "Generate QtHelp Files"))
+        self.TextLabel6_2.setText(_translate("EricdocConfigDialog", "Output Directory:"))
+        self.qtHelpDirPicker.setToolTip(_translate("EricdocConfigDialog", "Enter an output directory"))
+        self.label_2.setText(_translate("EricdocConfigDialog", "Namespace:"))
+        self.qtHelpNamespaceEdit.setToolTip(_translate("EricdocConfigDialog", "Enter the namespace"))
+        self.label_3.setText(_translate("EricdocConfigDialog", "Virtual Folder:"))
+        self.qtHelpFolderEdit.setToolTip(_translate("EricdocConfigDialog", "Enter the name of the virtual folder (must not contain \'/\')"))
+        self.label_4.setText(_translate("EricdocConfigDialog", "Filter Name:"))
+        self.qtHelpFilterNameEdit.setToolTip(_translate("EricdocConfigDialog", "Enter the name of the custom filter"))
+        self.label_5.setText(_translate("EricdocConfigDialog", "Filter Attributes:"))
+        self.qtHelpFilterAttributesEdit.setToolTip(_translate("EricdocConfigDialog", "Enter the filter attributes separated by \':\'"))
+        self.label_6.setText(_translate("EricdocConfigDialog", "Title:"))
+        self.qtHelpTitleEdit.setToolTip(_translate("EricdocConfigDialog", "Enter a short title for the top entry"))
+        self.qtHelpGenerateCollectionCheckBox.setToolTip(_translate("EricdocConfigDialog", "Select to generate the QtHelp collection files"))
+        self.qtHelpGenerateCollectionCheckBox.setText(_translate("EricdocConfigDialog", "Generate QtHelp collection files"))
+        self.tabWidget.setTabText(self.tabWidget.indexOf(self.qtHelpTab), _translate("EricdocConfigDialog", "QtHelp"))
+from eric7.EricWidgets.EricPathPicker import EricPathPicker
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/DocumentationPlugins/Ericdoc/Ui_EricdocExecDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,76 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/DocumentationPlugins/Ericdoc/EricdocExecDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_EricdocExecDialog(object):
+    def setupUi(self, EricdocExecDialog):
+        EricdocExecDialog.setObjectName("EricdocExecDialog")
+        EricdocExecDialog.resize(753, 602)
+        EricdocExecDialog.setSizeGripEnabled(True)
+        self.verticalLayout_3 = QtWidgets.QVBoxLayout(EricdocExecDialog)
+        self.verticalLayout_3.setObjectName("verticalLayout_3")
+        self.splitter = QtWidgets.QSplitter(parent=EricdocExecDialog)
+        self.splitter.setOrientation(QtCore.Qt.Orientation.Vertical)
+        self.splitter.setObjectName("splitter")
+        self.messagesGroup = QtWidgets.QGroupBox(parent=self.splitter)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(3)
+        sizePolicy.setHeightForWidth(self.messagesGroup.sizePolicy().hasHeightForWidth())
+        self.messagesGroup.setSizePolicy(sizePolicy)
+        self.messagesGroup.setObjectName("messagesGroup")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.messagesGroup)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.contents = QtWidgets.QTextBrowser(parent=self.messagesGroup)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(3)
+        sizePolicy.setHeightForWidth(self.contents.sizePolicy().hasHeightForWidth())
+        self.contents.setSizePolicy(sizePolicy)
+        self.contents.setObjectName("contents")
+        self.verticalLayout.addWidget(self.contents)
+        self.errorGroup = QtWidgets.QGroupBox(parent=self.splitter)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(1)
+        sizePolicy.setHeightForWidth(self.errorGroup.sizePolicy().hasHeightForWidth())
+        self.errorGroup.setSizePolicy(sizePolicy)
+        self.errorGroup.setObjectName("errorGroup")
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.errorGroup)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.errors = QtWidgets.QTextBrowser(parent=self.errorGroup)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(1)
+        sizePolicy.setHeightForWidth(self.errors.sizePolicy().hasHeightForWidth())
+        self.errors.setSizePolicy(sizePolicy)
+        self.errors.setObjectName("errors")
+        self.verticalLayout_2.addWidget(self.errors)
+        self.verticalLayout_3.addWidget(self.splitter)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=EricdocExecDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout_3.addWidget(self.buttonBox)
+
+        self.retranslateUi(EricdocExecDialog)
+        QtCore.QMetaObject.connectSlotsByName(EricdocExecDialog)
+        EricdocExecDialog.setTabOrder(self.contents, self.errors)
+        EricdocExecDialog.setTabOrder(self.errors, self.buttonBox)
+
+    def retranslateUi(self, EricdocExecDialog):
+        _translate = QtCore.QCoreApplication.translate
+        EricdocExecDialog.setWindowTitle(_translate("EricdocExecDialog", "Ericdoc"))
+        self.messagesGroup.setTitle(_translate("EricdocExecDialog", "Messages"))
+        self.contents.setWhatsThis(_translate("EricdocExecDialog", "<b>Ericdoc Execution</b>\n"
+"<p>This shows the output of the Ericdoc generator command.</p>"))
+        self.errorGroup.setTitle(_translate("EricdocExecDialog", "Errors"))
+        self.errors.setWhatsThis(_translate("EricdocExecDialog", "<b>Ericdoc Execution</b>\n"
+"<p>This shows the errors of the Ericdoc generator command.</p>"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/UiExtensionPlugins/Translator/ConfigurationPage/Ui_TranslatorPage.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,288 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_TranslatorPage(object):
+    def setupUi(self, TranslatorPage):
+        TranslatorPage.setObjectName("TranslatorPage")
+        TranslatorPage.resize(500, 1389)
+        self.verticalLayout_4 = QtWidgets.QVBoxLayout(TranslatorPage)
+        self.verticalLayout_4.setObjectName("verticalLayout_4")
+        self.headerLabel = QtWidgets.QLabel(parent=TranslatorPage)
+        self.headerLabel.setObjectName("headerLabel")
+        self.verticalLayout_4.addWidget(self.headerLabel)
+        self.line15 = QtWidgets.QFrame(parent=TranslatorPage)
+        self.line15.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line15.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line15.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line15.setObjectName("line15")
+        self.verticalLayout_4.addWidget(self.line15)
+        self.groupBox = QtWidgets.QGroupBox(parent=TranslatorPage)
+        self.groupBox.setObjectName("groupBox")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.groupBox)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.languagesList = QtWidgets.QListWidget(parent=self.groupBox)
+        self.languagesList.setMinimumSize(QtCore.QSize(0, 250))
+        self.languagesList.setIconSize(QtCore.QSize(22, 22))
+        self.languagesList.setProperty("isWrapping", True)
+        self.languagesList.setObjectName("languagesList")
+        self.verticalLayout.addWidget(self.languagesList)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem)
+        self.setButton = QtWidgets.QPushButton(parent=self.groupBox)
+        self.setButton.setObjectName("setButton")
+        self.horizontalLayout.addWidget(self.setButton)
+        spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem1)
+        self.defaultButton = QtWidgets.QPushButton(parent=self.groupBox)
+        self.defaultButton.setObjectName("defaultButton")
+        self.horizontalLayout.addWidget(self.defaultButton)
+        spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem2)
+        self.verticalLayout.addLayout(self.horizontalLayout)
+        self.verticalLayout_4.addWidget(self.groupBox)
+        self.groupBox_9 = QtWidgets.QGroupBox(parent=TranslatorPage)
+        self.groupBox_9.setObjectName("groupBox_9")
+        self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.groupBox_9)
+        self.verticalLayout_3.setObjectName("verticalLayout_3")
+        self.pronounceCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_9)
+        self.pronounceCheckBox.setObjectName("pronounceCheckBox")
+        self.verticalLayout_3.addWidget(self.pronounceCheckBox)
+        self.label_10 = QtWidgets.QLabel(parent=self.groupBox_9)
+        self.label_10.setWordWrap(True)
+        self.label_10.setObjectName("label_10")
+        self.verticalLayout_3.addWidget(self.label_10)
+        self.verticalLayout_4.addWidget(self.groupBox_9)
+        self.groupBox_8 = QtWidgets.QGroupBox(parent=TranslatorPage)
+        self.groupBox_8.setObjectName("groupBox_8")
+        self.gridLayout_6 = QtWidgets.QGridLayout(self.groupBox_8)
+        self.gridLayout_6.setObjectName("gridLayout_6")
+        self.label_8 = QtWidgets.QLabel(parent=self.groupBox_8)
+        self.label_8.setObjectName("label_8")
+        self.gridLayout_6.addWidget(self.label_8, 0, 0, 1, 1)
+        self.deeplKeyEdit = QtWidgets.QLineEdit(parent=self.groupBox_8)
+        self.deeplKeyEdit.setClearButtonEnabled(True)
+        self.deeplKeyEdit.setObjectName("deeplKeyEdit")
+        self.gridLayout_6.addWidget(self.deeplKeyEdit, 0, 1, 1, 1)
+        self.deeplLabel = QtWidgets.QLabel(parent=self.groupBox_8)
+        self.deeplLabel.setText("")
+        self.deeplLabel.setWordWrap(True)
+        self.deeplLabel.setOpenExternalLinks(True)
+        self.deeplLabel.setObjectName("deeplLabel")
+        self.gridLayout_6.addWidget(self.deeplLabel, 1, 0, 1, 2)
+        self.verticalLayout_4.addWidget(self.groupBox_8)
+        self.groupBox_2 = QtWidgets.QGroupBox(parent=TranslatorPage)
+        self.groupBox_2.setObjectName("groupBox_2")
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.groupBox_2)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.dictionaryCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_2)
+        self.dictionaryCheckBox.setObjectName("dictionaryCheckBox")
+        self.verticalLayout_2.addWidget(self.dictionaryCheckBox)
+        self.verticalLayout_4.addWidget(self.groupBox_2)
+        self.groupBox_5 = QtWidgets.QGroupBox(parent=TranslatorPage)
+        self.groupBox_5.setObjectName("groupBox_5")
+        self.gridLayout_3 = QtWidgets.QGridLayout(self.groupBox_5)
+        self.gridLayout_3.setObjectName("gridLayout_3")
+        self.label_4 = QtWidgets.QLabel(parent=self.groupBox_5)
+        self.label_4.setObjectName("label_4")
+        self.gridLayout_3.addWidget(self.label_4, 0, 0, 1, 1)
+        self.googlev2KeyEdit = QtWidgets.QLineEdit(parent=self.groupBox_5)
+        self.googlev2KeyEdit.setClearButtonEnabled(True)
+        self.googlev2KeyEdit.setObjectName("googlev2KeyEdit")
+        self.gridLayout_3.addWidget(self.googlev2KeyEdit, 0, 1, 1, 1)
+        self.googlev2Label = QtWidgets.QLabel(parent=self.groupBox_5)
+        self.googlev2Label.setText("")
+        self.googlev2Label.setWordWrap(True)
+        self.googlev2Label.setOpenExternalLinks(True)
+        self.googlev2Label.setObjectName("googlev2Label")
+        self.gridLayout_3.addWidget(self.googlev2Label, 1, 0, 1, 2)
+        self.verticalLayout_4.addWidget(self.groupBox_5)
+        self.groupBox_7 = QtWidgets.QGroupBox(parent=TranslatorPage)
+        self.groupBox_7.setObjectName("groupBox_7")
+        self.gridLayout_5 = QtWidgets.QGridLayout(self.groupBox_7)
+        self.gridLayout_5.setObjectName("gridLayout_5")
+        self.label_7 = QtWidgets.QLabel(parent=self.groupBox_7)
+        self.label_7.setObjectName("label_7")
+        self.gridLayout_5.addWidget(self.label_7, 0, 0, 1, 1)
+        self.ibmUrlEdit = QtWidgets.QLineEdit(parent=self.groupBox_7)
+        self.ibmUrlEdit.setClearButtonEnabled(True)
+        self.ibmUrlEdit.setObjectName("ibmUrlEdit")
+        self.gridLayout_5.addWidget(self.ibmUrlEdit, 0, 1, 1, 1)
+        self.label_6 = QtWidgets.QLabel(parent=self.groupBox_7)
+        self.label_6.setObjectName("label_6")
+        self.gridLayout_5.addWidget(self.label_6, 1, 0, 1, 1)
+        self.ibmKeyEdit = QtWidgets.QLineEdit(parent=self.groupBox_7)
+        self.ibmKeyEdit.setClearButtonEnabled(True)
+        self.ibmKeyEdit.setObjectName("ibmKeyEdit")
+        self.gridLayout_5.addWidget(self.ibmKeyEdit, 1, 1, 1, 1)
+        self.ibmLabel = QtWidgets.QLabel(parent=self.groupBox_7)
+        self.ibmLabel.setText("")
+        self.ibmLabel.setWordWrap(True)
+        self.ibmLabel.setOpenExternalLinks(True)
+        self.ibmLabel.setObjectName("ibmLabel")
+        self.gridLayout_5.addWidget(self.ibmLabel, 2, 0, 1, 2)
+        self.verticalLayout_4.addWidget(self.groupBox_7)
+        self.groupBox_10 = QtWidgets.QGroupBox(parent=TranslatorPage)
+        self.groupBox_10.setObjectName("groupBox_10")
+        self.gridLayout_7 = QtWidgets.QGridLayout(self.groupBox_10)
+        self.gridLayout_7.setObjectName("gridLayout_7")
+        self.label_11 = QtWidgets.QLabel(parent=self.groupBox_10)
+        self.label_11.setObjectName("label_11")
+        self.gridLayout_7.addWidget(self.label_11, 0, 0, 1, 1)
+        self.libreUrlEdit = QtWidgets.QLineEdit(parent=self.groupBox_10)
+        self.libreUrlEdit.setClearButtonEnabled(True)
+        self.libreUrlEdit.setObjectName("libreUrlEdit")
+        self.gridLayout_7.addWidget(self.libreUrlEdit, 0, 1, 1, 1)
+        self.label_12 = QtWidgets.QLabel(parent=self.groupBox_10)
+        self.label_12.setObjectName("label_12")
+        self.gridLayout_7.addWidget(self.label_12, 1, 0, 1, 1)
+        self.libreKeyEdit = QtWidgets.QLineEdit(parent=self.groupBox_10)
+        self.libreKeyEdit.setClearButtonEnabled(True)
+        self.libreKeyEdit.setObjectName("libreKeyEdit")
+        self.gridLayout_7.addWidget(self.libreKeyEdit, 1, 1, 1, 1)
+        self.libreLabel = QtWidgets.QLabel(parent=self.groupBox_10)
+        self.libreLabel.setText("")
+        self.libreLabel.setWordWrap(True)
+        self.libreLabel.setOpenExternalLinks(True)
+        self.libreLabel.setObjectName("libreLabel")
+        self.gridLayout_7.addWidget(self.libreLabel, 2, 0, 1, 2)
+        self.verticalLayout_4.addWidget(self.groupBox_10)
+        self.groupBox_6 = QtWidgets.QGroupBox(parent=TranslatorPage)
+        self.groupBox_6.setObjectName("groupBox_6")
+        self.gridLayout_4 = QtWidgets.QGridLayout(self.groupBox_6)
+        self.gridLayout_4.setObjectName("gridLayout_4")
+        self.label_9 = QtWidgets.QLabel(parent=self.groupBox_6)
+        self.label_9.setObjectName("label_9")
+        self.gridLayout_4.addWidget(self.label_9, 1, 0, 1, 1)
+        self.label_5 = QtWidgets.QLabel(parent=self.groupBox_6)
+        self.label_5.setObjectName("label_5")
+        self.gridLayout_4.addWidget(self.label_5, 0, 0, 1, 1)
+        self.msLabel = QtWidgets.QLabel(parent=self.groupBox_6)
+        self.msLabel.setWordWrap(True)
+        self.msLabel.setOpenExternalLinks(True)
+        self.msLabel.setObjectName("msLabel")
+        self.gridLayout_4.addWidget(self.msLabel, 2, 0, 1, 3)
+        self.msSubscriptionKeyEdit = QtWidgets.QLineEdit(parent=self.groupBox_6)
+        self.msSubscriptionKeyEdit.setClearButtonEnabled(True)
+        self.msSubscriptionKeyEdit.setObjectName("msSubscriptionKeyEdit")
+        self.gridLayout_4.addWidget(self.msSubscriptionKeyEdit, 0, 2, 1, 1)
+        self.msSubscriptionRegionEdit = QtWidgets.QLineEdit(parent=self.groupBox_6)
+        self.msSubscriptionRegionEdit.setClearButtonEnabled(True)
+        self.msSubscriptionRegionEdit.setObjectName("msSubscriptionRegionEdit")
+        self.gridLayout_4.addWidget(self.msSubscriptionRegionEdit, 1, 2, 1, 1)
+        self.verticalLayout_4.addWidget(self.groupBox_6)
+        self.groupBox_4 = QtWidgets.QGroupBox(parent=TranslatorPage)
+        self.groupBox_4.setObjectName("groupBox_4")
+        self.gridLayout_2 = QtWidgets.QGridLayout(self.groupBox_4)
+        self.gridLayout_2.setObjectName("gridLayout_2")
+        self.label = QtWidgets.QLabel(parent=self.groupBox_4)
+        self.label.setObjectName("label")
+        self.gridLayout_2.addWidget(self.label, 0, 0, 1, 1)
+        self.mymemoryEmailEdit = QtWidgets.QLineEdit(parent=self.groupBox_4)
+        self.mymemoryEmailEdit.setClearButtonEnabled(True)
+        self.mymemoryEmailEdit.setObjectName("mymemoryEmailEdit")
+        self.gridLayout_2.addWidget(self.mymemoryEmailEdit, 0, 1, 1, 1)
+        self.label_3 = QtWidgets.QLabel(parent=self.groupBox_4)
+        self.label_3.setObjectName("label_3")
+        self.gridLayout_2.addWidget(self.label_3, 1, 0, 1, 1)
+        self.mymemoryKeyEdit = QtWidgets.QLineEdit(parent=self.groupBox_4)
+        self.mymemoryKeyEdit.setClearButtonEnabled(True)
+        self.mymemoryKeyEdit.setObjectName("mymemoryKeyEdit")
+        self.gridLayout_2.addWidget(self.mymemoryKeyEdit, 1, 1, 1, 1)
+        self.mymemoryLabel = QtWidgets.QLabel(parent=self.groupBox_4)
+        self.mymemoryLabel.setText("")
+        self.mymemoryLabel.setWordWrap(True)
+        self.mymemoryLabel.setOpenExternalLinks(True)
+        self.mymemoryLabel.setObjectName("mymemoryLabel")
+        self.gridLayout_2.addWidget(self.mymemoryLabel, 2, 0, 1, 2)
+        self.verticalLayout_4.addWidget(self.groupBox_4)
+        self.groupBox_3 = QtWidgets.QGroupBox(parent=TranslatorPage)
+        self.groupBox_3.setObjectName("groupBox_3")
+        self.gridLayout = QtWidgets.QGridLayout(self.groupBox_3)
+        self.gridLayout.setObjectName("gridLayout")
+        self.label_2 = QtWidgets.QLabel(parent=self.groupBox_3)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 0, 0, 1, 1)
+        self.yandexKeyEdit = QtWidgets.QLineEdit(parent=self.groupBox_3)
+        self.yandexKeyEdit.setClearButtonEnabled(True)
+        self.yandexKeyEdit.setObjectName("yandexKeyEdit")
+        self.gridLayout.addWidget(self.yandexKeyEdit, 0, 1, 1, 1)
+        self.yandexLabel = QtWidgets.QLabel(parent=self.groupBox_3)
+        self.yandexLabel.setText("")
+        self.yandexLabel.setWordWrap(True)
+        self.yandexLabel.setOpenExternalLinks(True)
+        self.yandexLabel.setObjectName("yandexLabel")
+        self.gridLayout.addWidget(self.yandexLabel, 1, 0, 1, 2)
+        self.verticalLayout_4.addWidget(self.groupBox_3)
+
+        self.retranslateUi(TranslatorPage)
+        QtCore.QMetaObject.connectSlotsByName(TranslatorPage)
+        TranslatorPage.setTabOrder(self.languagesList, self.setButton)
+        TranslatorPage.setTabOrder(self.setButton, self.defaultButton)
+        TranslatorPage.setTabOrder(self.defaultButton, self.pronounceCheckBox)
+        TranslatorPage.setTabOrder(self.pronounceCheckBox, self.deeplKeyEdit)
+        TranslatorPage.setTabOrder(self.deeplKeyEdit, self.dictionaryCheckBox)
+        TranslatorPage.setTabOrder(self.dictionaryCheckBox, self.googlev2KeyEdit)
+        TranslatorPage.setTabOrder(self.googlev2KeyEdit, self.ibmUrlEdit)
+        TranslatorPage.setTabOrder(self.ibmUrlEdit, self.ibmKeyEdit)
+        TranslatorPage.setTabOrder(self.ibmKeyEdit, self.libreUrlEdit)
+        TranslatorPage.setTabOrder(self.libreUrlEdit, self.libreKeyEdit)
+        TranslatorPage.setTabOrder(self.libreKeyEdit, self.msSubscriptionKeyEdit)
+        TranslatorPage.setTabOrder(self.msSubscriptionKeyEdit, self.msSubscriptionRegionEdit)
+        TranslatorPage.setTabOrder(self.msSubscriptionRegionEdit, self.mymemoryEmailEdit)
+        TranslatorPage.setTabOrder(self.mymemoryEmailEdit, self.mymemoryKeyEdit)
+        TranslatorPage.setTabOrder(self.mymemoryKeyEdit, self.yandexKeyEdit)
+
+    def retranslateUi(self, TranslatorPage):
+        _translate = QtCore.QCoreApplication.translate
+        self.headerLabel.setText(_translate("TranslatorPage", "<b>Configure Translator</b>"))
+        self.groupBox.setTitle(_translate("TranslatorPage", "Enabled Languages"))
+        self.setButton.setToolTip(_translate("TranslatorPage", "Press to set or unset all entries"))
+        self.setButton.setText(_translate("TranslatorPage", "Set/Unset All"))
+        self.defaultButton.setToolTip(_translate("TranslatorPage", "Press to set the default list of enabled languages"))
+        self.defaultButton.setText(_translate("TranslatorPage", "Set Default"))
+        self.groupBox_9.setTitle(_translate("TranslatorPage", "Pronounce"))
+        self.pronounceCheckBox.setToolTip(_translate("TranslatorPage", "Select to enable the pronounciation functionality (if supported by the translation engine)"))
+        self.pronounceCheckBox.setText(_translate("TranslatorPage", "Enable pronounce functionality"))
+        self.label_10.setText(_translate("TranslatorPage", "<b>Warning:</b> If this option is enabled, Qt might abort the start of the application if no suitable backend can be detected. In such cases use the \'--no-multimedia\' switch to disable this again."))
+        self.groupBox_8.setTitle(_translate("TranslatorPage", "DeepL"))
+        self.label_8.setText(_translate("TranslatorPage", "Key:"))
+        self.deeplKeyEdit.setToolTip(_translate("TranslatorPage", "Enter your DeepL Pro or DeepL Free API key"))
+        self.groupBox_2.setTitle(_translate("TranslatorPage", "Google V.1"))
+        self.dictionaryCheckBox.setToolTip(_translate("TranslatorPage", "Select to show the results of the translation dictionary"))
+        self.dictionaryCheckBox.setText(_translate("TranslatorPage", "Show dictionary results"))
+        self.groupBox_5.setTitle(_translate("TranslatorPage", "Google V.2"))
+        self.label_4.setText(_translate("TranslatorPage", "Key:"))
+        self.googlev2KeyEdit.setToolTip(_translate("TranslatorPage", "Enter your Google Translate key"))
+        self.groupBox_7.setTitle(_translate("TranslatorPage", "IBM Watson"))
+        self.label_7.setText(_translate("TranslatorPage", "URL:"))
+        self.ibmUrlEdit.setToolTip(_translate("TranslatorPage", "Enter your IBM Watson Translator URL"))
+        self.label_6.setText(_translate("TranslatorPage", "API Key:"))
+        self.ibmKeyEdit.setToolTip(_translate("TranslatorPage", "Enter your IBM Watson Translator API key"))
+        self.groupBox_10.setTitle(_translate("TranslatorPage", "LibreTranslate"))
+        self.label_11.setText(_translate("TranslatorPage", "URL:"))
+        self.libreUrlEdit.setToolTip(_translate("TranslatorPage", "Enter the URL of your LibreTranslate server."))
+        self.label_12.setText(_translate("TranslatorPage", "API Key:"))
+        self.libreKeyEdit.setToolTip(_translate("TranslatorPage", "Enter your LibreTranslate API key"))
+        self.groupBox_6.setTitle(_translate("TranslatorPage", "Microsoft Azure"))
+        self.label_9.setText(_translate("TranslatorPage", "Subscription Region:"))
+        self.label_5.setText(_translate("TranslatorPage", "Subscription Key:"))
+        self.msSubscriptionKeyEdit.setToolTip(_translate("TranslatorPage", "Enter the subscription key of the text translator service"))
+        self.msSubscriptionRegionEdit.setToolTip(_translate("TranslatorPage", "Enter the subscription region of the text translator service"))
+        self.groupBox_4.setTitle(_translate("TranslatorPage", "MyMemory"))
+        self.label.setText(_translate("TranslatorPage", "Email:"))
+        self.mymemoryEmailEdit.setToolTip(_translate("TranslatorPage", "Enter email address to be sent with each request (optional)"))
+        self.label_3.setText(_translate("TranslatorPage", "Key:"))
+        self.mymemoryKeyEdit.setToolTip(_translate("TranslatorPage", "Enter your MyMemory key"))
+        self.groupBox_3.setTitle(_translate("TranslatorPage", "Yandex"))
+        self.label_2.setText(_translate("TranslatorPage", "Key:"))
+        self.yandexKeyEdit.setToolTip(_translate("TranslatorPage", "Enter your Yandex key"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/UiExtensionPlugins/Translator/Ui_TranslatorWidget.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,104 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_TranslatorWidget(object):
+    def setupUi(self, TranslatorWidget):
+        TranslatorWidget.setObjectName("TranslatorWidget")
+        TranslatorWidget.resize(817, 144)
+        self.verticalLayout = QtWidgets.QVBoxLayout(TranslatorWidget)
+        self.verticalLayout.setContentsMargins(0, 0, 0, 0)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.engineComboBox = QtWidgets.QComboBox(parent=TranslatorWidget)
+        self.engineComboBox.setSizeAdjustPolicy(QtWidgets.QComboBox.SizeAdjustPolicy.AdjustToContents)
+        self.engineComboBox.setObjectName("engineComboBox")
+        self.horizontalLayout.addWidget(self.engineComboBox)
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem)
+        self.preferencesButton = QtWidgets.QToolButton(parent=TranslatorWidget)
+        self.preferencesButton.setObjectName("preferencesButton")
+        self.horizontalLayout.addWidget(self.preferencesButton)
+        self.verticalLayout.addLayout(self.horizontalLayout)
+        self.gridLayout = QtWidgets.QGridLayout()
+        self.gridLayout.setObjectName("gridLayout")
+        self.pronounceOrigButton = QtWidgets.QToolButton(parent=TranslatorWidget)
+        self.pronounceOrigButton.setObjectName("pronounceOrigButton")
+        self.gridLayout.addWidget(self.pronounceOrigButton, 0, 0, 1, 1)
+        self.origLanguageComboBox = QtWidgets.QComboBox(parent=TranslatorWidget)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.origLanguageComboBox.sizePolicy().hasHeightForWidth())
+        self.origLanguageComboBox.setSizePolicy(sizePolicy)
+        self.origLanguageComboBox.setObjectName("origLanguageComboBox")
+        self.gridLayout.addWidget(self.origLanguageComboBox, 0, 1, 1, 1)
+        self.swapButton = QtWidgets.QToolButton(parent=TranslatorWidget)
+        self.swapButton.setObjectName("swapButton")
+        self.gridLayout.addWidget(self.swapButton, 0, 2, 1, 1)
+        self.transLanguageComboBox = QtWidgets.QComboBox(parent=TranslatorWidget)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.transLanguageComboBox.sizePolicy().hasHeightForWidth())
+        self.transLanguageComboBox.setSizePolicy(sizePolicy)
+        self.transLanguageComboBox.setObjectName("transLanguageComboBox")
+        self.gridLayout.addWidget(self.transLanguageComboBox, 0, 3, 1, 1)
+        self.pronounceTransButton = QtWidgets.QToolButton(parent=TranslatorWidget)
+        self.pronounceTransButton.setObjectName("pronounceTransButton")
+        self.gridLayout.addWidget(self.pronounceTransButton, 0, 4, 1, 1)
+        self.origEdit = QtWidgets.QPlainTextEdit(parent=TranslatorWidget)
+        self.origEdit.setTabChangesFocus(True)
+        self.origEdit.setObjectName("origEdit")
+        self.gridLayout.addWidget(self.origEdit, 1, 0, 4, 2)
+        spacerItem1 = QtWidgets.QSpacerItem(23, 68, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.gridLayout.addItem(spacerItem1, 1, 2, 1, 1)
+        self.transEdit = QtWidgets.QTextEdit(parent=TranslatorWidget)
+        self.transEdit.setTabChangesFocus(True)
+        self.transEdit.setReadOnly(True)
+        self.transEdit.setTextInteractionFlags(QtCore.Qt.TextInteractionFlag.TextSelectableByKeyboard|QtCore.Qt.TextInteractionFlag.TextSelectableByMouse)
+        self.transEdit.setObjectName("transEdit")
+        self.gridLayout.addWidget(self.transEdit, 1, 3, 4, 2)
+        self.translateButton = QtWidgets.QToolButton(parent=TranslatorWidget)
+        self.translateButton.setObjectName("translateButton")
+        self.gridLayout.addWidget(self.translateButton, 2, 2, 1, 1)
+        self.clearButton = QtWidgets.QToolButton(parent=TranslatorWidget)
+        self.clearButton.setObjectName("clearButton")
+        self.gridLayout.addWidget(self.clearButton, 3, 2, 1, 1)
+        spacerItem2 = QtWidgets.QSpacerItem(23, 28, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.gridLayout.addItem(spacerItem2, 4, 2, 1, 1)
+        self.verticalLayout.addLayout(self.gridLayout)
+
+        self.retranslateUi(TranslatorWidget)
+        QtCore.QMetaObject.connectSlotsByName(TranslatorWidget)
+        TranslatorWidget.setTabOrder(self.engineComboBox, self.pronounceOrigButton)
+        TranslatorWidget.setTabOrder(self.pronounceOrigButton, self.origLanguageComboBox)
+        TranslatorWidget.setTabOrder(self.origLanguageComboBox, self.swapButton)
+        TranslatorWidget.setTabOrder(self.swapButton, self.transLanguageComboBox)
+        TranslatorWidget.setTabOrder(self.transLanguageComboBox, self.pronounceTransButton)
+        TranslatorWidget.setTabOrder(self.pronounceTransButton, self.origEdit)
+        TranslatorWidget.setTabOrder(self.origEdit, self.translateButton)
+        TranslatorWidget.setTabOrder(self.translateButton, self.transEdit)
+        TranslatorWidget.setTabOrder(self.transEdit, self.clearButton)
+
+    def retranslateUi(self, TranslatorWidget):
+        _translate = QtCore.QCoreApplication.translate
+        self.engineComboBox.setToolTip(_translate("TranslatorWidget", "Select the translation service"))
+        self.preferencesButton.setToolTip(_translate("TranslatorWidget", "Press to open the Translator configuration page"))
+        self.pronounceOrigButton.setToolTip(_translate("TranslatorWidget", "Press to pronounce the entered text"))
+        self.origLanguageComboBox.setToolTip(_translate("TranslatorWidget", "Select the language of the original text"))
+        self.swapButton.setToolTip(_translate("TranslatorWidget", "Press to swap the translation direction"))
+        self.transLanguageComboBox.setToolTip(_translate("TranslatorWidget", "Select the language for the translated text"))
+        self.pronounceTransButton.setToolTip(_translate("TranslatorWidget", "Press to pronounce the translated text"))
+        self.origEdit.setToolTip(_translate("TranslatorWidget", "Enter the text to be translated"))
+        self.transEdit.setToolTip(_translate("TranslatorWidget", "Shows the translated text"))
+        self.translateButton.setToolTip(_translate("TranslatorWidget", "Press to translate the entered text"))
+        self.clearButton.setToolTip(_translate("TranslatorWidget", "Press to clear the text fields"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsGit/ConfigurationPage/Ui_GitPage.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,126 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsGit/ConfigurationPage/GitPage.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_GitPage(object):
+    def setupUi(self, GitPage):
+        GitPage.setObjectName("GitPage")
+        GitPage.resize(609, 751)
+        GitPage.setToolTip("")
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(GitPage)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.headerLabel = QtWidgets.QLabel(parent=GitPage)
+        self.headerLabel.setObjectName("headerLabel")
+        self.verticalLayout_2.addWidget(self.headerLabel)
+        self.line15 = QtWidgets.QFrame(parent=GitPage)
+        self.line15.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line15.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line15.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line15.setObjectName("line15")
+        self.verticalLayout_2.addWidget(self.line15)
+        self.groupBox = QtWidgets.QGroupBox(parent=GitPage)
+        self.groupBox.setObjectName("groupBox")
+        self.gridLayout = QtWidgets.QGridLayout(self.groupBox)
+        self.gridLayout.setObjectName("gridLayout")
+        self.label = QtWidgets.QLabel(parent=self.groupBox)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
+        self.logSpinBox = QtWidgets.QSpinBox(parent=self.groupBox)
+        self.logSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.logSpinBox.setMaximum(999999)
+        self.logSpinBox.setSingleStep(5)
+        self.logSpinBox.setObjectName("logSpinBox")
+        self.gridLayout.addWidget(self.logSpinBox, 0, 1, 1, 1)
+        spacerItem = QtWidgets.QSpacerItem(41, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout.addItem(spacerItem, 0, 2, 1, 1)
+        self.label_7 = QtWidgets.QLabel(parent=self.groupBox)
+        self.label_7.setObjectName("label_7")
+        self.gridLayout.addWidget(self.label_7, 1, 0, 1, 1)
+        self.logWidthSpinBox = QtWidgets.QSpinBox(parent=self.groupBox)
+        self.logWidthSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.logWidthSpinBox.setSingleStep(5)
+        self.logWidthSpinBox.setObjectName("logWidthSpinBox")
+        self.gridLayout.addWidget(self.logWidthSpinBox, 1, 1, 1, 1)
+        self.findHarderCheckBox = QtWidgets.QCheckBox(parent=self.groupBox)
+        self.findHarderCheckBox.setObjectName("findHarderCheckBox")
+        self.gridLayout.addWidget(self.findHarderCheckBox, 2, 0, 1, 3)
+        self.verticalLayout_2.addWidget(self.groupBox)
+        self.groupBox_2 = QtWidgets.QGroupBox(parent=GitPage)
+        self.groupBox_2.setObjectName("groupBox_2")
+        self.gridLayout_2 = QtWidgets.QGridLayout(self.groupBox_2)
+        self.gridLayout_2.setObjectName("gridLayout_2")
+        self.commitIdSpinBox = QtWidgets.QSpinBox(parent=self.groupBox_2)
+        self.commitIdSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.commitIdSpinBox.setMinimum(1)
+        self.commitIdSpinBox.setMaximum(40)
+        self.commitIdSpinBox.setObjectName("commitIdSpinBox")
+        self.gridLayout_2.addWidget(self.commitIdSpinBox, 0, 1, 1, 1)
+        spacerItem1 = QtWidgets.QSpacerItem(269, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout_2.addItem(spacerItem1, 0, 2, 1, 1)
+        self.label_4 = QtWidgets.QLabel(parent=self.groupBox_2)
+        self.label_4.setObjectName("label_4")
+        self.gridLayout_2.addWidget(self.label_4, 0, 0, 1, 1)
+        self.verticalLayout_2.addWidget(self.groupBox_2)
+        self.groupBox_5 = QtWidgets.QGroupBox(parent=GitPage)
+        self.groupBox_5.setObjectName("groupBox_5")
+        self.horizontalLayout = QtWidgets.QHBoxLayout(self.groupBox_5)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.label_3 = QtWidgets.QLabel(parent=self.groupBox_5)
+        self.label_3.setObjectName("label_3")
+        self.horizontalLayout.addWidget(self.label_3)
+        self.cleanupPatternEdit = QtWidgets.QLineEdit(parent=self.groupBox_5)
+        self.cleanupPatternEdit.setObjectName("cleanupPatternEdit")
+        self.horizontalLayout.addWidget(self.cleanupPatternEdit)
+        self.verticalLayout_2.addWidget(self.groupBox_5)
+        self.groupBox_3 = QtWidgets.QGroupBox(parent=GitPage)
+        self.groupBox_3.setObjectName("groupBox_3")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.groupBox_3)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.aggressiveCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_3)
+        self.aggressiveCheckBox.setObjectName("aggressiveCheckBox")
+        self.verticalLayout.addWidget(self.aggressiveCheckBox)
+        self.verticalLayout_2.addWidget(self.groupBox_3)
+        self.configButton = QtWidgets.QPushButton(parent=GitPage)
+        self.configButton.setObjectName("configButton")
+        self.verticalLayout_2.addWidget(self.configButton)
+        spacerItem2 = QtWidgets.QSpacerItem(388, 21, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout_2.addItem(spacerItem2)
+
+        self.retranslateUi(GitPage)
+        QtCore.QMetaObject.connectSlotsByName(GitPage)
+        GitPage.setTabOrder(self.logSpinBox, self.logWidthSpinBox)
+        GitPage.setTabOrder(self.logWidthSpinBox, self.findHarderCheckBox)
+        GitPage.setTabOrder(self.findHarderCheckBox, self.commitIdSpinBox)
+        GitPage.setTabOrder(self.commitIdSpinBox, self.cleanupPatternEdit)
+        GitPage.setTabOrder(self.cleanupPatternEdit, self.aggressiveCheckBox)
+        GitPage.setTabOrder(self.aggressiveCheckBox, self.configButton)
+
+    def retranslateUi(self, GitPage):
+        _translate = QtCore.QCoreApplication.translate
+        self.headerLabel.setText(_translate("GitPage", "<b>Configure Git Interface</b>"))
+        self.groupBox.setTitle(_translate("GitPage", "Log"))
+        self.label.setText(_translate("GitPage", "No. of log messages shown:"))
+        self.logSpinBox.setToolTip(_translate("GitPage", "Enter the number of log messages to be shown"))
+        self.label_7.setText(_translate("GitPage", "No. of subject characters shown in list:"))
+        self.logWidthSpinBox.setToolTip(_translate("GitPage", "Enter the number of characters of the commit subject to be shown in the list"))
+        self.logWidthSpinBox.setSpecialValueText(_translate("GitPage", "All"))
+        self.findHarderCheckBox.setToolTip(_translate("GitPage", "Select to perform expensive copy detection"))
+        self.findHarderCheckBox.setText(_translate("GitPage", "Find copies harder"))
+        self.groupBox_2.setTitle(_translate("GitPage", "Commit"))
+        self.commitIdSpinBox.setToolTip(_translate("GitPage", "Enter the number of character to show for the commit ID"))
+        self.label_4.setText(_translate("GitPage", "Commit ID length:"))
+        self.groupBox_5.setTitle(_translate("GitPage", "Cleanup"))
+        self.label_3.setText(_translate("GitPage", "Pattern:"))
+        self.cleanupPatternEdit.setToolTip(_translate("GitPage", "Enter the file name patterns to be used for cleaning up (entries separated by a space character)"))
+        self.groupBox_3.setTitle(_translate("GitPage", "Repository Optimization"))
+        self.aggressiveCheckBox.setToolTip(_translate("GitPage", "Select this to use the \'--aggressive\' option for garbage collection"))
+        self.aggressiveCheckBox.setText(_translate("GitPage", "Perform aggressive repository optimization"))
+        self.configButton.setToolTip(_translate("GitPage", "Edit the Git configuration file"))
+        self.configButton.setText(_translate("GitPage", "Edit configuration file"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitAddRemoteDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,71 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsGit/GitAddRemoteDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_GitAddRemoteDialog(object):
+    def setupUi(self, GitAddRemoteDialog):
+        GitAddRemoteDialog.setObjectName("GitAddRemoteDialog")
+        GitAddRemoteDialog.resize(700, 185)
+        GitAddRemoteDialog.setSizeGripEnabled(True)
+        self.gridLayout = QtWidgets.QGridLayout(GitAddRemoteDialog)
+        self.gridLayout.setObjectName("gridLayout")
+        self.label = QtWidgets.QLabel(parent=GitAddRemoteDialog)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
+        self.nameEdit = QtWidgets.QLineEdit(parent=GitAddRemoteDialog)
+        self.nameEdit.setObjectName("nameEdit")
+        self.gridLayout.addWidget(self.nameEdit, 0, 1, 1, 1)
+        self.label_2 = QtWidgets.QLabel(parent=GitAddRemoteDialog)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 1, 0, 1, 1)
+        self.urlEdit = QtWidgets.QLineEdit(parent=GitAddRemoteDialog)
+        self.urlEdit.setObjectName("urlEdit")
+        self.gridLayout.addWidget(self.urlEdit, 1, 1, 1, 1)
+        self.groupBox = QtWidgets.QGroupBox(parent=GitAddRemoteDialog)
+        self.groupBox.setObjectName("groupBox")
+        self.horizontalLayout = QtWidgets.QHBoxLayout(self.groupBox)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.label_3 = QtWidgets.QLabel(parent=self.groupBox)
+        self.label_3.setObjectName("label_3")
+        self.horizontalLayout.addWidget(self.label_3)
+        self.userEdit = QtWidgets.QLineEdit(parent=self.groupBox)
+        self.userEdit.setObjectName("userEdit")
+        self.horizontalLayout.addWidget(self.userEdit)
+        self.label_4 = QtWidgets.QLabel(parent=self.groupBox)
+        self.label_4.setObjectName("label_4")
+        self.horizontalLayout.addWidget(self.label_4)
+        self.passwordEdit = QtWidgets.QLineEdit(parent=self.groupBox)
+        self.passwordEdit.setEnabled(False)
+        self.passwordEdit.setObjectName("passwordEdit")
+        self.horizontalLayout.addWidget(self.passwordEdit)
+        self.gridLayout.addWidget(self.groupBox, 2, 0, 1, 2)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=GitAddRemoteDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout.addWidget(self.buttonBox, 3, 0, 1, 2)
+
+        self.retranslateUi(GitAddRemoteDialog)
+        self.buttonBox.accepted.connect(GitAddRemoteDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(GitAddRemoteDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(GitAddRemoteDialog)
+
+    def retranslateUi(self, GitAddRemoteDialog):
+        _translate = QtCore.QCoreApplication.translate
+        GitAddRemoteDialog.setWindowTitle(_translate("GitAddRemoteDialog", "Git Add Remote"))
+        self.label.setText(_translate("GitAddRemoteDialog", "Name:"))
+        self.nameEdit.setToolTip(_translate("GitAddRemoteDialog", "Enter the remote name"))
+        self.label_2.setText(_translate("GitAddRemoteDialog", "URL:"))
+        self.urlEdit.setToolTip(_translate("GitAddRemoteDialog", "Enter the remote URL"))
+        self.groupBox.setTitle(_translate("GitAddRemoteDialog", "Credentials"))
+        self.label_3.setText(_translate("GitAddRemoteDialog", "Username:"))
+        self.userEdit.setToolTip(_translate("GitAddRemoteDialog", "Enter the user name for the remote repository"))
+        self.label_4.setText(_translate("GitAddRemoteDialog", "Password:"))
+        self.passwordEdit.setToolTip(_translate("GitAddRemoteDialog", "Enter the password for the remote repository"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitApplyBundleDataDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,59 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsGit/GitApplyBundleDataDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_GitApplyBundleDataDialog(object):
+    def setupUi(self, GitApplyBundleDataDialog):
+        GitApplyBundleDataDialog.setObjectName("GitApplyBundleDataDialog")
+        GitApplyBundleDataDialog.resize(400, 94)
+        GitApplyBundleDataDialog.setSizeGripEnabled(True)
+        self.gridLayout = QtWidgets.QGridLayout(GitApplyBundleDataDialog)
+        self.gridLayout.setObjectName("gridLayout")
+        self.label = QtWidgets.QLabel(parent=GitApplyBundleDataDialog)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
+        self.headCombo = QtWidgets.QComboBox(parent=GitApplyBundleDataDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.headCombo.sizePolicy().hasHeightForWidth())
+        self.headCombo.setSizePolicy(sizePolicy)
+        self.headCombo.setObjectName("headCombo")
+        self.gridLayout.addWidget(self.headCombo, 0, 1, 1, 1)
+        self.label_2 = QtWidgets.QLabel(parent=GitApplyBundleDataDialog)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 1, 0, 1, 1)
+        self.branchCombo = QtWidgets.QComboBox(parent=GitApplyBundleDataDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.branchCombo.sizePolicy().hasHeightForWidth())
+        self.branchCombo.setSizePolicy(sizePolicy)
+        self.branchCombo.setEditable(True)
+        self.branchCombo.setObjectName("branchCombo")
+        self.gridLayout.addWidget(self.branchCombo, 1, 1, 1, 1)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=GitApplyBundleDataDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout.addWidget(self.buttonBox, 2, 0, 1, 2)
+
+        self.retranslateUi(GitApplyBundleDataDialog)
+        self.buttonBox.accepted.connect(GitApplyBundleDataDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(GitApplyBundleDataDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(GitApplyBundleDataDialog)
+
+    def retranslateUi(self, GitApplyBundleDataDialog):
+        _translate = QtCore.QCoreApplication.translate
+        GitApplyBundleDataDialog.setWindowTitle(_translate("GitApplyBundleDataDialog", "Git Apply Data"))
+        self.label.setText(_translate("GitApplyBundleDataDialog", "Bundle Head:"))
+        self.headCombo.setToolTip(_translate("GitApplyBundleDataDialog", "Select a head to apply"))
+        self.label_2.setText(_translate("GitApplyBundleDataDialog", "Local Branch:"))
+        self.branchCombo.setToolTip(_translate("GitApplyBundleDataDialog", "Enter a local branch"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitArchiveDataDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,130 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsGit/GitArchiveDataDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_GitArchiveDataDialog(object):
+    def setupUi(self, GitArchiveDataDialog):
+        GitArchiveDataDialog.setObjectName("GitArchiveDataDialog")
+        GitArchiveDataDialog.resize(553, 313)
+        GitArchiveDataDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(GitArchiveDataDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.groupBox = QtWidgets.QGroupBox(parent=GitArchiveDataDialog)
+        self.groupBox.setObjectName("groupBox")
+        self.gridLayout = QtWidgets.QGridLayout(self.groupBox)
+        self.gridLayout.setObjectName("gridLayout")
+        self.revButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.revButton.setObjectName("revButton")
+        self.gridLayout.addWidget(self.revButton, 0, 0, 1, 1)
+        self.revEdit = QtWidgets.QLineEdit(parent=self.groupBox)
+        self.revEdit.setEnabled(False)
+        self.revEdit.setObjectName("revEdit")
+        self.gridLayout.addWidget(self.revEdit, 0, 1, 1, 1)
+        self.tagButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.tagButton.setObjectName("tagButton")
+        self.gridLayout.addWidget(self.tagButton, 1, 0, 1, 1)
+        self.tagCombo = QtWidgets.QComboBox(parent=self.groupBox)
+        self.tagCombo.setEnabled(False)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.tagCombo.sizePolicy().hasHeightForWidth())
+        self.tagCombo.setSizePolicy(sizePolicy)
+        self.tagCombo.setEditable(True)
+        self.tagCombo.setObjectName("tagCombo")
+        self.gridLayout.addWidget(self.tagCombo, 1, 1, 1, 1)
+        self.branchButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.branchButton.setObjectName("branchButton")
+        self.gridLayout.addWidget(self.branchButton, 2, 0, 1, 1)
+        self.branchCombo = QtWidgets.QComboBox(parent=self.groupBox)
+        self.branchCombo.setEnabled(False)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.branchCombo.sizePolicy().hasHeightForWidth())
+        self.branchCombo.setSizePolicy(sizePolicy)
+        self.branchCombo.setEditable(True)
+        self.branchCombo.setObjectName("branchCombo")
+        self.gridLayout.addWidget(self.branchCombo, 2, 1, 1, 1)
+        self.tipButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.tipButton.setChecked(True)
+        self.tipButton.setObjectName("tipButton")
+        self.gridLayout.addWidget(self.tipButton, 3, 0, 1, 2)
+        self.verticalLayout.addWidget(self.groupBox)
+        self.gridLayout_2 = QtWidgets.QGridLayout()
+        self.gridLayout_2.setObjectName("gridLayout_2")
+        self.label = QtWidgets.QLabel(parent=GitArchiveDataDialog)
+        self.label.setObjectName("label")
+        self.gridLayout_2.addWidget(self.label, 0, 0, 1, 1)
+        self.formatComboBox = QtWidgets.QComboBox(parent=GitArchiveDataDialog)
+        self.formatComboBox.setObjectName("formatComboBox")
+        self.gridLayout_2.addWidget(self.formatComboBox, 0, 1, 1, 2)
+        self.label_3 = QtWidgets.QLabel(parent=GitArchiveDataDialog)
+        self.label_3.setObjectName("label_3")
+        self.gridLayout_2.addWidget(self.label_3, 1, 0, 1, 1)
+        self.fileEdit = QtWidgets.QLineEdit(parent=GitArchiveDataDialog)
+        self.fileEdit.setObjectName("fileEdit")
+        self.gridLayout_2.addWidget(self.fileEdit, 1, 1, 1, 1)
+        self.fileButton = QtWidgets.QToolButton(parent=GitArchiveDataDialog)
+        self.fileButton.setObjectName("fileButton")
+        self.gridLayout_2.addWidget(self.fileButton, 1, 2, 1, 1)
+        self.label_2 = QtWidgets.QLabel(parent=GitArchiveDataDialog)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout_2.addWidget(self.label_2, 2, 0, 1, 1)
+        self.prefixEdit = QtWidgets.QLineEdit(parent=GitArchiveDataDialog)
+        self.prefixEdit.setObjectName("prefixEdit")
+        self.gridLayout_2.addWidget(self.prefixEdit, 2, 1, 1, 2)
+        self.verticalLayout.addLayout(self.gridLayout_2)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=GitArchiveDataDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(GitArchiveDataDialog)
+        self.buttonBox.accepted.connect(GitArchiveDataDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(GitArchiveDataDialog.reject) # type: ignore
+        self.revButton.toggled['bool'].connect(self.revEdit.setEnabled) # type: ignore
+        self.tagButton.toggled['bool'].connect(self.tagCombo.setEnabled) # type: ignore
+        self.branchButton.toggled['bool'].connect(self.branchCombo.setEnabled) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(GitArchiveDataDialog)
+        GitArchiveDataDialog.setTabOrder(self.revButton, self.revEdit)
+        GitArchiveDataDialog.setTabOrder(self.revEdit, self.tagButton)
+        GitArchiveDataDialog.setTabOrder(self.tagButton, self.tagCombo)
+        GitArchiveDataDialog.setTabOrder(self.tagCombo, self.branchButton)
+        GitArchiveDataDialog.setTabOrder(self.branchButton, self.branchCombo)
+        GitArchiveDataDialog.setTabOrder(self.branchCombo, self.tipButton)
+        GitArchiveDataDialog.setTabOrder(self.tipButton, self.formatComboBox)
+        GitArchiveDataDialog.setTabOrder(self.formatComboBox, self.fileEdit)
+        GitArchiveDataDialog.setTabOrder(self.fileEdit, self.fileButton)
+        GitArchiveDataDialog.setTabOrder(self.fileButton, self.prefixEdit)
+
+    def retranslateUi(self, GitArchiveDataDialog):
+        _translate = QtCore.QCoreApplication.translate
+        GitArchiveDataDialog.setWindowTitle(_translate("GitArchiveDataDialog", "Git Archive"))
+        self.groupBox.setTitle(_translate("GitArchiveDataDialog", "Revision"))
+        self.revButton.setToolTip(_translate("GitArchiveDataDialog", "Select to specify a revision by a revision expression"))
+        self.revButton.setText(_translate("GitArchiveDataDialog", "Commit:"))
+        self.revEdit.setToolTip(_translate("GitArchiveDataDialog", "Enter a commit id"))
+        self.tagButton.setToolTip(_translate("GitArchiveDataDialog", "Select to specify a revision by a tag"))
+        self.tagButton.setText(_translate("GitArchiveDataDialog", "Tag:"))
+        self.tagCombo.setToolTip(_translate("GitArchiveDataDialog", "Enter a tag name"))
+        self.branchButton.setToolTip(_translate("GitArchiveDataDialog", "Select to specify a revision by a branch"))
+        self.branchButton.setText(_translate("GitArchiveDataDialog", "Branch:"))
+        self.branchCombo.setToolTip(_translate("GitArchiveDataDialog", "Enter a branch name"))
+        self.tipButton.setToolTip(_translate("GitArchiveDataDialog", "Select HEAD revision"))
+        self.tipButton.setText(_translate("GitArchiveDataDialog", "HEAD"))
+        self.label.setText(_translate("GitArchiveDataDialog", "Format:"))
+        self.formatComboBox.setToolTip(_translate("GitArchiveDataDialog", "Select the archive format"))
+        self.label_3.setText(_translate("GitArchiveDataDialog", "File Name:"))
+        self.fileEdit.setToolTip(_translate("GitArchiveDataDialog", "Enter the name of the archive file"))
+        self.fileButton.setToolTip(_translate("GitArchiveDataDialog", "Select the archive file via a file selection dialog"))
+        self.label_2.setText(_translate("GitArchiveDataDialog", "Prefix:"))
+        self.prefixEdit.setToolTip(_translate("GitArchiveDataDialog", "Enter a prefix to be prepended to each file"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitBisectLogBrowserDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,90 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsGit/GitBisectLogBrowserDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_GitBisectLogBrowserDialog(object):
+    def setupUi(self, GitBisectLogBrowserDialog):
+        GitBisectLogBrowserDialog.setObjectName("GitBisectLogBrowserDialog")
+        GitBisectLogBrowserDialog.resize(800, 600)
+        self.verticalLayout = QtWidgets.QVBoxLayout(GitBisectLogBrowserDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.logTree = QtWidgets.QTreeWidget(parent=GitBisectLogBrowserDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(7)
+        sizePolicy.setHeightForWidth(self.logTree.sizePolicy().hasHeightForWidth())
+        self.logTree.setSizePolicy(sizePolicy)
+        self.logTree.setAlternatingRowColors(True)
+        self.logTree.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.ExtendedSelection)
+        self.logTree.setRootIsDecorated(False)
+        self.logTree.setItemsExpandable(False)
+        self.logTree.setAllColumnsShowFocus(True)
+        self.logTree.setObjectName("logTree")
+        self.verticalLayout.addWidget(self.logTree)
+        self.errorGroup = QtWidgets.QGroupBox(parent=GitBisectLogBrowserDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(1)
+        sizePolicy.setHeightForWidth(self.errorGroup.sizePolicy().hasHeightForWidth())
+        self.errorGroup.setSizePolicy(sizePolicy)
+        self.errorGroup.setObjectName("errorGroup")
+        self.vboxlayout = QtWidgets.QVBoxLayout(self.errorGroup)
+        self.vboxlayout.setObjectName("vboxlayout")
+        self.errors = QtWidgets.QTextEdit(parent=self.errorGroup)
+        self.errors.setReadOnly(True)
+        self.errors.setAcceptRichText(False)
+        self.errors.setObjectName("errors")
+        self.vboxlayout.addWidget(self.errors)
+        self.verticalLayout.addWidget(self.errorGroup)
+        self.inputGroup = QtWidgets.QGroupBox(parent=GitBisectLogBrowserDialog)
+        self.inputGroup.setObjectName("inputGroup")
+        self.gridlayout = QtWidgets.QGridLayout(self.inputGroup)
+        self.gridlayout.setObjectName("gridlayout")
+        spacerItem = QtWidgets.QSpacerItem(327, 29, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridlayout.addItem(spacerItem, 1, 1, 1, 1)
+        self.sendButton = QtWidgets.QPushButton(parent=self.inputGroup)
+        self.sendButton.setObjectName("sendButton")
+        self.gridlayout.addWidget(self.sendButton, 1, 2, 1, 1)
+        self.input = QtWidgets.QLineEdit(parent=self.inputGroup)
+        self.input.setObjectName("input")
+        self.gridlayout.addWidget(self.input, 0, 0, 1, 3)
+        self.passwordCheckBox = QtWidgets.QCheckBox(parent=self.inputGroup)
+        self.passwordCheckBox.setObjectName("passwordCheckBox")
+        self.gridlayout.addWidget(self.passwordCheckBox, 1, 0, 1, 1)
+        self.verticalLayout.addWidget(self.inputGroup)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=GitBisectLogBrowserDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(GitBisectLogBrowserDialog)
+        QtCore.QMetaObject.connectSlotsByName(GitBisectLogBrowserDialog)
+        GitBisectLogBrowserDialog.setTabOrder(self.logTree, self.errors)
+        GitBisectLogBrowserDialog.setTabOrder(self.errors, self.input)
+        GitBisectLogBrowserDialog.setTabOrder(self.input, self.passwordCheckBox)
+        GitBisectLogBrowserDialog.setTabOrder(self.passwordCheckBox, self.sendButton)
+
+    def retranslateUi(self, GitBisectLogBrowserDialog):
+        _translate = QtCore.QCoreApplication.translate
+        GitBisectLogBrowserDialog.setWindowTitle(_translate("GitBisectLogBrowserDialog", "Git Bisect Log"))
+        self.logTree.headerItem().setText(0, _translate("GitBisectLogBrowserDialog", "Commit"))
+        self.logTree.headerItem().setText(1, _translate("GitBisectLogBrowserDialog", "Operation"))
+        self.logTree.headerItem().setText(2, _translate("GitBisectLogBrowserDialog", "Subject"))
+        self.errorGroup.setTitle(_translate("GitBisectLogBrowserDialog", "Errors"))
+        self.errors.setWhatsThis(_translate("GitBisectLogBrowserDialog", "<b>Git log errors</b><p>This shows possible error messages of the git log command.</p>"))
+        self.inputGroup.setTitle(_translate("GitBisectLogBrowserDialog", "Input"))
+        self.sendButton.setToolTip(_translate("GitBisectLogBrowserDialog", "Press to send the input to the git process"))
+        self.sendButton.setText(_translate("GitBisectLogBrowserDialog", "&Send"))
+        self.sendButton.setShortcut(_translate("GitBisectLogBrowserDialog", "Alt+S"))
+        self.input.setToolTip(_translate("GitBisectLogBrowserDialog", "Enter data to be sent to the git process"))
+        self.passwordCheckBox.setToolTip(_translate("GitBisectLogBrowserDialog", "Select to switch the input field to password mode"))
+        self.passwordCheckBox.setText(_translate("GitBisectLogBrowserDialog", "&Password Mode"))
+        self.passwordCheckBox.setShortcut(_translate("GitBisectLogBrowserDialog", "Alt+P"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitBisectStartDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,53 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsGit/GitBisectStartDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_GitBisectStartDialog(object):
+    def setupUi(self, GitBisectStartDialog):
+        GitBisectStartDialog.setObjectName("GitBisectStartDialog")
+        GitBisectStartDialog.resize(450, 117)
+        GitBisectStartDialog.setSizeGripEnabled(True)
+        self.gridLayout = QtWidgets.QGridLayout(GitBisectStartDialog)
+        self.gridLayout.setObjectName("gridLayout")
+        self.label = QtWidgets.QLabel(parent=GitBisectStartDialog)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
+        self.badEdit = QtWidgets.QLineEdit(parent=GitBisectStartDialog)
+        self.badEdit.setObjectName("badEdit")
+        self.gridLayout.addWidget(self.badEdit, 0, 1, 1, 1)
+        self.label_2 = QtWidgets.QLabel(parent=GitBisectStartDialog)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 1, 0, 1, 1)
+        self.goodEdit = QtWidgets.QLineEdit(parent=GitBisectStartDialog)
+        self.goodEdit.setObjectName("goodEdit")
+        self.gridLayout.addWidget(self.goodEdit, 1, 1, 1, 1)
+        self.noCheckoutCheckBox = QtWidgets.QCheckBox(parent=GitBisectStartDialog)
+        self.noCheckoutCheckBox.setObjectName("noCheckoutCheckBox")
+        self.gridLayout.addWidget(self.noCheckoutCheckBox, 2, 0, 1, 2)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=GitBisectStartDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout.addWidget(self.buttonBox, 3, 0, 1, 2)
+
+        self.retranslateUi(GitBisectStartDialog)
+        self.buttonBox.accepted.connect(GitBisectStartDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(GitBisectStartDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(GitBisectStartDialog)
+
+    def retranslateUi(self, GitBisectStartDialog):
+        _translate = QtCore.QCoreApplication.translate
+        GitBisectStartDialog.setWindowTitle(_translate("GitBisectStartDialog", "Git Bisect Start"))
+        self.label.setText(_translate("GitBisectStartDialog", "Bad Commit:"))
+        self.badEdit.setToolTip(_translate("GitBisectStartDialog", "Enter a bad commit"))
+        self.label_2.setText(_translate("GitBisectStartDialog", "Good Commits:"))
+        self.goodEdit.setToolTip(_translate("GitBisectStartDialog", "Enter a list of good commits separated by space"))
+        self.noCheckoutCheckBox.setToolTip(_translate("GitBisectStartDialog", "Select to not checkout the working tree"))
+        self.noCheckoutCheckBox.setText(_translate("GitBisectStartDialog", "Don\'t checkout working tree"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitBlameDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,94 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsGit/GitBlameDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_GitBlameDialog(object):
+    def setupUi(self, GitBlameDialog):
+        GitBlameDialog.setObjectName("GitBlameDialog")
+        GitBlameDialog.resize(900, 800)
+        GitBlameDialog.setSizeGripEnabled(True)
+        self.vboxlayout = QtWidgets.QVBoxLayout(GitBlameDialog)
+        self.vboxlayout.setObjectName("vboxlayout")
+        self.blameList = QtWidgets.QTreeWidget(parent=GitBlameDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(6)
+        sizePolicy.setHeightForWidth(self.blameList.sizePolicy().hasHeightForWidth())
+        self.blameList.setSizePolicy(sizePolicy)
+        self.blameList.setAlternatingRowColors(True)
+        self.blameList.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.NoSelection)
+        self.blameList.setRootIsDecorated(False)
+        self.blameList.setItemsExpandable(False)
+        self.blameList.setObjectName("blameList")
+        self.blameList.headerItem().setText(0, " ")
+        self.blameList.header().setStretchLastSection(False)
+        self.vboxlayout.addWidget(self.blameList)
+        self.errorGroup = QtWidgets.QGroupBox(parent=GitBlameDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(1)
+        sizePolicy.setHeightForWidth(self.errorGroup.sizePolicy().hasHeightForWidth())
+        self.errorGroup.setSizePolicy(sizePolicy)
+        self.errorGroup.setObjectName("errorGroup")
+        self.vboxlayout1 = QtWidgets.QVBoxLayout(self.errorGroup)
+        self.vboxlayout1.setObjectName("vboxlayout1")
+        self.errors = QtWidgets.QTextEdit(parent=self.errorGroup)
+        self.errors.setReadOnly(True)
+        self.errors.setAcceptRichText(False)
+        self.errors.setObjectName("errors")
+        self.vboxlayout1.addWidget(self.errors)
+        self.vboxlayout.addWidget(self.errorGroup)
+        self.inputGroup = QtWidgets.QGroupBox(parent=GitBlameDialog)
+        self.inputGroup.setObjectName("inputGroup")
+        self.gridlayout = QtWidgets.QGridLayout(self.inputGroup)
+        self.gridlayout.setObjectName("gridlayout")
+        spacerItem = QtWidgets.QSpacerItem(327, 29, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridlayout.addItem(spacerItem, 1, 1, 1, 1)
+        self.sendButton = QtWidgets.QPushButton(parent=self.inputGroup)
+        self.sendButton.setObjectName("sendButton")
+        self.gridlayout.addWidget(self.sendButton, 1, 2, 1, 1)
+        self.input = QtWidgets.QLineEdit(parent=self.inputGroup)
+        self.input.setObjectName("input")
+        self.gridlayout.addWidget(self.input, 0, 0, 1, 3)
+        self.passwordCheckBox = QtWidgets.QCheckBox(parent=self.inputGroup)
+        self.passwordCheckBox.setObjectName("passwordCheckBox")
+        self.gridlayout.addWidget(self.passwordCheckBox, 1, 0, 1, 1)
+        self.vboxlayout.addWidget(self.inputGroup)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=GitBlameDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.vboxlayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(GitBlameDialog)
+        QtCore.QMetaObject.connectSlotsByName(GitBlameDialog)
+        GitBlameDialog.setTabOrder(self.blameList, self.errors)
+        GitBlameDialog.setTabOrder(self.errors, self.input)
+        GitBlameDialog.setTabOrder(self.input, self.passwordCheckBox)
+        GitBlameDialog.setTabOrder(self.passwordCheckBox, self.sendButton)
+        GitBlameDialog.setTabOrder(self.sendButton, self.buttonBox)
+
+    def retranslateUi(self, GitBlameDialog):
+        _translate = QtCore.QCoreApplication.translate
+        GitBlameDialog.setWindowTitle(_translate("GitBlameDialog", "Git Blame"))
+        self.blameList.headerItem().setText(1, _translate("GitBlameDialog", "Commit"))
+        self.blameList.headerItem().setText(2, _translate("GitBlameDialog", "Author"))
+        self.blameList.headerItem().setText(3, _translate("GitBlameDialog", "Date"))
+        self.blameList.headerItem().setText(4, _translate("GitBlameDialog", "Time"))
+        self.blameList.headerItem().setText(5, _translate("GitBlameDialog", "Line"))
+        self.errorGroup.setTitle(_translate("GitBlameDialog", "Errors"))
+        self.inputGroup.setTitle(_translate("GitBlameDialog", "Input"))
+        self.sendButton.setToolTip(_translate("GitBlameDialog", "Press to send the input to the git process"))
+        self.sendButton.setText(_translate("GitBlameDialog", "&Send"))
+        self.sendButton.setShortcut(_translate("GitBlameDialog", "Alt+S"))
+        self.input.setToolTip(_translate("GitBlameDialog", "Enter data to be sent to the git process"))
+        self.passwordCheckBox.setToolTip(_translate("GitBlameDialog", "Select to switch the input field to password mode"))
+        self.passwordCheckBox.setText(_translate("GitBlameDialog", "&Password Mode"))
+        self.passwordCheckBox.setShortcut(_translate("GitBlameDialog", "Alt+P"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitBranchDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,172 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsGit/GitBranchDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_GitBranchDialog(object):
+    def setupUi(self, GitBranchDialog):
+        GitBranchDialog.setObjectName("GitBranchDialog")
+        GitBranchDialog.resize(391, 499)
+        GitBranchDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(GitBranchDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.tagActionGroup = QtWidgets.QGroupBox(parent=GitBranchDialog)
+        self.tagActionGroup.setObjectName("tagActionGroup")
+        self.gridLayout = QtWidgets.QGridLayout(self.tagActionGroup)
+        self.gridLayout.setObjectName("gridLayout")
+        self.createBranchButton = QtWidgets.QRadioButton(parent=self.tagActionGroup)
+        self.createBranchButton.setChecked(True)
+        self.createBranchButton.setObjectName("createBranchButton")
+        self.gridLayout.addWidget(self.createBranchButton, 0, 0, 1, 1)
+        self.moveBranchButton = QtWidgets.QRadioButton(parent=self.tagActionGroup)
+        self.moveBranchButton.setObjectName("moveBranchButton")
+        self.gridLayout.addWidget(self.moveBranchButton, 0, 1, 1, 1)
+        self.deleteBranchButton = QtWidgets.QRadioButton(parent=self.tagActionGroup)
+        self.deleteBranchButton.setObjectName("deleteBranchButton")
+        self.gridLayout.addWidget(self.deleteBranchButton, 0, 2, 1, 1)
+        self.createSwitchButton = QtWidgets.QRadioButton(parent=self.tagActionGroup)
+        self.createSwitchButton.setObjectName("createSwitchButton")
+        self.gridLayout.addWidget(self.createSwitchButton, 1, 0, 1, 3)
+        self.createTrackingButton = QtWidgets.QRadioButton(parent=self.tagActionGroup)
+        self.createTrackingButton.setObjectName("createTrackingButton")
+        self.gridLayout.addWidget(self.createTrackingButton, 2, 0, 1, 3)
+        self.setTrackingButton = QtWidgets.QRadioButton(parent=self.tagActionGroup)
+        self.setTrackingButton.setObjectName("setTrackingButton")
+        self.gridLayout.addWidget(self.setTrackingButton, 3, 0, 1, 3)
+        self.unsetTrackingButton = QtWidgets.QRadioButton(parent=self.tagActionGroup)
+        self.unsetTrackingButton.setObjectName("unsetTrackingButton")
+        self.gridLayout.addWidget(self.unsetTrackingButton, 4, 0, 1, 3)
+        self.verticalLayout.addWidget(self.tagActionGroup)
+        self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
+        self.TextLabel1 = QtWidgets.QLabel(parent=GitBranchDialog)
+        self.TextLabel1.setObjectName("TextLabel1")
+        self.horizontalLayout_3.addWidget(self.TextLabel1)
+        self.branchCombo = QtWidgets.QComboBox(parent=GitBranchDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.branchCombo.sizePolicy().hasHeightForWidth())
+        self.branchCombo.setSizePolicy(sizePolicy)
+        self.branchCombo.setEditable(True)
+        self.branchCombo.setDuplicatesEnabled(False)
+        self.branchCombo.setObjectName("branchCombo")
+        self.horizontalLayout_3.addWidget(self.branchCombo)
+        self.verticalLayout.addLayout(self.horizontalLayout_3)
+        self.createBranchGroup = QtWidgets.QGroupBox(parent=GitBranchDialog)
+        self.createBranchGroup.setObjectName("createBranchGroup")
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.createBranchGroup)
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.label = QtWidgets.QLabel(parent=self.createBranchGroup)
+        self.label.setObjectName("label")
+        self.horizontalLayout_2.addWidget(self.label)
+        self.revisionEdit = QtWidgets.QLineEdit(parent=self.createBranchGroup)
+        self.revisionEdit.setObjectName("revisionEdit")
+        self.horizontalLayout_2.addWidget(self.revisionEdit)
+        self.verticalLayout.addWidget(self.createBranchGroup)
+        self.moveBranchGroup = QtWidgets.QGroupBox(parent=GitBranchDialog)
+        self.moveBranchGroup.setEnabled(False)
+        self.moveBranchGroup.setObjectName("moveBranchGroup")
+        self.horizontalLayout = QtWidgets.QHBoxLayout(self.moveBranchGroup)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.label_2 = QtWidgets.QLabel(parent=self.moveBranchGroup)
+        self.label_2.setObjectName("label_2")
+        self.horizontalLayout.addWidget(self.label_2)
+        self.newBranchNameEdit = QtWidgets.QLineEdit(parent=self.moveBranchGroup)
+        self.newBranchNameEdit.setObjectName("newBranchNameEdit")
+        self.horizontalLayout.addWidget(self.newBranchNameEdit)
+        self.verticalLayout.addWidget(self.moveBranchGroup)
+        self.trackingBranchGroup = QtWidgets.QGroupBox(parent=GitBranchDialog)
+        self.trackingBranchGroup.setEnabled(False)
+        self.trackingBranchGroup.setObjectName("trackingBranchGroup")
+        self.horizontalLayout_4 = QtWidgets.QHBoxLayout(self.trackingBranchGroup)
+        self.horizontalLayout_4.setObjectName("horizontalLayout_4")
+        self.label_3 = QtWidgets.QLabel(parent=self.trackingBranchGroup)
+        self.label_3.setObjectName("label_3")
+        self.horizontalLayout_4.addWidget(self.label_3)
+        self.remoteBranchCombo = QtWidgets.QComboBox(parent=self.trackingBranchGroup)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.remoteBranchCombo.sizePolicy().hasHeightForWidth())
+        self.remoteBranchCombo.setSizePolicy(sizePolicy)
+        self.remoteBranchCombo.setObjectName("remoteBranchCombo")
+        self.horizontalLayout_4.addWidget(self.remoteBranchCombo)
+        self.verticalLayout.addWidget(self.trackingBranchGroup)
+        self.forceCheckBox = QtWidgets.QCheckBox(parent=GitBranchDialog)
+        self.forceCheckBox.setObjectName("forceCheckBox")
+        self.verticalLayout.addWidget(self.forceCheckBox)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=GitBranchDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(GitBranchDialog)
+        self.buttonBox.accepted.connect(GitBranchDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(GitBranchDialog.reject) # type: ignore
+        self.createBranchButton.toggled['bool'].connect(self.createBranchGroup.setEnabled) # type: ignore
+        self.moveBranchButton.toggled['bool'].connect(self.moveBranchGroup.setEnabled) # type: ignore
+        self.createSwitchButton.toggled['bool'].connect(self.createBranchGroup.setEnabled) # type: ignore
+        self.createTrackingButton.toggled['bool'].connect(self.forceCheckBox.setDisabled) # type: ignore
+        self.setTrackingButton.toggled['bool'].connect(self.trackingBranchGroup.setEnabled) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(GitBranchDialog)
+        GitBranchDialog.setTabOrder(self.createBranchButton, self.moveBranchButton)
+        GitBranchDialog.setTabOrder(self.moveBranchButton, self.deleteBranchButton)
+        GitBranchDialog.setTabOrder(self.deleteBranchButton, self.createSwitchButton)
+        GitBranchDialog.setTabOrder(self.createSwitchButton, self.createTrackingButton)
+        GitBranchDialog.setTabOrder(self.createTrackingButton, self.setTrackingButton)
+        GitBranchDialog.setTabOrder(self.setTrackingButton, self.unsetTrackingButton)
+        GitBranchDialog.setTabOrder(self.unsetTrackingButton, self.branchCombo)
+        GitBranchDialog.setTabOrder(self.branchCombo, self.revisionEdit)
+        GitBranchDialog.setTabOrder(self.revisionEdit, self.newBranchNameEdit)
+        GitBranchDialog.setTabOrder(self.newBranchNameEdit, self.remoteBranchCombo)
+        GitBranchDialog.setTabOrder(self.remoteBranchCombo, self.forceCheckBox)
+
+    def retranslateUi(self, GitBranchDialog):
+        _translate = QtCore.QCoreApplication.translate
+        GitBranchDialog.setWindowTitle(_translate("GitBranchDialog", "Git Branch"))
+        self.tagActionGroup.setTitle(_translate("GitBranchDialog", "Branch Action"))
+        self.createBranchButton.setToolTip(_translate("GitBranchDialog", "Select to create a branch"))
+        self.createBranchButton.setWhatsThis(_translate("GitBranchDialog", "<b>Create Branch</b>\n"
+"<p>Select this entry in order to create a branch.</p>"))
+        self.createBranchButton.setText(_translate("GitBranchDialog", "Create"))
+        self.moveBranchButton.setToolTip(_translate("GitBranchDialog", "Select to rename a branch"))
+        self.moveBranchButton.setWhatsThis(_translate("GitBranchDialog", "<b>Rename</b>\n"
+"<p>Select this entry in order to rename the selected branch.</p>"))
+        self.moveBranchButton.setText(_translate("GitBranchDialog", "Rename"))
+        self.deleteBranchButton.setToolTip(_translate("GitBranchDialog", "Select to delete a branch"))
+        self.deleteBranchButton.setWhatsThis(_translate("GitBranchDialog", "<b>Delete Branch</b>\n"
+"<p>Select this entry in order to delete the selected branch.</p>"))
+        self.deleteBranchButton.setText(_translate("GitBranchDialog", "Delete"))
+        self.createSwitchButton.setToolTip(_translate("GitBranchDialog", "Select to create a new branch and switch to it"))
+        self.createSwitchButton.setWhatsThis(_translate("GitBranchDialog", "<b>Create &amp; Switch</b>\\n<p>Select this entry in order to create a new branch and switch the working tree to it.</p>"))
+        self.createSwitchButton.setText(_translate("GitBranchDialog", "Create && Switch"))
+        self.createTrackingButton.setToolTip(_translate("GitBranchDialog", "Select to create a tracking branch and switch to it"))
+        self.createTrackingButton.setWhatsThis(_translate("GitBranchDialog", "<b>Create Tracking Branch &amp; Switch</b>\\n<p>Select this entry in order to create a new branch tracking a remote repository branch. The working tree is switched to it.</p>"))
+        self.createTrackingButton.setText(_translate("GitBranchDialog", "Create Tracking Branch && Switch"))
+        self.setTrackingButton.setToolTip(_translate("GitBranchDialog", "Select to associate a remote branch"))
+        self.setTrackingButton.setText(_translate("GitBranchDialog", "Set Tracking Branch"))
+        self.unsetTrackingButton.setToolTip(_translate("GitBranchDialog", "Select to de-associate a remote branch"))
+        self.unsetTrackingButton.setText(_translate("GitBranchDialog", "Unset Tracking Branch Information"))
+        self.TextLabel1.setText(_translate("GitBranchDialog", "Name:"))
+        self.branchCombo.setToolTip(_translate("GitBranchDialog", "Enter the name of the branch"))
+        self.branchCombo.setWhatsThis(_translate("GitBranchDialog", "<b>Branch Name</b>\n"
+"<p>Enter the name of the branch to be created, deleted or moved.</p>"))
+        self.createBranchGroup.setTitle(_translate("GitBranchDialog", "Create Branch"))
+        self.label.setText(_translate("GitBranchDialog", "Revision:"))
+        self.revisionEdit.setToolTip(_translate("GitBranchDialog", "Enter a revision at which to start the branch"))
+        self.moveBranchGroup.setTitle(_translate("GitBranchDialog", "Rename Branch"))
+        self.label_2.setText(_translate("GitBranchDialog", "New Name:"))
+        self.newBranchNameEdit.setStatusTip(_translate("GitBranchDialog", "Enter a new name for the selected branch"))
+        self.trackingBranchGroup.setTitle(_translate("GitBranchDialog", "Set Tracking Branch"))
+        self.label_3.setText(_translate("GitBranchDialog", "Remote Branch:"))
+        self.remoteBranchCombo.setToolTip(_translate("GitBranchDialog", "Select the remote branch to associate"))
+        self.forceCheckBox.setToolTip(_translate("GitBranchDialog", "Select to enforce the create operation"))
+        self.forceCheckBox.setText(_translate("GitBranchDialog", "Enforce Operation"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitBranchPushDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,59 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsGit/GitBranchPushDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_GitBranchPushDialog(object):
+    def setupUi(self, GitBranchPushDialog):
+        GitBranchPushDialog.setObjectName("GitBranchPushDialog")
+        GitBranchPushDialog.resize(497, 107)
+        GitBranchPushDialog.setSizeGripEnabled(True)
+        self.gridLayout = QtWidgets.QGridLayout(GitBranchPushDialog)
+        self.gridLayout.setObjectName("gridLayout")
+        self.label = QtWidgets.QLabel(parent=GitBranchPushDialog)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
+        self.branchComboBox = QtWidgets.QComboBox(parent=GitBranchPushDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.branchComboBox.sizePolicy().hasHeightForWidth())
+        self.branchComboBox.setSizePolicy(sizePolicy)
+        self.branchComboBox.setObjectName("branchComboBox")
+        self.gridLayout.addWidget(self.branchComboBox, 0, 1, 1, 1)
+        self.label_2 = QtWidgets.QLabel(parent=GitBranchPushDialog)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 1, 0, 1, 1)
+        self.remoteComboBox = QtWidgets.QComboBox(parent=GitBranchPushDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.remoteComboBox.sizePolicy().hasHeightForWidth())
+        self.remoteComboBox.setSizePolicy(sizePolicy)
+        self.remoteComboBox.setObjectName("remoteComboBox")
+        self.gridLayout.addWidget(self.remoteComboBox, 1, 1, 1, 1)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=GitBranchPushDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout.addWidget(self.buttonBox, 2, 0, 1, 2)
+
+        self.retranslateUi(GitBranchPushDialog)
+        self.buttonBox.accepted.connect(GitBranchPushDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(GitBranchPushDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(GitBranchPushDialog)
+        GitBranchPushDialog.setTabOrder(self.branchComboBox, self.remoteComboBox)
+
+    def retranslateUi(self, GitBranchPushDialog):
+        _translate = QtCore.QCoreApplication.translate
+        GitBranchPushDialog.setWindowTitle(_translate("GitBranchPushDialog", "Git Push Branch"))
+        self.label.setText(_translate("GitBranchPushDialog", "Branch Name:"))
+        self.branchComboBox.setToolTip(_translate("GitBranchPushDialog", "Select the branch"))
+        self.label_2.setText(_translate("GitBranchPushDialog", "Remote Name:"))
+        self.remoteComboBox.setToolTip(_translate("GitBranchPushDialog", "Select the remote repository"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitBundleDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,76 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsGit/GitBundleDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_GitBundleDialog(object):
+    def setupUi(self, GitBundleDialog):
+        GitBundleDialog.setObjectName("GitBundleDialog")
+        GitBundleDialog.resize(450, 184)
+        GitBundleDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(GitBundleDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.groupBox = QtWidgets.QGroupBox(parent=GitBundleDialog)
+        self.groupBox.setObjectName("groupBox")
+        self.gridLayout = QtWidgets.QGridLayout(self.groupBox)
+        self.gridLayout.setObjectName("gridLayout")
+        self.revisionsButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.revisionsButton.setChecked(True)
+        self.revisionsButton.setObjectName("revisionsButton")
+        self.gridLayout.addWidget(self.revisionsButton, 0, 0, 1, 1)
+        self.revisionsEdit = QtWidgets.QLineEdit(parent=self.groupBox)
+        self.revisionsEdit.setObjectName("revisionsEdit")
+        self.gridLayout.addWidget(self.revisionsEdit, 0, 1, 1, 1)
+        self.tagButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.tagButton.setObjectName("tagButton")
+        self.gridLayout.addWidget(self.tagButton, 1, 0, 1, 1)
+        self.tagCombo = QtWidgets.QComboBox(parent=self.groupBox)
+        self.tagCombo.setEnabled(False)
+        self.tagCombo.setEditable(True)
+        self.tagCombo.setObjectName("tagCombo")
+        self.gridLayout.addWidget(self.tagCombo, 1, 1, 1, 1)
+        self.branchButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.branchButton.setObjectName("branchButton")
+        self.gridLayout.addWidget(self.branchButton, 2, 0, 1, 1)
+        self.branchCombo = QtWidgets.QComboBox(parent=self.groupBox)
+        self.branchCombo.setEnabled(False)
+        self.branchCombo.setEditable(True)
+        self.branchCombo.setObjectName("branchCombo")
+        self.gridLayout.addWidget(self.branchCombo, 2, 1, 1, 1)
+        self.verticalLayout.addWidget(self.groupBox)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=GitBundleDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(GitBundleDialog)
+        self.buttonBox.accepted.connect(GitBundleDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(GitBundleDialog.reject) # type: ignore
+        self.tagButton.toggled['bool'].connect(self.tagCombo.setEnabled) # type: ignore
+        self.branchButton.toggled['bool'].connect(self.branchCombo.setEnabled) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(GitBundleDialog)
+        GitBundleDialog.setTabOrder(self.tagButton, self.tagCombo)
+        GitBundleDialog.setTabOrder(self.tagCombo, self.branchButton)
+        GitBundleDialog.setTabOrder(self.branchButton, self.branchCombo)
+        GitBundleDialog.setTabOrder(self.branchCombo, self.buttonBox)
+
+    def retranslateUi(self, GitBundleDialog):
+        _translate = QtCore.QCoreApplication.translate
+        GitBundleDialog.setWindowTitle(_translate("GitBundleDialog", "Git Bundle"))
+        self.groupBox.setTitle(_translate("GitBundleDialog", "Revision"))
+        self.revisionsButton.setToolTip(_translate("GitBundleDialog", "Select to specify a revision or revision range"))
+        self.revisionsButton.setText(_translate("GitBundleDialog", "Revisions:"))
+        self.revisionsEdit.setToolTip(_translate("GitBundleDialog", "Enter  revisions or revision range expressions"))
+        self.tagButton.setToolTip(_translate("GitBundleDialog", "Select to specify a revision by a tag"))
+        self.tagButton.setText(_translate("GitBundleDialog", "Tag:"))
+        self.tagCombo.setToolTip(_translate("GitBundleDialog", "Enter a tag name"))
+        self.branchButton.setToolTip(_translate("GitBundleDialog", "Select to specify a revision by a branch"))
+        self.branchButton.setText(_translate("GitBundleDialog", "Branch:"))
+        self.branchCombo.setToolTip(_translate("GitBundleDialog", "Enter a branch name"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitChangeRemoteUrlDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,58 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsGit/GitChangeRemoteUrlDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_GitChangeRemoteUrlDialog(object):
+    def setupUi(self, GitChangeRemoteUrlDialog):
+        GitChangeRemoteUrlDialog.setObjectName("GitChangeRemoteUrlDialog")
+        GitChangeRemoteUrlDialog.resize(700, 140)
+        GitChangeRemoteUrlDialog.setSizeGripEnabled(True)
+        self.gridLayout = QtWidgets.QGridLayout(GitChangeRemoteUrlDialog)
+        self.gridLayout.setObjectName("gridLayout")
+        self.label = QtWidgets.QLabel(parent=GitChangeRemoteUrlDialog)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
+        self.nameEdit = QtWidgets.QLineEdit(parent=GitChangeRemoteUrlDialog)
+        self.nameEdit.setToolTip("")
+        self.nameEdit.setReadOnly(True)
+        self.nameEdit.setObjectName("nameEdit")
+        self.gridLayout.addWidget(self.nameEdit, 0, 1, 1, 1)
+        self.label_2 = QtWidgets.QLabel(parent=GitChangeRemoteUrlDialog)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 1, 0, 1, 1)
+        self.urlEdit = QtWidgets.QLineEdit(parent=GitChangeRemoteUrlDialog)
+        self.urlEdit.setToolTip("")
+        self.urlEdit.setReadOnly(True)
+        self.urlEdit.setObjectName("urlEdit")
+        self.gridLayout.addWidget(self.urlEdit, 1, 1, 1, 1)
+        self.label_3 = QtWidgets.QLabel(parent=GitChangeRemoteUrlDialog)
+        self.label_3.setObjectName("label_3")
+        self.gridLayout.addWidget(self.label_3, 2, 0, 1, 1)
+        self.newUrlEdit = QtWidgets.QLineEdit(parent=GitChangeRemoteUrlDialog)
+        self.newUrlEdit.setObjectName("newUrlEdit")
+        self.gridLayout.addWidget(self.newUrlEdit, 2, 1, 1, 1)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=GitChangeRemoteUrlDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout.addWidget(self.buttonBox, 3, 0, 1, 2)
+
+        self.retranslateUi(GitChangeRemoteUrlDialog)
+        self.buttonBox.accepted.connect(GitChangeRemoteUrlDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(GitChangeRemoteUrlDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(GitChangeRemoteUrlDialog)
+
+    def retranslateUi(self, GitChangeRemoteUrlDialog):
+        _translate = QtCore.QCoreApplication.translate
+        GitChangeRemoteUrlDialog.setWindowTitle(_translate("GitChangeRemoteUrlDialog", "Git Change Remote URL"))
+        self.label.setText(_translate("GitChangeRemoteUrlDialog", "Name:"))
+        self.label_2.setText(_translate("GitChangeRemoteUrlDialog", "URL:"))
+        self.label_3.setText(_translate("GitChangeRemoteUrlDialog", "New URL:"))
+        self.newUrlEdit.setToolTip(_translate("GitChangeRemoteUrlDialog", "Enter the new remote URL"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitCherryPickDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,63 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsGit/GitCherryPickDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_GitCherryPickDialog(object):
+    def setupUi(self, GitCherryPickDialog):
+        GitCherryPickDialog.setObjectName("GitCherryPickDialog")
+        GitCherryPickDialog.resize(450, 300)
+        GitCherryPickDialog.setSizeGripEnabled(True)
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(GitCherryPickDialog)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.groupBox = QtWidgets.QGroupBox(parent=GitCherryPickDialog)
+        self.groupBox.setObjectName("groupBox")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.groupBox)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.commitsEdit = QtWidgets.QPlainTextEdit(parent=self.groupBox)
+        self.commitsEdit.setTabChangesFocus(True)
+        self.commitsEdit.setLineWrapMode(QtWidgets.QPlainTextEdit.LineWrapMode.NoWrap)
+        self.commitsEdit.setObjectName("commitsEdit")
+        self.verticalLayout.addWidget(self.commitsEdit)
+        self.verticalLayout_2.addWidget(self.groupBox)
+        self.appendCheckBox = QtWidgets.QCheckBox(parent=GitCherryPickDialog)
+        self.appendCheckBox.setChecked(True)
+        self.appendCheckBox.setObjectName("appendCheckBox")
+        self.verticalLayout_2.addWidget(self.appendCheckBox)
+        self.signoffCheckBox = QtWidgets.QCheckBox(parent=GitCherryPickDialog)
+        self.signoffCheckBox.setObjectName("signoffCheckBox")
+        self.verticalLayout_2.addWidget(self.signoffCheckBox)
+        self.nocommitCheckBox = QtWidgets.QCheckBox(parent=GitCherryPickDialog)
+        self.nocommitCheckBox.setObjectName("nocommitCheckBox")
+        self.verticalLayout_2.addWidget(self.nocommitCheckBox)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=GitCherryPickDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout_2.addWidget(self.buttonBox)
+
+        self.retranslateUi(GitCherryPickDialog)
+        self.buttonBox.accepted.connect(GitCherryPickDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(GitCherryPickDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(GitCherryPickDialog)
+        GitCherryPickDialog.setTabOrder(self.commitsEdit, self.appendCheckBox)
+        GitCherryPickDialog.setTabOrder(self.appendCheckBox, self.signoffCheckBox)
+        GitCherryPickDialog.setTabOrder(self.signoffCheckBox, self.nocommitCheckBox)
+
+    def retranslateUi(self, GitCherryPickDialog):
+        _translate = QtCore.QCoreApplication.translate
+        GitCherryPickDialog.setWindowTitle(_translate("GitCherryPickDialog", "Git Cherry-pick"))
+        self.groupBox.setTitle(_translate("GitCherryPickDialog", "Commits"))
+        self.commitsEdit.setToolTip(_translate("GitCherryPickDialog", "Enter commits by id, branch or tag one per line"))
+        self.appendCheckBox.setToolTip(_translate("GitCherryPickDialog", "Select to append cherry-pick info to the commit message"))
+        self.appendCheckBox.setText(_translate("GitCherryPickDialog", "Append Cherry-pick &Info"))
+        self.signoffCheckBox.setToolTip(_translate("GitCherryPickDialog", "Select to add a \'Signed-off-by\' line to the commit message"))
+        self.signoffCheckBox.setText(_translate("GitCherryPickDialog", "Append \'&Signed-off-by\' line"))
+        self.nocommitCheckBox.setToolTip(_translate("GitCherryPickDialog", "Select to not commit the cherry-pick"))
+        self.nocommitCheckBox.setText(_translate("GitCherryPickDialog", "Don\'t &commit"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitCommandDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,73 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsGit/GitCommandDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_GitCommandDialog(object):
+    def setupUi(self, GitCommandDialog):
+        GitCommandDialog.setObjectName("GitCommandDialog")
+        GitCommandDialog.resize(628, 99)
+        GitCommandDialog.setSizeGripEnabled(True)
+        self.gridLayout = QtWidgets.QGridLayout(GitCommandDialog)
+        self.gridLayout.setObjectName("gridLayout")
+        self.textLabel1 = QtWidgets.QLabel(parent=GitCommandDialog)
+        self.textLabel1.setObjectName("textLabel1")
+        self.gridLayout.addWidget(self.textLabel1, 0, 0, 1, 1)
+        self.commandCombo = QtWidgets.QComboBox(parent=GitCommandDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.commandCombo.sizePolicy().hasHeightForWidth())
+        self.commandCombo.setSizePolicy(sizePolicy)
+        self.commandCombo.setEditable(True)
+        self.commandCombo.setInsertPolicy(QtWidgets.QComboBox.InsertPolicy.InsertAtTop)
+        self.commandCombo.setDuplicatesEnabled(False)
+        self.commandCombo.setObjectName("commandCombo")
+        self.gridLayout.addWidget(self.commandCombo, 0, 1, 1, 1)
+        self.textLabel3 = QtWidgets.QLabel(parent=GitCommandDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.textLabel3.sizePolicy().hasHeightForWidth())
+        self.textLabel3.setSizePolicy(sizePolicy)
+        self.textLabel3.setObjectName("textLabel3")
+        self.gridLayout.addWidget(self.textLabel3, 1, 0, 1, 1)
+        self.projectDirLabel = QtWidgets.QLabel(parent=GitCommandDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.projectDirLabel.sizePolicy().hasHeightForWidth())
+        self.projectDirLabel.setSizePolicy(sizePolicy)
+        self.projectDirLabel.setObjectName("projectDirLabel")
+        self.gridLayout.addWidget(self.projectDirLabel, 1, 1, 1, 1)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=GitCommandDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout.addWidget(self.buttonBox, 2, 0, 1, 2)
+
+        self.retranslateUi(GitCommandDialog)
+        self.buttonBox.accepted.connect(GitCommandDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(GitCommandDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(GitCommandDialog)
+        GitCommandDialog.setTabOrder(self.commandCombo, self.buttonBox)
+
+    def retranslateUi(self, GitCommandDialog):
+        _translate = QtCore.QCoreApplication.translate
+        GitCommandDialog.setWindowTitle(_translate("GitCommandDialog", "Git Command"))
+        self.textLabel1.setText(_translate("GitCommandDialog", "Git Command:"))
+        self.commandCombo.setToolTip(_translate("GitCommandDialog", "Enter the Git command to be executed with all necessary parameters"))
+        self.commandCombo.setWhatsThis(_translate("GitCommandDialog", "<b>Git Command</b>\n"
+"<p>Enter the Git command to be executed including all necessary \n"
+"parameters. If a parameter of the commandline includes a space you have to \n"
+"surround this parameter by single or double quotes. Do not include the name \n"
+"of the Git client executable (i.e. git).</p>"))
+        self.textLabel3.setText(_translate("GitCommandDialog", "Project Directory:"))
+        self.projectDirLabel.setToolTip(_translate("GitCommandDialog", "This shows the root directory of the current project."))
+        self.projectDirLabel.setText(_translate("GitCommandDialog", "project directory"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitCommitDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,71 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsGit/GitCommitDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_GitCommitDialog(object):
+    def setupUi(self, GitCommitDialog):
+        GitCommitDialog.setObjectName("GitCommitDialog")
+        GitCommitDialog.resize(450, 400)
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(GitCommitDialog)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.logGroup = QtWidgets.QGroupBox(parent=GitCommitDialog)
+        self.logGroup.setObjectName("logGroup")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.logGroup)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.logEdit = EricSpellCheckedTextEdit(parent=self.logGroup)
+        self.logEdit.setTabChangesFocus(True)
+        self.logEdit.setAcceptRichText(False)
+        self.logEdit.setObjectName("logEdit")
+        self.verticalLayout.addWidget(self.logEdit)
+        self.label = QtWidgets.QLabel(parent=self.logGroup)
+        self.label.setObjectName("label")
+        self.verticalLayout.addWidget(self.label)
+        self.recentComboBox = QtWidgets.QComboBox(parent=self.logGroup)
+        self.recentComboBox.setObjectName("recentComboBox")
+        self.verticalLayout.addWidget(self.recentComboBox)
+        self.verticalLayout_2.addWidget(self.logGroup)
+        self.stagedCheckBox = QtWidgets.QCheckBox(parent=GitCommitDialog)
+        self.stagedCheckBox.setObjectName("stagedCheckBox")
+        self.verticalLayout_2.addWidget(self.stagedCheckBox)
+        self.amendCheckBox = QtWidgets.QCheckBox(parent=GitCommitDialog)
+        self.amendCheckBox.setObjectName("amendCheckBox")
+        self.verticalLayout_2.addWidget(self.amendCheckBox)
+        self.resetAuthorCheckBox = QtWidgets.QCheckBox(parent=GitCommitDialog)
+        self.resetAuthorCheckBox.setObjectName("resetAuthorCheckBox")
+        self.verticalLayout_2.addWidget(self.resetAuthorCheckBox)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=GitCommitDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Close|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout_2.addWidget(self.buttonBox)
+
+        self.retranslateUi(GitCommitDialog)
+        QtCore.QMetaObject.connectSlotsByName(GitCommitDialog)
+        GitCommitDialog.setTabOrder(self.logEdit, self.recentComboBox)
+        GitCommitDialog.setTabOrder(self.recentComboBox, self.stagedCheckBox)
+        GitCommitDialog.setTabOrder(self.stagedCheckBox, self.amendCheckBox)
+        GitCommitDialog.setTabOrder(self.amendCheckBox, self.resetAuthorCheckBox)
+
+    def retranslateUi(self, GitCommitDialog):
+        _translate = QtCore.QCoreApplication.translate
+        GitCommitDialog.setWindowTitle(_translate("GitCommitDialog", "Git"))
+        self.logGroup.setTitle(_translate("GitCommitDialog", "Commit Message"))
+        self.logEdit.setToolTip(_translate("GitCommitDialog", "Enter the log message."))
+        self.logEdit.setWhatsThis(_translate("GitCommitDialog", "<b>Log Message</b>\n"
+"<p>Enter the log message for the commit action.</p>"))
+        self.label.setText(_translate("GitCommitDialog", "Recent commit messages"))
+        self.recentComboBox.setToolTip(_translate("GitCommitDialog", "Select a recent commit message to use"))
+        self.stagedCheckBox.setToolTip(_translate("GitCommitDialog", "Select to commit only staged changes"))
+        self.stagedCheckBox.setText(_translate("GitCommitDialog", "Commit staged changes only"))
+        self.amendCheckBox.setToolTip(_translate("GitCommitDialog", "Select to amend the last commit (leave message empty to keep it)"))
+        self.amendCheckBox.setText(_translate("GitCommitDialog", "Amend the last commit"))
+        self.resetAuthorCheckBox.setToolTip(_translate("GitCommitDialog", "Select to reset the author information"))
+        self.resetAuthorCheckBox.setText(_translate("GitCommitDialog", "Reset Author Info"))
+from eric7.EricWidgets.EricSpellCheckedTextEdit import EricSpellCheckedTextEdit
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitCopyDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,71 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsGit/GitCopyDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_GitCopyDialog(object):
+    def setupUi(self, GitCopyDialog):
+        GitCopyDialog.setObjectName("GitCopyDialog")
+        GitCopyDialog.resize(409, 138)
+        GitCopyDialog.setSizeGripEnabled(True)
+        self.vboxlayout = QtWidgets.QVBoxLayout(GitCopyDialog)
+        self.vboxlayout.setObjectName("vboxlayout")
+        self.gridlayout = QtWidgets.QGridLayout()
+        self.gridlayout.setObjectName("gridlayout")
+        self.textLabel1 = QtWidgets.QLabel(parent=GitCopyDialog)
+        self.textLabel1.setObjectName("textLabel1")
+        self.gridlayout.addWidget(self.textLabel1, 0, 0, 1, 1)
+        self.sourceEdit = QtWidgets.QLineEdit(parent=GitCopyDialog)
+        self.sourceEdit.setReadOnly(True)
+        self.sourceEdit.setObjectName("sourceEdit")
+        self.gridlayout.addWidget(self.sourceEdit, 0, 1, 1, 1)
+        self.targetEdit = QtWidgets.QLineEdit(parent=GitCopyDialog)
+        self.targetEdit.setObjectName("targetEdit")
+        self.gridlayout.addWidget(self.targetEdit, 1, 1, 1, 1)
+        self.textLabel2 = QtWidgets.QLabel(parent=GitCopyDialog)
+        self.textLabel2.setObjectName("textLabel2")
+        self.gridlayout.addWidget(self.textLabel2, 1, 0, 1, 1)
+        self.dirButton = QtWidgets.QToolButton(parent=GitCopyDialog)
+        self.dirButton.setObjectName("dirButton")
+        self.gridlayout.addWidget(self.dirButton, 1, 2, 1, 1)
+        self.vboxlayout.addLayout(self.gridlayout)
+        self.forceCheckBox = QtWidgets.QCheckBox(parent=GitCopyDialog)
+        self.forceCheckBox.setObjectName("forceCheckBox")
+        self.vboxlayout.addWidget(self.forceCheckBox)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=GitCopyDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.vboxlayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(GitCopyDialog)
+        self.buttonBox.accepted.connect(GitCopyDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(GitCopyDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(GitCopyDialog)
+        GitCopyDialog.setTabOrder(self.targetEdit, self.dirButton)
+        GitCopyDialog.setTabOrder(self.dirButton, self.forceCheckBox)
+        GitCopyDialog.setTabOrder(self.forceCheckBox, self.buttonBox)
+        GitCopyDialog.setTabOrder(self.buttonBox, self.sourceEdit)
+
+    def retranslateUi(self, GitCopyDialog):
+        _translate = QtCore.QCoreApplication.translate
+        GitCopyDialog.setWindowTitle(_translate("GitCopyDialog", "Git Copy"))
+        self.textLabel1.setText(_translate("GitCopyDialog", "Source:"))
+        self.sourceEdit.setToolTip(_translate("GitCopyDialog", "Shows the name of the source"))
+        self.sourceEdit.setWhatsThis(_translate("GitCopyDialog", "<b>Source name</b>\n"
+"<p>This field shows the name of the source.</p>"))
+        self.targetEdit.setToolTip(_translate("GitCopyDialog", "Enter the target name"))
+        self.targetEdit.setWhatsThis(_translate("GitCopyDialog", "<b>Target name</b>\n"
+"<p>Enter the new name in this field. The target must be the new name or an absolute path.</p>"))
+        self.textLabel2.setText(_translate("GitCopyDialog", "Target:"))
+        self.dirButton.setToolTip(_translate("GitCopyDialog", "Press to open a selection dialog"))
+        self.dirButton.setWhatsThis(_translate("GitCopyDialog", "<b>Target directory</b>\n"
+"<p>Select the target name for the operation via a selection dialog.</p>"))
+        self.forceCheckBox.setToolTip(_translate("GitCopyDialog", "Select to force the operation"))
+        self.forceCheckBox.setText(_translate("GitCopyDialog", "Enforce operation"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitDescribeDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,89 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsGit/GitDescribeDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_GitDescribeDialog(object):
+    def setupUi(self, GitDescribeDialog):
+        GitDescribeDialog.setObjectName("GitDescribeDialog")
+        GitDescribeDialog.resize(634, 494)
+        GitDescribeDialog.setSizeGripEnabled(True)
+        self.vboxlayout = QtWidgets.QVBoxLayout(GitDescribeDialog)
+        self.vboxlayout.setObjectName("vboxlayout")
+        self.tagList = QtWidgets.QTreeWidget(parent=GitDescribeDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(2)
+        sizePolicy.setHeightForWidth(self.tagList.sizePolicy().hasHeightForWidth())
+        self.tagList.setSizePolicy(sizePolicy)
+        self.tagList.setAlternatingRowColors(True)
+        self.tagList.setRootIsDecorated(False)
+        self.tagList.setItemsExpandable(False)
+        self.tagList.setObjectName("tagList")
+        self.vboxlayout.addWidget(self.tagList)
+        self.errorGroup = QtWidgets.QGroupBox(parent=GitDescribeDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(1)
+        sizePolicy.setHeightForWidth(self.errorGroup.sizePolicy().hasHeightForWidth())
+        self.errorGroup.setSizePolicy(sizePolicy)
+        self.errorGroup.setObjectName("errorGroup")
+        self.vboxlayout1 = QtWidgets.QVBoxLayout(self.errorGroup)
+        self.vboxlayout1.setObjectName("vboxlayout1")
+        self.errors = QtWidgets.QTextEdit(parent=self.errorGroup)
+        self.errors.setReadOnly(True)
+        self.errors.setAcceptRichText(False)
+        self.errors.setObjectName("errors")
+        self.vboxlayout1.addWidget(self.errors)
+        self.vboxlayout.addWidget(self.errorGroup)
+        self.inputGroup = QtWidgets.QGroupBox(parent=GitDescribeDialog)
+        self.inputGroup.setObjectName("inputGroup")
+        self.gridlayout = QtWidgets.QGridLayout(self.inputGroup)
+        self.gridlayout.setObjectName("gridlayout")
+        spacerItem = QtWidgets.QSpacerItem(327, 29, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridlayout.addItem(spacerItem, 1, 1, 1, 1)
+        self.sendButton = QtWidgets.QPushButton(parent=self.inputGroup)
+        self.sendButton.setObjectName("sendButton")
+        self.gridlayout.addWidget(self.sendButton, 1, 2, 1, 1)
+        self.input = QtWidgets.QLineEdit(parent=self.inputGroup)
+        self.input.setObjectName("input")
+        self.gridlayout.addWidget(self.input, 0, 0, 1, 3)
+        self.passwordCheckBox = QtWidgets.QCheckBox(parent=self.inputGroup)
+        self.passwordCheckBox.setObjectName("passwordCheckBox")
+        self.gridlayout.addWidget(self.passwordCheckBox, 1, 0, 1, 1)
+        self.vboxlayout.addWidget(self.inputGroup)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=GitDescribeDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.vboxlayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(GitDescribeDialog)
+        QtCore.QMetaObject.connectSlotsByName(GitDescribeDialog)
+        GitDescribeDialog.setTabOrder(self.tagList, self.errors)
+        GitDescribeDialog.setTabOrder(self.errors, self.input)
+        GitDescribeDialog.setTabOrder(self.input, self.passwordCheckBox)
+        GitDescribeDialog.setTabOrder(self.passwordCheckBox, self.sendButton)
+        GitDescribeDialog.setTabOrder(self.sendButton, self.buttonBox)
+
+    def retranslateUi(self, GitDescribeDialog):
+        _translate = QtCore.QCoreApplication.translate
+        GitDescribeDialog.setWindowTitle(_translate("GitDescribeDialog", "Git Tag List"))
+        self.tagList.setSortingEnabled(True)
+        self.tagList.headerItem().setText(0, _translate("GitDescribeDialog", "Commit"))
+        self.tagList.headerItem().setText(1, _translate("GitDescribeDialog", "Tag Info"))
+        self.errorGroup.setTitle(_translate("GitDescribeDialog", "Errors"))
+        self.inputGroup.setTitle(_translate("GitDescribeDialog", "Input"))
+        self.sendButton.setToolTip(_translate("GitDescribeDialog", "Press to send the input to the git process"))
+        self.sendButton.setText(_translate("GitDescribeDialog", "&Send"))
+        self.sendButton.setShortcut(_translate("GitDescribeDialog", "Alt+S"))
+        self.input.setToolTip(_translate("GitDescribeDialog", "Enter data to be sent to the git process"))
+        self.passwordCheckBox.setToolTip(_translate("GitDescribeDialog", "Select to switch the input field to password mode"))
+        self.passwordCheckBox.setText(_translate("GitDescribeDialog", "&Password Mode"))
+        self.passwordCheckBox.setShortcut(_translate("GitDescribeDialog", "Alt+P"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,94 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsGit/GitDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_GitDialog(object):
+    def setupUi(self, GitDialog):
+        GitDialog.setObjectName("GitDialog")
+        GitDialog.resize(593, 499)
+        GitDialog.setSizeGripEnabled(True)
+        self.vboxlayout = QtWidgets.QVBoxLayout(GitDialog)
+        self.vboxlayout.setObjectName("vboxlayout")
+        self.outputGroup = QtWidgets.QGroupBox(parent=GitDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(2)
+        sizePolicy.setHeightForWidth(self.outputGroup.sizePolicy().hasHeightForWidth())
+        self.outputGroup.setSizePolicy(sizePolicy)
+        self.outputGroup.setObjectName("outputGroup")
+        self.vboxlayout1 = QtWidgets.QVBoxLayout(self.outputGroup)
+        self.vboxlayout1.setObjectName("vboxlayout1")
+        self.resultbox = QtWidgets.QTextEdit(parent=self.outputGroup)
+        self.resultbox.setReadOnly(True)
+        self.resultbox.setAcceptRichText(False)
+        self.resultbox.setObjectName("resultbox")
+        self.vboxlayout1.addWidget(self.resultbox)
+        self.vboxlayout.addWidget(self.outputGroup)
+        self.statusLabel = QtWidgets.QLabel(parent=GitDialog)
+        self.statusLabel.setObjectName("statusLabel")
+        self.vboxlayout.addWidget(self.statusLabel)
+        self.errorGroup = QtWidgets.QGroupBox(parent=GitDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(1)
+        sizePolicy.setHeightForWidth(self.errorGroup.sizePolicy().hasHeightForWidth())
+        self.errorGroup.setSizePolicy(sizePolicy)
+        self.errorGroup.setObjectName("errorGroup")
+        self.vboxlayout2 = QtWidgets.QVBoxLayout(self.errorGroup)
+        self.vboxlayout2.setObjectName("vboxlayout2")
+        self.errors = QtWidgets.QTextEdit(parent=self.errorGroup)
+        self.errors.setReadOnly(True)
+        self.errors.setAcceptRichText(False)
+        self.errors.setObjectName("errors")
+        self.vboxlayout2.addWidget(self.errors)
+        self.vboxlayout.addWidget(self.errorGroup)
+        self.inputGroup = QtWidgets.QGroupBox(parent=GitDialog)
+        self.inputGroup.setObjectName("inputGroup")
+        self.gridlayout = QtWidgets.QGridLayout(self.inputGroup)
+        self.gridlayout.setObjectName("gridlayout")
+        spacerItem = QtWidgets.QSpacerItem(327, 29, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridlayout.addItem(spacerItem, 1, 1, 1, 1)
+        self.sendButton = QtWidgets.QPushButton(parent=self.inputGroup)
+        self.sendButton.setObjectName("sendButton")
+        self.gridlayout.addWidget(self.sendButton, 1, 2, 1, 1)
+        self.input = QtWidgets.QLineEdit(parent=self.inputGroup)
+        self.input.setObjectName("input")
+        self.gridlayout.addWidget(self.input, 0, 0, 1, 3)
+        self.passwordCheckBox = QtWidgets.QCheckBox(parent=self.inputGroup)
+        self.passwordCheckBox.setObjectName("passwordCheckBox")
+        self.gridlayout.addWidget(self.passwordCheckBox, 1, 0, 1, 1)
+        self.vboxlayout.addWidget(self.inputGroup)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=GitDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.vboxlayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(GitDialog)
+        QtCore.QMetaObject.connectSlotsByName(GitDialog)
+        GitDialog.setTabOrder(self.resultbox, self.errors)
+        GitDialog.setTabOrder(self.errors, self.input)
+        GitDialog.setTabOrder(self.input, self.passwordCheckBox)
+        GitDialog.setTabOrder(self.passwordCheckBox, self.sendButton)
+        GitDialog.setTabOrder(self.sendButton, self.buttonBox)
+
+    def retranslateUi(self, GitDialog):
+        _translate = QtCore.QCoreApplication.translate
+        GitDialog.setWindowTitle(_translate("GitDialog", "Git"))
+        self.outputGroup.setTitle(_translate("GitDialog", "Output"))
+        self.errorGroup.setTitle(_translate("GitDialog", "Errors"))
+        self.inputGroup.setTitle(_translate("GitDialog", "Input"))
+        self.sendButton.setToolTip(_translate("GitDialog", "Press to send the input to the git process"))
+        self.sendButton.setText(_translate("GitDialog", "&Send"))
+        self.sendButton.setShortcut(_translate("GitDialog", "Alt+S"))
+        self.input.setToolTip(_translate("GitDialog", "Enter data to be sent to the git process"))
+        self.passwordCheckBox.setToolTip(_translate("GitDialog", "Select to switch the input field to password mode"))
+        self.passwordCheckBox.setText(_translate("GitDialog", "&Password Mode"))
+        self.passwordCheckBox.setShortcut(_translate("GitDialog", "Alt+P"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitDiffDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,79 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsGit/GitDiffDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_GitDiffDialog(object):
+    def setupUi(self, GitDiffDialog):
+        GitDiffDialog.setObjectName("GitDiffDialog")
+        GitDiffDialog.resize(749, 646)
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(GitDiffDialog)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.contentsGroup = QtWidgets.QGroupBox(parent=GitDiffDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(3)
+        sizePolicy.setHeightForWidth(self.contentsGroup.sizePolicy().hasHeightForWidth())
+        self.contentsGroup.setSizePolicy(sizePolicy)
+        self.contentsGroup.setObjectName("contentsGroup")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.contentsGroup)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.filesCombo = QtWidgets.QComboBox(parent=self.contentsGroup)
+        self.filesCombo.setObjectName("filesCombo")
+        self.verticalLayout.addWidget(self.filesCombo)
+        self.splitter = QtWidgets.QSplitter(parent=self.contentsGroup)
+        self.splitter.setOrientation(QtCore.Qt.Orientation.Vertical)
+        self.splitter.setObjectName("splitter")
+        self.contents = QtWidgets.QPlainTextEdit(parent=self.splitter)
+        self.contents.setLineWrapMode(QtWidgets.QPlainTextEdit.LineWrapMode.NoWrap)
+        self.contents.setReadOnly(True)
+        self.contents.setTabStopDistance(8.0)
+        self.contents.setObjectName("contents")
+        self.contents2 = QtWidgets.QPlainTextEdit(parent=self.splitter)
+        self.contents2.setLineWrapMode(QtWidgets.QPlainTextEdit.LineWrapMode.NoWrap)
+        self.contents2.setReadOnly(True)
+        self.contents2.setTabStopDistance(8.0)
+        self.contents2.setObjectName("contents2")
+        self.verticalLayout.addWidget(self.splitter)
+        self.verticalLayout_2.addWidget(self.contentsGroup)
+        self.errorGroup = QtWidgets.QGroupBox(parent=GitDiffDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(1)
+        sizePolicy.setHeightForWidth(self.errorGroup.sizePolicy().hasHeightForWidth())
+        self.errorGroup.setSizePolicy(sizePolicy)
+        self.errorGroup.setObjectName("errorGroup")
+        self.vboxlayout = QtWidgets.QVBoxLayout(self.errorGroup)
+        self.vboxlayout.setObjectName("vboxlayout")
+        self.errors = QtWidgets.QTextEdit(parent=self.errorGroup)
+        self.errors.setReadOnly(True)
+        self.errors.setAcceptRichText(False)
+        self.errors.setObjectName("errors")
+        self.vboxlayout.addWidget(self.errors)
+        self.verticalLayout_2.addWidget(self.errorGroup)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=GitDiffDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Close|QtWidgets.QDialogButtonBox.StandardButton.Save)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout_2.addWidget(self.buttonBox)
+
+        self.retranslateUi(GitDiffDialog)
+        self.buttonBox.rejected.connect(GitDiffDialog.close) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(GitDiffDialog)
+        GitDiffDialog.setTabOrder(self.filesCombo, self.contents)
+        GitDiffDialog.setTabOrder(self.contents, self.contents2)
+        GitDiffDialog.setTabOrder(self.contents2, self.errors)
+
+    def retranslateUi(self, GitDiffDialog):
+        _translate = QtCore.QCoreApplication.translate
+        GitDiffDialog.setWindowTitle(_translate("GitDiffDialog", "Git Diff"))
+        self.contentsGroup.setTitle(_translate("GitDiffDialog", "Difference"))
+        self.contents.setWhatsThis(_translate("GitDiffDialog", "<b>Git Diff</b><p>This shows the output of the git diff command.</p>"))
+        self.contents2.setWhatsThis(_translate("GitDiffDialog", "<b>Git Diff</b><p>This shows the output of the git diff command (stage to repo) if the dialog was asked to show separate diffs.</p>"))
+        self.errorGroup.setTitle(_translate("GitDiffDialog", "Errors"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitFetchDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,90 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsGit/GitFetchDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_GitFetchDialog(object):
+    def setupUi(self, GitFetchDialog):
+        GitFetchDialog.setObjectName("GitFetchDialog")
+        GitFetchDialog.resize(400, 350)
+        GitFetchDialog.setSizeGripEnabled(True)
+        self.gridLayout = QtWidgets.QGridLayout(GitFetchDialog)
+        self.gridLayout.setObjectName("gridLayout")
+        self.label = QtWidgets.QLabel(parent=GitFetchDialog)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
+        self.remotesComboBox = QtWidgets.QComboBox(parent=GitFetchDialog)
+        self.remotesComboBox.setObjectName("remotesComboBox")
+        self.gridLayout.addWidget(self.remotesComboBox, 0, 1, 1, 1)
+        self.remoteEdit = QtWidgets.QLineEdit(parent=GitFetchDialog)
+        self.remoteEdit.setReadOnly(True)
+        self.remoteEdit.setObjectName("remoteEdit")
+        self.gridLayout.addWidget(self.remoteEdit, 1, 1, 1, 1)
+        self.verticalLayout = QtWidgets.QVBoxLayout()
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.label_2 = QtWidgets.QLabel(parent=GitFetchDialog)
+        self.label_2.setAlignment(QtCore.Qt.AlignmentFlag.AlignLeading|QtCore.Qt.AlignmentFlag.AlignLeft|QtCore.Qt.AlignmentFlag.AlignTop)
+        self.label_2.setObjectName("label_2")
+        self.verticalLayout.addWidget(self.label_2)
+        self.updateButton = QtWidgets.QPushButton(parent=GitFetchDialog)
+        self.updateButton.setObjectName("updateButton")
+        self.verticalLayout.addWidget(self.updateButton)
+        spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout.addItem(spacerItem)
+        self.gridLayout.addLayout(self.verticalLayout, 2, 0, 1, 1)
+        self.remoteBranchesList = QtWidgets.QListWidget(parent=GitFetchDialog)
+        self.remoteBranchesList.setAlternatingRowColors(True)
+        self.remoteBranchesList.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.ExtendedSelection)
+        self.remoteBranchesList.setObjectName("remoteBranchesList")
+        self.gridLayout.addWidget(self.remoteBranchesList, 2, 1, 1, 1)
+        self.label_3 = QtWidgets.QLabel(parent=GitFetchDialog)
+        self.label_3.setObjectName("label_3")
+        self.gridLayout.addWidget(self.label_3, 3, 0, 1, 1)
+        self.localBranchComboBox = QtWidgets.QComboBox(parent=GitFetchDialog)
+        self.localBranchComboBox.setEditable(True)
+        self.localBranchComboBox.setObjectName("localBranchComboBox")
+        self.gridLayout.addWidget(self.localBranchComboBox, 3, 1, 1, 1)
+        self.pruneCheckBox = QtWidgets.QCheckBox(parent=GitFetchDialog)
+        self.pruneCheckBox.setObjectName("pruneCheckBox")
+        self.gridLayout.addWidget(self.pruneCheckBox, 4, 0, 1, 2)
+        self.tagsCheckBox = QtWidgets.QCheckBox(parent=GitFetchDialog)
+        self.tagsCheckBox.setObjectName("tagsCheckBox")
+        self.gridLayout.addWidget(self.tagsCheckBox, 5, 0, 1, 2)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=GitFetchDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout.addWidget(self.buttonBox, 6, 0, 1, 2)
+
+        self.retranslateUi(GitFetchDialog)
+        self.buttonBox.accepted.connect(GitFetchDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(GitFetchDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(GitFetchDialog)
+        GitFetchDialog.setTabOrder(self.remotesComboBox, self.remoteEdit)
+        GitFetchDialog.setTabOrder(self.remoteEdit, self.remoteBranchesList)
+        GitFetchDialog.setTabOrder(self.remoteBranchesList, self.updateButton)
+        GitFetchDialog.setTabOrder(self.updateButton, self.localBranchComboBox)
+        GitFetchDialog.setTabOrder(self.localBranchComboBox, self.pruneCheckBox)
+        GitFetchDialog.setTabOrder(self.pruneCheckBox, self.tagsCheckBox)
+
+    def retranslateUi(self, GitFetchDialog):
+        _translate = QtCore.QCoreApplication.translate
+        GitFetchDialog.setWindowTitle(_translate("GitFetchDialog", "Git Fetch"))
+        self.label.setText(_translate("GitFetchDialog", "Remote Repository:"))
+        self.remotesComboBox.setToolTip(_translate("GitFetchDialog", "Select the remote repository to fetch from"))
+        self.label_2.setText(_translate("GitFetchDialog", "Remote Branches:"))
+        self.updateButton.setToolTip(_translate("GitFetchDialog", "Press to update the list of remote branches"))
+        self.updateButton.setText(_translate("GitFetchDialog", "Update"))
+        self.remoteBranchesList.setToolTip(_translate("GitFetchDialog", "Select the remote branches to be fetched"))
+        self.label_3.setText(_translate("GitFetchDialog", "Local Branch:"))
+        self.localBranchComboBox.setToolTip(_translate("GitFetchDialog", "Select the local branch to fetch into"))
+        self.pruneCheckBox.setToolTip(_translate("GitFetchDialog", "Select to remove non-existing tracking references "))
+        self.pruneCheckBox.setText(_translate("GitFetchDialog", "Prune obsolete tracking references"))
+        self.tagsCheckBox.setToolTip(_translate("GitFetchDialog", "Select to fetch tags as well"))
+        self.tagsCheckBox.setText(_translate("GitFetchDialog", "Include tags"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitListDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,41 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsGit/GitListDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_GitListDialog(object):
+    def setupUi(self, GitListDialog):
+        GitListDialog.setObjectName("GitListDialog")
+        GitListDialog.resize(400, 300)
+        GitListDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(GitListDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.label = QtWidgets.QLabel(parent=GitListDialog)
+        self.label.setObjectName("label")
+        self.verticalLayout.addWidget(self.label)
+        self.selectionList = QtWidgets.QListWidget(parent=GitListDialog)
+        self.selectionList.setAlternatingRowColors(True)
+        self.selectionList.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.ExtendedSelection)
+        self.selectionList.setObjectName("selectionList")
+        self.verticalLayout.addWidget(self.selectionList)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=GitListDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(GitListDialog)
+        self.buttonBox.accepted.connect(GitListDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(GitListDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(GitListDialog)
+
+    def retranslateUi(self, GitListDialog):
+        _translate = QtCore.QCoreApplication.translate
+        GitListDialog.setWindowTitle(_translate("GitListDialog", "Git Select"))
+        self.label.setText(_translate("GitListDialog", "Select from the list:"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitLogBrowserDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,321 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsGit/GitLogBrowserDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_GitLogBrowserDialog(object):
+    def setupUi(self, GitLogBrowserDialog):
+        GitLogBrowserDialog.setObjectName("GitLogBrowserDialog")
+        GitLogBrowserDialog.resize(1000, 800)
+        self.verticalLayout_3 = QtWidgets.QVBoxLayout(GitLogBrowserDialog)
+        self.verticalLayout_3.setObjectName("verticalLayout_3")
+        self.horizontalLayout_4 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_4.setObjectName("horizontalLayout_4")
+        self.actionsButton = QtWidgets.QToolButton(parent=GitLogBrowserDialog)
+        self.actionsButton.setPopupMode(QtWidgets.QToolButton.ToolButtonPopupMode.InstantPopup)
+        self.actionsButton.setObjectName("actionsButton")
+        self.horizontalLayout_4.addWidget(self.actionsButton)
+        self.line_4 = QtWidgets.QFrame(parent=GitLogBrowserDialog)
+        self.line_4.setFrameShadow(QtWidgets.QFrame.Shadow.Raised)
+        self.line_4.setLineWidth(2)
+        self.line_4.setFrameShape(QtWidgets.QFrame.Shape.VLine)
+        self.line_4.setObjectName("line_4")
+        self.horizontalLayout_4.addWidget(self.line_4)
+        self.modeComboBox = QtWidgets.QComboBox(parent=GitLogBrowserDialog)
+        self.modeComboBox.setObjectName("modeComboBox")
+        self.horizontalLayout_4.addWidget(self.modeComboBox)
+        self.line_3 = QtWidgets.QFrame(parent=GitLogBrowserDialog)
+        self.line_3.setFrameShadow(QtWidgets.QFrame.Shadow.Raised)
+        self.line_3.setLineWidth(2)
+        self.line_3.setFrameShape(QtWidgets.QFrame.Shape.VLine)
+        self.line_3.setObjectName("line_3")
+        self.horizontalLayout_4.addWidget(self.line_3)
+        self.label = QtWidgets.QLabel(parent=GitLogBrowserDialog)
+        self.label.setObjectName("label")
+        self.horizontalLayout_4.addWidget(self.label)
+        self.fromDate = QtWidgets.QDateEdit(parent=GitLogBrowserDialog)
+        self.fromDate.setCalendarPopup(True)
+        self.fromDate.setObjectName("fromDate")
+        self.horizontalLayout_4.addWidget(self.fromDate)
+        self.label_2 = QtWidgets.QLabel(parent=GitLogBrowserDialog)
+        self.label_2.setObjectName("label_2")
+        self.horizontalLayout_4.addWidget(self.label_2)
+        self.toDate = QtWidgets.QDateEdit(parent=GitLogBrowserDialog)
+        self.toDate.setCalendarPopup(True)
+        self.toDate.setObjectName("toDate")
+        self.horizontalLayout_4.addWidget(self.toDate)
+        self.line_2 = QtWidgets.QFrame(parent=GitLogBrowserDialog)
+        self.line_2.setFrameShadow(QtWidgets.QFrame.Shadow.Raised)
+        self.line_2.setLineWidth(2)
+        self.line_2.setFrameShape(QtWidgets.QFrame.Shape.VLine)
+        self.line_2.setObjectName("line_2")
+        self.horizontalLayout_4.addWidget(self.line_2)
+        self.fieldCombo = QtWidgets.QComboBox(parent=GitLogBrowserDialog)
+        self.fieldCombo.setObjectName("fieldCombo")
+        self.horizontalLayout_4.addWidget(self.fieldCombo)
+        self.rxEdit = QtWidgets.QLineEdit(parent=GitLogBrowserDialog)
+        self.rxEdit.setClearButtonEnabled(True)
+        self.rxEdit.setObjectName("rxEdit")
+        self.horizontalLayout_4.addWidget(self.rxEdit)
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setSpacing(0)
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.findPrevButton = QtWidgets.QToolButton(parent=GitLogBrowserDialog)
+        self.findPrevButton.setObjectName("findPrevButton")
+        self.horizontalLayout_2.addWidget(self.findPrevButton)
+        self.findNextButton = QtWidgets.QToolButton(parent=GitLogBrowserDialog)
+        self.findNextButton.setObjectName("findNextButton")
+        self.horizontalLayout_2.addWidget(self.findNextButton)
+        self.horizontalLayout_4.addLayout(self.horizontalLayout_2)
+        self.verticalLayout_3.addLayout(self.horizontalLayout_4)
+        self.mainSplitter = QtWidgets.QSplitter(parent=GitLogBrowserDialog)
+        self.mainSplitter.setOrientation(QtCore.Qt.Orientation.Vertical)
+        self.mainSplitter.setObjectName("mainSplitter")
+        self.layoutWidget = QtWidgets.QWidget(parent=self.mainSplitter)
+        self.layoutWidget.setObjectName("layoutWidget")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.layoutWidget)
+        self.verticalLayout.setContentsMargins(0, 0, 0, 0)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.logTree = QtWidgets.QTreeWidget(parent=self.layoutWidget)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(1)
+        sizePolicy.setHeightForWidth(self.logTree.sizePolicy().hasHeightForWidth())
+        self.logTree.setSizePolicy(sizePolicy)
+        self.logTree.setContextMenuPolicy(QtCore.Qt.ContextMenuPolicy.CustomContextMenu)
+        self.logTree.setAlternatingRowColors(True)
+        self.logTree.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.ExtendedSelection)
+        self.logTree.setRootIsDecorated(False)
+        self.logTree.setItemsExpandable(False)
+        self.logTree.setAllColumnsShowFocus(True)
+        self.logTree.setObjectName("logTree")
+        self.verticalLayout.addWidget(self.logTree)
+        self.horizontalLayout_5 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_5.setObjectName("horizontalLayout_5")
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setSpacing(0)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.upButton = QtWidgets.QToolButton(parent=self.layoutWidget)
+        self.upButton.setAutoRepeat(True)
+        self.upButton.setObjectName("upButton")
+        self.horizontalLayout.addWidget(self.upButton)
+        self.downButton = QtWidgets.QToolButton(parent=self.layoutWidget)
+        self.downButton.setAutoRepeat(True)
+        self.downButton.setObjectName("downButton")
+        self.horizontalLayout.addWidget(self.downButton)
+        self.horizontalLayout_5.addLayout(self.horizontalLayout)
+        self.line_5 = QtWidgets.QFrame(parent=self.layoutWidget)
+        self.line_5.setFrameShadow(QtWidgets.QFrame.Shadow.Raised)
+        self.line_5.setLineWidth(2)
+        self.line_5.setFrameShape(QtWidgets.QFrame.Shape.VLine)
+        self.line_5.setObjectName("line_5")
+        self.horizontalLayout_5.addWidget(self.line_5)
+        self.nextButton = QtWidgets.QPushButton(parent=self.layoutWidget)
+        self.nextButton.setObjectName("nextButton")
+        self.horizontalLayout_5.addWidget(self.nextButton)
+        self.limitSpinBox = QtWidgets.QSpinBox(parent=self.layoutWidget)
+        self.limitSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.limitSpinBox.setMinimum(1)
+        self.limitSpinBox.setMaximum(10000)
+        self.limitSpinBox.setProperty("value", 20)
+        self.limitSpinBox.setObjectName("limitSpinBox")
+        self.horizontalLayout_5.addWidget(self.limitSpinBox)
+        self.stopCheckBox = QtWidgets.QCheckBox(parent=self.layoutWidget)
+        self.stopCheckBox.setObjectName("stopCheckBox")
+        self.horizontalLayout_5.addWidget(self.stopCheckBox)
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_5.addItem(spacerItem)
+        self.sbsSelectLabel = QtWidgets.QLabel(parent=self.layoutWidget)
+        self.sbsSelectLabel.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.sbsSelectLabel.setText("")
+        self.sbsSelectLabel.setTextInteractionFlags(QtCore.Qt.TextInteractionFlag.LinksAccessibleByKeyboard|QtCore.Qt.TextInteractionFlag.LinksAccessibleByMouse)
+        self.sbsSelectLabel.setObjectName("sbsSelectLabel")
+        self.horizontalLayout_5.addWidget(self.sbsSelectLabel)
+        self.verticalLayout.addLayout(self.horizontalLayout_5)
+        self.detailsSplitter = QtWidgets.QSplitter(parent=self.mainSplitter)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(2)
+        sizePolicy.setHeightForWidth(self.detailsSplitter.sizePolicy().hasHeightForWidth())
+        self.detailsSplitter.setSizePolicy(sizePolicy)
+        self.detailsSplitter.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.detailsSplitter.setObjectName("detailsSplitter")
+        self.detailsEdit = QtWidgets.QTextBrowser(parent=self.detailsSplitter)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(3)
+        sizePolicy.setVerticalStretch(1)
+        sizePolicy.setHeightForWidth(self.detailsEdit.sizePolicy().hasHeightForWidth())
+        self.detailsEdit.setSizePolicy(sizePolicy)
+        self.detailsEdit.setReadOnly(True)
+        self.detailsEdit.setOpenLinks(False)
+        self.detailsEdit.setObjectName("detailsEdit")
+        self.diffSplitter = QtWidgets.QSplitter(parent=self.detailsSplitter)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(7)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.diffSplitter.sizePolicy().hasHeightForWidth())
+        self.diffSplitter.setSizePolicy(sizePolicy)
+        self.diffSplitter.setOrientation(QtCore.Qt.Orientation.Vertical)
+        self.diffSplitter.setObjectName("diffSplitter")
+        self.filesTree = QtWidgets.QTreeWidget(parent=self.diffSplitter)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(7)
+        sizePolicy.setVerticalStretch(1)
+        sizePolicy.setHeightForWidth(self.filesTree.sizePolicy().hasHeightForWidth())
+        self.filesTree.setSizePolicy(sizePolicy)
+        self.filesTree.setAlternatingRowColors(True)
+        self.filesTree.setRootIsDecorated(False)
+        self.filesTree.setItemsExpandable(False)
+        self.filesTree.setAllColumnsShowFocus(True)
+        self.filesTree.setObjectName("filesTree")
+        self.layoutWidget_2 = QtWidgets.QWidget(parent=self.diffSplitter)
+        self.layoutWidget_2.setObjectName("layoutWidget_2")
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.layoutWidget_2)
+        self.verticalLayout_2.setContentsMargins(0, 0, 0, 0)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
+        self.diffLabel = QtWidgets.QLabel(parent=self.layoutWidget_2)
+        self.diffLabel.setObjectName("diffLabel")
+        self.horizontalLayout_3.addWidget(self.diffLabel)
+        spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_3.addItem(spacerItem1)
+        self.diffSelectLabel = QtWidgets.QLabel(parent=self.layoutWidget_2)
+        self.diffSelectLabel.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.diffSelectLabel.setText("")
+        self.diffSelectLabel.setTextInteractionFlags(QtCore.Qt.TextInteractionFlag.LinksAccessibleByKeyboard|QtCore.Qt.TextInteractionFlag.LinksAccessibleByMouse)
+        self.diffSelectLabel.setObjectName("diffSelectLabel")
+        self.horizontalLayout_3.addWidget(self.diffSelectLabel)
+        self.saveLabel = QtWidgets.QLabel(parent=self.layoutWidget_2)
+        self.saveLabel.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.saveLabel.setTextInteractionFlags(QtCore.Qt.TextInteractionFlag.LinksAccessibleByKeyboard|QtCore.Qt.TextInteractionFlag.LinksAccessibleByMouse)
+        self.saveLabel.setObjectName("saveLabel")
+        self.horizontalLayout_3.addWidget(self.saveLabel)
+        self.verticalLayout_2.addLayout(self.horizontalLayout_3)
+        self.diffEdit = QtWidgets.QPlainTextEdit(parent=self.layoutWidget_2)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(7)
+        sizePolicy.setVerticalStretch(2)
+        sizePolicy.setHeightForWidth(self.diffEdit.sizePolicy().hasHeightForWidth())
+        self.diffEdit.setSizePolicy(sizePolicy)
+        self.diffEdit.setLineWrapMode(QtWidgets.QPlainTextEdit.LineWrapMode.NoWrap)
+        self.diffEdit.setReadOnly(True)
+        self.diffEdit.setTabStopDistance(8.0)
+        self.diffEdit.setObjectName("diffEdit")
+        self.verticalLayout_2.addWidget(self.diffEdit)
+        self.verticalLayout_3.addWidget(self.mainSplitter)
+        self.errorGroup = QtWidgets.QGroupBox(parent=GitLogBrowserDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(1)
+        sizePolicy.setHeightForWidth(self.errorGroup.sizePolicy().hasHeightForWidth())
+        self.errorGroup.setSizePolicy(sizePolicy)
+        self.errorGroup.setObjectName("errorGroup")
+        self.vboxlayout = QtWidgets.QVBoxLayout(self.errorGroup)
+        self.vboxlayout.setObjectName("vboxlayout")
+        self.errors = QtWidgets.QTextEdit(parent=self.errorGroup)
+        self.errors.setReadOnly(True)
+        self.errors.setAcceptRichText(False)
+        self.errors.setObjectName("errors")
+        self.vboxlayout.addWidget(self.errors)
+        self.verticalLayout_3.addWidget(self.errorGroup)
+        self.inputGroup = QtWidgets.QGroupBox(parent=GitLogBrowserDialog)
+        self.inputGroup.setObjectName("inputGroup")
+        self.gridlayout = QtWidgets.QGridLayout(self.inputGroup)
+        self.gridlayout.setObjectName("gridlayout")
+        spacerItem2 = QtWidgets.QSpacerItem(327, 29, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridlayout.addItem(spacerItem2, 1, 1, 1, 1)
+        self.sendButton = QtWidgets.QPushButton(parent=self.inputGroup)
+        self.sendButton.setObjectName("sendButton")
+        self.gridlayout.addWidget(self.sendButton, 1, 2, 1, 1)
+        self.input = QtWidgets.QLineEdit(parent=self.inputGroup)
+        self.input.setObjectName("input")
+        self.gridlayout.addWidget(self.input, 0, 0, 1, 3)
+        self.passwordCheckBox = QtWidgets.QCheckBox(parent=self.inputGroup)
+        self.passwordCheckBox.setObjectName("passwordCheckBox")
+        self.gridlayout.addWidget(self.passwordCheckBox, 1, 0, 1, 1)
+        self.verticalLayout_3.addWidget(self.inputGroup)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=GitLogBrowserDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout_3.addWidget(self.buttonBox)
+
+        self.retranslateUi(GitLogBrowserDialog)
+        QtCore.QMetaObject.connectSlotsByName(GitLogBrowserDialog)
+        GitLogBrowserDialog.setTabOrder(self.actionsButton, self.modeComboBox)
+        GitLogBrowserDialog.setTabOrder(self.modeComboBox, self.fromDate)
+        GitLogBrowserDialog.setTabOrder(self.fromDate, self.toDate)
+        GitLogBrowserDialog.setTabOrder(self.toDate, self.fieldCombo)
+        GitLogBrowserDialog.setTabOrder(self.fieldCombo, self.rxEdit)
+        GitLogBrowserDialog.setTabOrder(self.rxEdit, self.findPrevButton)
+        GitLogBrowserDialog.setTabOrder(self.findPrevButton, self.findNextButton)
+        GitLogBrowserDialog.setTabOrder(self.findNextButton, self.logTree)
+        GitLogBrowserDialog.setTabOrder(self.logTree, self.upButton)
+        GitLogBrowserDialog.setTabOrder(self.upButton, self.downButton)
+        GitLogBrowserDialog.setTabOrder(self.downButton, self.nextButton)
+        GitLogBrowserDialog.setTabOrder(self.nextButton, self.limitSpinBox)
+        GitLogBrowserDialog.setTabOrder(self.limitSpinBox, self.stopCheckBox)
+        GitLogBrowserDialog.setTabOrder(self.stopCheckBox, self.sbsSelectLabel)
+        GitLogBrowserDialog.setTabOrder(self.sbsSelectLabel, self.detailsEdit)
+        GitLogBrowserDialog.setTabOrder(self.detailsEdit, self.filesTree)
+        GitLogBrowserDialog.setTabOrder(self.filesTree, self.diffSelectLabel)
+        GitLogBrowserDialog.setTabOrder(self.diffSelectLabel, self.saveLabel)
+        GitLogBrowserDialog.setTabOrder(self.saveLabel, self.diffEdit)
+        GitLogBrowserDialog.setTabOrder(self.diffEdit, self.errors)
+        GitLogBrowserDialog.setTabOrder(self.errors, self.input)
+        GitLogBrowserDialog.setTabOrder(self.input, self.passwordCheckBox)
+        GitLogBrowserDialog.setTabOrder(self.passwordCheckBox, self.sendButton)
+
+    def retranslateUi(self, GitLogBrowserDialog):
+        _translate = QtCore.QCoreApplication.translate
+        GitLogBrowserDialog.setWindowTitle(_translate("GitLogBrowserDialog", "Git Log"))
+        self.actionsButton.setToolTip(_translate("GitLogBrowserDialog", "Select action from menu"))
+        self.modeComboBox.setToolTip(_translate("GitLogBrowserDialog", "Select the mode (find or filter)"))
+        self.label.setText(_translate("GitLogBrowserDialog", "From:"))
+        self.fromDate.setToolTip(_translate("GitLogBrowserDialog", "Enter the start date"))
+        self.label_2.setText(_translate("GitLogBrowserDialog", "To:"))
+        self.toDate.setToolTip(_translate("GitLogBrowserDialog", "Enter the end date"))
+        self.fieldCombo.setToolTip(_translate("GitLogBrowserDialog", "Select the field to filter on"))
+        self.rxEdit.setToolTip(_translate("GitLogBrowserDialog", "Enter the regular expression to filter on or search for"))
+        self.findPrevButton.setToolTip(_translate("GitLogBrowserDialog", "Press to find the previous occurrence"))
+        self.findNextButton.setToolTip(_translate("GitLogBrowserDialog", "Press to find the next occurrence"))
+        self.logTree.headerItem().setText(0, _translate("GitLogBrowserDialog", "Graph"))
+        self.logTree.headerItem().setText(1, _translate("GitLogBrowserDialog", "Commit ID"))
+        self.logTree.headerItem().setText(2, _translate("GitLogBrowserDialog", "Author"))
+        self.logTree.headerItem().setText(3, _translate("GitLogBrowserDialog", "Date"))
+        self.logTree.headerItem().setText(4, _translate("GitLogBrowserDialog", "Committer"))
+        self.logTree.headerItem().setText(5, _translate("GitLogBrowserDialog", "Commit Date"))
+        self.logTree.headerItem().setText(6, _translate("GitLogBrowserDialog", "Subject"))
+        self.logTree.headerItem().setText(7, _translate("GitLogBrowserDialog", "Branches"))
+        self.logTree.headerItem().setText(8, _translate("GitLogBrowserDialog", "Tags"))
+        self.upButton.setToolTip(_translate("GitLogBrowserDialog", "Press to move up in the log list"))
+        self.downButton.setToolTip(_translate("GitLogBrowserDialog", "Press to move down in the log list"))
+        self.nextButton.setToolTip(_translate("GitLogBrowserDialog", "Press to get the next bunch of log entries"))
+        self.nextButton.setText(_translate("GitLogBrowserDialog", "&Next"))
+        self.limitSpinBox.setToolTip(_translate("GitLogBrowserDialog", "Enter the limit of entries to fetch"))
+        self.stopCheckBox.setToolTip(_translate("GitLogBrowserDialog", "Select to stop listing log messages at a copy or move"))
+        self.stopCheckBox.setText(_translate("GitLogBrowserDialog", "Stop on Copy/Move"))
+        self.filesTree.headerItem().setText(0, _translate("GitLogBrowserDialog", "Action"))
+        self.filesTree.headerItem().setText(1, _translate("GitLogBrowserDialog", "Path"))
+        self.filesTree.headerItem().setText(2, _translate("GitLogBrowserDialog", "Additions"))
+        self.filesTree.headerItem().setText(3, _translate("GitLogBrowserDialog", "Deletions"))
+        self.filesTree.headerItem().setText(4, _translate("GitLogBrowserDialog", "Copy from"))
+        self.diffLabel.setText(_translate("GitLogBrowserDialog", "Differences"))
+        self.saveLabel.setText(_translate("GitLogBrowserDialog", "<a href=\"save:me\">Save</a>"))
+        self.errorGroup.setTitle(_translate("GitLogBrowserDialog", "Errors"))
+        self.errors.setWhatsThis(_translate("GitLogBrowserDialog", "<b>Git log errors</b><p>This shows possible error messages of the git log command.</p>"))
+        self.inputGroup.setTitle(_translate("GitLogBrowserDialog", "Input"))
+        self.sendButton.setToolTip(_translate("GitLogBrowserDialog", "Press to send the input to the git process"))
+        self.sendButton.setText(_translate("GitLogBrowserDialog", "&Send"))
+        self.sendButton.setShortcut(_translate("GitLogBrowserDialog", "Alt+S"))
+        self.input.setToolTip(_translate("GitLogBrowserDialog", "Enter data to be sent to the git process"))
+        self.passwordCheckBox.setToolTip(_translate("GitLogBrowserDialog", "Select to switch the input field to password mode"))
+        self.passwordCheckBox.setText(_translate("GitLogBrowserDialog", "&Password Mode"))
+        self.passwordCheckBox.setShortcut(_translate("GitLogBrowserDialog", "Alt+P"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitMergeDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,131 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsGit/GitMergeDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_GitMergeDialog(object):
+    def setupUi(self, GitMergeDialog):
+        GitMergeDialog.setObjectName("GitMergeDialog")
+        GitMergeDialog.resize(451, 491)
+        GitMergeDialog.setSizeGripEnabled(True)
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(GitMergeDialog)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.groupBox = QtWidgets.QGroupBox(parent=GitMergeDialog)
+        self.groupBox.setObjectName("groupBox")
+        self.gridLayout = QtWidgets.QGridLayout(self.groupBox)
+        self.gridLayout.setObjectName("gridLayout")
+        self.idButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.idButton.setObjectName("idButton")
+        self.gridLayout.addWidget(self.idButton, 0, 0, 1, 1)
+        self.idEdit = QtWidgets.QLineEdit(parent=self.groupBox)
+        self.idEdit.setEnabled(False)
+        self.idEdit.setObjectName("idEdit")
+        self.gridLayout.addWidget(self.idEdit, 0, 1, 1, 1)
+        self.tagButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.tagButton.setObjectName("tagButton")
+        self.gridLayout.addWidget(self.tagButton, 1, 0, 1, 1)
+        self.tagCombo = QtWidgets.QComboBox(parent=self.groupBox)
+        self.tagCombo.setEnabled(False)
+        self.tagCombo.setEditable(True)
+        self.tagCombo.setObjectName("tagCombo")
+        self.gridLayout.addWidget(self.tagCombo, 1, 1, 1, 1)
+        self.branchButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.branchButton.setObjectName("branchButton")
+        self.gridLayout.addWidget(self.branchButton, 2, 0, 1, 1)
+        self.branchCombo = QtWidgets.QComboBox(parent=self.groupBox)
+        self.branchCombo.setEnabled(False)
+        self.branchCombo.setEditable(True)
+        self.branchCombo.setObjectName("branchCombo")
+        self.gridLayout.addWidget(self.branchCombo, 2, 1, 1, 1)
+        self.remoteBranchButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.remoteBranchButton.setObjectName("remoteBranchButton")
+        self.gridLayout.addWidget(self.remoteBranchButton, 3, 0, 1, 1)
+        self.remoteBranchCombo = QtWidgets.QComboBox(parent=self.groupBox)
+        self.remoteBranchCombo.setEnabled(False)
+        self.remoteBranchCombo.setEditable(True)
+        self.remoteBranchCombo.setObjectName("remoteBranchCombo")
+        self.gridLayout.addWidget(self.remoteBranchCombo, 3, 1, 1, 1)
+        self.noneButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.noneButton.setChecked(True)
+        self.noneButton.setObjectName("noneButton")
+        self.gridLayout.addWidget(self.noneButton, 4, 0, 1, 2)
+        self.verticalLayout_2.addWidget(self.groupBox)
+        self.commitGroupBox = QtWidgets.QGroupBox(parent=GitMergeDialog)
+        self.commitGroupBox.setCheckable(True)
+        self.commitGroupBox.setObjectName("commitGroupBox")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.commitGroupBox)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.label = QtWidgets.QLabel(parent=self.commitGroupBox)
+        self.label.setObjectName("label")
+        self.verticalLayout.addWidget(self.label)
+        self.commitMessageEdit = EricSpellCheckedPlainTextEdit(parent=self.commitGroupBox)
+        self.commitMessageEdit.setTabChangesFocus(True)
+        self.commitMessageEdit.setObjectName("commitMessageEdit")
+        self.verticalLayout.addWidget(self.commitMessageEdit)
+        self.addLogCheckBox = QtWidgets.QCheckBox(parent=self.commitGroupBox)
+        self.addLogCheckBox.setObjectName("addLogCheckBox")
+        self.verticalLayout.addWidget(self.addLogCheckBox)
+        self.verticalLayout_2.addWidget(self.commitGroupBox)
+        self.diffstatCheckBox = QtWidgets.QCheckBox(parent=GitMergeDialog)
+        self.diffstatCheckBox.setObjectName("diffstatCheckBox")
+        self.verticalLayout_2.addWidget(self.diffstatCheckBox)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=GitMergeDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout_2.addWidget(self.buttonBox)
+
+        self.retranslateUi(GitMergeDialog)
+        self.buttonBox.accepted.connect(GitMergeDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(GitMergeDialog.reject) # type: ignore
+        self.idButton.toggled['bool'].connect(self.idEdit.setEnabled) # type: ignore
+        self.tagButton.toggled['bool'].connect(self.tagCombo.setEnabled) # type: ignore
+        self.branchButton.toggled['bool'].connect(self.branchCombo.setEnabled) # type: ignore
+        self.remoteBranchButton.toggled['bool'].connect(self.remoteBranchCombo.setEnabled) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(GitMergeDialog)
+        GitMergeDialog.setTabOrder(self.idButton, self.idEdit)
+        GitMergeDialog.setTabOrder(self.idEdit, self.tagButton)
+        GitMergeDialog.setTabOrder(self.tagButton, self.tagCombo)
+        GitMergeDialog.setTabOrder(self.tagCombo, self.branchButton)
+        GitMergeDialog.setTabOrder(self.branchButton, self.branchCombo)
+        GitMergeDialog.setTabOrder(self.branchCombo, self.remoteBranchButton)
+        GitMergeDialog.setTabOrder(self.remoteBranchButton, self.remoteBranchCombo)
+        GitMergeDialog.setTabOrder(self.remoteBranchCombo, self.noneButton)
+        GitMergeDialog.setTabOrder(self.noneButton, self.commitGroupBox)
+        GitMergeDialog.setTabOrder(self.commitGroupBox, self.commitMessageEdit)
+        GitMergeDialog.setTabOrder(self.commitMessageEdit, self.addLogCheckBox)
+        GitMergeDialog.setTabOrder(self.addLogCheckBox, self.diffstatCheckBox)
+
+    def retranslateUi(self, GitMergeDialog):
+        _translate = QtCore.QCoreApplication.translate
+        GitMergeDialog.setWindowTitle(_translate("GitMergeDialog", "Git Merge"))
+        self.groupBox.setTitle(_translate("GitMergeDialog", "Revision"))
+        self.idButton.setToolTip(_translate("GitMergeDialog", "Select to specify a revision by changeset id"))
+        self.idButton.setText(_translate("GitMergeDialog", "Commit:"))
+        self.idEdit.setToolTip(_translate("GitMergeDialog", "Enter a commit id"))
+        self.tagButton.setToolTip(_translate("GitMergeDialog", "Select to specify a revision by a tag"))
+        self.tagButton.setText(_translate("GitMergeDialog", "Tag:"))
+        self.tagCombo.setToolTip(_translate("GitMergeDialog", "Enter a tag name"))
+        self.branchButton.setToolTip(_translate("GitMergeDialog", "Select to specify a revision by a local branch"))
+        self.branchButton.setText(_translate("GitMergeDialog", "Local Branch:"))
+        self.branchCombo.setToolTip(_translate("GitMergeDialog", "Enter a local branch name"))
+        self.remoteBranchButton.setToolTip(_translate("GitMergeDialog", "Select to specify a revision by a remote branch"))
+        self.remoteBranchButton.setText(_translate("GitMergeDialog", "Remote Branch:"))
+        self.remoteBranchCombo.setToolTip(_translate("GitMergeDialog", "Enter a remote branch name"))
+        self.noneButton.setToolTip(_translate("GitMergeDialog", "Select to not specify a specific revision"))
+        self.noneButton.setText(_translate("GitMergeDialog", "No commit selected"))
+        self.commitGroupBox.setToolTip(_translate("GitMergeDialog", "Select to commit the merge"))
+        self.commitGroupBox.setTitle(_translate("GitMergeDialog", "Commit Merge"))
+        self.label.setText(_translate("GitMergeDialog", "Commit Message:"))
+        self.commitMessageEdit.setToolTip(_translate("GitMergeDialog", "Enter a message for the merge commit"))
+        self.addLogCheckBox.setToolTip(_translate("GitMergeDialog", "Select to append the log summaries of merged commits"))
+        self.addLogCheckBox.setText(_translate("GitMergeDialog", "Add Log Message Summary"))
+        self.diffstatCheckBox.setToolTip(_translate("GitMergeDialog", "Select to show diff statistics at the end of the merge"))
+        self.diffstatCheckBox.setText(_translate("GitMergeDialog", "Show diff statistics"))
+from eric7.EricWidgets.EricSpellCheckedTextEdit import EricSpellCheckedPlainTextEdit
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitNewProjectOptionsDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,78 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsGit/GitNewProjectOptionsDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_GitNewProjectOptionsDialog(object):
+    def setupUi(self, GitNewProjectOptionsDialog):
+        GitNewProjectOptionsDialog.setObjectName("GitNewProjectOptionsDialog")
+        GitNewProjectOptionsDialog.resize(562, 110)
+        GitNewProjectOptionsDialog.setSizeGripEnabled(True)
+        self.gridLayout = QtWidgets.QGridLayout(GitNewProjectOptionsDialog)
+        self.gridLayout.setObjectName("gridLayout")
+        self.TextLabel2 = QtWidgets.QLabel(parent=GitNewProjectOptionsDialog)
+        self.TextLabel2.setObjectName("TextLabel2")
+        self.gridLayout.addWidget(self.TextLabel2, 0, 0, 1, 1)
+        self.vcsUrlCombo = QtWidgets.QComboBox(parent=GitNewProjectOptionsDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.vcsUrlCombo.sizePolicy().hasHeightForWidth())
+        self.vcsUrlCombo.setSizePolicy(sizePolicy)
+        self.vcsUrlCombo.setEditable(True)
+        self.vcsUrlCombo.setInsertPolicy(QtWidgets.QComboBox.InsertPolicy.InsertAtTop)
+        self.vcsUrlCombo.setSizeAdjustPolicy(QtWidgets.QComboBox.SizeAdjustPolicy.AdjustToContents)
+        self.vcsUrlCombo.setObjectName("vcsUrlCombo")
+        self.gridLayout.addWidget(self.vcsUrlCombo, 0, 1, 1, 1)
+        self.vcsUrlButton = QtWidgets.QToolButton(parent=GitNewProjectOptionsDialog)
+        self.vcsUrlButton.setObjectName("vcsUrlButton")
+        self.gridLayout.addWidget(self.vcsUrlButton, 0, 2, 1, 1)
+        self.vcsUrlClearHistoryButton = QtWidgets.QToolButton(parent=GitNewProjectOptionsDialog)
+        self.vcsUrlClearHistoryButton.setObjectName("vcsUrlClearHistoryButton")
+        self.gridLayout.addWidget(self.vcsUrlClearHistoryButton, 0, 3, 1, 1)
+        self.TextLabel4 = QtWidgets.QLabel(parent=GitNewProjectOptionsDialog)
+        self.TextLabel4.setObjectName("TextLabel4")
+        self.gridLayout.addWidget(self.TextLabel4, 1, 0, 1, 1)
+        self.vcsProjectDirEdit = QtWidgets.QLineEdit(parent=GitNewProjectOptionsDialog)
+        self.vcsProjectDirEdit.setObjectName("vcsProjectDirEdit")
+        self.gridLayout.addWidget(self.vcsProjectDirEdit, 1, 1, 1, 1)
+        self.projectDirButton = QtWidgets.QToolButton(parent=GitNewProjectOptionsDialog)
+        self.projectDirButton.setObjectName("projectDirButton")
+        self.gridLayout.addWidget(self.projectDirButton, 1, 2, 1, 1)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=GitNewProjectOptionsDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout.addWidget(self.buttonBox, 2, 0, 1, 4)
+        self.TextLabel2.setBuddy(self.vcsUrlCombo)
+        self.TextLabel4.setBuddy(self.vcsProjectDirEdit)
+
+        self.retranslateUi(GitNewProjectOptionsDialog)
+        self.buttonBox.accepted.connect(GitNewProjectOptionsDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(GitNewProjectOptionsDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(GitNewProjectOptionsDialog)
+        GitNewProjectOptionsDialog.setTabOrder(self.vcsUrlCombo, self.vcsUrlButton)
+        GitNewProjectOptionsDialog.setTabOrder(self.vcsUrlButton, self.vcsProjectDirEdit)
+        GitNewProjectOptionsDialog.setTabOrder(self.vcsProjectDirEdit, self.projectDirButton)
+
+    def retranslateUi(self, GitNewProjectOptionsDialog):
+        _translate = QtCore.QCoreApplication.translate
+        GitNewProjectOptionsDialog.setWindowTitle(_translate("GitNewProjectOptionsDialog", "New Project from Repository"))
+        GitNewProjectOptionsDialog.setWhatsThis(_translate("GitNewProjectOptionsDialog", "<b>New Project from Repository Dialog</b>\n"
+"<p>Enter the various repository infos into the entry fields. These values are used, when the new project is retrieved from the repository.</p>\n"
+"<p>For remote repositories the URL must contain the hostname.</p>"))
+        self.TextLabel2.setText(_translate("GitNewProjectOptionsDialog", "&URL:"))
+        self.vcsUrlCombo.setToolTip(_translate("GitNewProjectOptionsDialog", "Enter the URL of the repository"))
+        self.vcsUrlButton.setToolTip(_translate("GitNewProjectOptionsDialog", "Select the repository url via a directory selection dialog"))
+        self.vcsUrlClearHistoryButton.setToolTip(_translate("GitNewProjectOptionsDialog", "Press to clear the history of entered repository URLs"))
+        self.TextLabel4.setText(_translate("GitNewProjectOptionsDialog", "Project &Directory:"))
+        self.vcsProjectDirEdit.setToolTip(_translate("GitNewProjectOptionsDialog", "Enter the directory of the new project."))
+        self.vcsProjectDirEdit.setWhatsThis(_translate("GitNewProjectOptionsDialog", "<b>Project Directory</b>\n"
+"<p>Enter the directory of the new project. It will be retrieved from \n"
+"the repository and be placed in this directory.</p>"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitOptionsDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,49 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsGit/GitOptionsDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_GitOptionsDialog(object):
+    def setupUi(self, GitOptionsDialog):
+        GitOptionsDialog.setObjectName("GitOptionsDialog")
+        GitOptionsDialog.resize(565, 78)
+        GitOptionsDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(GitOptionsDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.TextLabel5 = QtWidgets.QLabel(parent=GitOptionsDialog)
+        self.TextLabel5.setObjectName("TextLabel5")
+        self.horizontalLayout.addWidget(self.TextLabel5)
+        self.vcsLogEdit = QtWidgets.QLineEdit(parent=GitOptionsDialog)
+        self.vcsLogEdit.setObjectName("vcsLogEdit")
+        self.horizontalLayout.addWidget(self.vcsLogEdit)
+        self.verticalLayout.addLayout(self.horizontalLayout)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=GitOptionsDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+        self.TextLabel5.setBuddy(self.vcsLogEdit)
+
+        self.retranslateUi(GitOptionsDialog)
+        self.buttonBox.accepted.connect(GitOptionsDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(GitOptionsDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(GitOptionsDialog)
+
+    def retranslateUi(self, GitOptionsDialog):
+        _translate = QtCore.QCoreApplication.translate
+        GitOptionsDialog.setWindowTitle(_translate("GitOptionsDialog", "Initial Commit"))
+        GitOptionsDialog.setWhatsThis(_translate("GitOptionsDialog", "<b>Initial Commit Dialog</b>\n"
+"<p>Enter the message for the initial commit.</p>"))
+        self.TextLabel5.setText(_translate("GitOptionsDialog", "Commit &Message:"))
+        self.vcsLogEdit.setToolTip(_translate("GitOptionsDialog", "Enter the log message for the new project."))
+        self.vcsLogEdit.setWhatsThis(_translate("GitOptionsDialog", "<b>Log Message</b>\n"
+"<p>Enter the log message to be used for the new project.</p>"))
+        self.vcsLogEdit.setText(_translate("GitOptionsDialog", "new project started"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitPatchFilesDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,99 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsGit/GitPatchFilesDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_GitPatchFilesDialog(object):
+    def setupUi(self, GitPatchFilesDialog):
+        GitPatchFilesDialog.setObjectName("GitPatchFilesDialog")
+        GitPatchFilesDialog.resize(498, 411)
+        GitPatchFilesDialog.setSizeGripEnabled(True)
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(GitPatchFilesDialog)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.patchFilesList = QtWidgets.QListWidget(parent=GitPatchFilesDialog)
+        self.patchFilesList.setAlternatingRowColors(True)
+        self.patchFilesList.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.ExtendedSelection)
+        self.patchFilesList.setObjectName("patchFilesList")
+        self.horizontalLayout_2.addWidget(self.patchFilesList)
+        self.verticalLayout = QtWidgets.QVBoxLayout()
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.addButton = QtWidgets.QToolButton(parent=GitPatchFilesDialog)
+        self.addButton.setObjectName("addButton")
+        self.verticalLayout.addWidget(self.addButton)
+        self.deleteButton = QtWidgets.QToolButton(parent=GitPatchFilesDialog)
+        self.deleteButton.setObjectName("deleteButton")
+        self.verticalLayout.addWidget(self.deleteButton)
+        self.line = QtWidgets.QFrame(parent=GitPatchFilesDialog)
+        self.line.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line.setObjectName("line")
+        self.verticalLayout.addWidget(self.line)
+        self.upButton = QtWidgets.QToolButton(parent=GitPatchFilesDialog)
+        self.upButton.setObjectName("upButton")
+        self.verticalLayout.addWidget(self.upButton)
+        self.downButton = QtWidgets.QToolButton(parent=GitPatchFilesDialog)
+        self.downButton.setObjectName("downButton")
+        self.verticalLayout.addWidget(self.downButton)
+        spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout.addItem(spacerItem)
+        self.horizontalLayout_2.addLayout(self.verticalLayout)
+        self.verticalLayout_2.addLayout(self.horizontalLayout_2)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.label_4 = QtWidgets.QLabel(parent=GitPatchFilesDialog)
+        self.label_4.setObjectName("label_4")
+        self.horizontalLayout.addWidget(self.label_4)
+        self.stripSpinBox = QtWidgets.QSpinBox(parent=GitPatchFilesDialog)
+        self.stripSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.stripSpinBox.setMaximum(9)
+        self.stripSpinBox.setProperty("value", 1)
+        self.stripSpinBox.setObjectName("stripSpinBox")
+        self.horizontalLayout.addWidget(self.stripSpinBox)
+        spacerItem1 = QtWidgets.QSpacerItem(118, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem1)
+        self.verticalLayout_2.addLayout(self.horizontalLayout)
+        self.eofCheckBox = QtWidgets.QCheckBox(parent=GitPatchFilesDialog)
+        self.eofCheckBox.setObjectName("eofCheckBox")
+        self.verticalLayout_2.addWidget(self.eofCheckBox)
+        self.lineCountsCheckBox = QtWidgets.QCheckBox(parent=GitPatchFilesDialog)
+        self.lineCountsCheckBox.setObjectName("lineCountsCheckBox")
+        self.verticalLayout_2.addWidget(self.lineCountsCheckBox)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=GitPatchFilesDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout_2.addWidget(self.buttonBox)
+
+        self.retranslateUi(GitPatchFilesDialog)
+        self.buttonBox.accepted.connect(GitPatchFilesDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(GitPatchFilesDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(GitPatchFilesDialog)
+        GitPatchFilesDialog.setTabOrder(self.patchFilesList, self.addButton)
+        GitPatchFilesDialog.setTabOrder(self.addButton, self.deleteButton)
+        GitPatchFilesDialog.setTabOrder(self.deleteButton, self.upButton)
+        GitPatchFilesDialog.setTabOrder(self.upButton, self.downButton)
+        GitPatchFilesDialog.setTabOrder(self.downButton, self.stripSpinBox)
+        GitPatchFilesDialog.setTabOrder(self.stripSpinBox, self.eofCheckBox)
+        GitPatchFilesDialog.setTabOrder(self.eofCheckBox, self.lineCountsCheckBox)
+
+    def retranslateUi(self, GitPatchFilesDialog):
+        _translate = QtCore.QCoreApplication.translate
+        GitPatchFilesDialog.setWindowTitle(_translate("GitPatchFilesDialog", "Patch Files"))
+        self.addButton.setToolTip(_translate("GitPatchFilesDialog", "Press to add patch files to the list"))
+        self.deleteButton.setToolTip(_translate("GitPatchFilesDialog", "Press to delete the selected patch files from the list"))
+        self.upButton.setToolTip(_translate("GitPatchFilesDialog", "Press to move the selected file up"))
+        self.downButton.setToolTip(_translate("GitPatchFilesDialog", "Press to move the selected file down"))
+        self.label_4.setText(_translate("GitPatchFilesDialog", "Strip Count:"))
+        self.stripSpinBox.setToolTip(_translate("GitPatchFilesDialog", "Enter number of leading directories to strip off (default 1)"))
+        self.eofCheckBox.setToolTip(_translate("GitPatchFilesDialog", "Select, if the patch has inaccurate end-of-file markers"))
+        self.eofCheckBox.setText(_translate("GitPatchFilesDialog", "Patch has inaccurate end-of-file"))
+        self.lineCountsCheckBox.setToolTip(_translate("GitPatchFilesDialog", "Select, if the line counts of the patch header may be wrong"))
+        self.lineCountsCheckBox.setText(_translate("GitPatchFilesDialog", "Don\'t trust line counts"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitPatchStatisticsDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,67 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsGit/GitPatchStatisticsDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_GitPatchStatisticsDialog(object):
+    def setupUi(self, GitPatchStatisticsDialog):
+        GitPatchStatisticsDialog.setObjectName("GitPatchStatisticsDialog")
+        GitPatchStatisticsDialog.resize(550, 450)
+        GitPatchStatisticsDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(GitPatchStatisticsDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.label = QtWidgets.QLabel(parent=GitPatchStatisticsDialog)
+        self.label.setObjectName("label")
+        self.verticalLayout.addWidget(self.label)
+        self.changesTreeWidget = QtWidgets.QTreeWidget(parent=GitPatchStatisticsDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(4)
+        sizePolicy.setHeightForWidth(self.changesTreeWidget.sizePolicy().hasHeightForWidth())
+        self.changesTreeWidget.setSizePolicy(sizePolicy)
+        self.changesTreeWidget.setAlternatingRowColors(True)
+        self.changesTreeWidget.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.NoSelection)
+        self.changesTreeWidget.setRootIsDecorated(False)
+        self.changesTreeWidget.setItemsExpandable(False)
+        self.changesTreeWidget.setObjectName("changesTreeWidget")
+        self.verticalLayout.addWidget(self.changesTreeWidget)
+        self.label_2 = QtWidgets.QLabel(parent=GitPatchStatisticsDialog)
+        self.label_2.setObjectName("label_2")
+        self.verticalLayout.addWidget(self.label_2)
+        self.summaryEdit = QtWidgets.QPlainTextEdit(parent=GitPatchStatisticsDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(2)
+        sizePolicy.setHeightForWidth(self.summaryEdit.sizePolicy().hasHeightForWidth())
+        self.summaryEdit.setSizePolicy(sizePolicy)
+        self.summaryEdit.setTabChangesFocus(True)
+        self.summaryEdit.setReadOnly(True)
+        self.summaryEdit.setTextInteractionFlags(QtCore.Qt.TextInteractionFlag.TextSelectableByKeyboard|QtCore.Qt.TextInteractionFlag.TextSelectableByMouse)
+        self.summaryEdit.setObjectName("summaryEdit")
+        self.verticalLayout.addWidget(self.summaryEdit)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=GitPatchStatisticsDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(GitPatchStatisticsDialog)
+        self.buttonBox.accepted.connect(GitPatchStatisticsDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(GitPatchStatisticsDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(GitPatchStatisticsDialog)
+
+    def retranslateUi(self, GitPatchStatisticsDialog):
+        _translate = QtCore.QCoreApplication.translate
+        GitPatchStatisticsDialog.setWindowTitle(_translate("GitPatchStatisticsDialog", "Patch Statistics"))
+        self.label.setText(_translate("GitPatchStatisticsDialog", "Insertions and Deletions:"))
+        self.changesTreeWidget.setSortingEnabled(True)
+        self.changesTreeWidget.headerItem().setText(0, _translate("GitPatchStatisticsDialog", "# Insertions"))
+        self.changesTreeWidget.headerItem().setText(1, _translate("GitPatchStatisticsDialog", "# Deletions"))
+        self.changesTreeWidget.headerItem().setText(2, _translate("GitPatchStatisticsDialog", "File"))
+        self.label_2.setText(_translate("GitPatchStatisticsDialog", "Summary Information:"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitPullDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,74 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsGit/GitPullDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_GitPullDialog(object):
+    def setupUi(self, GitPullDialog):
+        GitPullDialog.setObjectName("GitPullDialog")
+        GitPullDialog.resize(400, 344)
+        GitPullDialog.setSizeGripEnabled(True)
+        self.gridLayout = QtWidgets.QGridLayout(GitPullDialog)
+        self.gridLayout.setObjectName("gridLayout")
+        self.label = QtWidgets.QLabel(parent=GitPullDialog)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
+        self.remotesComboBox = QtWidgets.QComboBox(parent=GitPullDialog)
+        self.remotesComboBox.setObjectName("remotesComboBox")
+        self.gridLayout.addWidget(self.remotesComboBox, 0, 1, 1, 1)
+        self.remoteEdit = QtWidgets.QLineEdit(parent=GitPullDialog)
+        self.remoteEdit.setReadOnly(True)
+        self.remoteEdit.setObjectName("remoteEdit")
+        self.gridLayout.addWidget(self.remoteEdit, 1, 1, 1, 1)
+        self.verticalLayout = QtWidgets.QVBoxLayout()
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.label_2 = QtWidgets.QLabel(parent=GitPullDialog)
+        self.label_2.setAlignment(QtCore.Qt.AlignmentFlag.AlignLeading|QtCore.Qt.AlignmentFlag.AlignLeft|QtCore.Qt.AlignmentFlag.AlignTop)
+        self.label_2.setObjectName("label_2")
+        self.verticalLayout.addWidget(self.label_2)
+        self.updateButton = QtWidgets.QPushButton(parent=GitPullDialog)
+        self.updateButton.setObjectName("updateButton")
+        self.verticalLayout.addWidget(self.updateButton)
+        spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout.addItem(spacerItem)
+        self.gridLayout.addLayout(self.verticalLayout, 2, 0, 1, 1)
+        self.remoteBranchesList = QtWidgets.QListWidget(parent=GitPullDialog)
+        self.remoteBranchesList.setAlternatingRowColors(True)
+        self.remoteBranchesList.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.ExtendedSelection)
+        self.remoteBranchesList.setObjectName("remoteBranchesList")
+        self.gridLayout.addWidget(self.remoteBranchesList, 2, 1, 1, 1)
+        self.pruneCheckBox = QtWidgets.QCheckBox(parent=GitPullDialog)
+        self.pruneCheckBox.setObjectName("pruneCheckBox")
+        self.gridLayout.addWidget(self.pruneCheckBox, 3, 0, 1, 2)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=GitPullDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout.addWidget(self.buttonBox, 4, 0, 1, 2)
+
+        self.retranslateUi(GitPullDialog)
+        self.buttonBox.accepted.connect(GitPullDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(GitPullDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(GitPullDialog)
+        GitPullDialog.setTabOrder(self.remotesComboBox, self.remoteEdit)
+        GitPullDialog.setTabOrder(self.remoteEdit, self.remoteBranchesList)
+        GitPullDialog.setTabOrder(self.remoteBranchesList, self.updateButton)
+        GitPullDialog.setTabOrder(self.updateButton, self.pruneCheckBox)
+
+    def retranslateUi(self, GitPullDialog):
+        _translate = QtCore.QCoreApplication.translate
+        GitPullDialog.setWindowTitle(_translate("GitPullDialog", "Git Pull"))
+        self.label.setText(_translate("GitPullDialog", "Remote Repository:"))
+        self.remotesComboBox.setToolTip(_translate("GitPullDialog", "Select the remote repository to pull from"))
+        self.label_2.setText(_translate("GitPullDialog", "Remote Branches:"))
+        self.updateButton.setToolTip(_translate("GitPullDialog", "Press to update the list of remote branches"))
+        self.updateButton.setText(_translate("GitPullDialog", "Update"))
+        self.remoteBranchesList.setToolTip(_translate("GitPullDialog", "Select the remote branches to be pulled"))
+        self.pruneCheckBox.setToolTip(_translate("GitPullDialog", "Select to remove non-existing tracking references "))
+        self.pruneCheckBox.setText(_translate("GitPullDialog", "Prune obsolete tracking references"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitPushDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,118 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsGit/GitPushDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_GitPushDialog(object):
+    def setupUi(self, GitPushDialog):
+        GitPushDialog.setObjectName("GitPushDialog")
+        GitPushDialog.resize(600, 400)
+        GitPushDialog.setSizeGripEnabled(True)
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(GitPushDialog)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.label = QtWidgets.QLabel(parent=GitPushDialog)
+        self.label.setObjectName("label")
+        self.horizontalLayout.addWidget(self.label)
+        self.remotesComboBox = QtWidgets.QComboBox(parent=GitPushDialog)
+        self.remotesComboBox.setObjectName("remotesComboBox")
+        self.horizontalLayout.addWidget(self.remotesComboBox)
+        self.remoteEdit = QtWidgets.QLineEdit(parent=GitPushDialog)
+        self.remoteEdit.setReadOnly(True)
+        self.remoteEdit.setObjectName("remoteEdit")
+        self.horizontalLayout.addWidget(self.remoteEdit)
+        self.verticalLayout_2.addLayout(self.horizontalLayout)
+        self.groupBox = QtWidgets.QGroupBox(parent=GitPushDialog)
+        self.groupBox.setObjectName("groupBox")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.groupBox)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.branchesTree = QtWidgets.QTreeWidget(parent=self.groupBox)
+        self.branchesTree.setAlternatingRowColors(True)
+        self.branchesTree.setRootIsDecorated(False)
+        self.branchesTree.setItemsExpandable(False)
+        self.branchesTree.setExpandsOnDoubleClick(False)
+        self.branchesTree.setObjectName("branchesTree")
+        self.verticalLayout.addWidget(self.branchesTree)
+        self.selectAllCheckBox = QtWidgets.QCheckBox(parent=self.groupBox)
+        self.selectAllCheckBox.setTristate(True)
+        self.selectAllCheckBox.setObjectName("selectAllCheckBox")
+        self.verticalLayout.addWidget(self.selectAllCheckBox)
+        self.forceWarningLabel = QtWidgets.QLabel(parent=self.groupBox)
+        self.forceWarningLabel.setWordWrap(True)
+        self.forceWarningLabel.setObjectName("forceWarningLabel")
+        self.verticalLayout.addWidget(self.forceWarningLabel)
+        self.verticalLayout_2.addWidget(self.groupBox)
+        self.tagsCheckBox = QtWidgets.QCheckBox(parent=GitPushDialog)
+        self.tagsCheckBox.setObjectName("tagsCheckBox")
+        self.verticalLayout_2.addWidget(self.tagsCheckBox)
+        self.trackingCheckBox = QtWidgets.QCheckBox(parent=GitPushDialog)
+        self.trackingCheckBox.setObjectName("trackingCheckBox")
+        self.verticalLayout_2.addWidget(self.trackingCheckBox)
+        self.groupBox_2 = QtWidgets.QGroupBox(parent=GitPushDialog)
+        self.groupBox_2.setObjectName("groupBox_2")
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.groupBox_2)
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.submodulesOnDemandButton = QtWidgets.QRadioButton(parent=self.groupBox_2)
+        self.submodulesOnDemandButton.setChecked(True)
+        self.submodulesOnDemandButton.setObjectName("submodulesOnDemandButton")
+        self.horizontalLayout_2.addWidget(self.submodulesOnDemandButton)
+        self.submodulesCheckButton = QtWidgets.QRadioButton(parent=self.groupBox_2)
+        self.submodulesCheckButton.setObjectName("submodulesCheckButton")
+        self.horizontalLayout_2.addWidget(self.submodulesCheckButton)
+        self.submodulesOnlyButton = QtWidgets.QRadioButton(parent=self.groupBox_2)
+        self.submodulesOnlyButton.setObjectName("submodulesOnlyButton")
+        self.horizontalLayout_2.addWidget(self.submodulesOnlyButton)
+        self.submodulesNoButton = QtWidgets.QRadioButton(parent=self.groupBox_2)
+        self.submodulesNoButton.setObjectName("submodulesNoButton")
+        self.horizontalLayout_2.addWidget(self.submodulesNoButton)
+        self.verticalLayout_2.addWidget(self.groupBox_2)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=GitPushDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout_2.addWidget(self.buttonBox)
+
+        self.retranslateUi(GitPushDialog)
+        self.buttonBox.accepted.connect(GitPushDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(GitPushDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(GitPushDialog)
+        GitPushDialog.setTabOrder(self.remotesComboBox, self.remoteEdit)
+        GitPushDialog.setTabOrder(self.remoteEdit, self.branchesTree)
+        GitPushDialog.setTabOrder(self.branchesTree, self.selectAllCheckBox)
+        GitPushDialog.setTabOrder(self.selectAllCheckBox, self.tagsCheckBox)
+        GitPushDialog.setTabOrder(self.tagsCheckBox, self.trackingCheckBox)
+
+    def retranslateUi(self, GitPushDialog):
+        _translate = QtCore.QCoreApplication.translate
+        GitPushDialog.setWindowTitle(_translate("GitPushDialog", "Git Push"))
+        self.label.setText(_translate("GitPushDialog", "Remote Repository:"))
+        self.remotesComboBox.setToolTip(_translate("GitPushDialog", "Select the remote repository to push to"))
+        self.groupBox.setTitle(_translate("GitPushDialog", "Branches to be pushed"))
+        self.branchesTree.setSortingEnabled(True)
+        self.branchesTree.headerItem().setText(0, _translate("GitPushDialog", "Push?"))
+        self.branchesTree.headerItem().setText(1, _translate("GitPushDialog", "Local"))
+        self.branchesTree.headerItem().setText(2, _translate("GitPushDialog", "Remote"))
+        self.branchesTree.headerItem().setText(3, _translate("GitPushDialog", "Force?"))
+        self.selectAllCheckBox.setToolTip(_translate("GitPushDialog", "Press to select all branches"))
+        self.selectAllCheckBox.setText(_translate("GitPushDialog", "Select All"))
+        self.forceWarningLabel.setText(_translate("GitPushDialog", "<b>WARNING: The \"Force\" option can result in dangling branches in the remote repository.</b>"))
+        self.tagsCheckBox.setToolTip(_translate("GitPushDialog", "Select to push tags as well"))
+        self.tagsCheckBox.setText(_translate("GitPushDialog", "Include tags"))
+        self.trackingCheckBox.setToolTip(_translate("GitPushDialog", "Select this to associate a remote tracking branch"))
+        self.trackingCheckBox.setText(_translate("GitPushDialog", "Set tracking information"))
+        self.groupBox_2.setTitle(_translate("GitPushDialog", "Push Submodules"))
+        self.submodulesOnDemandButton.setToolTip(_translate("GitPushDialog", "Select to push submodules automatically"))
+        self.submodulesOnDemandButton.setText(_translate("GitPushDialog", "on-demand"))
+        self.submodulesCheckButton.setToolTip(_translate("GitPushDialog", "Select to check, if submodules were pushed already"))
+        self.submodulesCheckButton.setText(_translate("GitPushDialog", "check"))
+        self.submodulesOnlyButton.setToolTip(_translate("GitPushDialog", "Select to push submodules only"))
+        self.submodulesOnlyButton.setText(_translate("GitPushDialog", "only"))
+        self.submodulesNoButton.setToolTip(_translate("GitPushDialog", "Select to not push any submodule"))
+        self.submodulesNoButton.setText(_translate("GitPushDialog", "no"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitReflogBrowserDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,112 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsGit/GitReflogBrowserDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_GitReflogBrowserDialog(object):
+    def setupUi(self, GitReflogBrowserDialog):
+        GitReflogBrowserDialog.setObjectName("GitReflogBrowserDialog")
+        GitReflogBrowserDialog.resize(800, 600)
+        self.verticalLayout = QtWidgets.QVBoxLayout(GitReflogBrowserDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.logTree = QtWidgets.QTreeWidget(parent=GitReflogBrowserDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(7)
+        sizePolicy.setHeightForWidth(self.logTree.sizePolicy().hasHeightForWidth())
+        self.logTree.setSizePolicy(sizePolicy)
+        self.logTree.setAlternatingRowColors(True)
+        self.logTree.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.ExtendedSelection)
+        self.logTree.setRootIsDecorated(False)
+        self.logTree.setItemsExpandable(False)
+        self.logTree.setAllColumnsShowFocus(True)
+        self.logTree.setObjectName("logTree")
+        self.verticalLayout.addWidget(self.logTree)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.nextButton = QtWidgets.QPushButton(parent=GitReflogBrowserDialog)
+        self.nextButton.setObjectName("nextButton")
+        self.horizontalLayout.addWidget(self.nextButton)
+        self.limitSpinBox = QtWidgets.QSpinBox(parent=GitReflogBrowserDialog)
+        self.limitSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.limitSpinBox.setMinimum(1)
+        self.limitSpinBox.setMaximum(10000)
+        self.limitSpinBox.setProperty("value", 20)
+        self.limitSpinBox.setObjectName("limitSpinBox")
+        self.horizontalLayout.addWidget(self.limitSpinBox)
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem)
+        self.verticalLayout.addLayout(self.horizontalLayout)
+        self.errorGroup = QtWidgets.QGroupBox(parent=GitReflogBrowserDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(1)
+        sizePolicy.setHeightForWidth(self.errorGroup.sizePolicy().hasHeightForWidth())
+        self.errorGroup.setSizePolicy(sizePolicy)
+        self.errorGroup.setObjectName("errorGroup")
+        self.vboxlayout = QtWidgets.QVBoxLayout(self.errorGroup)
+        self.vboxlayout.setObjectName("vboxlayout")
+        self.errors = QtWidgets.QTextEdit(parent=self.errorGroup)
+        self.errors.setReadOnly(True)
+        self.errors.setAcceptRichText(False)
+        self.errors.setObjectName("errors")
+        self.vboxlayout.addWidget(self.errors)
+        self.verticalLayout.addWidget(self.errorGroup)
+        self.inputGroup = QtWidgets.QGroupBox(parent=GitReflogBrowserDialog)
+        self.inputGroup.setObjectName("inputGroup")
+        self.gridlayout = QtWidgets.QGridLayout(self.inputGroup)
+        self.gridlayout.setObjectName("gridlayout")
+        spacerItem1 = QtWidgets.QSpacerItem(327, 29, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridlayout.addItem(spacerItem1, 1, 1, 1, 1)
+        self.sendButton = QtWidgets.QPushButton(parent=self.inputGroup)
+        self.sendButton.setObjectName("sendButton")
+        self.gridlayout.addWidget(self.sendButton, 1, 2, 1, 1)
+        self.input = QtWidgets.QLineEdit(parent=self.inputGroup)
+        self.input.setObjectName("input")
+        self.gridlayout.addWidget(self.input, 0, 0, 1, 3)
+        self.passwordCheckBox = QtWidgets.QCheckBox(parent=self.inputGroup)
+        self.passwordCheckBox.setObjectName("passwordCheckBox")
+        self.gridlayout.addWidget(self.passwordCheckBox, 1, 0, 1, 1)
+        self.verticalLayout.addWidget(self.inputGroup)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=GitReflogBrowserDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(GitReflogBrowserDialog)
+        QtCore.QMetaObject.connectSlotsByName(GitReflogBrowserDialog)
+        GitReflogBrowserDialog.setTabOrder(self.logTree, self.nextButton)
+        GitReflogBrowserDialog.setTabOrder(self.nextButton, self.limitSpinBox)
+        GitReflogBrowserDialog.setTabOrder(self.limitSpinBox, self.errors)
+        GitReflogBrowserDialog.setTabOrder(self.errors, self.input)
+        GitReflogBrowserDialog.setTabOrder(self.input, self.passwordCheckBox)
+        GitReflogBrowserDialog.setTabOrder(self.passwordCheckBox, self.sendButton)
+
+    def retranslateUi(self, GitReflogBrowserDialog):
+        _translate = QtCore.QCoreApplication.translate
+        GitReflogBrowserDialog.setWindowTitle(_translate("GitReflogBrowserDialog", "Git Reflog"))
+        self.logTree.headerItem().setText(0, _translate("GitReflogBrowserDialog", "Commit"))
+        self.logTree.headerItem().setText(1, _translate("GitReflogBrowserDialog", "Selector"))
+        self.logTree.headerItem().setText(2, _translate("GitReflogBrowserDialog", "Name"))
+        self.logTree.headerItem().setText(3, _translate("GitReflogBrowserDialog", "Operation"))
+        self.logTree.headerItem().setText(4, _translate("GitReflogBrowserDialog", "Subject"))
+        self.nextButton.setToolTip(_translate("GitReflogBrowserDialog", "Press to get the next bunch of log entries"))
+        self.nextButton.setText(_translate("GitReflogBrowserDialog", "&Next"))
+        self.limitSpinBox.setToolTip(_translate("GitReflogBrowserDialog", "Enter the limit of entries to fetch"))
+        self.errorGroup.setTitle(_translate("GitReflogBrowserDialog", "Errors"))
+        self.errors.setWhatsThis(_translate("GitReflogBrowserDialog", "<b>Git log errors</b><p>This shows possible error messages of the git log command.</p>"))
+        self.inputGroup.setTitle(_translate("GitReflogBrowserDialog", "Input"))
+        self.sendButton.setToolTip(_translate("GitReflogBrowserDialog", "Press to send the input to the git process"))
+        self.sendButton.setText(_translate("GitReflogBrowserDialog", "&Send"))
+        self.sendButton.setShortcut(_translate("GitReflogBrowserDialog", "Alt+S"))
+        self.input.setToolTip(_translate("GitReflogBrowserDialog", "Enter data to be sent to the git process"))
+        self.passwordCheckBox.setToolTip(_translate("GitReflogBrowserDialog", "Select to switch the input field to password mode"))
+        self.passwordCheckBox.setText(_translate("GitReflogBrowserDialog", "&Password Mode"))
+        self.passwordCheckBox.setShortcut(_translate("GitReflogBrowserDialog", "Alt+P"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitRemoteCredentialsDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,73 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsGit/GitRemoteCredentialsDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_GitRemoteCredentialsDialog(object):
+    def setupUi(self, GitRemoteCredentialsDialog):
+        GitRemoteCredentialsDialog.setObjectName("GitRemoteCredentialsDialog")
+        GitRemoteCredentialsDialog.resize(700, 185)
+        GitRemoteCredentialsDialog.setSizeGripEnabled(True)
+        self.gridLayout = QtWidgets.QGridLayout(GitRemoteCredentialsDialog)
+        self.gridLayout.setObjectName("gridLayout")
+        self.label = QtWidgets.QLabel(parent=GitRemoteCredentialsDialog)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
+        self.nameEdit = QtWidgets.QLineEdit(parent=GitRemoteCredentialsDialog)
+        self.nameEdit.setToolTip("")
+        self.nameEdit.setReadOnly(True)
+        self.nameEdit.setObjectName("nameEdit")
+        self.gridLayout.addWidget(self.nameEdit, 0, 1, 1, 1)
+        self.label_2 = QtWidgets.QLabel(parent=GitRemoteCredentialsDialog)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 1, 0, 1, 1)
+        self.urlEdit = QtWidgets.QLineEdit(parent=GitRemoteCredentialsDialog)
+        self.urlEdit.setToolTip("")
+        self.urlEdit.setReadOnly(True)
+        self.urlEdit.setObjectName("urlEdit")
+        self.gridLayout.addWidget(self.urlEdit, 1, 1, 1, 1)
+        self.groupBox = QtWidgets.QGroupBox(parent=GitRemoteCredentialsDialog)
+        self.groupBox.setObjectName("groupBox")
+        self.horizontalLayout = QtWidgets.QHBoxLayout(self.groupBox)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.label_3 = QtWidgets.QLabel(parent=self.groupBox)
+        self.label_3.setObjectName("label_3")
+        self.horizontalLayout.addWidget(self.label_3)
+        self.userEdit = QtWidgets.QLineEdit(parent=self.groupBox)
+        self.userEdit.setObjectName("userEdit")
+        self.horizontalLayout.addWidget(self.userEdit)
+        self.label_4 = QtWidgets.QLabel(parent=self.groupBox)
+        self.label_4.setObjectName("label_4")
+        self.horizontalLayout.addWidget(self.label_4)
+        self.passwordEdit = QtWidgets.QLineEdit(parent=self.groupBox)
+        self.passwordEdit.setEnabled(False)
+        self.passwordEdit.setObjectName("passwordEdit")
+        self.horizontalLayout.addWidget(self.passwordEdit)
+        self.gridLayout.addWidget(self.groupBox, 2, 0, 1, 2)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=GitRemoteCredentialsDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout.addWidget(self.buttonBox, 3, 0, 1, 2)
+
+        self.retranslateUi(GitRemoteCredentialsDialog)
+        self.buttonBox.accepted.connect(GitRemoteCredentialsDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(GitRemoteCredentialsDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(GitRemoteCredentialsDialog)
+
+    def retranslateUi(self, GitRemoteCredentialsDialog):
+        _translate = QtCore.QCoreApplication.translate
+        GitRemoteCredentialsDialog.setWindowTitle(_translate("GitRemoteCredentialsDialog", "Git Remote Credentials"))
+        self.label.setText(_translate("GitRemoteCredentialsDialog", "Name:"))
+        self.label_2.setText(_translate("GitRemoteCredentialsDialog", "URL:"))
+        self.groupBox.setTitle(_translate("GitRemoteCredentialsDialog", "Credentials"))
+        self.label_3.setText(_translate("GitRemoteCredentialsDialog", "Username:"))
+        self.userEdit.setToolTip(_translate("GitRemoteCredentialsDialog", "Enter the user name for the remote repository"))
+        self.label_4.setText(_translate("GitRemoteCredentialsDialog", "Password:"))
+        self.passwordEdit.setToolTip(_translate("GitRemoteCredentialsDialog", "Enter the password for the remote repository"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitRemoteRepositoriesDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,157 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsGit/GitRemoteRepositoriesDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_GitRemoteRepositoriesDialog(object):
+    def setupUi(self, GitRemoteRepositoriesDialog):
+        GitRemoteRepositoriesDialog.setObjectName("GitRemoteRepositoriesDialog")
+        GitRemoteRepositoriesDialog.resize(650, 500)
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(GitRemoteRepositoriesDialog)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.groupBox = QtWidgets.QGroupBox(parent=GitRemoteRepositoriesDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(3)
+        sizePolicy.setHeightForWidth(self.groupBox.sizePolicy().hasHeightForWidth())
+        self.groupBox.setSizePolicy(sizePolicy)
+        self.groupBox.setObjectName("groupBox")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.groupBox)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.repolist = QtWidgets.QTreeWidget(parent=self.groupBox)
+        self.repolist.setAlternatingRowColors(True)
+        self.repolist.setRootIsDecorated(False)
+        self.repolist.setItemsExpandable(False)
+        self.repolist.setObjectName("repolist")
+        self.verticalLayout.addWidget(self.repolist)
+        self.verticalLayout_2.addWidget(self.groupBox)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem)
+        self.addButton = QtWidgets.QPushButton(parent=GitRemoteRepositoriesDialog)
+        self.addButton.setObjectName("addButton")
+        self.horizontalLayout.addWidget(self.addButton)
+        self.removeButton = QtWidgets.QPushButton(parent=GitRemoteRepositoriesDialog)
+        self.removeButton.setObjectName("removeButton")
+        self.horizontalLayout.addWidget(self.removeButton)
+        self.pruneButton = QtWidgets.QPushButton(parent=GitRemoteRepositoriesDialog)
+        self.pruneButton.setObjectName("pruneButton")
+        self.horizontalLayout.addWidget(self.pruneButton)
+        self.line = QtWidgets.QFrame(parent=GitRemoteRepositoriesDialog)
+        self.line.setFrameShape(QtWidgets.QFrame.Shape.VLine)
+        self.line.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line.setObjectName("line")
+        self.horizontalLayout.addWidget(self.line)
+        self.showInfoButton = QtWidgets.QPushButton(parent=GitRemoteRepositoriesDialog)
+        self.showInfoButton.setObjectName("showInfoButton")
+        self.horizontalLayout.addWidget(self.showInfoButton)
+        spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem1)
+        self.verticalLayout_2.addLayout(self.horizontalLayout)
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_2.addItem(spacerItem2)
+        self.renameButton = QtWidgets.QPushButton(parent=GitRemoteRepositoriesDialog)
+        self.renameButton.setObjectName("renameButton")
+        self.horizontalLayout_2.addWidget(self.renameButton)
+        self.changeUrlButton = QtWidgets.QPushButton(parent=GitRemoteRepositoriesDialog)
+        self.changeUrlButton.setObjectName("changeUrlButton")
+        self.horizontalLayout_2.addWidget(self.changeUrlButton)
+        self.credentialsButton = QtWidgets.QPushButton(parent=GitRemoteRepositoriesDialog)
+        self.credentialsButton.setObjectName("credentialsButton")
+        self.horizontalLayout_2.addWidget(self.credentialsButton)
+        spacerItem3 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_2.addItem(spacerItem3)
+        self.verticalLayout_2.addLayout(self.horizontalLayout_2)
+        self.errorGroup = QtWidgets.QGroupBox(parent=GitRemoteRepositoriesDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(1)
+        sizePolicy.setHeightForWidth(self.errorGroup.sizePolicy().hasHeightForWidth())
+        self.errorGroup.setSizePolicy(sizePolicy)
+        self.errorGroup.setObjectName("errorGroup")
+        self.vboxlayout = QtWidgets.QVBoxLayout(self.errorGroup)
+        self.vboxlayout.setObjectName("vboxlayout")
+        self.errors = QtWidgets.QTextEdit(parent=self.errorGroup)
+        self.errors.setReadOnly(True)
+        self.errors.setAcceptRichText(False)
+        self.errors.setObjectName("errors")
+        self.vboxlayout.addWidget(self.errors)
+        self.verticalLayout_2.addWidget(self.errorGroup)
+        self.inputGroup = QtWidgets.QGroupBox(parent=GitRemoteRepositoriesDialog)
+        self.inputGroup.setObjectName("inputGroup")
+        self._2 = QtWidgets.QGridLayout(self.inputGroup)
+        self._2.setObjectName("_2")
+        spacerItem4 = QtWidgets.QSpacerItem(327, 29, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self._2.addItem(spacerItem4, 1, 1, 1, 1)
+        self.sendButton = QtWidgets.QPushButton(parent=self.inputGroup)
+        self.sendButton.setObjectName("sendButton")
+        self._2.addWidget(self.sendButton, 1, 2, 1, 1)
+        self.input = QtWidgets.QLineEdit(parent=self.inputGroup)
+        self.input.setObjectName("input")
+        self._2.addWidget(self.input, 0, 0, 1, 3)
+        self.passwordCheckBox = QtWidgets.QCheckBox(parent=self.inputGroup)
+        self.passwordCheckBox.setObjectName("passwordCheckBox")
+        self._2.addWidget(self.passwordCheckBox, 1, 0, 1, 1)
+        self.verticalLayout_2.addWidget(self.inputGroup)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=GitRemoteRepositoriesDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout_2.addWidget(self.buttonBox)
+
+        self.retranslateUi(GitRemoteRepositoriesDialog)
+        QtCore.QMetaObject.connectSlotsByName(GitRemoteRepositoriesDialog)
+        GitRemoteRepositoriesDialog.setTabOrder(self.repolist, self.addButton)
+        GitRemoteRepositoriesDialog.setTabOrder(self.addButton, self.removeButton)
+        GitRemoteRepositoriesDialog.setTabOrder(self.removeButton, self.pruneButton)
+        GitRemoteRepositoriesDialog.setTabOrder(self.pruneButton, self.showInfoButton)
+        GitRemoteRepositoriesDialog.setTabOrder(self.showInfoButton, self.renameButton)
+        GitRemoteRepositoriesDialog.setTabOrder(self.renameButton, self.changeUrlButton)
+        GitRemoteRepositoriesDialog.setTabOrder(self.changeUrlButton, self.credentialsButton)
+        GitRemoteRepositoriesDialog.setTabOrder(self.credentialsButton, self.errors)
+        GitRemoteRepositoriesDialog.setTabOrder(self.errors, self.input)
+        GitRemoteRepositoriesDialog.setTabOrder(self.input, self.passwordCheckBox)
+        GitRemoteRepositoriesDialog.setTabOrder(self.passwordCheckBox, self.sendButton)
+
+    def retranslateUi(self, GitRemoteRepositoriesDialog):
+        _translate = QtCore.QCoreApplication.translate
+        GitRemoteRepositoriesDialog.setWindowTitle(_translate("GitRemoteRepositoriesDialog", "Git Remote Repositories"))
+        GitRemoteRepositoriesDialog.setWhatsThis(_translate("GitRemoteRepositoriesDialog", "<b>Git Remote Repositories</b>\n"
+"<p>This dialog shows the available remote repositories.</p>"))
+        self.groupBox.setTitle(_translate("GitRemoteRepositoriesDialog", "Remote Repositories"))
+        self.repolist.headerItem().setText(0, _translate("GitRemoteRepositoriesDialog", "Name"))
+        self.repolist.headerItem().setText(1, _translate("GitRemoteRepositoriesDialog", "URL"))
+        self.repolist.headerItem().setText(2, _translate("GitRemoteRepositoriesDialog", "Operation"))
+        self.addButton.setToolTip(_translate("GitRemoteRepositoriesDialog", "Press to add a remote repository"))
+        self.addButton.setText(_translate("GitRemoteRepositoriesDialog", "&Add"))
+        self.removeButton.setToolTip(_translate("GitRemoteRepositoriesDialog", "Press to remove the selected repository"))
+        self.removeButton.setText(_translate("GitRemoteRepositoriesDialog", "Re&move"))
+        self.pruneButton.setToolTip(_translate("GitRemoteRepositoriesDialog", "Press to delete stale tracking branches under the selected repository "))
+        self.pruneButton.setText(_translate("GitRemoteRepositoriesDialog", "&Prune"))
+        self.showInfoButton.setToolTip(_translate("GitRemoteRepositoriesDialog", "Press to show information about the selected repository"))
+        self.showInfoButton.setText(_translate("GitRemoteRepositoriesDialog", "Show &Info..."))
+        self.renameButton.setToolTip(_translate("GitRemoteRepositoriesDialog", "Press to rename the selected repository"))
+        self.renameButton.setText(_translate("GitRemoteRepositoriesDialog", "&Rename"))
+        self.changeUrlButton.setToolTip(_translate("GitRemoteRepositoriesDialog", "Press to change the URL of the selected repository"))
+        self.changeUrlButton.setText(_translate("GitRemoteRepositoriesDialog", "Change &URL"))
+        self.credentialsButton.setToolTip(_translate("GitRemoteRepositoriesDialog", "Press to set or change the user credentials of the selected repository"))
+        self.credentialsButton.setText(_translate("GitRemoteRepositoriesDialog", "&Credentials"))
+        self.errorGroup.setTitle(_translate("GitRemoteRepositoriesDialog", "Errors"))
+        self.errors.setWhatsThis(_translate("GitRemoteRepositoriesDialog", "<b>Git log errors</b><p>This shows possible error messages of the git log command.</p>"))
+        self.inputGroup.setTitle(_translate("GitRemoteRepositoriesDialog", "Input"))
+        self.sendButton.setToolTip(_translate("GitRemoteRepositoriesDialog", "Press to send the input to the git process"))
+        self.sendButton.setText(_translate("GitRemoteRepositoriesDialog", "&Send"))
+        self.sendButton.setShortcut(_translate("GitRemoteRepositoriesDialog", "Alt+S"))
+        self.input.setToolTip(_translate("GitRemoteRepositoriesDialog", "Enter data to be sent to the git process"))
+        self.passwordCheckBox.setToolTip(_translate("GitRemoteRepositoriesDialog", "Select to switch the input field to password mode"))
+        self.passwordCheckBox.setText(_translate("GitRemoteRepositoriesDialog", "&Password Mode"))
+        self.passwordCheckBox.setShortcut(_translate("GitRemoteRepositoriesDialog", "Alt+P"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitRevisionSelectionDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,119 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsGit/GitRevisionSelectionDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_GitRevisionSelectionDialog(object):
+    def setupUi(self, GitRevisionSelectionDialog):
+        GitRevisionSelectionDialog.setObjectName("GitRevisionSelectionDialog")
+        GitRevisionSelectionDialog.resize(450, 224)
+        GitRevisionSelectionDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(GitRevisionSelectionDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.groupBox = QtWidgets.QGroupBox(parent=GitRevisionSelectionDialog)
+        self.groupBox.setObjectName("groupBox")
+        self.gridLayout = QtWidgets.QGridLayout(self.groupBox)
+        self.gridLayout.setObjectName("gridLayout")
+        self.revButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.revButton.setObjectName("revButton")
+        self.gridLayout.addWidget(self.revButton, 0, 0, 1, 1)
+        self.revEdit = QtWidgets.QLineEdit(parent=self.groupBox)
+        self.revEdit.setEnabled(False)
+        self.revEdit.setObjectName("revEdit")
+        self.gridLayout.addWidget(self.revEdit, 0, 1, 1, 1)
+        self.tagButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.tagButton.setObjectName("tagButton")
+        self.gridLayout.addWidget(self.tagButton, 1, 0, 1, 1)
+        self.tagCombo = QtWidgets.QComboBox(parent=self.groupBox)
+        self.tagCombo.setEnabled(False)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.tagCombo.sizePolicy().hasHeightForWidth())
+        self.tagCombo.setSizePolicy(sizePolicy)
+        self.tagCombo.setEditable(True)
+        self.tagCombo.setObjectName("tagCombo")
+        self.gridLayout.addWidget(self.tagCombo, 1, 1, 1, 1)
+        self.branchButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.branchButton.setObjectName("branchButton")
+        self.gridLayout.addWidget(self.branchButton, 2, 0, 1, 1)
+        self.branchCombo = QtWidgets.QComboBox(parent=self.groupBox)
+        self.branchCombo.setEnabled(False)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.branchCombo.sizePolicy().hasHeightForWidth())
+        self.branchCombo.setSizePolicy(sizePolicy)
+        self.branchCombo.setEditable(True)
+        self.branchCombo.setObjectName("branchCombo")
+        self.gridLayout.addWidget(self.branchCombo, 2, 1, 1, 1)
+        self.remoteBranchButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.remoteBranchButton.setObjectName("remoteBranchButton")
+        self.gridLayout.addWidget(self.remoteBranchButton, 3, 0, 1, 1)
+        self.remoteBranchCombo = QtWidgets.QComboBox(parent=self.groupBox)
+        self.remoteBranchCombo.setEnabled(False)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.remoteBranchCombo.sizePolicy().hasHeightForWidth())
+        self.remoteBranchCombo.setSizePolicy(sizePolicy)
+        self.remoteBranchCombo.setEditable(True)
+        self.remoteBranchCombo.setObjectName("remoteBranchCombo")
+        self.gridLayout.addWidget(self.remoteBranchCombo, 3, 1, 1, 1)
+        self.tipButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.tipButton.setObjectName("tipButton")
+        self.gridLayout.addWidget(self.tipButton, 4, 0, 1, 2)
+        self.noneButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.noneButton.setChecked(True)
+        self.noneButton.setObjectName("noneButton")
+        self.gridLayout.addWidget(self.noneButton, 5, 0, 1, 2)
+        self.verticalLayout.addWidget(self.groupBox)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=GitRevisionSelectionDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(GitRevisionSelectionDialog)
+        self.buttonBox.accepted.connect(GitRevisionSelectionDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(GitRevisionSelectionDialog.reject) # type: ignore
+        self.revButton.toggled['bool'].connect(self.revEdit.setEnabled) # type: ignore
+        self.tagButton.toggled['bool'].connect(self.tagCombo.setEnabled) # type: ignore
+        self.branchButton.toggled['bool'].connect(self.branchCombo.setEnabled) # type: ignore
+        self.remoteBranchButton.toggled['bool'].connect(self.remoteBranchCombo.setEnabled) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(GitRevisionSelectionDialog)
+        GitRevisionSelectionDialog.setTabOrder(self.revButton, self.revEdit)
+        GitRevisionSelectionDialog.setTabOrder(self.revEdit, self.tagButton)
+        GitRevisionSelectionDialog.setTabOrder(self.tagButton, self.tagCombo)
+        GitRevisionSelectionDialog.setTabOrder(self.tagCombo, self.branchButton)
+        GitRevisionSelectionDialog.setTabOrder(self.branchButton, self.branchCombo)
+        GitRevisionSelectionDialog.setTabOrder(self.branchCombo, self.remoteBranchButton)
+        GitRevisionSelectionDialog.setTabOrder(self.remoteBranchButton, self.remoteBranchCombo)
+        GitRevisionSelectionDialog.setTabOrder(self.remoteBranchCombo, self.tipButton)
+        GitRevisionSelectionDialog.setTabOrder(self.tipButton, self.noneButton)
+
+    def retranslateUi(self, GitRevisionSelectionDialog):
+        _translate = QtCore.QCoreApplication.translate
+        GitRevisionSelectionDialog.setWindowTitle(_translate("GitRevisionSelectionDialog", "Git Revision"))
+        self.groupBox.setTitle(_translate("GitRevisionSelectionDialog", "Revision"))
+        self.revButton.setToolTip(_translate("GitRevisionSelectionDialog", "Select to specify a revision by a revision expression"))
+        self.revButton.setText(_translate("GitRevisionSelectionDialog", "Commit:"))
+        self.revEdit.setToolTip(_translate("GitRevisionSelectionDialog", "Enter a commit id"))
+        self.tagButton.setToolTip(_translate("GitRevisionSelectionDialog", "Select to specify a revision by a tag"))
+        self.tagButton.setText(_translate("GitRevisionSelectionDialog", "Tag:"))
+        self.tagCombo.setToolTip(_translate("GitRevisionSelectionDialog", "Enter a tag name"))
+        self.branchButton.setToolTip(_translate("GitRevisionSelectionDialog", "Select to specify a revision by a branch"))
+        self.branchButton.setText(_translate("GitRevisionSelectionDialog", "Branch:"))
+        self.branchCombo.setToolTip(_translate("GitRevisionSelectionDialog", "Enter a branch name"))
+        self.remoteBranchButton.setToolTip(_translate("GitRevisionSelectionDialog", "Select to specify a revision by a remote branch"))
+        self.remoteBranchButton.setText(_translate("GitRevisionSelectionDialog", "Remote Branch:"))
+        self.remoteBranchCombo.setToolTip(_translate("GitRevisionSelectionDialog", "Enter a remote branch name"))
+        self.tipButton.setToolTip(_translate("GitRevisionSelectionDialog", "Select HEAD revision"))
+        self.tipButton.setText(_translate("GitRevisionSelectionDialog", "HEAD"))
+        self.noneButton.setText(_translate("GitRevisionSelectionDialog", "No revision selected"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitRevisionsSelectionDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,163 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsGit/GitRevisionsSelectionDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_GitRevisionsSelectionDialog(object):
+    def setupUi(self, GitRevisionsSelectionDialog):
+        GitRevisionsSelectionDialog.setObjectName("GitRevisionsSelectionDialog")
+        GitRevisionsSelectionDialog.resize(371, 497)
+        GitRevisionsSelectionDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(GitRevisionsSelectionDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.rev1GroupBox = QtWidgets.QGroupBox(parent=GitRevisionsSelectionDialog)
+        self.rev1GroupBox.setObjectName("rev1GroupBox")
+        self.gridLayout = QtWidgets.QGridLayout(self.rev1GroupBox)
+        self.gridLayout.setObjectName("gridLayout")
+        self.rev1Button = QtWidgets.QRadioButton(parent=self.rev1GroupBox)
+        self.rev1Button.setObjectName("rev1Button")
+        self.gridLayout.addWidget(self.rev1Button, 0, 0, 1, 1)
+        self.rev1Edit = QtWidgets.QLineEdit(parent=self.rev1GroupBox)
+        self.rev1Edit.setEnabled(False)
+        self.rev1Edit.setObjectName("rev1Edit")
+        self.gridLayout.addWidget(self.rev1Edit, 0, 1, 1, 1)
+        self.tag1Button = QtWidgets.QRadioButton(parent=self.rev1GroupBox)
+        self.tag1Button.setObjectName("tag1Button")
+        self.gridLayout.addWidget(self.tag1Button, 1, 0, 1, 1)
+        self.tag1Combo = QtWidgets.QComboBox(parent=self.rev1GroupBox)
+        self.tag1Combo.setEnabled(False)
+        self.tag1Combo.setEditable(True)
+        self.tag1Combo.setObjectName("tag1Combo")
+        self.gridLayout.addWidget(self.tag1Combo, 1, 1, 1, 1)
+        self.branch1Button = QtWidgets.QRadioButton(parent=self.rev1GroupBox)
+        self.branch1Button.setObjectName("branch1Button")
+        self.gridLayout.addWidget(self.branch1Button, 2, 0, 1, 1)
+        self.branch1Combo = QtWidgets.QComboBox(parent=self.rev1GroupBox)
+        self.branch1Combo.setEnabled(False)
+        self.branch1Combo.setEditable(True)
+        self.branch1Combo.setObjectName("branch1Combo")
+        self.gridLayout.addWidget(self.branch1Combo, 2, 1, 1, 1)
+        self.tip1Button = QtWidgets.QRadioButton(parent=self.rev1GroupBox)
+        self.tip1Button.setChecked(False)
+        self.tip1Button.setObjectName("tip1Button")
+        self.gridLayout.addWidget(self.tip1Button, 3, 0, 1, 2)
+        self.prev1Button = QtWidgets.QRadioButton(parent=self.rev1GroupBox)
+        self.prev1Button.setChecked(True)
+        self.prev1Button.setObjectName("prev1Button")
+        self.gridLayout.addWidget(self.prev1Button, 4, 0, 1, 2)
+        self.none1Button = QtWidgets.QRadioButton(parent=self.rev1GroupBox)
+        self.none1Button.setObjectName("none1Button")
+        self.gridLayout.addWidget(self.none1Button, 5, 0, 1, 2)
+        self.verticalLayout.addWidget(self.rev1GroupBox)
+        self.rev2GroupBox = QtWidgets.QGroupBox(parent=GitRevisionsSelectionDialog)
+        self.rev2GroupBox.setObjectName("rev2GroupBox")
+        self.gridLayout_2 = QtWidgets.QGridLayout(self.rev2GroupBox)
+        self.gridLayout_2.setObjectName("gridLayout_2")
+        self.rev2Button = QtWidgets.QRadioButton(parent=self.rev2GroupBox)
+        self.rev2Button.setObjectName("rev2Button")
+        self.gridLayout_2.addWidget(self.rev2Button, 0, 0, 1, 1)
+        self.rev2Edit = QtWidgets.QLineEdit(parent=self.rev2GroupBox)
+        self.rev2Edit.setEnabled(False)
+        self.rev2Edit.setObjectName("rev2Edit")
+        self.gridLayout_2.addWidget(self.rev2Edit, 0, 1, 1, 1)
+        self.tag2Button = QtWidgets.QRadioButton(parent=self.rev2GroupBox)
+        self.tag2Button.setObjectName("tag2Button")
+        self.gridLayout_2.addWidget(self.tag2Button, 1, 0, 1, 1)
+        self.tag2Combo = QtWidgets.QComboBox(parent=self.rev2GroupBox)
+        self.tag2Combo.setEnabled(False)
+        self.tag2Combo.setEditable(True)
+        self.tag2Combo.setObjectName("tag2Combo")
+        self.gridLayout_2.addWidget(self.tag2Combo, 1, 1, 1, 1)
+        self.branch2Button = QtWidgets.QRadioButton(parent=self.rev2GroupBox)
+        self.branch2Button.setObjectName("branch2Button")
+        self.gridLayout_2.addWidget(self.branch2Button, 2, 0, 1, 1)
+        self.branch2Combo = QtWidgets.QComboBox(parent=self.rev2GroupBox)
+        self.branch2Combo.setEnabled(False)
+        self.branch2Combo.setEditable(True)
+        self.branch2Combo.setObjectName("branch2Combo")
+        self.gridLayout_2.addWidget(self.branch2Combo, 2, 1, 1, 1)
+        self.tip2Button = QtWidgets.QRadioButton(parent=self.rev2GroupBox)
+        self.tip2Button.setChecked(True)
+        self.tip2Button.setObjectName("tip2Button")
+        self.gridLayout_2.addWidget(self.tip2Button, 3, 0, 1, 2)
+        self.prev2Button = QtWidgets.QRadioButton(parent=self.rev2GroupBox)
+        self.prev2Button.setObjectName("prev2Button")
+        self.gridLayout_2.addWidget(self.prev2Button, 4, 0, 1, 2)
+        self.none2Button = QtWidgets.QRadioButton(parent=self.rev2GroupBox)
+        self.none2Button.setObjectName("none2Button")
+        self.gridLayout_2.addWidget(self.none2Button, 5, 0, 1, 2)
+        self.verticalLayout.addWidget(self.rev2GroupBox)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=GitRevisionsSelectionDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(GitRevisionsSelectionDialog)
+        self.buttonBox.accepted.connect(GitRevisionsSelectionDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(GitRevisionsSelectionDialog.reject) # type: ignore
+        self.rev1Button.toggled['bool'].connect(self.rev1Edit.setEnabled) # type: ignore
+        self.rev2Button.toggled['bool'].connect(self.rev2Edit.setEnabled) # type: ignore
+        self.tag1Button.toggled['bool'].connect(self.tag1Combo.setEnabled) # type: ignore
+        self.branch1Button.toggled['bool'].connect(self.branch1Combo.setEnabled) # type: ignore
+        self.tag2Button.toggled['bool'].connect(self.tag2Combo.setEnabled) # type: ignore
+        self.branch2Button.toggled['bool'].connect(self.branch2Combo.setEnabled) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(GitRevisionsSelectionDialog)
+        GitRevisionsSelectionDialog.setTabOrder(self.rev1Button, self.rev1Edit)
+        GitRevisionsSelectionDialog.setTabOrder(self.rev1Edit, self.tag1Button)
+        GitRevisionsSelectionDialog.setTabOrder(self.tag1Button, self.tag1Combo)
+        GitRevisionsSelectionDialog.setTabOrder(self.tag1Combo, self.branch1Button)
+        GitRevisionsSelectionDialog.setTabOrder(self.branch1Button, self.branch1Combo)
+        GitRevisionsSelectionDialog.setTabOrder(self.branch1Combo, self.tip1Button)
+        GitRevisionsSelectionDialog.setTabOrder(self.tip1Button, self.prev1Button)
+        GitRevisionsSelectionDialog.setTabOrder(self.prev1Button, self.none1Button)
+        GitRevisionsSelectionDialog.setTabOrder(self.none1Button, self.rev2Button)
+        GitRevisionsSelectionDialog.setTabOrder(self.rev2Button, self.rev2Edit)
+        GitRevisionsSelectionDialog.setTabOrder(self.rev2Edit, self.tag2Button)
+        GitRevisionsSelectionDialog.setTabOrder(self.tag2Button, self.tag2Combo)
+        GitRevisionsSelectionDialog.setTabOrder(self.tag2Combo, self.branch2Button)
+        GitRevisionsSelectionDialog.setTabOrder(self.branch2Button, self.branch2Combo)
+        GitRevisionsSelectionDialog.setTabOrder(self.branch2Combo, self.tip2Button)
+        GitRevisionsSelectionDialog.setTabOrder(self.tip2Button, self.prev2Button)
+        GitRevisionsSelectionDialog.setTabOrder(self.prev2Button, self.none2Button)
+        GitRevisionsSelectionDialog.setTabOrder(self.none2Button, self.buttonBox)
+
+    def retranslateUi(self, GitRevisionsSelectionDialog):
+        _translate = QtCore.QCoreApplication.translate
+        GitRevisionsSelectionDialog.setWindowTitle(_translate("GitRevisionsSelectionDialog", "Git Diff"))
+        self.rev1GroupBox.setTitle(_translate("GitRevisionsSelectionDialog", "Revision &1"))
+        self.rev1Button.setToolTip(_translate("GitRevisionsSelectionDialog", "Select to specify a revision by a revision expression"))
+        self.rev1Button.setText(_translate("GitRevisionsSelectionDialog", "Commit:"))
+        self.rev1Edit.setToolTip(_translate("GitRevisionsSelectionDialog", "Enter a commit id"))
+        self.tag1Button.setToolTip(_translate("GitRevisionsSelectionDialog", "Select to specify a revision by a tag"))
+        self.tag1Button.setText(_translate("GitRevisionsSelectionDialog", "Tag:"))
+        self.tag1Combo.setToolTip(_translate("GitRevisionsSelectionDialog", "Enter a tag name"))
+        self.branch1Button.setToolTip(_translate("GitRevisionsSelectionDialog", "Select to specify a revision by a branch"))
+        self.branch1Button.setText(_translate("GitRevisionsSelectionDialog", "Branch:"))
+        self.branch1Combo.setToolTip(_translate("GitRevisionsSelectionDialog", "Enter a branch name"))
+        self.tip1Button.setToolTip(_translate("GitRevisionsSelectionDialog", "Select HEAD revision"))
+        self.tip1Button.setText(_translate("GitRevisionsSelectionDialog", "HEAD"))
+        self.prev1Button.setToolTip(_translate("GitRevisionsSelectionDialog", "Select revision before HEAD"))
+        self.prev1Button.setText(_translate("GitRevisionsSelectionDialog", "HEAD^"))
+        self.none1Button.setText(_translate("GitRevisionsSelectionDialog", "No revision selected"))
+        self.rev2GroupBox.setTitle(_translate("GitRevisionsSelectionDialog", "Revision &2"))
+        self.rev2Button.setToolTip(_translate("GitRevisionsSelectionDialog", "Select to specify a revision by a revision expression"))
+        self.rev2Button.setText(_translate("GitRevisionsSelectionDialog", "Commit:"))
+        self.rev2Edit.setToolTip(_translate("GitRevisionsSelectionDialog", "Enter a commit id"))
+        self.tag2Button.setToolTip(_translate("GitRevisionsSelectionDialog", "Select to specify a revision by a tag"))
+        self.tag2Button.setText(_translate("GitRevisionsSelectionDialog", "Tag:"))
+        self.tag2Combo.setToolTip(_translate("GitRevisionsSelectionDialog", "Enter a tag name"))
+        self.branch2Button.setToolTip(_translate("GitRevisionsSelectionDialog", "Select to specify a revision by a branch"))
+        self.branch2Button.setText(_translate("GitRevisionsSelectionDialog", "Branch:"))
+        self.branch2Combo.setToolTip(_translate("GitRevisionsSelectionDialog", "Enter a branch name"))
+        self.tip2Button.setToolTip(_translate("GitRevisionsSelectionDialog", "Select HEAD revision"))
+        self.tip2Button.setText(_translate("GitRevisionsSelectionDialog", "HEAD"))
+        self.prev2Button.setToolTip(_translate("GitRevisionsSelectionDialog", "Select revision before HEAD"))
+        self.prev2Button.setText(_translate("GitRevisionsSelectionDialog", "HEAD^"))
+        self.none2Button.setText(_translate("GitRevisionsSelectionDialog", "No revision selected"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitStashBrowserDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,138 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsGit/GitStashBrowserDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_GitStashBrowserDialog(object):
+    def setupUi(self, GitStashBrowserDialog):
+        GitStashBrowserDialog.setObjectName("GitStashBrowserDialog")
+        GitStashBrowserDialog.resize(650, 574)
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(GitStashBrowserDialog)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.stashList = QtWidgets.QTreeWidget(parent=GitStashBrowserDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(5)
+        sizePolicy.setHeightForWidth(self.stashList.sizePolicy().hasHeightForWidth())
+        self.stashList.setSizePolicy(sizePolicy)
+        self.stashList.setContextMenuPolicy(QtCore.Qt.ContextMenuPolicy.CustomContextMenu)
+        self.stashList.setAlternatingRowColors(True)
+        self.stashList.setRootIsDecorated(False)
+        self.stashList.setItemsExpandable(False)
+        self.stashList.setObjectName("stashList")
+        self.verticalLayout_2.addWidget(self.stashList)
+        self.groupBox = QtWidgets.QGroupBox(parent=GitStashBrowserDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(4)
+        sizePolicy.setHeightForWidth(self.groupBox.sizePolicy().hasHeightForWidth())
+        self.groupBox.setSizePolicy(sizePolicy)
+        self.groupBox.setObjectName("groupBox")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.groupBox)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.statisticsList = QtWidgets.QTreeWidget(parent=self.groupBox)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(2)
+        sizePolicy.setHeightForWidth(self.statisticsList.sizePolicy().hasHeightForWidth())
+        self.statisticsList.setSizePolicy(sizePolicy)
+        self.statisticsList.setAlternatingRowColors(True)
+        self.statisticsList.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.NoSelection)
+        self.statisticsList.setRootIsDecorated(False)
+        self.statisticsList.setItemsExpandable(False)
+        self.statisticsList.setObjectName("statisticsList")
+        self.verticalLayout.addWidget(self.statisticsList)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.filesLabel = QtWidgets.QLabel(parent=self.groupBox)
+        self.filesLabel.setText("")
+        self.filesLabel.setObjectName("filesLabel")
+        self.horizontalLayout.addWidget(self.filesLabel)
+        self.insertionsLabel = QtWidgets.QLabel(parent=self.groupBox)
+        self.insertionsLabel.setText("")
+        self.insertionsLabel.setObjectName("insertionsLabel")
+        self.horizontalLayout.addWidget(self.insertionsLabel)
+        self.deletionsLabel = QtWidgets.QLabel(parent=self.groupBox)
+        self.deletionsLabel.setText("")
+        self.deletionsLabel.setObjectName("deletionsLabel")
+        self.horizontalLayout.addWidget(self.deletionsLabel)
+        self.verticalLayout.addLayout(self.horizontalLayout)
+        self.verticalLayout_2.addWidget(self.groupBox)
+        self.errorGroup = QtWidgets.QGroupBox(parent=GitStashBrowserDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(1)
+        sizePolicy.setHeightForWidth(self.errorGroup.sizePolicy().hasHeightForWidth())
+        self.errorGroup.setSizePolicy(sizePolicy)
+        self.errorGroup.setObjectName("errorGroup")
+        self.vboxlayout = QtWidgets.QVBoxLayout(self.errorGroup)
+        self.vboxlayout.setObjectName("vboxlayout")
+        self.errors = QtWidgets.QTextEdit(parent=self.errorGroup)
+        self.errors.setReadOnly(True)
+        self.errors.setAcceptRichText(False)
+        self.errors.setObjectName("errors")
+        self.vboxlayout.addWidget(self.errors)
+        self.verticalLayout_2.addWidget(self.errorGroup)
+        self.inputGroup = QtWidgets.QGroupBox(parent=GitStashBrowserDialog)
+        self.inputGroup.setObjectName("inputGroup")
+        self._2 = QtWidgets.QGridLayout(self.inputGroup)
+        self._2.setObjectName("_2")
+        spacerItem = QtWidgets.QSpacerItem(327, 29, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self._2.addItem(spacerItem, 1, 1, 1, 1)
+        self.sendButton = QtWidgets.QPushButton(parent=self.inputGroup)
+        self.sendButton.setObjectName("sendButton")
+        self._2.addWidget(self.sendButton, 1, 2, 1, 1)
+        self.input = QtWidgets.QLineEdit(parent=self.inputGroup)
+        self.input.setObjectName("input")
+        self._2.addWidget(self.input, 0, 0, 1, 3)
+        self.passwordCheckBox = QtWidgets.QCheckBox(parent=self.inputGroup)
+        self.passwordCheckBox.setObjectName("passwordCheckBox")
+        self._2.addWidget(self.passwordCheckBox, 1, 0, 1, 1)
+        self.verticalLayout_2.addWidget(self.inputGroup)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=GitStashBrowserDialog)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout_2.addWidget(self.buttonBox)
+        self.buttonBox.raise_()
+        self.stashList.raise_()
+        self.errorGroup.raise_()
+        self.inputGroup.raise_()
+        self.groupBox.raise_()
+
+        self.retranslateUi(GitStashBrowserDialog)
+        QtCore.QMetaObject.connectSlotsByName(GitStashBrowserDialog)
+        GitStashBrowserDialog.setTabOrder(self.stashList, self.statisticsList)
+        GitStashBrowserDialog.setTabOrder(self.statisticsList, self.errors)
+        GitStashBrowserDialog.setTabOrder(self.errors, self.input)
+        GitStashBrowserDialog.setTabOrder(self.input, self.passwordCheckBox)
+        GitStashBrowserDialog.setTabOrder(self.passwordCheckBox, self.sendButton)
+        GitStashBrowserDialog.setTabOrder(self.sendButton, self.buttonBox)
+
+    def retranslateUi(self, GitStashBrowserDialog):
+        _translate = QtCore.QCoreApplication.translate
+        GitStashBrowserDialog.setWindowTitle(_translate("GitStashBrowserDialog", "Git Stash Browser"))
+        self.stashList.setSortingEnabled(True)
+        self.stashList.headerItem().setText(0, _translate("GitStashBrowserDialog", "Name"))
+        self.stashList.headerItem().setText(1, _translate("GitStashBrowserDialog", "Date"))
+        self.stashList.headerItem().setText(2, _translate("GitStashBrowserDialog", "Message"))
+        self.groupBox.setTitle(_translate("GitStashBrowserDialog", "Statistics"))
+        self.statisticsList.headerItem().setText(0, _translate("GitStashBrowserDialog", "File"))
+        self.statisticsList.headerItem().setText(1, _translate("GitStashBrowserDialog", "Changes"))
+        self.statisticsList.headerItem().setText(2, _translate("GitStashBrowserDialog", "Lines added"))
+        self.statisticsList.headerItem().setText(3, _translate("GitStashBrowserDialog", "Lines deleted"))
+        self.errorGroup.setTitle(_translate("GitStashBrowserDialog", "Errors"))
+        self.errors.setWhatsThis(_translate("GitStashBrowserDialog", "<b>Git stash errors</b><p>This shows possible error messages of the git stash command.</p>"))
+        self.inputGroup.setTitle(_translate("GitStashBrowserDialog", "Input"))
+        self.sendButton.setToolTip(_translate("GitStashBrowserDialog", "Press to send the input to the git process"))
+        self.sendButton.setText(_translate("GitStashBrowserDialog", "&Send"))
+        self.sendButton.setShortcut(_translate("GitStashBrowserDialog", "Alt+S"))
+        self.input.setToolTip(_translate("GitStashBrowserDialog", "Enter data to be sent to the git process"))
+        self.passwordCheckBox.setToolTip(_translate("GitStashBrowserDialog", "Select to switch the input field to password mode"))
+        self.passwordCheckBox.setText(_translate("GitStashBrowserDialog", "&Password Mode"))
+        self.passwordCheckBox.setShortcut(_translate("GitStashBrowserDialog", "Alt+P"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitStashDataDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,71 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsGit/GitStashDataDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_GitStashDataDialog(object):
+    def setupUi(self, GitStashDataDialog):
+        GitStashDataDialog.setObjectName("GitStashDataDialog")
+        GitStashDataDialog.resize(500, 238)
+        GitStashDataDialog.setSizeGripEnabled(True)
+        self.gridLayout = QtWidgets.QGridLayout(GitStashDataDialog)
+        self.gridLayout.setObjectName("gridLayout")
+        self.label_3 = QtWidgets.QLabel(parent=GitStashDataDialog)
+        self.label_3.setAlignment(QtCore.Qt.AlignmentFlag.AlignLeading|QtCore.Qt.AlignmentFlag.AlignLeft|QtCore.Qt.AlignmentFlag.AlignTop)
+        self.label_3.setObjectName("label_3")
+        self.gridLayout.addWidget(self.label_3, 0, 0, 1, 1)
+        self.messageEdit = QtWidgets.QLineEdit(parent=GitStashDataDialog)
+        self.messageEdit.setObjectName("messageEdit")
+        self.gridLayout.addWidget(self.messageEdit, 0, 1, 1, 1)
+        self.keepCheckBox = QtWidgets.QCheckBox(parent=GitStashDataDialog)
+        self.keepCheckBox.setObjectName("keepCheckBox")
+        self.gridLayout.addWidget(self.keepCheckBox, 1, 0, 1, 2)
+        self.groupBox = QtWidgets.QGroupBox(parent=GitStashDataDialog)
+        self.groupBox.setObjectName("groupBox")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.groupBox)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.noneRadioButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.noneRadioButton.setChecked(True)
+        self.noneRadioButton.setObjectName("noneRadioButton")
+        self.verticalLayout.addWidget(self.noneRadioButton)
+        self.untrackedRadioButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.untrackedRadioButton.setObjectName("untrackedRadioButton")
+        self.verticalLayout.addWidget(self.untrackedRadioButton)
+        self.allRadioButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.allRadioButton.setObjectName("allRadioButton")
+        self.verticalLayout.addWidget(self.allRadioButton)
+        self.gridLayout.addWidget(self.groupBox, 2, 0, 1, 2)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=GitStashDataDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout.addWidget(self.buttonBox, 3, 0, 1, 2)
+
+        self.retranslateUi(GitStashDataDialog)
+        self.buttonBox.accepted.connect(GitStashDataDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(GitStashDataDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(GitStashDataDialog)
+        GitStashDataDialog.setTabOrder(self.messageEdit, self.keepCheckBox)
+        GitStashDataDialog.setTabOrder(self.keepCheckBox, self.noneRadioButton)
+        GitStashDataDialog.setTabOrder(self.noneRadioButton, self.untrackedRadioButton)
+        GitStashDataDialog.setTabOrder(self.untrackedRadioButton, self.allRadioButton)
+
+    def retranslateUi(self, GitStashDataDialog):
+        _translate = QtCore.QCoreApplication.translate
+        GitStashDataDialog.setWindowTitle(_translate("GitStashDataDialog", "Git Stash"))
+        self.label_3.setText(_translate("GitStashDataDialog", "Message:"))
+        self.messageEdit.setToolTip(_translate("GitStashDataDialog", "Enter a message for the stash"))
+        self.keepCheckBox.setText(_translate("GitStashDataDialog", "Keep changes in staging area"))
+        self.groupBox.setTitle(_translate("GitStashDataDialog", "Untracked/Ignored Files"))
+        self.noneRadioButton.setToolTip(_translate("GitStashDataDialog", "Select to not stash untracked or ignored files"))
+        self.noneRadioButton.setText(_translate("GitStashDataDialog", "Don\'t stash untracked or ignored files"))
+        self.untrackedRadioButton.setToolTip(_translate("GitStashDataDialog", "Select to stash untracked files"))
+        self.untrackedRadioButton.setText(_translate("GitStashDataDialog", "Stash untracked files"))
+        self.allRadioButton.setToolTip(_translate("GitStashDataDialog", "Select to stash untracked and ignored files"))
+        self.allRadioButton.setText(_translate("GitStashDataDialog", "Stash untracked and ignored files"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitStatusDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,184 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsGit/GitStatusDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_GitStatusDialog(object):
+    def setupUi(self, GitStatusDialog):
+        GitStatusDialog.setObjectName("GitStatusDialog")
+        GitStatusDialog.resize(900, 600)
+        self.verticalLayout = QtWidgets.QVBoxLayout(GitStatusDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.actionsButton = QtWidgets.QToolButton(parent=GitStatusDialog)
+        self.actionsButton.setPopupMode(QtWidgets.QToolButton.ToolButtonPopupMode.InstantPopup)
+        self.actionsButton.setObjectName("actionsButton")
+        self.horizontalLayout_2.addWidget(self.actionsButton)
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_2.addItem(spacerItem)
+        self.label = QtWidgets.QLabel(parent=GitStatusDialog)
+        self.label.setObjectName("label")
+        self.horizontalLayout_2.addWidget(self.label)
+        self.statusFilterCombo = QtWidgets.QComboBox(parent=GitStatusDialog)
+        self.statusFilterCombo.setSizeAdjustPolicy(QtWidgets.QComboBox.SizeAdjustPolicy.AdjustToContents)
+        self.statusFilterCombo.setObjectName("statusFilterCombo")
+        self.horizontalLayout_2.addWidget(self.statusFilterCombo)
+        self.verticalLayout.addLayout(self.horizontalLayout_2)
+        self.vDiffSplitter = QtWidgets.QSplitter(parent=GitStatusDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(5)
+        sizePolicy.setHeightForWidth(self.vDiffSplitter.sizePolicy().hasHeightForWidth())
+        self.vDiffSplitter.setSizePolicy(sizePolicy)
+        self.vDiffSplitter.setOrientation(QtCore.Qt.Orientation.Vertical)
+        self.vDiffSplitter.setObjectName("vDiffSplitter")
+        self.statusList = QtWidgets.QTreeWidget(parent=self.vDiffSplitter)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(2)
+        sizePolicy.setHeightForWidth(self.statusList.sizePolicy().hasHeightForWidth())
+        self.statusList.setSizePolicy(sizePolicy)
+        self.statusList.setAlternatingRowColors(True)
+        self.statusList.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.ExtendedSelection)
+        self.statusList.setRootIsDecorated(False)
+        self.statusList.setObjectName("statusList")
+        self.hDiffSplitter = QtWidgets.QSplitter(parent=self.vDiffSplitter)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(3)
+        sizePolicy.setHeightForWidth(self.hDiffSplitter.sizePolicy().hasHeightForWidth())
+        self.hDiffSplitter.setSizePolicy(sizePolicy)
+        self.hDiffSplitter.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.hDiffSplitter.setChildrenCollapsible(False)
+        self.hDiffSplitter.setObjectName("hDiffSplitter")
+        self.lDiffWidget = QtWidgets.QWidget(parent=self.hDiffSplitter)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(3)
+        sizePolicy.setHeightForWidth(self.lDiffWidget.sizePolicy().hasHeightForWidth())
+        self.lDiffWidget.setSizePolicy(sizePolicy)
+        self.lDiffWidget.setObjectName("lDiffWidget")
+        self.verticalLayout_4 = QtWidgets.QVBoxLayout(self.lDiffWidget)
+        self.verticalLayout_4.setContentsMargins(0, 0, 0, 0)
+        self.verticalLayout_4.setObjectName("verticalLayout_4")
+        self.label_2 = QtWidgets.QLabel(parent=self.lDiffWidget)
+        self.label_2.setObjectName("label_2")
+        self.verticalLayout_4.addWidget(self.label_2)
+        self.lDiffEdit = QtWidgets.QPlainTextEdit(parent=self.lDiffWidget)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.lDiffEdit.sizePolicy().hasHeightForWidth())
+        self.lDiffEdit.setSizePolicy(sizePolicy)
+        self.lDiffEdit.setContextMenuPolicy(QtCore.Qt.ContextMenuPolicy.CustomContextMenu)
+        self.lDiffEdit.setLineWrapMode(QtWidgets.QPlainTextEdit.LineWrapMode.NoWrap)
+        self.lDiffEdit.setReadOnly(True)
+        self.lDiffEdit.setTabStopDistance(8.0)
+        self.lDiffEdit.setObjectName("lDiffEdit")
+        self.verticalLayout_4.addWidget(self.lDiffEdit)
+        self.rDiffWidget = QtWidgets.QWidget(parent=self.hDiffSplitter)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(3)
+        sizePolicy.setHeightForWidth(self.rDiffWidget.sizePolicy().hasHeightForWidth())
+        self.rDiffWidget.setSizePolicy(sizePolicy)
+        self.rDiffWidget.setObjectName("rDiffWidget")
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.rDiffWidget)
+        self.verticalLayout_2.setContentsMargins(0, 0, 0, 0)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.label_3 = QtWidgets.QLabel(parent=self.rDiffWidget)
+        self.label_3.setObjectName("label_3")
+        self.verticalLayout_2.addWidget(self.label_3)
+        self.rDiffEdit = QtWidgets.QPlainTextEdit(parent=self.rDiffWidget)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.rDiffEdit.sizePolicy().hasHeightForWidth())
+        self.rDiffEdit.setSizePolicy(sizePolicy)
+        self.rDiffEdit.setContextMenuPolicy(QtCore.Qt.ContextMenuPolicy.CustomContextMenu)
+        self.rDiffEdit.setLineWrapMode(QtWidgets.QPlainTextEdit.LineWrapMode.NoWrap)
+        self.rDiffEdit.setReadOnly(True)
+        self.rDiffEdit.setTabStopDistance(8.0)
+        self.rDiffEdit.setObjectName("rDiffEdit")
+        self.verticalLayout_2.addWidget(self.rDiffEdit)
+        self.verticalLayout.addWidget(self.vDiffSplitter)
+        self.errorGroup = QtWidgets.QGroupBox(parent=GitStatusDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(1)
+        sizePolicy.setHeightForWidth(self.errorGroup.sizePolicy().hasHeightForWidth())
+        self.errorGroup.setSizePolicy(sizePolicy)
+        self.errorGroup.setObjectName("errorGroup")
+        self.vboxlayout = QtWidgets.QVBoxLayout(self.errorGroup)
+        self.vboxlayout.setObjectName("vboxlayout")
+        self.errors = QtWidgets.QTextEdit(parent=self.errorGroup)
+        self.errors.setReadOnly(True)
+        self.errors.setAcceptRichText(False)
+        self.errors.setObjectName("errors")
+        self.vboxlayout.addWidget(self.errors)
+        self.verticalLayout.addWidget(self.errorGroup)
+        self.inputGroup = QtWidgets.QGroupBox(parent=GitStatusDialog)
+        self.inputGroup.setObjectName("inputGroup")
+        self.gridlayout = QtWidgets.QGridLayout(self.inputGroup)
+        self.gridlayout.setObjectName("gridlayout")
+        spacerItem1 = QtWidgets.QSpacerItem(327, 29, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridlayout.addItem(spacerItem1, 1, 1, 1, 1)
+        self.sendButton = QtWidgets.QPushButton(parent=self.inputGroup)
+        self.sendButton.setObjectName("sendButton")
+        self.gridlayout.addWidget(self.sendButton, 1, 2, 1, 1)
+        self.input = QtWidgets.QLineEdit(parent=self.inputGroup)
+        self.input.setObjectName("input")
+        self.gridlayout.addWidget(self.input, 0, 0, 1, 3)
+        self.passwordCheckBox = QtWidgets.QCheckBox(parent=self.inputGroup)
+        self.passwordCheckBox.setObjectName("passwordCheckBox")
+        self.gridlayout.addWidget(self.passwordCheckBox, 1, 0, 1, 1)
+        self.verticalLayout.addWidget(self.inputGroup)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=GitStatusDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+        self.label.setBuddy(self.statusFilterCombo)
+
+        self.retranslateUi(GitStatusDialog)
+        QtCore.QMetaObject.connectSlotsByName(GitStatusDialog)
+        GitStatusDialog.setTabOrder(self.actionsButton, self.statusFilterCombo)
+        GitStatusDialog.setTabOrder(self.statusFilterCombo, self.statusList)
+        GitStatusDialog.setTabOrder(self.statusList, self.lDiffEdit)
+        GitStatusDialog.setTabOrder(self.lDiffEdit, self.rDiffEdit)
+        GitStatusDialog.setTabOrder(self.rDiffEdit, self.errors)
+        GitStatusDialog.setTabOrder(self.errors, self.input)
+        GitStatusDialog.setTabOrder(self.input, self.passwordCheckBox)
+        GitStatusDialog.setTabOrder(self.passwordCheckBox, self.sendButton)
+
+    def retranslateUi(self, GitStatusDialog):
+        _translate = QtCore.QCoreApplication.translate
+        GitStatusDialog.setWindowTitle(_translate("GitStatusDialog", "Git Status"))
+        GitStatusDialog.setWhatsThis(_translate("GitStatusDialog", "<b>Git Status</b>\n"
+"<p>This dialog shows the status of the selected file or project.</p>"))
+        self.actionsButton.setToolTip(_translate("GitStatusDialog", "Select action from menu"))
+        self.label.setText(_translate("GitStatusDialog", "&Filter on Status:"))
+        self.statusFilterCombo.setToolTip(_translate("GitStatusDialog", "Select the status of entries to be shown"))
+        self.statusList.setSortingEnabled(True)
+        self.statusList.headerItem().setText(0, _translate("GitStatusDialog", "Commit"))
+        self.statusList.headerItem().setText(1, _translate("GitStatusDialog", "Status (Work)"))
+        self.statusList.headerItem().setText(2, _translate("GitStatusDialog", "Status (Staging)"))
+        self.statusList.headerItem().setText(3, _translate("GitStatusDialog", "Path"))
+        self.label_2.setText(_translate("GitStatusDialog", "Difference Working to Staging"))
+        self.label_3.setText(_translate("GitStatusDialog", "Difference Staging to HEAD"))
+        self.errorGroup.setTitle(_translate("GitStatusDialog", "Errors"))
+        self.inputGroup.setTitle(_translate("GitStatusDialog", "Input"))
+        self.sendButton.setToolTip(_translate("GitStatusDialog", "Press to send the input to the git process"))
+        self.sendButton.setText(_translate("GitStatusDialog", "&Send"))
+        self.sendButton.setShortcut(_translate("GitStatusDialog", "Alt+S"))
+        self.input.setToolTip(_translate("GitStatusDialog", "Enter data to be sent to the git process"))
+        self.passwordCheckBox.setToolTip(_translate("GitStatusDialog", "Select to switch the input field to password mode"))
+        self.passwordCheckBox.setText(_translate("GitStatusDialog", "&Password Mode"))
+        self.passwordCheckBox.setShortcut(_translate("GitStatusDialog", "Alt+P"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitSubmoduleAddDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,99 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsGit/GitSubmoduleAddDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_GitSubmoduleAddDialog(object):
+    def setupUi(self, GitSubmoduleAddDialog):
+        GitSubmoduleAddDialog.setObjectName("GitSubmoduleAddDialog")
+        GitSubmoduleAddDialog.resize(562, 202)
+        GitSubmoduleAddDialog.setSizeGripEnabled(True)
+        self.gridLayout = QtWidgets.QGridLayout(GitSubmoduleAddDialog)
+        self.gridLayout.setObjectName("gridLayout")
+        self.TextLabel2 = QtWidgets.QLabel(parent=GitSubmoduleAddDialog)
+        self.TextLabel2.setObjectName("TextLabel2")
+        self.gridLayout.addWidget(self.TextLabel2, 0, 0, 1, 1)
+        self.submoduleUrlCombo = QtWidgets.QComboBox(parent=GitSubmoduleAddDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.submoduleUrlCombo.sizePolicy().hasHeightForWidth())
+        self.submoduleUrlCombo.setSizePolicy(sizePolicy)
+        self.submoduleUrlCombo.setEditable(True)
+        self.submoduleUrlCombo.setInsertPolicy(QtWidgets.QComboBox.InsertPolicy.InsertAtTop)
+        self.submoduleUrlCombo.setSizeAdjustPolicy(QtWidgets.QComboBox.SizeAdjustPolicy.AdjustToContents)
+        self.submoduleUrlCombo.setObjectName("submoduleUrlCombo")
+        self.gridLayout.addWidget(self.submoduleUrlCombo, 0, 1, 1, 1)
+        self.submoduleUrlButton = QtWidgets.QToolButton(parent=GitSubmoduleAddDialog)
+        self.submoduleUrlButton.setObjectName("submoduleUrlButton")
+        self.gridLayout.addWidget(self.submoduleUrlButton, 0, 2, 1, 1)
+        self.submoduleUrlClearHistoryButton = QtWidgets.QToolButton(parent=GitSubmoduleAddDialog)
+        self.submoduleUrlClearHistoryButton.setObjectName("submoduleUrlClearHistoryButton")
+        self.gridLayout.addWidget(self.submoduleUrlClearHistoryButton, 0, 3, 1, 1)
+        self.TextLabel4 = QtWidgets.QLabel(parent=GitSubmoduleAddDialog)
+        self.TextLabel4.setObjectName("TextLabel4")
+        self.gridLayout.addWidget(self.TextLabel4, 1, 0, 1, 1)
+        self.submoduleDirEdit = QtWidgets.QLineEdit(parent=GitSubmoduleAddDialog)
+        self.submoduleDirEdit.setObjectName("submoduleDirEdit")
+        self.gridLayout.addWidget(self.submoduleDirEdit, 1, 1, 1, 1)
+        self.submoduleDirButton = QtWidgets.QToolButton(parent=GitSubmoduleAddDialog)
+        self.submoduleDirButton.setObjectName("submoduleDirButton")
+        self.gridLayout.addWidget(self.submoduleDirButton, 1, 2, 1, 1)
+        self.label = QtWidgets.QLabel(parent=GitSubmoduleAddDialog)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 2, 0, 1, 1)
+        self.branchEdit = QtWidgets.QLineEdit(parent=GitSubmoduleAddDialog)
+        self.branchEdit.setObjectName("branchEdit")
+        self.gridLayout.addWidget(self.branchEdit, 2, 1, 1, 1)
+        self.label_2 = QtWidgets.QLabel(parent=GitSubmoduleAddDialog)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 3, 0, 1, 1)
+        self.nameEdit = QtWidgets.QLineEdit(parent=GitSubmoduleAddDialog)
+        self.nameEdit.setObjectName("nameEdit")
+        self.gridLayout.addWidget(self.nameEdit, 3, 1, 1, 1)
+        self.forceCheckBox = QtWidgets.QCheckBox(parent=GitSubmoduleAddDialog)
+        self.forceCheckBox.setObjectName("forceCheckBox")
+        self.gridLayout.addWidget(self.forceCheckBox, 4, 0, 1, 2)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=GitSubmoduleAddDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout.addWidget(self.buttonBox, 5, 0, 1, 4)
+        self.TextLabel2.setBuddy(self.submoduleUrlCombo)
+        self.TextLabel4.setBuddy(self.submoduleDirEdit)
+        self.label.setBuddy(self.branchEdit)
+        self.label_2.setBuddy(self.nameEdit)
+
+        self.retranslateUi(GitSubmoduleAddDialog)
+        self.buttonBox.accepted.connect(GitSubmoduleAddDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(GitSubmoduleAddDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(GitSubmoduleAddDialog)
+        GitSubmoduleAddDialog.setTabOrder(self.submoduleUrlCombo, self.submoduleUrlButton)
+        GitSubmoduleAddDialog.setTabOrder(self.submoduleUrlButton, self.submoduleUrlClearHistoryButton)
+        GitSubmoduleAddDialog.setTabOrder(self.submoduleUrlClearHistoryButton, self.submoduleDirEdit)
+        GitSubmoduleAddDialog.setTabOrder(self.submoduleDirEdit, self.submoduleDirButton)
+        GitSubmoduleAddDialog.setTabOrder(self.submoduleDirButton, self.branchEdit)
+        GitSubmoduleAddDialog.setTabOrder(self.branchEdit, self.nameEdit)
+        GitSubmoduleAddDialog.setTabOrder(self.nameEdit, self.forceCheckBox)
+
+    def retranslateUi(self, GitSubmoduleAddDialog):
+        _translate = QtCore.QCoreApplication.translate
+        GitSubmoduleAddDialog.setWindowTitle(_translate("GitSubmoduleAddDialog", "Add Submodule"))
+        self.TextLabel2.setText(_translate("GitSubmoduleAddDialog", "&URL:"))
+        self.submoduleUrlCombo.setToolTip(_translate("GitSubmoduleAddDialog", "Enter the URL of the repository"))
+        self.submoduleUrlButton.setToolTip(_translate("GitSubmoduleAddDialog", "Select the repository URL via a directory selection dialog"))
+        self.submoduleUrlClearHistoryButton.setToolTip(_translate("GitSubmoduleAddDialog", "Press to clear the history of entered repository URLs"))
+        self.TextLabel4.setText(_translate("GitSubmoduleAddDialog", "Submodule &Directory:"))
+        self.submoduleDirEdit.setToolTip(_translate("GitSubmoduleAddDialog", "Enter the directory for the submodule (leave empty to use default)."))
+        self.label.setText(_translate("GitSubmoduleAddDialog", "&Branch:"))
+        self.branchEdit.setToolTip(_translate("GitSubmoduleAddDialog", "Enter a branch name"))
+        self.label_2.setText(_translate("GitSubmoduleAddDialog", "&Logical Name:"))
+        self.nameEdit.setToolTip(_translate("GitSubmoduleAddDialog", "Enter a logical name"))
+        self.forceCheckBox.setToolTip(_translate("GitSubmoduleAddDialog", "Select to enforce the operation"))
+        self.forceCheckBox.setText(_translate("GitSubmoduleAddDialog", "&Force Operation"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitSubmodulesDeinitDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,56 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsGit/GitSubmodulesDeinitDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_GitSubmodulesDeinitDialog(object):
+    def setupUi(self, GitSubmodulesDeinitDialog):
+        GitSubmodulesDeinitDialog.setObjectName("GitSubmodulesDeinitDialog")
+        GitSubmodulesDeinitDialog.resize(400, 300)
+        GitSubmodulesDeinitDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(GitSubmodulesDeinitDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.allCheckBox = QtWidgets.QCheckBox(parent=GitSubmodulesDeinitDialog)
+        self.allCheckBox.setObjectName("allCheckBox")
+        self.verticalLayout.addWidget(self.allCheckBox)
+        self.label = QtWidgets.QLabel(parent=GitSubmodulesDeinitDialog)
+        self.label.setObjectName("label")
+        self.verticalLayout.addWidget(self.label)
+        self.submodulesList = QtWidgets.QListWidget(parent=GitSubmodulesDeinitDialog)
+        self.submodulesList.setAlternatingRowColors(True)
+        self.submodulesList.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.ExtendedSelection)
+        self.submodulesList.setObjectName("submodulesList")
+        self.verticalLayout.addWidget(self.submodulesList)
+        self.forceCheckBox = QtWidgets.QCheckBox(parent=GitSubmodulesDeinitDialog)
+        self.forceCheckBox.setObjectName("forceCheckBox")
+        self.verticalLayout.addWidget(self.forceCheckBox)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=GitSubmodulesDeinitDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(GitSubmodulesDeinitDialog)
+        self.buttonBox.accepted.connect(GitSubmodulesDeinitDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(GitSubmodulesDeinitDialog.reject) # type: ignore
+        self.allCheckBox.toggled['bool'].connect(self.label.setDisabled) # type: ignore
+        self.allCheckBox.toggled['bool'].connect(self.submodulesList.setDisabled) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(GitSubmodulesDeinitDialog)
+        GitSubmodulesDeinitDialog.setTabOrder(self.allCheckBox, self.submodulesList)
+        GitSubmodulesDeinitDialog.setTabOrder(self.submodulesList, self.forceCheckBox)
+
+    def retranslateUi(self, GitSubmodulesDeinitDialog):
+        _translate = QtCore.QCoreApplication.translate
+        GitSubmodulesDeinitDialog.setWindowTitle(_translate("GitSubmodulesDeinitDialog", "Unregister Submodules"))
+        self.allCheckBox.setToolTip(_translate("GitSubmodulesDeinitDialog", "Select to unregister all submodules"))
+        self.allCheckBox.setText(_translate("GitSubmodulesDeinitDialog", "Unregister All Submodules"))
+        self.label.setText(_translate("GitSubmodulesDeinitDialog", "Selected Submodules:"))
+        self.submodulesList.setToolTip(_translate("GitSubmodulesDeinitDialog", "Select the submodules to be unregistered"))
+        self.forceCheckBox.setToolTip(_translate("GitSubmodulesDeinitDialog", "Select to enforce unregistering"))
+        self.forceCheckBox.setText(_translate("GitSubmodulesDeinitDialog", "Enforce Operation"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitSubmodulesListDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,44 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsGit/GitSubmodulesListDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_GitSubmodulesListDialog(object):
+    def setupUi(self, GitSubmodulesListDialog):
+        GitSubmodulesListDialog.setObjectName("GitSubmodulesListDialog")
+        GitSubmodulesListDialog.resize(500, 300)
+        GitSubmodulesListDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(GitSubmodulesListDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.submodulesList = QtWidgets.QTreeWidget(parent=GitSubmodulesListDialog)
+        self.submodulesList.setAlternatingRowColors(True)
+        self.submodulesList.setRootIsDecorated(False)
+        self.submodulesList.setItemsExpandable(False)
+        self.submodulesList.setExpandsOnDoubleClick(False)
+        self.submodulesList.setObjectName("submodulesList")
+        self.submodulesList.header().setStretchLastSection(False)
+        self.verticalLayout.addWidget(self.submodulesList)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=GitSubmodulesListDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(GitSubmodulesListDialog)
+        self.buttonBox.accepted.connect(GitSubmodulesListDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(GitSubmodulesListDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(GitSubmodulesListDialog)
+
+    def retranslateUi(self, GitSubmodulesListDialog):
+        _translate = QtCore.QCoreApplication.translate
+        GitSubmodulesListDialog.setWindowTitle(_translate("GitSubmodulesListDialog", "Defined Submodules"))
+        self.submodulesList.headerItem().setText(0, _translate("GitSubmodulesListDialog", "Name"))
+        self.submodulesList.headerItem().setText(1, _translate("GitSubmodulesListDialog", "Path"))
+        self.submodulesList.headerItem().setText(2, _translate("GitSubmodulesListDialog", "URL"))
+        self.submodulesList.headerItem().setText(3, _translate("GitSubmodulesListDialog", "Branch"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitSubmodulesStatusDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,76 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsGit/GitSubmodulesStatusDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_GitSubmodulesStatusDialog(object):
+    def setupUi(self, GitSubmodulesStatusDialog):
+        GitSubmodulesStatusDialog.setObjectName("GitSubmodulesStatusDialog")
+        GitSubmodulesStatusDialog.resize(700, 400)
+        GitSubmodulesStatusDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(GitSubmodulesStatusDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.statusList = QtWidgets.QTreeWidget(parent=GitSubmodulesStatusDialog)
+        self.statusList.setAlternatingRowColors(True)
+        self.statusList.setRootIsDecorated(False)
+        self.statusList.setItemsExpandable(False)
+        self.statusList.setObjectName("statusList")
+        self.verticalLayout.addWidget(self.statusList)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.indexCheckBox = QtWidgets.QCheckBox(parent=GitSubmodulesStatusDialog)
+        self.indexCheckBox.setObjectName("indexCheckBox")
+        self.horizontalLayout.addWidget(self.indexCheckBox)
+        self.recursiveCheckBox = QtWidgets.QCheckBox(parent=GitSubmodulesStatusDialog)
+        self.recursiveCheckBox.setObjectName("recursiveCheckBox")
+        self.horizontalLayout.addWidget(self.recursiveCheckBox)
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem)
+        self.verticalLayout.addLayout(self.horizontalLayout)
+        self.errorGroup = QtWidgets.QGroupBox(parent=GitSubmodulesStatusDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(1)
+        sizePolicy.setHeightForWidth(self.errorGroup.sizePolicy().hasHeightForWidth())
+        self.errorGroup.setSizePolicy(sizePolicy)
+        self.errorGroup.setObjectName("errorGroup")
+        self.vboxlayout = QtWidgets.QVBoxLayout(self.errorGroup)
+        self.vboxlayout.setObjectName("vboxlayout")
+        self.errors = QtWidgets.QTextEdit(parent=self.errorGroup)
+        self.errors.setReadOnly(True)
+        self.errors.setAcceptRichText(False)
+        self.errors.setObjectName("errors")
+        self.vboxlayout.addWidget(self.errors)
+        self.verticalLayout.addWidget(self.errorGroup)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=GitSubmodulesStatusDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(GitSubmodulesStatusDialog)
+        self.buttonBox.accepted.connect(GitSubmodulesStatusDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(GitSubmodulesStatusDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(GitSubmodulesStatusDialog)
+        GitSubmodulesStatusDialog.setTabOrder(self.statusList, self.indexCheckBox)
+        GitSubmodulesStatusDialog.setTabOrder(self.indexCheckBox, self.recursiveCheckBox)
+        GitSubmodulesStatusDialog.setTabOrder(self.recursiveCheckBox, self.errors)
+
+    def retranslateUi(self, GitSubmodulesStatusDialog):
+        _translate = QtCore.QCoreApplication.translate
+        GitSubmodulesStatusDialog.setWindowTitle(_translate("GitSubmodulesStatusDialog", "Submodules Status"))
+        self.statusList.headerItem().setText(0, _translate("GitSubmodulesStatusDialog", "Submodule"))
+        self.statusList.headerItem().setText(1, _translate("GitSubmodulesStatusDialog", "Status"))
+        self.statusList.headerItem().setText(2, _translate("GitSubmodulesStatusDialog", "Commit ID"))
+        self.statusList.headerItem().setText(3, _translate("GitSubmodulesStatusDialog", "Info"))
+        self.indexCheckBox.setToolTip(_translate("GitSubmodulesStatusDialog", "Select to show the status for the index"))
+        self.indexCheckBox.setText(_translate("GitSubmodulesStatusDialog", "Show Status for Index"))
+        self.recursiveCheckBox.setToolTip(_translate("GitSubmodulesStatusDialog", "Perform a recursive operation"))
+        self.recursiveCheckBox.setText(_translate("GitSubmodulesStatusDialog", "Recursive"))
+        self.errorGroup.setTitle(_translate("GitSubmodulesStatusDialog", "Errors"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitSubmodulesSummaryOptionsDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,81 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsGit/GitSubmodulesSummaryOptionsDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_GitSubmodulesSummaryOptionsDialog(object):
+    def setupUi(self, GitSubmodulesSummaryOptionsDialog):
+        GitSubmodulesSummaryOptionsDialog.setObjectName("GitSubmodulesSummaryOptionsDialog")
+        GitSubmodulesSummaryOptionsDialog.resize(400, 350)
+        GitSubmodulesSummaryOptionsDialog.setSizeGripEnabled(True)
+        self.gridLayout = QtWidgets.QGridLayout(GitSubmodulesSummaryOptionsDialog)
+        self.gridLayout.setObjectName("gridLayout")
+        self.label = QtWidgets.QLabel(parent=GitSubmodulesSummaryOptionsDialog)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 0, 0, 1, 3)
+        self.submodulesList = QtWidgets.QListWidget(parent=GitSubmodulesSummaryOptionsDialog)
+        self.submodulesList.setAlternatingRowColors(True)
+        self.submodulesList.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.ExtendedSelection)
+        self.submodulesList.setObjectName("submodulesList")
+        self.gridLayout.addWidget(self.submodulesList, 1, 0, 1, 3)
+        self.filesCheckBox = QtWidgets.QCheckBox(parent=GitSubmodulesSummaryOptionsDialog)
+        self.filesCheckBox.setObjectName("filesCheckBox")
+        self.gridLayout.addWidget(self.filesCheckBox, 2, 0, 1, 3)
+        self.indexCheckBox = QtWidgets.QCheckBox(parent=GitSubmodulesSummaryOptionsDialog)
+        self.indexCheckBox.setObjectName("indexCheckBox")
+        self.gridLayout.addWidget(self.indexCheckBox, 3, 0, 1, 3)
+        self.label_2 = QtWidgets.QLabel(parent=GitSubmodulesSummaryOptionsDialog)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 4, 0, 1, 1)
+        self.commitEdit = QtWidgets.QLineEdit(parent=GitSubmodulesSummaryOptionsDialog)
+        self.commitEdit.setObjectName("commitEdit")
+        self.gridLayout.addWidget(self.commitEdit, 4, 1, 1, 2)
+        self.label_3 = QtWidgets.QLabel(parent=GitSubmodulesSummaryOptionsDialog)
+        self.label_3.setObjectName("label_3")
+        self.gridLayout.addWidget(self.label_3, 5, 0, 1, 1)
+        self.limitSpinBox = QtWidgets.QSpinBox(parent=GitSubmodulesSummaryOptionsDialog)
+        self.limitSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.limitSpinBox.setMaximum(9999)
+        self.limitSpinBox.setSingleStep(5)
+        self.limitSpinBox.setObjectName("limitSpinBox")
+        self.gridLayout.addWidget(self.limitSpinBox, 5, 1, 1, 1)
+        spacerItem = QtWidgets.QSpacerItem(269, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout.addItem(spacerItem, 5, 2, 1, 1)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=GitSubmodulesSummaryOptionsDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout.addWidget(self.buttonBox, 6, 0, 1, 3)
+
+        self.retranslateUi(GitSubmodulesSummaryOptionsDialog)
+        self.buttonBox.accepted.connect(GitSubmodulesSummaryOptionsDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(GitSubmodulesSummaryOptionsDialog.reject) # type: ignore
+        self.filesCheckBox.toggled['bool'].connect(self.indexCheckBox.setDisabled) # type: ignore
+        self.filesCheckBox.toggled['bool'].connect(self.commitEdit.setDisabled) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(GitSubmodulesSummaryOptionsDialog)
+        GitSubmodulesSummaryOptionsDialog.setTabOrder(self.submodulesList, self.filesCheckBox)
+        GitSubmodulesSummaryOptionsDialog.setTabOrder(self.filesCheckBox, self.indexCheckBox)
+        GitSubmodulesSummaryOptionsDialog.setTabOrder(self.indexCheckBox, self.commitEdit)
+        GitSubmodulesSummaryOptionsDialog.setTabOrder(self.commitEdit, self.limitSpinBox)
+
+    def retranslateUi(self, GitSubmodulesSummaryOptionsDialog):
+        _translate = QtCore.QCoreApplication.translate
+        GitSubmodulesSummaryOptionsDialog.setWindowTitle(_translate("GitSubmodulesSummaryOptionsDialog", "Submodule Summary Options"))
+        self.label.setText(_translate("GitSubmodulesSummaryOptionsDialog", "Selected Submodules:"))
+        self.submodulesList.setToolTip(_translate("GitSubmodulesSummaryOptionsDialog", "Select the submodules to show the summary for"))
+        self.filesCheckBox.setToolTip(_translate("GitSubmodulesSummaryOptionsDialog", "Select to show summary information for the index of the superproject"))
+        self.filesCheckBox.setText(_translate("GitSubmodulesSummaryOptionsDialog", "Show Summary for Superproject Index"))
+        self.indexCheckBox.setToolTip(_translate("GitSubmodulesSummaryOptionsDialog", "Select to show summary information for the index"))
+        self.indexCheckBox.setText(_translate("GitSubmodulesSummaryOptionsDialog", "Show Summary for Index"))
+        self.label_2.setText(_translate("GitSubmodulesSummaryOptionsDialog", "Commit:"))
+        self.commitEdit.setToolTip(_translate("GitSubmodulesSummaryOptionsDialog", "Enter a commit ID to show summary information for"))
+        self.commitEdit.setPlaceholderText(_translate("GitSubmodulesSummaryOptionsDialog", "Enter Commit ID"))
+        self.label_3.setText(_translate("GitSubmodulesSummaryOptionsDialog", "Limit:"))
+        self.limitSpinBox.setToolTip(_translate("GitSubmodulesSummaryOptionsDialog", "Enter the maximum number of entries to be shown per submodule"))
+        self.limitSpinBox.setSpecialValueText(_translate("GitSubmodulesSummaryOptionsDialog", "No Limit"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitSubmodulesSyncDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,47 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsGit/GitSubmodulesSyncDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_GitSubmodulesSyncDialog(object):
+    def setupUi(self, GitSubmodulesSyncDialog):
+        GitSubmodulesSyncDialog.setObjectName("GitSubmodulesSyncDialog")
+        GitSubmodulesSyncDialog.resize(400, 300)
+        GitSubmodulesSyncDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(GitSubmodulesSyncDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.label = QtWidgets.QLabel(parent=GitSubmodulesSyncDialog)
+        self.label.setObjectName("label")
+        self.verticalLayout.addWidget(self.label)
+        self.submodulesList = QtWidgets.QListWidget(parent=GitSubmodulesSyncDialog)
+        self.submodulesList.setAlternatingRowColors(True)
+        self.submodulesList.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.ExtendedSelection)
+        self.submodulesList.setObjectName("submodulesList")
+        self.verticalLayout.addWidget(self.submodulesList)
+        self.recursiveCheckBox = QtWidgets.QCheckBox(parent=GitSubmodulesSyncDialog)
+        self.recursiveCheckBox.setObjectName("recursiveCheckBox")
+        self.verticalLayout.addWidget(self.recursiveCheckBox)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=GitSubmodulesSyncDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(GitSubmodulesSyncDialog)
+        self.buttonBox.accepted.connect(GitSubmodulesSyncDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(GitSubmodulesSyncDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(GitSubmodulesSyncDialog)
+
+    def retranslateUi(self, GitSubmodulesSyncDialog):
+        _translate = QtCore.QCoreApplication.translate
+        GitSubmodulesSyncDialog.setWindowTitle(_translate("GitSubmodulesSyncDialog", "Synchronize Submodule URLs"))
+        self.label.setText(_translate("GitSubmodulesSyncDialog", "Selected Submodules:"))
+        self.submodulesList.setToolTip(_translate("GitSubmodulesSyncDialog", "Select the submodules to be synchronized"))
+        self.recursiveCheckBox.setToolTip(_translate("GitSubmodulesSyncDialog", "Select to perform a recursive synchronization"))
+        self.recursiveCheckBox.setText(_translate("GitSubmodulesSyncDialog", "Recursive Operation"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitSubmodulesUpdateOptionsDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,93 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsGit/GitSubmodulesUpdateOptionsDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_GitSubmodulesUpdateOptionsDialog(object):
+    def setupUi(self, GitSubmodulesUpdateOptionsDialog):
+        GitSubmodulesUpdateOptionsDialog.setObjectName("GitSubmodulesUpdateOptionsDialog")
+        GitSubmodulesUpdateOptionsDialog.resize(400, 458)
+        GitSubmodulesUpdateOptionsDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(GitSubmodulesUpdateOptionsDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.groupBox = QtWidgets.QGroupBox(parent=GitSubmodulesUpdateOptionsDialog)
+        self.groupBox.setObjectName("groupBox")
+        self.horizontalLayout = QtWidgets.QHBoxLayout(self.groupBox)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.checkoutButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.checkoutButton.setChecked(True)
+        self.checkoutButton.setObjectName("checkoutButton")
+        self.horizontalLayout.addWidget(self.checkoutButton)
+        self.rebaseButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.rebaseButton.setObjectName("rebaseButton")
+        self.horizontalLayout.addWidget(self.rebaseButton)
+        self.mergeButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.mergeButton.setObjectName("mergeButton")
+        self.horizontalLayout.addWidget(self.mergeButton)
+        self.verticalLayout.addWidget(self.groupBox)
+        self.initCheckBox = QtWidgets.QCheckBox(parent=GitSubmodulesUpdateOptionsDialog)
+        self.initCheckBox.setObjectName("initCheckBox")
+        self.verticalLayout.addWidget(self.initCheckBox)
+        self.remoteCheckBox = QtWidgets.QCheckBox(parent=GitSubmodulesUpdateOptionsDialog)
+        self.remoteCheckBox.setObjectName("remoteCheckBox")
+        self.verticalLayout.addWidget(self.remoteCheckBox)
+        self.nofetchCheckBox = QtWidgets.QCheckBox(parent=GitSubmodulesUpdateOptionsDialog)
+        self.nofetchCheckBox.setEnabled(False)
+        self.nofetchCheckBox.setObjectName("nofetchCheckBox")
+        self.verticalLayout.addWidget(self.nofetchCheckBox)
+        self.label = QtWidgets.QLabel(parent=GitSubmodulesUpdateOptionsDialog)
+        self.label.setObjectName("label")
+        self.verticalLayout.addWidget(self.label)
+        self.submodulesList = QtWidgets.QListWidget(parent=GitSubmodulesUpdateOptionsDialog)
+        self.submodulesList.setAlternatingRowColors(True)
+        self.submodulesList.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.ExtendedSelection)
+        self.submodulesList.setObjectName("submodulesList")
+        self.verticalLayout.addWidget(self.submodulesList)
+        self.forceCheckBox = QtWidgets.QCheckBox(parent=GitSubmodulesUpdateOptionsDialog)
+        self.forceCheckBox.setObjectName("forceCheckBox")
+        self.verticalLayout.addWidget(self.forceCheckBox)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=GitSubmodulesUpdateOptionsDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(GitSubmodulesUpdateOptionsDialog)
+        self.buttonBox.accepted.connect(GitSubmodulesUpdateOptionsDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(GitSubmodulesUpdateOptionsDialog.reject) # type: ignore
+        self.remoteCheckBox.toggled['bool'].connect(self.nofetchCheckBox.setEnabled) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(GitSubmodulesUpdateOptionsDialog)
+        GitSubmodulesUpdateOptionsDialog.setTabOrder(self.checkoutButton, self.rebaseButton)
+        GitSubmodulesUpdateOptionsDialog.setTabOrder(self.rebaseButton, self.mergeButton)
+        GitSubmodulesUpdateOptionsDialog.setTabOrder(self.mergeButton, self.initCheckBox)
+        GitSubmodulesUpdateOptionsDialog.setTabOrder(self.initCheckBox, self.remoteCheckBox)
+        GitSubmodulesUpdateOptionsDialog.setTabOrder(self.remoteCheckBox, self.nofetchCheckBox)
+        GitSubmodulesUpdateOptionsDialog.setTabOrder(self.nofetchCheckBox, self.submodulesList)
+        GitSubmodulesUpdateOptionsDialog.setTabOrder(self.submodulesList, self.forceCheckBox)
+
+    def retranslateUi(self, GitSubmodulesUpdateOptionsDialog):
+        _translate = QtCore.QCoreApplication.translate
+        GitSubmodulesUpdateOptionsDialog.setWindowTitle(_translate("GitSubmodulesUpdateOptionsDialog", "Submodule Update Options"))
+        self.groupBox.setTitle(_translate("GitSubmodulesUpdateOptionsDialog", "Update Procedure"))
+        self.checkoutButton.setToolTip(_translate("GitSubmodulesUpdateOptionsDialog", "Select to perform a \'checkout\' procedure"))
+        self.checkoutButton.setText(_translate("GitSubmodulesUpdateOptionsDialog", "checkout"))
+        self.rebaseButton.setToolTip(_translate("GitSubmodulesUpdateOptionsDialog", "Select to perform a \'rebase\' procedure"))
+        self.rebaseButton.setText(_translate("GitSubmodulesUpdateOptionsDialog", "rebase"))
+        self.mergeButton.setToolTip(_translate("GitSubmodulesUpdateOptionsDialog", "Select to perform a \'merge\' procedure"))
+        self.mergeButton.setText(_translate("GitSubmodulesUpdateOptionsDialog", "merge"))
+        self.initCheckBox.setToolTip(_translate("GitSubmodulesUpdateOptionsDialog", "Select to initialize submodules before the update"))
+        self.initCheckBox.setText(_translate("GitSubmodulesUpdateOptionsDialog", "Initialize before Update"))
+        self.remoteCheckBox.setToolTip(_translate("GitSubmodulesUpdateOptionsDialog", "Fetch remote changes before updating"))
+        self.remoteCheckBox.setText(_translate("GitSubmodulesUpdateOptionsDialog", "Synchronize with remote"))
+        self.nofetchCheckBox.setToolTip(_translate("GitSubmodulesUpdateOptionsDialog", "Select to not fetch the remote"))
+        self.nofetchCheckBox.setText(_translate("GitSubmodulesUpdateOptionsDialog", "Don\'t Fetch"))
+        self.label.setText(_translate("GitSubmodulesUpdateOptionsDialog", "Selected Submodules:"))
+        self.submodulesList.setToolTip(_translate("GitSubmodulesUpdateOptionsDialog", "Select the submodules to be updated"))
+        self.forceCheckBox.setToolTip(_translate("GitSubmodulesUpdateOptionsDialog", "Select to enforce the update"))
+        self.forceCheckBox.setText(_translate("GitSubmodulesUpdateOptionsDialog", "Enforce Operation"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitTagBranchListDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,93 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsGit/GitTagBranchListDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_GitTagBranchListDialog(object):
+    def setupUi(self, GitTagBranchListDialog):
+        GitTagBranchListDialog.setObjectName("GitTagBranchListDialog")
+        GitTagBranchListDialog.resize(634, 494)
+        GitTagBranchListDialog.setSizeGripEnabled(True)
+        self.vboxlayout = QtWidgets.QVBoxLayout(GitTagBranchListDialog)
+        self.vboxlayout.setObjectName("vboxlayout")
+        self.tagList = QtWidgets.QTreeWidget(parent=GitTagBranchListDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(2)
+        sizePolicy.setHeightForWidth(self.tagList.sizePolicy().hasHeightForWidth())
+        self.tagList.setSizePolicy(sizePolicy)
+        self.tagList.setAlternatingRowColors(True)
+        self.tagList.setRootIsDecorated(False)
+        self.tagList.setItemsExpandable(False)
+        self.tagList.setObjectName("tagList")
+        self.vboxlayout.addWidget(self.tagList)
+        self.errorGroup = QtWidgets.QGroupBox(parent=GitTagBranchListDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(1)
+        sizePolicy.setHeightForWidth(self.errorGroup.sizePolicy().hasHeightForWidth())
+        self.errorGroup.setSizePolicy(sizePolicy)
+        self.errorGroup.setObjectName("errorGroup")
+        self.vboxlayout1 = QtWidgets.QVBoxLayout(self.errorGroup)
+        self.vboxlayout1.setObjectName("vboxlayout1")
+        self.errors = QtWidgets.QTextEdit(parent=self.errorGroup)
+        self.errors.setReadOnly(True)
+        self.errors.setAcceptRichText(False)
+        self.errors.setObjectName("errors")
+        self.vboxlayout1.addWidget(self.errors)
+        self.vboxlayout.addWidget(self.errorGroup)
+        self.inputGroup = QtWidgets.QGroupBox(parent=GitTagBranchListDialog)
+        self.inputGroup.setObjectName("inputGroup")
+        self.gridlayout = QtWidgets.QGridLayout(self.inputGroup)
+        self.gridlayout.setObjectName("gridlayout")
+        spacerItem = QtWidgets.QSpacerItem(327, 29, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridlayout.addItem(spacerItem, 1, 1, 1, 1)
+        self.sendButton = QtWidgets.QPushButton(parent=self.inputGroup)
+        self.sendButton.setObjectName("sendButton")
+        self.gridlayout.addWidget(self.sendButton, 1, 2, 1, 1)
+        self.input = QtWidgets.QLineEdit(parent=self.inputGroup)
+        self.input.setObjectName("input")
+        self.gridlayout.addWidget(self.input, 0, 0, 1, 3)
+        self.passwordCheckBox = QtWidgets.QCheckBox(parent=self.inputGroup)
+        self.passwordCheckBox.setObjectName("passwordCheckBox")
+        self.gridlayout.addWidget(self.passwordCheckBox, 1, 0, 1, 1)
+        self.vboxlayout.addWidget(self.inputGroup)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=GitTagBranchListDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.vboxlayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(GitTagBranchListDialog)
+        QtCore.QMetaObject.connectSlotsByName(GitTagBranchListDialog)
+        GitTagBranchListDialog.setTabOrder(self.tagList, self.errors)
+        GitTagBranchListDialog.setTabOrder(self.errors, self.input)
+        GitTagBranchListDialog.setTabOrder(self.input, self.passwordCheckBox)
+        GitTagBranchListDialog.setTabOrder(self.passwordCheckBox, self.sendButton)
+        GitTagBranchListDialog.setTabOrder(self.sendButton, self.buttonBox)
+
+    def retranslateUi(self, GitTagBranchListDialog):
+        _translate = QtCore.QCoreApplication.translate
+        GitTagBranchListDialog.setWindowTitle(_translate("GitTagBranchListDialog", "Git Tag List"))
+        GitTagBranchListDialog.setWhatsThis(_translate("GitTagBranchListDialog", "<b>Git Tag/Branch List</b>\n"
+"<p>This dialog shows a list of the projects tags or branches.</p>"))
+        self.tagList.setWhatsThis(_translate("GitTagBranchListDialog", "<b>Tag/Branches List</b>\n"
+"<p>This shows a list of the projects tags or branches.</p>"))
+        self.tagList.setSortingEnabled(True)
+        self.tagList.headerItem().setText(0, _translate("GitTagBranchListDialog", "Commit"))
+        self.tagList.headerItem().setText(1, _translate("GitTagBranchListDialog", "Name"))
+        self.errorGroup.setTitle(_translate("GitTagBranchListDialog", "Errors"))
+        self.inputGroup.setTitle(_translate("GitTagBranchListDialog", "Input"))
+        self.sendButton.setToolTip(_translate("GitTagBranchListDialog", "Press to send the input to the git process"))
+        self.sendButton.setText(_translate("GitTagBranchListDialog", "&Send"))
+        self.sendButton.setShortcut(_translate("GitTagBranchListDialog", "Alt+S"))
+        self.input.setToolTip(_translate("GitTagBranchListDialog", "Enter data to be sent to the git process"))
+        self.passwordCheckBox.setToolTip(_translate("GitTagBranchListDialog", "Select to switch the input field to password mode"))
+        self.passwordCheckBox.setText(_translate("GitTagBranchListDialog", "&Password Mode"))
+        self.passwordCheckBox.setShortcut(_translate("GitTagBranchListDialog", "Alt+P"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitTagDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,123 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsGit/GitTagDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_GitTagDialog(object):
+    def setupUi(self, GitTagDialog):
+        GitTagDialog.setObjectName("GitTagDialog")
+        GitTagDialog.resize(391, 344)
+        GitTagDialog.setSizeGripEnabled(True)
+        self.gridLayout_3 = QtWidgets.QGridLayout(GitTagDialog)
+        self.gridLayout_3.setObjectName("gridLayout_3")
+        self.TextLabel1 = QtWidgets.QLabel(parent=GitTagDialog)
+        self.TextLabel1.setObjectName("TextLabel1")
+        self.gridLayout_3.addWidget(self.TextLabel1, 0, 0, 1, 1)
+        self.tagCombo = QtWidgets.QComboBox(parent=GitTagDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.tagCombo.sizePolicy().hasHeightForWidth())
+        self.tagCombo.setSizePolicy(sizePolicy)
+        self.tagCombo.setEditable(True)
+        self.tagCombo.setDuplicatesEnabled(False)
+        self.tagCombo.setObjectName("tagCombo")
+        self.gridLayout_3.addWidget(self.tagCombo, 0, 1, 1, 1)
+        self.label = QtWidgets.QLabel(parent=GitTagDialog)
+        self.label.setObjectName("label")
+        self.gridLayout_3.addWidget(self.label, 1, 0, 1, 1)
+        self.revisionEdit = QtWidgets.QLineEdit(parent=GitTagDialog)
+        self.revisionEdit.setObjectName("revisionEdit")
+        self.gridLayout_3.addWidget(self.revisionEdit, 1, 1, 1, 1)
+        self.tagActionGroup = QtWidgets.QGroupBox(parent=GitTagDialog)
+        self.tagActionGroup.setObjectName("tagActionGroup")
+        self.gridLayout_2 = QtWidgets.QGridLayout(self.tagActionGroup)
+        self.gridLayout_2.setObjectName("gridLayout_2")
+        self.createTagButton = QtWidgets.QRadioButton(parent=self.tagActionGroup)
+        self.createTagButton.setChecked(True)
+        self.createTagButton.setObjectName("createTagButton")
+        self.gridLayout_2.addWidget(self.createTagButton, 0, 0, 1, 1)
+        self.deleteTagButton = QtWidgets.QRadioButton(parent=self.tagActionGroup)
+        self.deleteTagButton.setObjectName("deleteTagButton")
+        self.gridLayout_2.addWidget(self.deleteTagButton, 0, 1, 1, 1)
+        self.verifyTagButton = QtWidgets.QRadioButton(parent=self.tagActionGroup)
+        self.verifyTagButton.setObjectName("verifyTagButton")
+        self.gridLayout_2.addWidget(self.verifyTagButton, 1, 0, 1, 1)
+        self.gridLayout_3.addWidget(self.tagActionGroup, 2, 0, 1, 2)
+        self.tagTypeGroup = QtWidgets.QGroupBox(parent=GitTagDialog)
+        self.tagTypeGroup.setObjectName("tagTypeGroup")
+        self.gridLayout = QtWidgets.QGridLayout(self.tagTypeGroup)
+        self.gridLayout.setObjectName("gridLayout")
+        self.globalTagButton = QtWidgets.QRadioButton(parent=self.tagTypeGroup)
+        self.globalTagButton.setChecked(True)
+        self.globalTagButton.setObjectName("globalTagButton")
+        self.gridLayout.addWidget(self.globalTagButton, 0, 0, 1, 1)
+        self.signedTagButton = QtWidgets.QRadioButton(parent=self.tagTypeGroup)
+        self.signedTagButton.setObjectName("signedTagButton")
+        self.gridLayout.addWidget(self.signedTagButton, 0, 1, 1, 1)
+        self.localTagButton = QtWidgets.QRadioButton(parent=self.tagTypeGroup)
+        self.localTagButton.setObjectName("localTagButton")
+        self.gridLayout.addWidget(self.localTagButton, 1, 0, 1, 1)
+        self.gridLayout_3.addWidget(self.tagTypeGroup, 3, 0, 1, 2)
+        self.forceCheckBox = QtWidgets.QCheckBox(parent=GitTagDialog)
+        self.forceCheckBox.setObjectName("forceCheckBox")
+        self.gridLayout_3.addWidget(self.forceCheckBox, 4, 0, 1, 2)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=GitTagDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout_3.addWidget(self.buttonBox, 5, 0, 1, 2)
+
+        self.retranslateUi(GitTagDialog)
+        self.buttonBox.accepted.connect(GitTagDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(GitTagDialog.reject) # type: ignore
+        self.deleteTagButton.toggled['bool'].connect(self.revisionEdit.setDisabled) # type: ignore
+        self.verifyTagButton.toggled['bool'].connect(self.revisionEdit.setDisabled) # type: ignore
+        self.createTagButton.toggled['bool'].connect(self.tagTypeGroup.setEnabled) # type: ignore
+        self.createTagButton.toggled['bool'].connect(self.forceCheckBox.setEnabled) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(GitTagDialog)
+        GitTagDialog.setTabOrder(self.tagCombo, self.revisionEdit)
+        GitTagDialog.setTabOrder(self.revisionEdit, self.createTagButton)
+        GitTagDialog.setTabOrder(self.createTagButton, self.deleteTagButton)
+        GitTagDialog.setTabOrder(self.deleteTagButton, self.verifyTagButton)
+        GitTagDialog.setTabOrder(self.verifyTagButton, self.globalTagButton)
+        GitTagDialog.setTabOrder(self.globalTagButton, self.signedTagButton)
+        GitTagDialog.setTabOrder(self.signedTagButton, self.localTagButton)
+
+    def retranslateUi(self, GitTagDialog):
+        _translate = QtCore.QCoreApplication.translate
+        GitTagDialog.setWindowTitle(_translate("GitTagDialog", "Git Tag"))
+        self.TextLabel1.setText(_translate("GitTagDialog", "Name:"))
+        self.tagCombo.setToolTip(_translate("GitTagDialog", "Enter the name of the tag"))
+        self.tagCombo.setWhatsThis(_translate("GitTagDialog", "<b>Tag Name</b>\n"
+"<p>Enter the name of the tag to be created, deleted or verified.</p>"))
+        self.label.setText(_translate("GitTagDialog", "Revision:"))
+        self.revisionEdit.setToolTip(_translate("GitTagDialog", "Enter a revision to set a tag for"))
+        self.tagActionGroup.setTitle(_translate("GitTagDialog", "Tag Action"))
+        self.createTagButton.setToolTip(_translate("GitTagDialog", "Select to create a tag"))
+        self.createTagButton.setWhatsThis(_translate("GitTagDialog", "<b>Create Tag</b>\n"
+"<p>Select this entry in order to create a tag.</p>"))
+        self.createTagButton.setText(_translate("GitTagDialog", "Create Tag"))
+        self.deleteTagButton.setToolTip(_translate("GitTagDialog", "Select to delete a tag"))
+        self.deleteTagButton.setWhatsThis(_translate("GitTagDialog", "<b>Delete Tag</b>\n"
+"<p>Select this entry in order to delete the selected tag.</p>"))
+        self.deleteTagButton.setText(_translate("GitTagDialog", "Delete Tag"))
+        self.verifyTagButton.setToolTip(_translate("GitTagDialog", "Select to verify a tag"))
+        self.verifyTagButton.setWhatsThis(_translate("GitTagDialog", "<b>Verify Tag</b>\n"
+"<p>Select this entry in order to verify the selected tag.</p>"))
+        self.verifyTagButton.setText(_translate("GitTagDialog", "Verify Tag"))
+        self.tagTypeGroup.setTitle(_translate("GitTagDialog", "Tag Type"))
+        self.globalTagButton.setToolTip(_translate("GitTagDialog", "Select to create/delete/verify a global tag"))
+        self.globalTagButton.setText(_translate("GitTagDialog", "Global Tag"))
+        self.signedTagButton.setToolTip(_translate("GitTagDialog", "Select to create/delete/verify a signed tag"))
+        self.signedTagButton.setText(_translate("GitTagDialog", "Signed Tag"))
+        self.localTagButton.setToolTip(_translate("GitTagDialog", "Select to create/delete/verify a local tag"))
+        self.localTagButton.setText(_translate("GitTagDialog", "Local Tag"))
+        self.forceCheckBox.setToolTip(_translate("GitTagDialog", "Select to enforce the create operation"))
+        self.forceCheckBox.setText(_translate("GitTagDialog", "Enforce Operation"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitUserConfigDataDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,68 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsGit/GitUserConfigDataDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_GitUserConfigDataDialog(object):
+    def setupUi(self, GitUserConfigDataDialog):
+        GitUserConfigDataDialog.setObjectName("GitUserConfigDataDialog")
+        GitUserConfigDataDialog.resize(400, 185)
+        GitUserConfigDataDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(GitUserConfigDataDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.groupBox = QtWidgets.QGroupBox(parent=GitUserConfigDataDialog)
+        self.groupBox.setObjectName("groupBox")
+        self.gridLayout = QtWidgets.QGridLayout(self.groupBox)
+        self.gridLayout.setObjectName("gridLayout")
+        self.label = QtWidgets.QLabel(parent=self.groupBox)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
+        self.firstNameEdit = QtWidgets.QLineEdit(parent=self.groupBox)
+        self.firstNameEdit.setClearButtonEnabled(True)
+        self.firstNameEdit.setObjectName("firstNameEdit")
+        self.gridLayout.addWidget(self.firstNameEdit, 0, 1, 1, 1)
+        self.label_2 = QtWidgets.QLabel(parent=self.groupBox)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 1, 0, 1, 1)
+        self.lastNameEdit = QtWidgets.QLineEdit(parent=self.groupBox)
+        self.lastNameEdit.setClearButtonEnabled(True)
+        self.lastNameEdit.setObjectName("lastNameEdit")
+        self.gridLayout.addWidget(self.lastNameEdit, 1, 1, 1, 1)
+        self.label_3 = QtWidgets.QLabel(parent=self.groupBox)
+        self.label_3.setObjectName("label_3")
+        self.gridLayout.addWidget(self.label_3, 2, 0, 1, 1)
+        self.emailEdit = QtWidgets.QLineEdit(parent=self.groupBox)
+        self.emailEdit.setClearButtonEnabled(True)
+        self.emailEdit.setObjectName("emailEdit")
+        self.gridLayout.addWidget(self.emailEdit, 2, 1, 1, 1)
+        self.verticalLayout.addWidget(self.groupBox)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=GitUserConfigDataDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(GitUserConfigDataDialog)
+        self.buttonBox.accepted.connect(GitUserConfigDataDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(GitUserConfigDataDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(GitUserConfigDataDialog)
+        GitUserConfigDataDialog.setTabOrder(self.firstNameEdit, self.lastNameEdit)
+        GitUserConfigDataDialog.setTabOrder(self.lastNameEdit, self.emailEdit)
+        GitUserConfigDataDialog.setTabOrder(self.emailEdit, self.buttonBox)
+
+    def retranslateUi(self, GitUserConfigDataDialog):
+        _translate = QtCore.QCoreApplication.translate
+        GitUserConfigDataDialog.setWindowTitle(_translate("GitUserConfigDataDialog", "Git User Data"))
+        self.groupBox.setTitle(_translate("GitUserConfigDataDialog", "User Data"))
+        self.label.setText(_translate("GitUserConfigDataDialog", "First Name:"))
+        self.firstNameEdit.setToolTip(_translate("GitUserConfigDataDialog", "Enter the first name"))
+        self.label_2.setText(_translate("GitUserConfigDataDialog", "Last Name:"))
+        self.lastNameEdit.setToolTip(_translate("GitUserConfigDataDialog", "Enter the last name"))
+        self.label_3.setText(_translate("GitUserConfigDataDialog", "Email:"))
+        self.emailEdit.setToolTip(_translate("GitUserConfigDataDialog", "Enter the email address"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitWorktreeAddDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,142 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsGit/GitWorktreeAddDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_GitWorktreeAddDialog(object):
+    def setupUi(self, GitWorktreeAddDialog):
+        GitWorktreeAddDialog.setObjectName("GitWorktreeAddDialog")
+        GitWorktreeAddDialog.resize(500, 395)
+        GitWorktreeAddDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(GitWorktreeAddDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.gridLayout_2 = QtWidgets.QGridLayout()
+        self.gridLayout_2.setObjectName("gridLayout_2")
+        self.label = QtWidgets.QLabel(parent=GitWorktreeAddDialog)
+        self.label.setObjectName("label")
+        self.gridLayout_2.addWidget(self.label, 0, 0, 1, 1)
+        self.worktreePathPicker = EricPathPicker(parent=GitWorktreeAddDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.worktreePathPicker.sizePolicy().hasHeightForWidth())
+        self.worktreePathPicker.setSizePolicy(sizePolicy)
+        self.worktreePathPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.worktreePathPicker.setObjectName("worktreePathPicker")
+        self.gridLayout_2.addWidget(self.worktreePathPicker, 0, 1, 1, 1)
+        self.label_2 = QtWidgets.QLabel(parent=GitWorktreeAddDialog)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout_2.addWidget(self.label_2, 1, 0, 1, 1)
+        self.branchNameEdit = QtWidgets.QLineEdit(parent=GitWorktreeAddDialog)
+        self.branchNameEdit.setClearButtonEnabled(True)
+        self.branchNameEdit.setObjectName("branchNameEdit")
+        self.gridLayout_2.addWidget(self.branchNameEdit, 1, 1, 1, 1)
+        self.forceBranchCheckBox = QtWidgets.QCheckBox(parent=GitWorktreeAddDialog)
+        self.forceBranchCheckBox.setObjectName("forceBranchCheckBox")
+        self.gridLayout_2.addWidget(self.forceBranchCheckBox, 2, 0, 1, 2)
+        self.lockCheckBox = QtWidgets.QCheckBox(parent=GitWorktreeAddDialog)
+        self.lockCheckBox.setObjectName("lockCheckBox")
+        self.gridLayout_2.addWidget(self.lockCheckBox, 3, 0, 1, 1)
+        self.lockReasonEdit = QtWidgets.QLineEdit(parent=GitWorktreeAddDialog)
+        self.lockReasonEdit.setEnabled(False)
+        self.lockReasonEdit.setClearButtonEnabled(True)
+        self.lockReasonEdit.setObjectName("lockReasonEdit")
+        self.gridLayout_2.addWidget(self.lockReasonEdit, 3, 1, 1, 1)
+        self.detachCheckBox = QtWidgets.QCheckBox(parent=GitWorktreeAddDialog)
+        self.detachCheckBox.setObjectName("detachCheckBox")
+        self.gridLayout_2.addWidget(self.detachCheckBox, 4, 0, 1, 2)
+        self.verticalLayout.addLayout(self.gridLayout_2)
+        self.groupBox = QtWidgets.QGroupBox(parent=GitWorktreeAddDialog)
+        self.groupBox.setObjectName("groupBox")
+        self.gridLayout = QtWidgets.QGridLayout(self.groupBox)
+        self.gridLayout.setObjectName("gridLayout")
+        self.revButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.revButton.setObjectName("revButton")
+        self.gridLayout.addWidget(self.revButton, 0, 0, 1, 1)
+        self.revEdit = QtWidgets.QLineEdit(parent=self.groupBox)
+        self.revEdit.setEnabled(False)
+        self.revEdit.setObjectName("revEdit")
+        self.gridLayout.addWidget(self.revEdit, 0, 1, 1, 1)
+        self.tagButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.tagButton.setObjectName("tagButton")
+        self.gridLayout.addWidget(self.tagButton, 1, 0, 1, 1)
+        self.tagCombo = QtWidgets.QComboBox(parent=self.groupBox)
+        self.tagCombo.setEnabled(False)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.tagCombo.sizePolicy().hasHeightForWidth())
+        self.tagCombo.setSizePolicy(sizePolicy)
+        self.tagCombo.setEditable(True)
+        self.tagCombo.setObjectName("tagCombo")
+        self.gridLayout.addWidget(self.tagCombo, 1, 1, 1, 1)
+        self.branchButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.branchButton.setObjectName("branchButton")
+        self.gridLayout.addWidget(self.branchButton, 2, 0, 1, 1)
+        self.branchCombo = QtWidgets.QComboBox(parent=self.groupBox)
+        self.branchCombo.setEnabled(False)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.branchCombo.sizePolicy().hasHeightForWidth())
+        self.branchCombo.setSizePolicy(sizePolicy)
+        self.branchCombo.setEditable(True)
+        self.branchCombo.setObjectName("branchCombo")
+        self.gridLayout.addWidget(self.branchCombo, 2, 1, 1, 1)
+        self.tipButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.tipButton.setChecked(True)
+        self.tipButton.setObjectName("tipButton")
+        self.gridLayout.addWidget(self.tipButton, 3, 0, 1, 2)
+        self.verticalLayout.addWidget(self.groupBox)
+        self.forceCheckBox = QtWidgets.QCheckBox(parent=GitWorktreeAddDialog)
+        self.forceCheckBox.setObjectName("forceCheckBox")
+        self.verticalLayout.addWidget(self.forceCheckBox)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=GitWorktreeAddDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(GitWorktreeAddDialog)
+        self.buttonBox.accepted.connect(GitWorktreeAddDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(GitWorktreeAddDialog.reject) # type: ignore
+        self.lockCheckBox.toggled['bool'].connect(self.lockReasonEdit.setEnabled) # type: ignore
+        self.branchButton.toggled['bool'].connect(self.branchCombo.setEnabled) # type: ignore
+        self.tagButton.toggled['bool'].connect(self.tagCombo.setEnabled) # type: ignore
+        self.revButton.toggled['bool'].connect(self.revEdit.setEnabled) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(GitWorktreeAddDialog)
+
+    def retranslateUi(self, GitWorktreeAddDialog):
+        _translate = QtCore.QCoreApplication.translate
+        GitWorktreeAddDialog.setWindowTitle(_translate("GitWorktreeAddDialog", "Git Add Worktree"))
+        self.label.setText(_translate("GitWorktreeAddDialog", "Worktree Path:"))
+        self.worktreePathPicker.setToolTip(_translate("GitWorktreeAddDialog", "Enter the path name of the new worktree."))
+        self.label_2.setText(_translate("GitWorktreeAddDialog", "Branchname:"))
+        self.branchNameEdit.setToolTip(_translate("GitWorktreeAddDialog", "Enter the name of the worktree branch."))
+        self.forceBranchCheckBox.setToolTip(_translate("GitWorktreeAddDialog", "Select to create the branch even if it exists already."))
+        self.forceBranchCheckBox.setText(_translate("GitWorktreeAddDialog", "Enforce Branch"))
+        self.lockCheckBox.setToolTip(_translate("GitWorktreeAddDialog", "Select to lock the new worktree."))
+        self.lockCheckBox.setText(_translate("GitWorktreeAddDialog", "Lock Worktree"))
+        self.lockReasonEdit.setToolTip(_translate("GitWorktreeAddDialog", "Enter a reason for the lock (optional)."))
+        self.detachCheckBox.setToolTip(_translate("GitWorktreeAddDialog", "Select to detach \"HEAD\" in the new worktree."))
+        self.detachCheckBox.setText(_translate("GitWorktreeAddDialog", "Detach HEAD"))
+        self.groupBox.setTitle(_translate("GitWorktreeAddDialog", "Revision"))
+        self.revButton.setToolTip(_translate("GitWorktreeAddDialog", "Select to specify a revision by a revision expression"))
+        self.revButton.setText(_translate("GitWorktreeAddDialog", "Commit:"))
+        self.revEdit.setToolTip(_translate("GitWorktreeAddDialog", "Enter a commit id"))
+        self.tagButton.setToolTip(_translate("GitWorktreeAddDialog", "Select to specify a revision by a tag"))
+        self.tagButton.setText(_translate("GitWorktreeAddDialog", "Tag:"))
+        self.tagCombo.setToolTip(_translate("GitWorktreeAddDialog", "Enter a tag name"))
+        self.branchButton.setToolTip(_translate("GitWorktreeAddDialog", "Select to specify a revision by a branch"))
+        self.branchButton.setText(_translate("GitWorktreeAddDialog", "Branch:"))
+        self.branchCombo.setToolTip(_translate("GitWorktreeAddDialog", "Enter a branch name"))
+        self.tipButton.setToolTip(_translate("GitWorktreeAddDialog", "Select HEAD revision"))
+        self.tipButton.setText(_translate("GitWorktreeAddDialog", "HEAD"))
+        self.forceCheckBox.setText(_translate("GitWorktreeAddDialog", "Enforce Worktree Creation"))
+from eric7.EricWidgets.EricPathPicker import EricPathPicker
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitWorktreeDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,91 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsGit/GitWorktreeDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_GitWorktreeDialog(object):
+    def setupUi(self, GitWorktreeDialog):
+        GitWorktreeDialog.setObjectName("GitWorktreeDialog")
+        GitWorktreeDialog.resize(800, 500)
+        GitWorktreeDialog.setProperty("sizeGripEnabled", True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(GitWorktreeDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.actionsButton = QtWidgets.QToolButton(parent=GitWorktreeDialog)
+        self.actionsButton.setPopupMode(QtWidgets.QToolButton.ToolButtonPopupMode.InstantPopup)
+        self.actionsButton.setObjectName("actionsButton")
+        self.horizontalLayout.addWidget(self.actionsButton)
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem)
+        self.expireCheckBox = QtWidgets.QCheckBox(parent=GitWorktreeDialog)
+        self.expireCheckBox.setObjectName("expireCheckBox")
+        self.horizontalLayout.addWidget(self.expireCheckBox)
+        self.expireDateTimeEdit = QtWidgets.QDateTimeEdit(parent=GitWorktreeDialog)
+        self.expireDateTimeEdit.setEnabled(False)
+        self.expireDateTimeEdit.setCalendarPopup(True)
+        self.expireDateTimeEdit.setObjectName("expireDateTimeEdit")
+        self.horizontalLayout.addWidget(self.expireDateTimeEdit)
+        self.verticalLayout.addLayout(self.horizontalLayout)
+        self.worktreeList = QtWidgets.QTreeWidget(parent=GitWorktreeDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(2)
+        sizePolicy.setHeightForWidth(self.worktreeList.sizePolicy().hasHeightForWidth())
+        self.worktreeList.setSizePolicy(sizePolicy)
+        self.worktreeList.setAlternatingRowColors(True)
+        self.worktreeList.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.SingleSelection)
+        self.worktreeList.setRootIsDecorated(False)
+        self.worktreeList.setItemsExpandable(False)
+        self.worktreeList.setExpandsOnDoubleClick(False)
+        self.worktreeList.setObjectName("worktreeList")
+        self.verticalLayout.addWidget(self.worktreeList)
+        self.errorGroup = QtWidgets.QGroupBox(parent=GitWorktreeDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(1)
+        sizePolicy.setHeightForWidth(self.errorGroup.sizePolicy().hasHeightForWidth())
+        self.errorGroup.setSizePolicy(sizePolicy)
+        self.errorGroup.setObjectName("errorGroup")
+        self._2 = QtWidgets.QVBoxLayout(self.errorGroup)
+        self._2.setObjectName("_2")
+        self.errors = QtWidgets.QTextEdit(parent=self.errorGroup)
+        self.errors.setReadOnly(True)
+        self.errors.setAcceptRichText(False)
+        self.errors.setObjectName("errors")
+        self._2.addWidget(self.errors)
+        self.verticalLayout.addWidget(self.errorGroup)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=GitWorktreeDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(GitWorktreeDialog)
+        self.expireCheckBox.toggled['bool'].connect(self.expireDateTimeEdit.setEnabled) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(GitWorktreeDialog)
+        GitWorktreeDialog.setTabOrder(self.actionsButton, self.expireCheckBox)
+        GitWorktreeDialog.setTabOrder(self.expireCheckBox, self.expireDateTimeEdit)
+        GitWorktreeDialog.setTabOrder(self.expireDateTimeEdit, self.worktreeList)
+        GitWorktreeDialog.setTabOrder(self.worktreeList, self.errors)
+
+    def retranslateUi(self, GitWorktreeDialog):
+        _translate = QtCore.QCoreApplication.translate
+        GitWorktreeDialog.setWindowTitle(_translate("GitWorktreeDialog", "Git Worktree"))
+        self.actionsButton.setToolTip(_translate("GitWorktreeDialog", "Select action from menu"))
+        self.expireCheckBox.setToolTip(_translate("GitWorktreeDialog", "Select to annotate missing worktrees older than the entered date and time as prunable."))
+        self.expireCheckBox.setText(_translate("GitWorktreeDialog", "Expire:"))
+        self.expireDateTimeEdit.setToolTip(_translate("GitWorktreeDialog", "All missing worktrees older than the entered date and time will be annotated as prunable."))
+        self.expireDateTimeEdit.setDisplayFormat(_translate("GitWorktreeDialog", "yyyy-MM-dd HH:mm:ss"))
+        self.worktreeList.setSortingEnabled(True)
+        self.worktreeList.headerItem().setText(0, _translate("GitWorktreeDialog", "Name"))
+        self.worktreeList.headerItem().setText(1, _translate("GitWorktreeDialog", "Path"))
+        self.worktreeList.headerItem().setText(2, _translate("GitWorktreeDialog", "Commit"))
+        self.worktreeList.headerItem().setText(3, _translate("GitWorktreeDialog", "Branch"))
+        self.errorGroup.setTitle(_translate("GitWorktreeDialog", "Errors"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsGit/Ui_GitWorktreePathsDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,66 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsGit/GitWorktreePathsDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_GitWorktreePathsDialog(object):
+    def setupUi(self, GitWorktreePathsDialog):
+        GitWorktreePathsDialog.setObjectName("GitWorktreePathsDialog")
+        GitWorktreePathsDialog.resize(600, 400)
+        GitWorktreePathsDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(GitWorktreePathsDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.gridLayout = QtWidgets.QGridLayout()
+        self.gridLayout.setObjectName("gridLayout")
+        self.pathsList = QtWidgets.QListWidget(parent=GitWorktreePathsDialog)
+        self.pathsList.setAlternatingRowColors(True)
+        self.pathsList.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.ExtendedSelection)
+        self.pathsList.setObjectName("pathsList")
+        self.gridLayout.addWidget(self.pathsList, 0, 0, 5, 1)
+        self.addButton = QtWidgets.QPushButton(parent=GitWorktreePathsDialog)
+        self.addButton.setAutoDefault(False)
+        self.addButton.setObjectName("addButton")
+        self.gridLayout.addWidget(self.addButton, 0, 1, 1, 1)
+        self.addLine = QtWidgets.QFrame(parent=GitWorktreePathsDialog)
+        self.addLine.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.addLine.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.addLine.setObjectName("addLine")
+        self.gridLayout.addWidget(self.addLine, 1, 1, 1, 1)
+        self.removeButton = QtWidgets.QPushButton(parent=GitWorktreePathsDialog)
+        self.removeButton.setAutoDefault(False)
+        self.removeButton.setObjectName("removeButton")
+        self.gridLayout.addWidget(self.removeButton, 2, 1, 1, 1)
+        self.removeAllButton = QtWidgets.QPushButton(parent=GitWorktreePathsDialog)
+        self.removeAllButton.setAutoDefault(False)
+        self.removeAllButton.setObjectName("removeAllButton")
+        self.gridLayout.addWidget(self.removeAllButton, 3, 1, 1, 1)
+        spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.gridLayout.addItem(spacerItem, 4, 1, 1, 1)
+        self.verticalLayout.addLayout(self.gridLayout)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=GitWorktreePathsDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(GitWorktreePathsDialog)
+        self.buttonBox.accepted.connect(GitWorktreePathsDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(GitWorktreePathsDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(GitWorktreePathsDialog)
+
+    def retranslateUi(self, GitWorktreePathsDialog):
+        _translate = QtCore.QCoreApplication.translate
+        GitWorktreePathsDialog.setWindowTitle(_translate("GitWorktreePathsDialog", "Git Worktree Paths"))
+        self.pathsList.setSortingEnabled(True)
+        self.addButton.setToolTip(_translate("GitWorktreePathsDialog", "Press to add an entry"))
+        self.addButton.setText(_translate("GitWorktreePathsDialog", "&Add..."))
+        self.removeButton.setToolTip(_translate("GitWorktreePathsDialog", "Press to remove the selected entries"))
+        self.removeButton.setText(_translate("GitWorktreePathsDialog", "&Remove"))
+        self.removeAllButton.setToolTip(_translate("GitWorktreePathsDialog", "Press to remove all entries"))
+        self.removeAllButton.setText(_translate("GitWorktreePathsDialog", "R&emove All"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsMercurial/CloseheadExtension/Ui_HgCloseHeadSelectionDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,65 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsMercurial/CloseheadExtension/HgCloseHeadSelectionDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_HgCloseHeadSelectionDialog(object):
+    def setupUi(self, HgCloseHeadSelectionDialog):
+        HgCloseHeadSelectionDialog.setObjectName("HgCloseHeadSelectionDialog")
+        HgCloseHeadSelectionDialog.resize(532, 402)
+        HgCloseHeadSelectionDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(HgCloseHeadSelectionDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.label = QtWidgets.QLabel(parent=HgCloseHeadSelectionDialog)
+        self.label.setObjectName("label")
+        self.verticalLayout.addWidget(self.label)
+        self.headsList = QtWidgets.QTreeWidget(parent=HgCloseHeadSelectionDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(2)
+        sizePolicy.setHeightForWidth(self.headsList.sizePolicy().hasHeightForWidth())
+        self.headsList.setSizePolicy(sizePolicy)
+        self.headsList.setAlternatingRowColors(True)
+        self.headsList.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.ExtendedSelection)
+        self.headsList.setRootIsDecorated(False)
+        self.headsList.setObjectName("headsList")
+        self.verticalLayout.addWidget(self.headsList)
+        self.label_2 = QtWidgets.QLabel(parent=HgCloseHeadSelectionDialog)
+        self.label_2.setObjectName("label_2")
+        self.verticalLayout.addWidget(self.label_2)
+        self.logEdit = EricSpellCheckedTextEdit(parent=HgCloseHeadSelectionDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(1)
+        sizePolicy.setHeightForWidth(self.logEdit.sizePolicy().hasHeightForWidth())
+        self.logEdit.setSizePolicy(sizePolicy)
+        self.logEdit.setTabChangesFocus(True)
+        self.logEdit.setAcceptRichText(False)
+        self.logEdit.setObjectName("logEdit")
+        self.verticalLayout.addWidget(self.logEdit)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=HgCloseHeadSelectionDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(HgCloseHeadSelectionDialog)
+        self.buttonBox.accepted.connect(HgCloseHeadSelectionDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(HgCloseHeadSelectionDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(HgCloseHeadSelectionDialog)
+        HgCloseHeadSelectionDialog.setTabOrder(self.headsList, self.logEdit)
+
+    def retranslateUi(self, HgCloseHeadSelectionDialog):
+        _translate = QtCore.QCoreApplication.translate
+        HgCloseHeadSelectionDialog.setWindowTitle(_translate("HgCloseHeadSelectionDialog", "Close Heads"))
+        self.label.setText(_translate("HgCloseHeadSelectionDialog", "Select heads to be closed:"))
+        self.headsList.headerItem().setText(0, _translate("HgCloseHeadSelectionDialog", "Revision"))
+        self.headsList.headerItem().setText(1, _translate("HgCloseHeadSelectionDialog", "Branch"))
+        self.label_2.setText(_translate("HgCloseHeadSelectionDialog", "Commit Message:"))
+from eric7.EricWidgets.EricSpellCheckedTextEdit import EricSpellCheckedTextEdit
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsMercurial/ConfigurationPage/Ui_MercurialPage.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,232 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsMercurial/ConfigurationPage/MercurialPage.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_MercurialPage(object):
+    def setupUi(self, MercurialPage):
+        MercurialPage.setObjectName("MercurialPage")
+        MercurialPage.resize(609, 935)
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(MercurialPage)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.headerLabel = QtWidgets.QLabel(parent=MercurialPage)
+        self.headerLabel.setObjectName("headerLabel")
+        self.verticalLayout_2.addWidget(self.headerLabel)
+        self.line15 = QtWidgets.QFrame(parent=MercurialPage)
+        self.line15.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line15.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line15.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line15.setObjectName("line15")
+        self.verticalLayout_2.addWidget(self.line15)
+        self.groupBox_3 = QtWidgets.QGroupBox(parent=MercurialPage)
+        self.groupBox_3.setObjectName("groupBox_3")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.groupBox_3)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.label_2 = QtWidgets.QLabel(parent=self.groupBox_3)
+        self.label_2.setWordWrap(True)
+        self.label_2.setObjectName("label_2")
+        self.verticalLayout.addWidget(self.label_2)
+        self.hgPicker = EricPathPicker(parent=self.groupBox_3)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.hgPicker.sizePolicy().hasHeightForWidth())
+        self.hgPicker.setSizePolicy(sizePolicy)
+        self.hgPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.hgPicker.setToolTip("")
+        self.hgPicker.setWhatsThis("")
+        self.hgPicker.setObjectName("hgPicker")
+        self.verticalLayout.addWidget(self.hgPicker)
+        self.verticalLayout_2.addWidget(self.groupBox_3)
+        self.groupBox_8 = QtWidgets.QGroupBox(parent=MercurialPage)
+        self.groupBox_8.setObjectName("groupBox_8")
+        self.gridLayout = QtWidgets.QGridLayout(self.groupBox_8)
+        self.gridLayout.setObjectName("gridLayout")
+        self.label_4 = QtWidgets.QLabel(parent=self.groupBox_8)
+        self.label_4.setObjectName("label_4")
+        self.gridLayout.addWidget(self.label_4, 0, 0, 1, 1)
+        self.encodingComboBox = QtWidgets.QComboBox(parent=self.groupBox_8)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.encodingComboBox.sizePolicy().hasHeightForWidth())
+        self.encodingComboBox.setSizePolicy(sizePolicy)
+        self.encodingComboBox.setObjectName("encodingComboBox")
+        self.gridLayout.addWidget(self.encodingComboBox, 0, 1, 1, 1)
+        self.label_5 = QtWidgets.QLabel(parent=self.groupBox_8)
+        self.label_5.setObjectName("label_5")
+        self.gridLayout.addWidget(self.label_5, 0, 2, 1, 1)
+        self.encodingModeComboBox = QtWidgets.QComboBox(parent=self.groupBox_8)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.encodingModeComboBox.sizePolicy().hasHeightForWidth())
+        self.encodingModeComboBox.setSizePolicy(sizePolicy)
+        self.encodingModeComboBox.setObjectName("encodingModeComboBox")
+        self.gridLayout.addWidget(self.encodingModeComboBox, 0, 3, 1, 1)
+        self.hiddenChangesetsCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_8)
+        self.hiddenChangesetsCheckBox.setObjectName("hiddenChangesetsCheckBox")
+        self.gridLayout.addWidget(self.hiddenChangesetsCheckBox, 1, 0, 1, 2)
+        self.verticalLayout_2.addWidget(self.groupBox_8)
+        self.groupBox = QtWidgets.QGroupBox(parent=MercurialPage)
+        self.groupBox.setObjectName("groupBox")
+        self.gridLayout_3 = QtWidgets.QGridLayout(self.groupBox)
+        self.gridLayout_3.setObjectName("gridLayout_3")
+        self.logWidthSpinBox = QtWidgets.QSpinBox(parent=self.groupBox)
+        self.logWidthSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.logWidthSpinBox.setMinimum(10)
+        self.logWidthSpinBox.setObjectName("logWidthSpinBox")
+        self.gridLayout_3.addWidget(self.logWidthSpinBox, 1, 1, 1, 1)
+        self.label = QtWidgets.QLabel(parent=self.groupBox)
+        self.label.setObjectName("label")
+        self.gridLayout_3.addWidget(self.label, 0, 0, 1, 1)
+        self.logSpinBox = QtWidgets.QSpinBox(parent=self.groupBox)
+        self.logSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.logSpinBox.setMaximum(999999)
+        self.logSpinBox.setObjectName("logSpinBox")
+        self.gridLayout_3.addWidget(self.logSpinBox, 0, 1, 1, 1)
+        self.label_7 = QtWidgets.QLabel(parent=self.groupBox)
+        self.label_7.setObjectName("label_7")
+        self.gridLayout_3.addWidget(self.label_7, 1, 0, 1, 1)
+        spacerItem = QtWidgets.QSpacerItem(41, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout_3.addItem(spacerItem, 0, 2, 1, 1)
+        self.startFullLogCheckBox = QtWidgets.QCheckBox(parent=self.groupBox)
+        self.startFullLogCheckBox.setObjectName("startFullLogCheckBox")
+        self.gridLayout_3.addWidget(self.startFullLogCheckBox, 2, 0, 1, 3)
+        self.verticalLayout_2.addWidget(self.groupBox)
+        self.groupBox_2 = QtWidgets.QGroupBox(parent=MercurialPage)
+        self.groupBox_2.setObjectName("groupBox_2")
+        self.gridLayout_2 = QtWidgets.QGridLayout(self.groupBox_2)
+        self.gridLayout_2.setObjectName("gridLayout_2")
+        self.commitAuthorsSpinBox = QtWidgets.QSpinBox(parent=self.groupBox_2)
+        self.commitAuthorsSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.commitAuthorsSpinBox.setMinimum(1)
+        self.commitAuthorsSpinBox.setMaximum(100)
+        self.commitAuthorsSpinBox.setObjectName("commitAuthorsSpinBox")
+        self.gridLayout_2.addWidget(self.commitAuthorsSpinBox, 0, 1, 1, 1)
+        self.label_6 = QtWidgets.QLabel(parent=self.groupBox_2)
+        self.label_6.setObjectName("label_6")
+        self.gridLayout_2.addWidget(self.label_6, 0, 0, 1, 1)
+        spacerItem1 = QtWidgets.QSpacerItem(329, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout_2.addItem(spacerItem1, 0, 2, 1, 1)
+        self.verticalLayout_2.addWidget(self.groupBox_2)
+        self.groupBox_4 = QtWidgets.QGroupBox(parent=MercurialPage)
+        self.groupBox_4.setObjectName("groupBox_4")
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.groupBox_4)
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.pullUpdateCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_4)
+        self.pullUpdateCheckBox.setObjectName("pullUpdateCheckBox")
+        self.horizontalLayout_2.addWidget(self.pullUpdateCheckBox)
+        self.preferUnbundleCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_4)
+        self.preferUnbundleCheckBox.setObjectName("preferUnbundleCheckBox")
+        self.horizontalLayout_2.addWidget(self.preferUnbundleCheckBox)
+        self.verticalLayout_2.addWidget(self.groupBox_4)
+        self.groupBox_7 = QtWidgets.QGroupBox(parent=MercurialPage)
+        self.groupBox_7.setObjectName("groupBox_7")
+        self.verticalLayout_4 = QtWidgets.QVBoxLayout(self.groupBox_7)
+        self.verticalLayout_4.setObjectName("verticalLayout_4")
+        self.internalMergeCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_7)
+        self.internalMergeCheckBox.setObjectName("internalMergeCheckBox")
+        self.verticalLayout_4.addWidget(self.internalMergeCheckBox)
+        self.verticalLayout_2.addWidget(self.groupBox_7)
+        self.groupBox_6 = QtWidgets.QGroupBox(parent=MercurialPage)
+        self.groupBox_6.setObjectName("groupBox_6")
+        self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.groupBox_6)
+        self.verticalLayout_3.setObjectName("verticalLayout_3")
+        self.backupCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_6)
+        self.backupCheckBox.setObjectName("backupCheckBox")
+        self.verticalLayout_3.addWidget(self.backupCheckBox)
+        self.verticalLayout_2.addWidget(self.groupBox_6)
+        self.groupBox_5 = QtWidgets.QGroupBox(parent=MercurialPage)
+        self.groupBox_5.setObjectName("groupBox_5")
+        self.horizontalLayout = QtWidgets.QHBoxLayout(self.groupBox_5)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.label_3 = QtWidgets.QLabel(parent=self.groupBox_5)
+        self.label_3.setObjectName("label_3")
+        self.horizontalLayout.addWidget(self.label_3)
+        self.cleanupPatternEdit = QtWidgets.QLineEdit(parent=self.groupBox_5)
+        self.cleanupPatternEdit.setObjectName("cleanupPatternEdit")
+        self.horizontalLayout.addWidget(self.cleanupPatternEdit)
+        self.verticalLayout_2.addWidget(self.groupBox_5)
+        self.configButton = QtWidgets.QPushButton(parent=MercurialPage)
+        self.configButton.setObjectName("configButton")
+        self.verticalLayout_2.addWidget(self.configButton)
+        self.line15_2 = QtWidgets.QFrame(parent=MercurialPage)
+        self.line15_2.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line15_2.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line15_2.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line15_2.setObjectName("line15_2")
+        self.verticalLayout_2.addWidget(self.line15_2)
+        self.installButton = QtWidgets.QPushButton(parent=MercurialPage)
+        self.installButton.setObjectName("installButton")
+        self.verticalLayout_2.addWidget(self.installButton)
+        spacerItem2 = QtWidgets.QSpacerItem(388, 21, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout_2.addItem(spacerItem2)
+
+        self.retranslateUi(MercurialPage)
+        QtCore.QMetaObject.connectSlotsByName(MercurialPage)
+        MercurialPage.setTabOrder(self.hgPicker, self.encodingComboBox)
+        MercurialPage.setTabOrder(self.encodingComboBox, self.encodingModeComboBox)
+        MercurialPage.setTabOrder(self.encodingModeComboBox, self.hiddenChangesetsCheckBox)
+        MercurialPage.setTabOrder(self.hiddenChangesetsCheckBox, self.logSpinBox)
+        MercurialPage.setTabOrder(self.logSpinBox, self.logWidthSpinBox)
+        MercurialPage.setTabOrder(self.logWidthSpinBox, self.startFullLogCheckBox)
+        MercurialPage.setTabOrder(self.startFullLogCheckBox, self.commitAuthorsSpinBox)
+        MercurialPage.setTabOrder(self.commitAuthorsSpinBox, self.pullUpdateCheckBox)
+        MercurialPage.setTabOrder(self.pullUpdateCheckBox, self.preferUnbundleCheckBox)
+        MercurialPage.setTabOrder(self.preferUnbundleCheckBox, self.internalMergeCheckBox)
+        MercurialPage.setTabOrder(self.internalMergeCheckBox, self.backupCheckBox)
+        MercurialPage.setTabOrder(self.backupCheckBox, self.cleanupPatternEdit)
+        MercurialPage.setTabOrder(self.cleanupPatternEdit, self.configButton)
+        MercurialPage.setTabOrder(self.configButton, self.installButton)
+
+    def retranslateUi(self, MercurialPage):
+        _translate = QtCore.QCoreApplication.translate
+        self.headerLabel.setText(_translate("MercurialPage", "<b>Configure Mercurial Interface</b>"))
+        self.groupBox_3.setTitle(_translate("MercurialPage", "Mercurial Executable"))
+        self.label_2.setText(_translate("MercurialPage", "Enter the path of the Mercurial executable (hg or hg.exe) to override the automatism."))
+        self.groupBox_8.setTitle(_translate("MercurialPage", "Global Options"))
+        self.label_4.setText(_translate("MercurialPage", "Encoding:"))
+        self.encodingComboBox.setToolTip(_translate("MercurialPage", "Select the encoding to be used by Mercurial"))
+        self.label_5.setText(_translate("MercurialPage", "Encoding Mode:"))
+        self.encodingModeComboBox.setToolTip(_translate("MercurialPage", "Select the encoding mode"))
+        self.hiddenChangesetsCheckBox.setText(_translate("MercurialPage", "Consider hidden changesets"))
+        self.groupBox.setTitle(_translate("MercurialPage", "Log"))
+        self.logWidthSpinBox.setToolTip(_translate("MercurialPage", "Enter the number of characters of the commit message to be shown in the list"))
+        self.label.setText(_translate("MercurialPage", "No. of log messages shown:"))
+        self.logSpinBox.setToolTip(_translate("MercurialPage", "Enter the number of log messages to be shown"))
+        self.label_7.setText(_translate("MercurialPage", "No. of message characters shown in list:"))
+        self.startFullLogCheckBox.setToolTip(_translate("MercurialPage", "Select to show all incoming and the first batch of local changesets"))
+        self.startFullLogCheckBox.setText(_translate("MercurialPage", "Start showing incoming and local changesets"))
+        self.groupBox_2.setTitle(_translate("MercurialPage", "Commit"))
+        self.commitAuthorsSpinBox.setToolTip(_translate("MercurialPage", "Enter the number of commit authors to remember"))
+        self.label_6.setText(_translate("MercurialPage", "No. of commit authors to remember:"))
+        self.groupBox_4.setTitle(_translate("MercurialPage", "Pull"))
+        self.pullUpdateCheckBox.setToolTip(_translate("MercurialPage", "Select to update the working directory to new tip"))
+        self.pullUpdateCheckBox.setText(_translate("MercurialPage", "Update after pulling"))
+        self.preferUnbundleCheckBox.setToolTip(_translate("MercurialPage", "Select to prefer unbundle over pull"))
+        self.preferUnbundleCheckBox.setWhatsThis(_translate("MercurialPage", "<b>Prefer Unbundle</b>\n"
+"<p>If this option is selected, it will be checked, if a Mercurial changegroups file from a previous \"Show Incoming\" request exists. In this case it will be applied and deleted. Otherwise a pull request will be sent.</p>"))
+        self.preferUnbundleCheckBox.setText(_translate("MercurialPage", "Prefer Unbundle"))
+        self.groupBox_7.setTitle(_translate("MercurialPage", "Merge"))
+        self.internalMergeCheckBox.setToolTip(_translate("MercurialPage", "Select to enforce usage of the Mercural internal merge tool"))
+        self.internalMergeCheckBox.setWhatsThis(_translate("MercurialPage", "<b>Internal Merge Tool</b>\n"
+"<p>Select to enforce usage of the Mercural internal merge tool,which leaves conflict markers in the file in case of conflicting changes.</p>"))
+        self.internalMergeCheckBox.setText(_translate("MercurialPage", "Use internal merge with conflict markers"))
+        self.groupBox_6.setTitle(_translate("MercurialPage", "Revert"))
+        self.backupCheckBox.setToolTip(_translate("MercurialPage", "Select to create a backup file (.orig) before reverting changes"))
+        self.backupCheckBox.setText(_translate("MercurialPage", "Create Backup Files"))
+        self.groupBox_5.setTitle(_translate("MercurialPage", "Cleanup"))
+        self.label_3.setText(_translate("MercurialPage", "Pattern:"))
+        self.cleanupPatternEdit.setToolTip(_translate("MercurialPage", "Enter the file name patterns to be used for cleaning up (entries separated by a space character)"))
+        self.configButton.setToolTip(_translate("MercurialPage", "Edit the Mercurial configuration file"))
+        self.configButton.setText(_translate("MercurialPage", "Edit configuration file"))
+        self.installButton.setToolTip(_translate("MercurialPage", "Press to install Mercurial alongside eric7"))
+        self.installButton.setText(_translate("MercurialPage", "Install Mercurial"))
+from eric7.EricWidgets.EricPathPicker import EricPathPicker
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsMercurial/GpgExtension/Ui_HgGpgSignDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,190 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsMercurial/GpgExtension/HgGpgSignDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_HgGpgSignDialog(object):
+    def setupUi(self, HgGpgSignDialog):
+        HgGpgSignDialog.setObjectName("HgGpgSignDialog")
+        HgGpgSignDialog.resize(400, 600)
+        HgGpgSignDialog.setWindowTitle("")
+        HgGpgSignDialog.setSizeGripEnabled(True)
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(HgGpgSignDialog)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.groupBox = QtWidgets.QGroupBox(parent=HgGpgSignDialog)
+        self.groupBox.setObjectName("groupBox")
+        self.gridLayout = QtWidgets.QGridLayout(self.groupBox)
+        self.gridLayout.setObjectName("gridLayout")
+        self.numberButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.numberButton.setObjectName("numberButton")
+        self.gridLayout.addWidget(self.numberButton, 0, 0, 1, 1)
+        self.numberSpinBox = QtWidgets.QSpinBox(parent=self.groupBox)
+        self.numberSpinBox.setEnabled(False)
+        self.numberSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight)
+        self.numberSpinBox.setMaximum(999999999)
+        self.numberSpinBox.setObjectName("numberSpinBox")
+        self.gridLayout.addWidget(self.numberSpinBox, 0, 1, 1, 1)
+        spacerItem = QtWidgets.QSpacerItem(158, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout.addItem(spacerItem, 0, 2, 1, 1)
+        self.idButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.idButton.setObjectName("idButton")
+        self.gridLayout.addWidget(self.idButton, 1, 0, 1, 1)
+        self.idEdit = QtWidgets.QLineEdit(parent=self.groupBox)
+        self.idEdit.setEnabled(False)
+        self.idEdit.setObjectName("idEdit")
+        self.gridLayout.addWidget(self.idEdit, 1, 1, 1, 2)
+        self.tagButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.tagButton.setObjectName("tagButton")
+        self.gridLayout.addWidget(self.tagButton, 2, 0, 1, 1)
+        self.tagCombo = QtWidgets.QComboBox(parent=self.groupBox)
+        self.tagCombo.setEnabled(False)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.tagCombo.sizePolicy().hasHeightForWidth())
+        self.tagCombo.setSizePolicy(sizePolicy)
+        self.tagCombo.setEditable(True)
+        self.tagCombo.setObjectName("tagCombo")
+        self.gridLayout.addWidget(self.tagCombo, 2, 1, 1, 2)
+        self.branchButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.branchButton.setObjectName("branchButton")
+        self.gridLayout.addWidget(self.branchButton, 3, 0, 1, 1)
+        self.branchCombo = QtWidgets.QComboBox(parent=self.groupBox)
+        self.branchCombo.setEnabled(False)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.branchCombo.sizePolicy().hasHeightForWidth())
+        self.branchCombo.setSizePolicy(sizePolicy)
+        self.branchCombo.setEditable(True)
+        self.branchCombo.setObjectName("branchCombo")
+        self.gridLayout.addWidget(self.branchCombo, 3, 1, 1, 2)
+        self.bookmarkButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.bookmarkButton.setObjectName("bookmarkButton")
+        self.gridLayout.addWidget(self.bookmarkButton, 4, 0, 1, 1)
+        self.bookmarkCombo = QtWidgets.QComboBox(parent=self.groupBox)
+        self.bookmarkCombo.setEnabled(False)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.bookmarkCombo.sizePolicy().hasHeightForWidth())
+        self.bookmarkCombo.setSizePolicy(sizePolicy)
+        self.bookmarkCombo.setEditable(True)
+        self.bookmarkCombo.setObjectName("bookmarkCombo")
+        self.gridLayout.addWidget(self.bookmarkCombo, 4, 1, 1, 2)
+        self.expressionButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.expressionButton.setObjectName("expressionButton")
+        self.gridLayout.addWidget(self.expressionButton, 5, 0, 1, 1)
+        self.expressionEdit = QtWidgets.QLineEdit(parent=self.groupBox)
+        self.expressionEdit.setEnabled(False)
+        self.expressionEdit.setClearButtonEnabled(True)
+        self.expressionEdit.setObjectName("expressionEdit")
+        self.gridLayout.addWidget(self.expressionEdit, 5, 1, 1, 2)
+        self.tipButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.tipButton.setChecked(True)
+        self.tipButton.setObjectName("tipButton")
+        self.gridLayout.addWidget(self.tipButton, 6, 0, 1, 3)
+        self.verticalLayout_2.addWidget(self.groupBox)
+        self.groupBox_2 = QtWidgets.QGroupBox(parent=HgGpgSignDialog)
+        self.groupBox_2.setObjectName("groupBox_2")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.groupBox_2)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.nocommitCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_2)
+        self.nocommitCheckBox.setObjectName("nocommitCheckBox")
+        self.verticalLayout.addWidget(self.nocommitCheckBox)
+        self.messageEdit = EricSpellCheckedPlainTextEdit(parent=self.groupBox_2)
+        self.messageEdit.setTabChangesFocus(True)
+        self.messageEdit.setObjectName("messageEdit")
+        self.verticalLayout.addWidget(self.messageEdit)
+        self.verticalLayout_2.addWidget(self.groupBox_2)
+        self.gridLayout_2 = QtWidgets.QGridLayout()
+        self.gridLayout_2.setObjectName("gridLayout_2")
+        self.label = QtWidgets.QLabel(parent=HgGpgSignDialog)
+        self.label.setObjectName("label")
+        self.gridLayout_2.addWidget(self.label, 0, 0, 1, 1)
+        self.keyEdit = QtWidgets.QLineEdit(parent=HgGpgSignDialog)
+        self.keyEdit.setObjectName("keyEdit")
+        self.gridLayout_2.addWidget(self.keyEdit, 0, 1, 1, 1)
+        self.localCheckBox = QtWidgets.QCheckBox(parent=HgGpgSignDialog)
+        self.localCheckBox.setObjectName("localCheckBox")
+        self.gridLayout_2.addWidget(self.localCheckBox, 1, 0, 1, 2)
+        self.forceCheckBox = QtWidgets.QCheckBox(parent=HgGpgSignDialog)
+        self.forceCheckBox.setObjectName("forceCheckBox")
+        self.gridLayout_2.addWidget(self.forceCheckBox, 2, 0, 1, 2)
+        self.verticalLayout_2.addLayout(self.gridLayout_2)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=HgGpgSignDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout_2.addWidget(self.buttonBox)
+
+        self.retranslateUi(HgGpgSignDialog)
+        self.buttonBox.accepted.connect(HgGpgSignDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(HgGpgSignDialog.reject) # type: ignore
+        self.numberButton.toggled['bool'].connect(self.numberSpinBox.setEnabled) # type: ignore
+        self.idButton.toggled['bool'].connect(self.idEdit.setEnabled) # type: ignore
+        self.tagButton.toggled['bool'].connect(self.tagCombo.setEnabled) # type: ignore
+        self.branchButton.toggled['bool'].connect(self.branchCombo.setEnabled) # type: ignore
+        self.bookmarkButton.toggled['bool'].connect(self.bookmarkCombo.setEnabled) # type: ignore
+        self.expressionButton.toggled['bool'].connect(self.expressionEdit.setEnabled) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(HgGpgSignDialog)
+        HgGpgSignDialog.setTabOrder(self.numberButton, self.numberSpinBox)
+        HgGpgSignDialog.setTabOrder(self.numberSpinBox, self.idButton)
+        HgGpgSignDialog.setTabOrder(self.idButton, self.idEdit)
+        HgGpgSignDialog.setTabOrder(self.idEdit, self.tagButton)
+        HgGpgSignDialog.setTabOrder(self.tagButton, self.tagCombo)
+        HgGpgSignDialog.setTabOrder(self.tagCombo, self.branchButton)
+        HgGpgSignDialog.setTabOrder(self.branchButton, self.branchCombo)
+        HgGpgSignDialog.setTabOrder(self.branchCombo, self.bookmarkButton)
+        HgGpgSignDialog.setTabOrder(self.bookmarkButton, self.bookmarkCombo)
+        HgGpgSignDialog.setTabOrder(self.bookmarkCombo, self.expressionButton)
+        HgGpgSignDialog.setTabOrder(self.expressionButton, self.expressionEdit)
+        HgGpgSignDialog.setTabOrder(self.expressionEdit, self.tipButton)
+        HgGpgSignDialog.setTabOrder(self.tipButton, self.nocommitCheckBox)
+        HgGpgSignDialog.setTabOrder(self.nocommitCheckBox, self.messageEdit)
+        HgGpgSignDialog.setTabOrder(self.messageEdit, self.keyEdit)
+        HgGpgSignDialog.setTabOrder(self.keyEdit, self.localCheckBox)
+        HgGpgSignDialog.setTabOrder(self.localCheckBox, self.forceCheckBox)
+        HgGpgSignDialog.setTabOrder(self.forceCheckBox, HgGpgSignDialog.keyEdit_2)
+        HgGpgSignDialog.setTabOrder(HgGpgSignDialog.keyEdit_2, HgGpgSignDialog.localCheckBox_2)
+        HgGpgSignDialog.setTabOrder(HgGpgSignDialog.localCheckBox_2, HgGpgSignDialog.forceCheckBox_2)
+
+    def retranslateUi(self, HgGpgSignDialog):
+        _translate = QtCore.QCoreApplication.translate
+        self.groupBox.setTitle(_translate("HgGpgSignDialog", "Revision"))
+        self.numberButton.setToolTip(_translate("HgGpgSignDialog", "Select to specify a revision by number"))
+        self.numberButton.setText(_translate("HgGpgSignDialog", "Number"))
+        self.numberSpinBox.setToolTip(_translate("HgGpgSignDialog", "Enter a revision number"))
+        self.idButton.setToolTip(_translate("HgGpgSignDialog", "Select to specify a revision by changeset id"))
+        self.idButton.setText(_translate("HgGpgSignDialog", "Id:"))
+        self.idEdit.setToolTip(_translate("HgGpgSignDialog", "Enter a changeset id"))
+        self.tagButton.setToolTip(_translate("HgGpgSignDialog", "Select to specify a revision by a tag"))
+        self.tagButton.setText(_translate("HgGpgSignDialog", "Tag:"))
+        self.tagCombo.setToolTip(_translate("HgGpgSignDialog", "Enter a tag name"))
+        self.branchButton.setToolTip(_translate("HgGpgSignDialog", "Select to specify a revision by a branch"))
+        self.branchButton.setText(_translate("HgGpgSignDialog", "Branch:"))
+        self.branchCombo.setToolTip(_translate("HgGpgSignDialog", "Enter a branch name"))
+        self.bookmarkButton.setToolTip(_translate("HgGpgSignDialog", "Select to specify a revision by a bookmark"))
+        self.bookmarkButton.setText(_translate("HgGpgSignDialog", "Bookmark:"))
+        self.bookmarkCombo.setToolTip(_translate("HgGpgSignDialog", "Enter a bookmark name"))
+        self.expressionButton.setText(_translate("HgGpgSignDialog", "Expression:"))
+        self.expressionEdit.setToolTip(_translate("HgGpgSignDialog", "Enter a revision set expression"))
+        self.tipButton.setToolTip(_translate("HgGpgSignDialog", "Select tip revision of repository"))
+        self.tipButton.setText(_translate("HgGpgSignDialog", "Parent"))
+        self.groupBox_2.setTitle(_translate("HgGpgSignDialog", "Commit Message"))
+        self.nocommitCheckBox.setToolTip(_translate("HgGpgSignDialog", "Select to not commit the signature"))
+        self.nocommitCheckBox.setText(_translate("HgGpgSignDialog", "Do Not Commit"))
+        self.messageEdit.setToolTip(_translate("HgGpgSignDialog", "Enter a commit message (leave empty to use default)"))
+        self.label.setText(_translate("HgGpgSignDialog", "Key-ID:"))
+        self.keyEdit.setToolTip(_translate("HgGpgSignDialog", "Enter the ID of the key to be used"))
+        self.localCheckBox.setToolTip(_translate("HgGpgSignDialog", "Select to make the signature local"))
+        self.localCheckBox.setText(_translate("HgGpgSignDialog", "Local Signature"))
+        self.forceCheckBox.setToolTip(_translate("HgGpgSignDialog", "Select to sign even if the signature file is modified"))
+        self.forceCheckBox.setText(_translate("HgGpgSignDialog", "Force Signature"))
+from eric7.EricWidgets.EricSpellCheckedTextEdit import EricSpellCheckedPlainTextEdit
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsMercurial/GpgExtension/Ui_HgGpgSignaturesDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,95 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsMercurial/GpgExtension/HgGpgSignaturesDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_HgGpgSignaturesDialog(object):
+    def setupUi(self, HgGpgSignaturesDialog):
+        HgGpgSignaturesDialog.setObjectName("HgGpgSignaturesDialog")
+        HgGpgSignaturesDialog.resize(700, 600)
+        HgGpgSignaturesDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(HgGpgSignaturesDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_2.addItem(spacerItem)
+        spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_2.addItem(spacerItem1)
+        self.categoryCombo = QtWidgets.QComboBox(parent=HgGpgSignaturesDialog)
+        self.categoryCombo.setObjectName("categoryCombo")
+        self.categoryCombo.addItem("")
+        self.categoryCombo.addItem("")
+        self.horizontalLayout_2.addWidget(self.categoryCombo)
+        self.rxEdit = QtWidgets.QLineEdit(parent=HgGpgSignaturesDialog)
+        self.rxEdit.setClearButtonEnabled(True)
+        self.rxEdit.setObjectName("rxEdit")
+        self.horizontalLayout_2.addWidget(self.rxEdit)
+        self.verticalLayout.addLayout(self.horizontalLayout_2)
+        self.signaturesList = QtWidgets.QTreeWidget(parent=HgGpgSignaturesDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(3)
+        sizePolicy.setHeightForWidth(self.signaturesList.sizePolicy().hasHeightForWidth())
+        self.signaturesList.setSizePolicy(sizePolicy)
+        self.signaturesList.setAlternatingRowColors(True)
+        self.signaturesList.setRootIsDecorated(False)
+        self.signaturesList.setHeaderHidden(True)
+        self.signaturesList.setObjectName("signaturesList")
+        self.signaturesList.headerItem().setText(0, "1")
+        self.verticalLayout.addWidget(self.signaturesList)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.verifyButton = QtWidgets.QPushButton(parent=HgGpgSignaturesDialog)
+        self.verifyButton.setEnabled(False)
+        self.verifyButton.setObjectName("verifyButton")
+        self.horizontalLayout.addWidget(self.verifyButton)
+        spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem2)
+        self.verticalLayout.addLayout(self.horizontalLayout)
+        self.errorGroup = QtWidgets.QGroupBox(parent=HgGpgSignaturesDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(1)
+        sizePolicy.setHeightForWidth(self.errorGroup.sizePolicy().hasHeightForWidth())
+        self.errorGroup.setSizePolicy(sizePolicy)
+        self.errorGroup.setObjectName("errorGroup")
+        self.vboxlayout = QtWidgets.QVBoxLayout(self.errorGroup)
+        self.vboxlayout.setObjectName("vboxlayout")
+        self.errors = QtWidgets.QTextEdit(parent=self.errorGroup)
+        self.errors.setReadOnly(True)
+        self.errors.setAcceptRichText(False)
+        self.errors.setObjectName("errors")
+        self.vboxlayout.addWidget(self.errors)
+        self.verticalLayout.addWidget(self.errorGroup)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=HgGpgSignaturesDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(HgGpgSignaturesDialog)
+        QtCore.QMetaObject.connectSlotsByName(HgGpgSignaturesDialog)
+        HgGpgSignaturesDialog.setTabOrder(self.categoryCombo, self.rxEdit)
+        HgGpgSignaturesDialog.setTabOrder(self.rxEdit, self.signaturesList)
+        HgGpgSignaturesDialog.setTabOrder(self.signaturesList, self.verifyButton)
+        HgGpgSignaturesDialog.setTabOrder(self.verifyButton, self.errors)
+        HgGpgSignaturesDialog.setTabOrder(self.errors, self.buttonBox)
+
+    def retranslateUi(self, HgGpgSignaturesDialog):
+        _translate = QtCore.QCoreApplication.translate
+        HgGpgSignaturesDialog.setWindowTitle(_translate("HgGpgSignaturesDialog", "Signed Changesets"))
+        self.categoryCombo.setToolTip(_translate("HgGpgSignaturesDialog", "Select the category to filter on"))
+        self.categoryCombo.setItemText(0, _translate("HgGpgSignaturesDialog", "Revision"))
+        self.categoryCombo.setItemText(1, _translate("HgGpgSignaturesDialog", "Signature"))
+        self.rxEdit.setToolTip(_translate("HgGpgSignaturesDialog", "Enter the regular expression to filter on"))
+        self.verifyButton.setToolTip(_translate("HgGpgSignaturesDialog", "Press to verify the signatures of the selected revision"))
+        self.verifyButton.setText(_translate("HgGpgSignaturesDialog", "&Verify..."))
+        self.errorGroup.setTitle(_translate("HgGpgSignaturesDialog", "Errors"))
+        self.errors.setWhatsThis(_translate("HgGpgSignaturesDialog", "<b>Mercurial errors</b><p>This shows possible error messages.</p>"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsMercurial/HisteditExtension/Ui_HgHisteditCommitEditor.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,62 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsMercurial/HisteditExtension/HgHisteditCommitEditor.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_HgHisteditCommitEditor(object):
+    def setupUi(self, HgHisteditCommitEditor):
+        HgHisteditCommitEditor.setObjectName("HgHisteditCommitEditor")
+        HgHisteditCommitEditor.resize(500, 600)
+        HgHisteditCommitEditor.setSizeGripEnabled(True)
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(HgHisteditCommitEditor)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.splitter = QtWidgets.QSplitter(parent=HgHisteditCommitEditor)
+        self.splitter.setOrientation(QtCore.Qt.Orientation.Vertical)
+        self.splitter.setObjectName("splitter")
+        self.groupBox = QtWidgets.QGroupBox(parent=self.splitter)
+        self.groupBox.setObjectName("groupBox")
+        self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.groupBox)
+        self.verticalLayout_3.setObjectName("verticalLayout_3")
+        self.messageEdit = EricSpellCheckedPlainTextEdit(parent=self.groupBox)
+        self.messageEdit.setTabChangesFocus(True)
+        self.messageEdit.setObjectName("messageEdit")
+        self.verticalLayout_3.addWidget(self.messageEdit)
+        self.label_2 = QtWidgets.QLabel(parent=self.groupBox)
+        self.label_2.setObjectName("label_2")
+        self.verticalLayout_3.addWidget(self.label_2)
+        self.recentComboBox = QtWidgets.QComboBox(parent=self.groupBox)
+        self.recentComboBox.setObjectName("recentComboBox")
+        self.verticalLayout_3.addWidget(self.recentComboBox)
+        self.groupBox_2 = QtWidgets.QGroupBox(parent=self.splitter)
+        self.groupBox_2.setObjectName("groupBox_2")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.groupBox_2)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.infoEdit = EricSpellCheckedPlainTextEdit(parent=self.groupBox_2)
+        self.infoEdit.setReadOnly(True)
+        self.infoEdit.setObjectName("infoEdit")
+        self.verticalLayout.addWidget(self.infoEdit)
+        self.verticalLayout_2.addWidget(self.splitter)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=HgHisteditCommitEditor)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout_2.addWidget(self.buttonBox)
+
+        self.retranslateUi(HgHisteditCommitEditor)
+        QtCore.QMetaObject.connectSlotsByName(HgHisteditCommitEditor)
+
+    def retranslateUi(self, HgHisteditCommitEditor):
+        _translate = QtCore.QCoreApplication.translate
+        HgHisteditCommitEditor.setWindowTitle(_translate("HgHisteditCommitEditor", "Commit Message"))
+        self.groupBox.setTitle(_translate("HgHisteditCommitEditor", "Commit Message"))
+        self.messageEdit.setToolTip(_translate("HgHisteditCommitEditor", "Edit the commit message"))
+        self.label_2.setText(_translate("HgHisteditCommitEditor", "Recent commit messages"))
+        self.recentComboBox.setToolTip(_translate("HgHisteditCommitEditor", "Select a recent commit message to use"))
+        self.groupBox_2.setTitle(_translate("HgHisteditCommitEditor", "Information"))
+from eric7.EricWidgets.EricSpellCheckedTextEdit import EricSpellCheckedPlainTextEdit
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsMercurial/HisteditExtension/Ui_HgHisteditConfigDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,172 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsMercurial/HisteditExtension/HgHisteditConfigDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_HgHisteditConfigDialog(object):
+    def setupUi(self, HgHisteditConfigDialog):
+        HgHisteditConfigDialog.setObjectName("HgHisteditConfigDialog")
+        HgHisteditConfigDialog.resize(400, 477)
+        HgHisteditConfigDialog.setSizeGripEnabled(True)
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(HgHisteditConfigDialog)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.groupBox = QtWidgets.QGroupBox(parent=HgHisteditConfigDialog)
+        self.groupBox.setObjectName("groupBox")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.groupBox)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.defaultButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.defaultButton.setChecked(False)
+        self.defaultButton.setObjectName("defaultButton")
+        self.verticalLayout.addWidget(self.defaultButton)
+        self.outgoingButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.outgoingButton.setObjectName("outgoingButton")
+        self.verticalLayout.addWidget(self.outgoingButton)
+        self.revisionButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.revisionButton.setChecked(True)
+        self.revisionButton.setObjectName("revisionButton")
+        self.verticalLayout.addWidget(self.revisionButton)
+        self.revisionGroupBox = QtWidgets.QGroupBox(parent=self.groupBox)
+        self.revisionGroupBox.setEnabled(True)
+        self.revisionGroupBox.setObjectName("revisionGroupBox")
+        self.gridLayout = QtWidgets.QGridLayout(self.revisionGroupBox)
+        self.gridLayout.setObjectName("gridLayout")
+        self.numberButton = QtWidgets.QRadioButton(parent=self.revisionGroupBox)
+        self.numberButton.setChecked(False)
+        self.numberButton.setObjectName("numberButton")
+        self.gridLayout.addWidget(self.numberButton, 0, 0, 1, 1)
+        self.numberSpinBox = QtWidgets.QSpinBox(parent=self.revisionGroupBox)
+        self.numberSpinBox.setEnabled(False)
+        self.numberSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight)
+        self.numberSpinBox.setMaximum(999999999)
+        self.numberSpinBox.setObjectName("numberSpinBox")
+        self.gridLayout.addWidget(self.numberSpinBox, 0, 1, 1, 1)
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout.addItem(spacerItem, 0, 2, 1, 1)
+        self.idButton = QtWidgets.QRadioButton(parent=self.revisionGroupBox)
+        self.idButton.setChecked(True)
+        self.idButton.setObjectName("idButton")
+        self.gridLayout.addWidget(self.idButton, 1, 0, 1, 1)
+        self.idEdit = QtWidgets.QLineEdit(parent=self.revisionGroupBox)
+        self.idEdit.setEnabled(True)
+        self.idEdit.setClearButtonEnabled(True)
+        self.idEdit.setObjectName("idEdit")
+        self.gridLayout.addWidget(self.idEdit, 1, 1, 1, 2)
+        self.tagButton = QtWidgets.QRadioButton(parent=self.revisionGroupBox)
+        self.tagButton.setObjectName("tagButton")
+        self.gridLayout.addWidget(self.tagButton, 2, 0, 1, 1)
+        self.tagCombo = QtWidgets.QComboBox(parent=self.revisionGroupBox)
+        self.tagCombo.setEnabled(False)
+        self.tagCombo.setEditable(True)
+        self.tagCombo.setObjectName("tagCombo")
+        self.gridLayout.addWidget(self.tagCombo, 2, 1, 1, 2)
+        self.branchButton = QtWidgets.QRadioButton(parent=self.revisionGroupBox)
+        self.branchButton.setObjectName("branchButton")
+        self.gridLayout.addWidget(self.branchButton, 3, 0, 1, 1)
+        self.branchCombo = QtWidgets.QComboBox(parent=self.revisionGroupBox)
+        self.branchCombo.setEnabled(False)
+        self.branchCombo.setEditable(True)
+        self.branchCombo.setObjectName("branchCombo")
+        self.gridLayout.addWidget(self.branchCombo, 3, 1, 1, 2)
+        self.bookmarkButton = QtWidgets.QRadioButton(parent=self.revisionGroupBox)
+        self.bookmarkButton.setObjectName("bookmarkButton")
+        self.gridLayout.addWidget(self.bookmarkButton, 4, 0, 1, 1)
+        self.bookmarkCombo = QtWidgets.QComboBox(parent=self.revisionGroupBox)
+        self.bookmarkCombo.setEnabled(False)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.bookmarkCombo.sizePolicy().hasHeightForWidth())
+        self.bookmarkCombo.setSizePolicy(sizePolicy)
+        self.bookmarkCombo.setEditable(True)
+        self.bookmarkCombo.setObjectName("bookmarkCombo")
+        self.gridLayout.addWidget(self.bookmarkCombo, 4, 1, 1, 2)
+        self.expressionButton = QtWidgets.QRadioButton(parent=self.revisionGroupBox)
+        self.expressionButton.setObjectName("expressionButton")
+        self.gridLayout.addWidget(self.expressionButton, 5, 0, 1, 1)
+        self.expressionEdit = QtWidgets.QLineEdit(parent=self.revisionGroupBox)
+        self.expressionEdit.setEnabled(False)
+        self.expressionEdit.setClearButtonEnabled(True)
+        self.expressionEdit.setObjectName("expressionEdit")
+        self.gridLayout.addWidget(self.expressionEdit, 5, 1, 1, 2)
+        self.verticalLayout.addWidget(self.revisionGroupBox)
+        self.verticalLayout_2.addWidget(self.groupBox)
+        self.forceCheckBox = QtWidgets.QCheckBox(parent=HgHisteditConfigDialog)
+        self.forceCheckBox.setEnabled(False)
+        self.forceCheckBox.setObjectName("forceCheckBox")
+        self.verticalLayout_2.addWidget(self.forceCheckBox)
+        self.keepCheckBox = QtWidgets.QCheckBox(parent=HgHisteditConfigDialog)
+        self.keepCheckBox.setObjectName("keepCheckBox")
+        self.verticalLayout_2.addWidget(self.keepCheckBox)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=HgHisteditConfigDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout_2.addWidget(self.buttonBox)
+
+        self.retranslateUi(HgHisteditConfigDialog)
+        self.buttonBox.accepted.connect(HgHisteditConfigDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(HgHisteditConfigDialog.reject) # type: ignore
+        self.revisionButton.toggled['bool'].connect(self.revisionGroupBox.setEnabled) # type: ignore
+        self.numberButton.toggled['bool'].connect(self.numberSpinBox.setEnabled) # type: ignore
+        self.idButton.toggled['bool'].connect(self.idEdit.setEnabled) # type: ignore
+        self.tagButton.toggled['bool'].connect(self.tagCombo.setEnabled) # type: ignore
+        self.branchButton.toggled['bool'].connect(self.branchCombo.setEnabled) # type: ignore
+        self.bookmarkButton.toggled['bool'].connect(self.bookmarkCombo.setEnabled) # type: ignore
+        self.outgoingButton.toggled['bool'].connect(self.forceCheckBox.setEnabled) # type: ignore
+        self.expressionButton.toggled['bool'].connect(self.expressionEdit.setEnabled) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(HgHisteditConfigDialog)
+        HgHisteditConfigDialog.setTabOrder(self.defaultButton, self.outgoingButton)
+        HgHisteditConfigDialog.setTabOrder(self.outgoingButton, self.revisionButton)
+        HgHisteditConfigDialog.setTabOrder(self.revisionButton, self.numberButton)
+        HgHisteditConfigDialog.setTabOrder(self.numberButton, self.numberSpinBox)
+        HgHisteditConfigDialog.setTabOrder(self.numberSpinBox, self.idButton)
+        HgHisteditConfigDialog.setTabOrder(self.idButton, self.idEdit)
+        HgHisteditConfigDialog.setTabOrder(self.idEdit, self.tagButton)
+        HgHisteditConfigDialog.setTabOrder(self.tagButton, self.tagCombo)
+        HgHisteditConfigDialog.setTabOrder(self.tagCombo, self.branchButton)
+        HgHisteditConfigDialog.setTabOrder(self.branchButton, self.branchCombo)
+        HgHisteditConfigDialog.setTabOrder(self.branchCombo, self.bookmarkButton)
+        HgHisteditConfigDialog.setTabOrder(self.bookmarkButton, self.bookmarkCombo)
+        HgHisteditConfigDialog.setTabOrder(self.bookmarkCombo, self.expressionButton)
+        HgHisteditConfigDialog.setTabOrder(self.expressionButton, self.expressionEdit)
+        HgHisteditConfigDialog.setTabOrder(self.expressionEdit, self.forceCheckBox)
+        HgHisteditConfigDialog.setTabOrder(self.forceCheckBox, self.keepCheckBox)
+
+    def retranslateUi(self, HgHisteditConfigDialog):
+        _translate = QtCore.QCoreApplication.translate
+        HgHisteditConfigDialog.setWindowTitle(_translate("HgHisteditConfigDialog", "Histedit Configuration"))
+        self.groupBox.setTitle(_translate("HgHisteditConfigDialog", "Start Revision"))
+        self.defaultButton.setToolTip(_translate("HgHisteditConfigDialog", "Select to use the default revision as the base"))
+        self.defaultButton.setText(_translate("HgHisteditConfigDialog", "Default Revision"))
+        self.outgoingButton.setToolTip(_translate("HgHisteditConfigDialog", "Select to edit all outgoing revisions"))
+        self.outgoingButton.setText(_translate("HgHisteditConfigDialog", "All Outgoing"))
+        self.revisionButton.setToolTip(_translate("HgHisteditConfigDialog", "Select to use a revision as start point"))
+        self.revisionButton.setText(_translate("HgHisteditConfigDialog", "Revision"))
+        self.revisionGroupBox.setTitle(_translate("HgHisteditConfigDialog", "Revision"))
+        self.numberButton.setToolTip(_translate("HgHisteditConfigDialog", "Select to specify a revision by number"))
+        self.numberButton.setText(_translate("HgHisteditConfigDialog", "Number"))
+        self.numberSpinBox.setToolTip(_translate("HgHisteditConfigDialog", "Enter a revision number"))
+        self.idButton.setToolTip(_translate("HgHisteditConfigDialog", "Select to specify a revision by changeset id"))
+        self.idButton.setText(_translate("HgHisteditConfigDialog", "Id:"))
+        self.idEdit.setToolTip(_translate("HgHisteditConfigDialog", "Enter a changeset id"))
+        self.tagButton.setToolTip(_translate("HgHisteditConfigDialog", "Select to specify a revision by a tag"))
+        self.tagButton.setText(_translate("HgHisteditConfigDialog", "Tag:"))
+        self.tagCombo.setToolTip(_translate("HgHisteditConfigDialog", "Enter a tag name"))
+        self.branchButton.setToolTip(_translate("HgHisteditConfigDialog", "Select to specify a revision by a branch"))
+        self.branchButton.setText(_translate("HgHisteditConfigDialog", "Branch:"))
+        self.branchCombo.setToolTip(_translate("HgHisteditConfigDialog", "Enter a branch name"))
+        self.bookmarkButton.setToolTip(_translate("HgHisteditConfigDialog", "Select to specify a revision by a bookmark"))
+        self.bookmarkButton.setText(_translate("HgHisteditConfigDialog", "Bookmark:"))
+        self.bookmarkCombo.setToolTip(_translate("HgHisteditConfigDialog", "Enter a bookmark name"))
+        self.expressionButton.setText(_translate("HgHisteditConfigDialog", "Expression:"))
+        self.expressionEdit.setToolTip(_translate("HgHisteditConfigDialog", "Enter a revision set expression"))
+        self.forceCheckBox.setToolTip(_translate("HgHisteditConfigDialog", "Select to force outgoing"))
+        self.forceCheckBox.setText(_translate("HgHisteditConfigDialog", "Force outgoing"))
+        self.keepCheckBox.setToolTip(_translate("HgHisteditConfigDialog", "Select to keep old nodes"))
+        self.keepCheckBox.setText(_translate("HgHisteditConfigDialog", "Keep old nodes"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsMercurial/HisteditExtension/Ui_HgHisteditPlanEditor.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,91 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsMercurial/HisteditExtension/HgHisteditPlanEditor.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_HgHisteditPlanEditor(object):
+    def setupUi(self, HgHisteditPlanEditor):
+        HgHisteditPlanEditor.setObjectName("HgHisteditPlanEditor")
+        HgHisteditPlanEditor.resize(500, 650)
+        HgHisteditPlanEditor.setSizeGripEnabled(True)
+        self.verticalLayout_3 = QtWidgets.QVBoxLayout(HgHisteditPlanEditor)
+        self.verticalLayout_3.setObjectName("verticalLayout_3")
+        self.splitter = QtWidgets.QSplitter(parent=HgHisteditPlanEditor)
+        self.splitter.setOrientation(QtCore.Qt.Orientation.Vertical)
+        self.splitter.setObjectName("splitter")
+        self.groupBox = QtWidgets.QGroupBox(parent=self.splitter)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.groupBox.sizePolicy().hasHeightForWidth())
+        self.groupBox.setSizePolicy(sizePolicy)
+        self.groupBox.setObjectName("groupBox")
+        self.horizontalLayout = QtWidgets.QHBoxLayout(self.groupBox)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.planTreeWidget = QtWidgets.QTreeWidget(parent=self.groupBox)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.planTreeWidget.sizePolicy().hasHeightForWidth())
+        self.planTreeWidget.setSizePolicy(sizePolicy)
+        self.planTreeWidget.setEditTriggers(QtWidgets.QAbstractItemView.EditTrigger.NoEditTriggers)
+        self.planTreeWidget.setAlternatingRowColors(True)
+        self.planTreeWidget.setRootIsDecorated(False)
+        self.planTreeWidget.setItemsExpandable(False)
+        self.planTreeWidget.setObjectName("planTreeWidget")
+        self.planTreeWidget.header().setStretchLastSection(False)
+        self.horizontalLayout.addWidget(self.planTreeWidget)
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout()
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout_2.addItem(spacerItem)
+        self.upButton = QtWidgets.QPushButton(parent=self.groupBox)
+        self.upButton.setObjectName("upButton")
+        self.verticalLayout_2.addWidget(self.upButton)
+        self.downButton = QtWidgets.QPushButton(parent=self.groupBox)
+        self.downButton.setObjectName("downButton")
+        self.verticalLayout_2.addWidget(self.downButton)
+        spacerItem1 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout_2.addItem(spacerItem1)
+        self.horizontalLayout.addLayout(self.verticalLayout_2)
+        self.groupBox_2 = QtWidgets.QGroupBox(parent=self.splitter)
+        self.groupBox_2.setObjectName("groupBox_2")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.groupBox_2)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.infoEdit = QtWidgets.QPlainTextEdit(parent=self.groupBox_2)
+        self.infoEdit.setReadOnly(True)
+        self.infoEdit.setObjectName("infoEdit")
+        self.verticalLayout.addWidget(self.infoEdit)
+        self.verticalLayout_3.addWidget(self.splitter)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=HgHisteditPlanEditor)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout_3.addWidget(self.buttonBox)
+
+        self.retranslateUi(HgHisteditPlanEditor)
+        self.buttonBox.accepted.connect(HgHisteditPlanEditor.accept) # type: ignore
+        self.buttonBox.rejected.connect(HgHisteditPlanEditor.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(HgHisteditPlanEditor)
+        HgHisteditPlanEditor.setTabOrder(self.planTreeWidget, self.upButton)
+        HgHisteditPlanEditor.setTabOrder(self.upButton, self.downButton)
+        HgHisteditPlanEditor.setTabOrder(self.downButton, self.infoEdit)
+
+    def retranslateUi(self, HgHisteditPlanEditor):
+        _translate = QtCore.QCoreApplication.translate
+        HgHisteditPlanEditor.setWindowTitle(_translate("HgHisteditPlanEditor", "Edit Plan"))
+        self.groupBox.setTitle(_translate("HgHisteditPlanEditor", "Modification Plan"))
+        self.planTreeWidget.headerItem().setText(0, _translate("HgHisteditPlanEditor", "Action"))
+        self.planTreeWidget.headerItem().setText(1, _translate("HgHisteditPlanEditor", "Revision"))
+        self.planTreeWidget.headerItem().setText(2, _translate("HgHisteditPlanEditor", "Summary"))
+        self.upButton.setToolTip(_translate("HgHisteditPlanEditor", "Press to move the selected entry up"))
+        self.upButton.setText(_translate("HgHisteditPlanEditor", "Up"))
+        self.downButton.setToolTip(_translate("HgHisteditPlanEditor", "Press to move the selected entry down"))
+        self.downButton.setText(_translate("HgHisteditPlanEditor", "Down"))
+        self.groupBox_2.setTitle(_translate("HgHisteditPlanEditor", "Information"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsMercurial/LargefilesExtension/Ui_LfConvertDataDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,75 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsMercurial/LargefilesExtension/LfConvertDataDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_LfConvertDataDialog(object):
+    def setupUi(self, LfConvertDataDialog):
+        LfConvertDataDialog.setObjectName("LfConvertDataDialog")
+        LfConvertDataDialog.resize(500, 144)
+        LfConvertDataDialog.setSizeGripEnabled(True)
+        self.gridLayout = QtWidgets.QGridLayout(LfConvertDataDialog)
+        self.gridLayout.setObjectName("gridLayout")
+        self.currentProjectLabel = EricSqueezeLabelPath(parent=LfConvertDataDialog)
+        self.currentProjectLabel.setObjectName("currentProjectLabel")
+        self.gridLayout.addWidget(self.currentProjectLabel, 0, 0, 1, 3)
+        self.label = QtWidgets.QLabel(parent=LfConvertDataDialog)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 1, 0, 1, 1)
+        self.newProjectPicker = EricPathPicker(parent=LfConvertDataDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.newProjectPicker.sizePolicy().hasHeightForWidth())
+        self.newProjectPicker.setSizePolicy(sizePolicy)
+        self.newProjectPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.newProjectPicker.setObjectName("newProjectPicker")
+        self.gridLayout.addWidget(self.newProjectPicker, 1, 1, 1, 2)
+        self.label_4 = QtWidgets.QLabel(parent=LfConvertDataDialog)
+        self.label_4.setObjectName("label_4")
+        self.gridLayout.addWidget(self.label_4, 2, 0, 1, 1)
+        self.lfFileSizeSpinBox = QtWidgets.QSpinBox(parent=LfConvertDataDialog)
+        self.lfFileSizeSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.lfFileSizeSpinBox.setMinimum(1)
+        self.lfFileSizeSpinBox.setProperty("value", 10)
+        self.lfFileSizeSpinBox.setObjectName("lfFileSizeSpinBox")
+        self.gridLayout.addWidget(self.lfFileSizeSpinBox, 2, 1, 1, 1)
+        spacerItem = QtWidgets.QSpacerItem(297, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout.addItem(spacerItem, 2, 2, 1, 1)
+        self.label_5 = QtWidgets.QLabel(parent=LfConvertDataDialog)
+        self.label_5.setObjectName("label_5")
+        self.gridLayout.addWidget(self.label_5, 3, 0, 1, 1)
+        self.lfFilePatternsEdit = QtWidgets.QLineEdit(parent=LfConvertDataDialog)
+        self.lfFilePatternsEdit.setObjectName("lfFilePatternsEdit")
+        self.gridLayout.addWidget(self.lfFilePatternsEdit, 3, 1, 1, 2)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=LfConvertDataDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout.addWidget(self.buttonBox, 4, 0, 1, 3)
+
+        self.retranslateUi(LfConvertDataDialog)
+        self.buttonBox.accepted.connect(LfConvertDataDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(LfConvertDataDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(LfConvertDataDialog)
+        LfConvertDataDialog.setTabOrder(self.newProjectPicker, self.lfFileSizeSpinBox)
+        LfConvertDataDialog.setTabOrder(self.lfFileSizeSpinBox, self.lfFilePatternsEdit)
+
+    def retranslateUi(self, LfConvertDataDialog):
+        _translate = QtCore.QCoreApplication.translate
+        LfConvertDataDialog.setWindowTitle(_translate("LfConvertDataDialog", "Convert Repository Format"))
+        self.label.setText(_translate("LfConvertDataDialog", "New project directory:"))
+        self.newProjectPicker.setToolTip(_translate("LfConvertDataDialog", "Enter the directory name of the new project directory"))
+        self.label_4.setText(_translate("LfConvertDataDialog", "Minimum file size:"))
+        self.lfFileSizeSpinBox.setToolTip(_translate("LfConvertDataDialog", "Enter the minimum file size in MB for files to be treated as Large Files"))
+        self.lfFileSizeSpinBox.setSuffix(_translate("LfConvertDataDialog", " MB"))
+        self.label_5.setText(_translate("LfConvertDataDialog", "Patterns:"))
+        self.lfFilePatternsEdit.setToolTip(_translate("LfConvertDataDialog", "Enter file patterns (space separated) for files to be treated as Large Files"))
+from eric7.EricWidgets.EricPathPicker import EricPathPicker
+from eric7.EricWidgets.EricSqueezeLabels import EricSqueezeLabelPath
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsMercurial/LargefilesExtension/Ui_LfRevisionsInputDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,43 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsMercurial/LargefilesExtension/LfRevisionsInputDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_LfRevisionsInputDialog(object):
+    def setupUi(self, LfRevisionsInputDialog):
+        LfRevisionsInputDialog.setObjectName("LfRevisionsInputDialog")
+        LfRevisionsInputDialog.resize(400, 300)
+        LfRevisionsInputDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(LfRevisionsInputDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.label = QtWidgets.QLabel(parent=LfRevisionsInputDialog)
+        self.label.setWordWrap(True)
+        self.label.setObjectName("label")
+        self.verticalLayout.addWidget(self.label)
+        self.revisionsEdit = QtWidgets.QPlainTextEdit(parent=LfRevisionsInputDialog)
+        self.revisionsEdit.setTabChangesFocus(True)
+        self.revisionsEdit.setObjectName("revisionsEdit")
+        self.verticalLayout.addWidget(self.revisionsEdit)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=LfRevisionsInputDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(LfRevisionsInputDialog)
+        self.buttonBox.accepted.connect(LfRevisionsInputDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(LfRevisionsInputDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(LfRevisionsInputDialog)
+        LfRevisionsInputDialog.setTabOrder(self.revisionsEdit, self.buttonBox)
+
+    def retranslateUi(self, LfRevisionsInputDialog):
+        _translate = QtCore.QCoreApplication.translate
+        LfRevisionsInputDialog.setWindowTitle(_translate("LfRevisionsInputDialog", "Revisions Input"))
+        self.label.setText(_translate("LfRevisionsInputDialog", "Enter revisions to pull large files for (one per line):"))
+        self.revisionsEdit.setToolTip(_translate("LfRevisionsInputDialog", "Enter changesets by number, id, range or revset expression one per line"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsMercurial/PurgeExtension/Ui_HgPurgeListDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,40 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsMercurial/PurgeExtension/HgPurgeListDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_HgPurgeListDialog(object):
+    def setupUi(self, HgPurgeListDialog):
+        HgPurgeListDialog.setObjectName("HgPurgeListDialog")
+        HgPurgeListDialog.resize(500, 400)
+        HgPurgeListDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(HgPurgeListDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.purgeList = QtWidgets.QListWidget(parent=HgPurgeListDialog)
+        self.purgeList.setEditTriggers(QtWidgets.QAbstractItemView.EditTrigger.NoEditTriggers)
+        self.purgeList.setAlternatingRowColors(True)
+        self.purgeList.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.NoSelection)
+        self.purgeList.setTextElideMode(QtCore.Qt.TextElideMode.ElideLeft)
+        self.purgeList.setObjectName("purgeList")
+        self.verticalLayout.addWidget(self.purgeList)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=HgPurgeListDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(HgPurgeListDialog)
+        self.buttonBox.accepted.connect(HgPurgeListDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(HgPurgeListDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(HgPurgeListDialog)
+        HgPurgeListDialog.setTabOrder(self.purgeList, self.buttonBox)
+
+    def retranslateUi(self, HgPurgeListDialog):
+        _translate = QtCore.QCoreApplication.translate
+        HgPurgeListDialog.setWindowTitle(_translate("HgPurgeListDialog", "Purge List"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsMercurial/QueuesExtension/Ui_HgQueuesDefineGuardsDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,110 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsMercurial/QueuesExtension/HgQueuesDefineGuardsDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_HgQueuesDefineGuardsDialog(object):
+    def setupUi(self, HgQueuesDefineGuardsDialog):
+        HgQueuesDefineGuardsDialog.setObjectName("HgQueuesDefineGuardsDialog")
+        HgQueuesDefineGuardsDialog.resize(400, 434)
+        HgQueuesDefineGuardsDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(HgQueuesDefineGuardsDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.label = QtWidgets.QLabel(parent=HgQueuesDefineGuardsDialog)
+        self.label.setObjectName("label")
+        self.verticalLayout.addWidget(self.label)
+        self.patchSelector = QtWidgets.QComboBox(parent=HgQueuesDefineGuardsDialog)
+        self.patchSelector.setObjectName("patchSelector")
+        self.verticalLayout.addWidget(self.patchSelector)
+        self.line = QtWidgets.QFrame(parent=HgQueuesDefineGuardsDialog)
+        self.line.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line.setObjectName("line")
+        self.verticalLayout.addWidget(self.line)
+        self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
+        self.label_3 = QtWidgets.QLabel(parent=HgQueuesDefineGuardsDialog)
+        self.label_3.setObjectName("label_3")
+        self.horizontalLayout_3.addWidget(self.label_3)
+        self.patchNameLabel = QtWidgets.QLabel(parent=HgQueuesDefineGuardsDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.patchNameLabel.sizePolicy().hasHeightForWidth())
+        self.patchNameLabel.setSizePolicy(sizePolicy)
+        self.patchNameLabel.setText("")
+        self.patchNameLabel.setObjectName("patchNameLabel")
+        self.horizontalLayout_3.addWidget(self.patchNameLabel)
+        self.verticalLayout.addLayout(self.horizontalLayout_3)
+        self.guardsList = QtWidgets.QListWidget(parent=HgQueuesDefineGuardsDialog)
+        self.guardsList.setAlternatingRowColors(True)
+        self.guardsList.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.ExtendedSelection)
+        self.guardsList.setObjectName("guardsList")
+        self.verticalLayout.addWidget(self.guardsList)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.plusButton = QtWidgets.QRadioButton(parent=HgQueuesDefineGuardsDialog)
+        self.plusButton.setText("")
+        self.plusButton.setChecked(True)
+        self.plusButton.setObjectName("plusButton")
+        self.horizontalLayout.addWidget(self.plusButton)
+        self.minusButton = QtWidgets.QRadioButton(parent=HgQueuesDefineGuardsDialog)
+        self.minusButton.setText("")
+        self.minusButton.setObjectName("minusButton")
+        self.horizontalLayout.addWidget(self.minusButton)
+        self.guardCombo = QtWidgets.QComboBox(parent=HgQueuesDefineGuardsDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.guardCombo.sizePolicy().hasHeightForWidth())
+        self.guardCombo.setSizePolicy(sizePolicy)
+        self.guardCombo.setEditable(True)
+        self.guardCombo.setInsertPolicy(QtWidgets.QComboBox.InsertPolicy.InsertAlphabetically)
+        self.guardCombo.setObjectName("guardCombo")
+        self.horizontalLayout.addWidget(self.guardCombo)
+        self.addButton = QtWidgets.QPushButton(parent=HgQueuesDefineGuardsDialog)
+        self.addButton.setObjectName("addButton")
+        self.horizontalLayout.addWidget(self.addButton)
+        self.verticalLayout.addLayout(self.horizontalLayout)
+        self.removeButton = QtWidgets.QPushButton(parent=HgQueuesDefineGuardsDialog)
+        self.removeButton.setObjectName("removeButton")
+        self.verticalLayout.addWidget(self.removeButton)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=HgQueuesDefineGuardsDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Apply|QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(HgQueuesDefineGuardsDialog)
+        self.buttonBox.accepted.connect(HgQueuesDefineGuardsDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(HgQueuesDefineGuardsDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(HgQueuesDefineGuardsDialog)
+        HgQueuesDefineGuardsDialog.setTabOrder(self.patchSelector, self.guardsList)
+        HgQueuesDefineGuardsDialog.setTabOrder(self.guardsList, self.plusButton)
+        HgQueuesDefineGuardsDialog.setTabOrder(self.plusButton, self.minusButton)
+        HgQueuesDefineGuardsDialog.setTabOrder(self.minusButton, self.guardCombo)
+        HgQueuesDefineGuardsDialog.setTabOrder(self.guardCombo, self.addButton)
+        HgQueuesDefineGuardsDialog.setTabOrder(self.addButton, self.removeButton)
+        HgQueuesDefineGuardsDialog.setTabOrder(self.removeButton, self.buttonBox)
+
+    def retranslateUi(self, HgQueuesDefineGuardsDialog):
+        _translate = QtCore.QCoreApplication.translate
+        HgQueuesDefineGuardsDialog.setWindowTitle(_translate("HgQueuesDefineGuardsDialog", "Define Guards"))
+        self.label.setText(_translate("HgQueuesDefineGuardsDialog", "Select patch (leave empty for current patch):"))
+        self.patchSelector.setToolTip(_translate("HgQueuesDefineGuardsDialog", "Select the patch to show the guards of"))
+        self.label_3.setText(_translate("HgQueuesDefineGuardsDialog", "Patch:"))
+        self.patchNameLabel.setToolTip(_translate("HgQueuesDefineGuardsDialog", "Shows the name of the patch"))
+        self.guardsList.setToolTip(_translate("HgQueuesDefineGuardsDialog", "This shows the list of guards to be defined for the selected patch"))
+        self.plusButton.setToolTip(_translate("HgQueuesDefineGuardsDialog", "Select to define a positive guard"))
+        self.minusButton.setToolTip(_translate("HgQueuesDefineGuardsDialog", "Select to define a negative guard"))
+        self.guardCombo.setToolTip(_translate("HgQueuesDefineGuardsDialog", "Enter the guard name"))
+        self.addButton.setToolTip(_translate("HgQueuesDefineGuardsDialog", "Press to add the guard to the list or change it"))
+        self.addButton.setText(_translate("HgQueuesDefineGuardsDialog", "Add/Change"))
+        self.removeButton.setToolTip(_translate("HgQueuesDefineGuardsDialog", "Press to remove the selected guards from the list"))
+        self.removeButton.setText(_translate("HgQueuesDefineGuardsDialog", "Remove"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsMercurial/QueuesExtension/Ui_HgQueuesFoldDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,124 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsMercurial/QueuesExtension/HgQueuesFoldDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_HgQueuesFoldDialog(object):
+    def setupUi(self, HgQueuesFoldDialog):
+        HgQueuesFoldDialog.setObjectName("HgQueuesFoldDialog")
+        HgQueuesFoldDialog.resize(450, 600)
+        HgQueuesFoldDialog.setSizeGripEnabled(True)
+        self.gridLayout = QtWidgets.QGridLayout(HgQueuesFoldDialog)
+        self.gridLayout.setObjectName("gridLayout")
+        self.label = QtWidgets.QLabel(parent=HgQueuesFoldDialog)
+        self.label.setAlignment(QtCore.Qt.AlignmentFlag.AlignLeading|QtCore.Qt.AlignmentFlag.AlignLeft|QtCore.Qt.AlignmentFlag.AlignTop)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
+        self.messageEdit = EricSpellCheckedPlainTextEdit(parent=HgQueuesFoldDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(1)
+        sizePolicy.setHeightForWidth(self.messageEdit.sizePolicy().hasHeightForWidth())
+        self.messageEdit.setSizePolicy(sizePolicy)
+        self.messageEdit.setTabChangesFocus(True)
+        self.messageEdit.setObjectName("messageEdit")
+        self.gridLayout.addWidget(self.messageEdit, 0, 1, 1, 1)
+        self.sourcePatches = QtWidgets.QTreeWidget(parent=HgQueuesFoldDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(2)
+        sizePolicy.setHeightForWidth(self.sourcePatches.sizePolicy().hasHeightForWidth())
+        self.sourcePatches.setSizePolicy(sizePolicy)
+        self.sourcePatches.setEditTriggers(QtWidgets.QAbstractItemView.EditTrigger.NoEditTriggers)
+        self.sourcePatches.setAlternatingRowColors(True)
+        self.sourcePatches.setRootIsDecorated(False)
+        self.sourcePatches.setItemsExpandable(False)
+        self.sourcePatches.setAllColumnsShowFocus(True)
+        self.sourcePatches.setExpandsOnDoubleClick(False)
+        self.sourcePatches.setObjectName("sourcePatches")
+        self.gridLayout.addWidget(self.sourcePatches, 1, 0, 1, 2)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem)
+        self.addButton = QtWidgets.QToolButton(parent=HgQueuesFoldDialog)
+        self.addButton.setEnabled(False)
+        self.addButton.setText("")
+        self.addButton.setObjectName("addButton")
+        self.horizontalLayout.addWidget(self.addButton)
+        self.removeButton = QtWidgets.QToolButton(parent=HgQueuesFoldDialog)
+        self.removeButton.setEnabled(False)
+        self.removeButton.setText("")
+        self.removeButton.setObjectName("removeButton")
+        self.horizontalLayout.addWidget(self.removeButton)
+        spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem1)
+        self.gridLayout.addLayout(self.horizontalLayout, 2, 0, 1, 2)
+        self.selectedPatches = QtWidgets.QTreeWidget(parent=HgQueuesFoldDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(2)
+        sizePolicy.setHeightForWidth(self.selectedPatches.sizePolicy().hasHeightForWidth())
+        self.selectedPatches.setSizePolicy(sizePolicy)
+        self.selectedPatches.setEditTriggers(QtWidgets.QAbstractItemView.EditTrigger.NoEditTriggers)
+        self.selectedPatches.setAlternatingRowColors(True)
+        self.selectedPatches.setRootIsDecorated(False)
+        self.selectedPatches.setItemsExpandable(False)
+        self.selectedPatches.setExpandsOnDoubleClick(False)
+        self.selectedPatches.setObjectName("selectedPatches")
+        self.gridLayout.addWidget(self.selectedPatches, 3, 0, 1, 2)
+        self.verticalLayout = QtWidgets.QVBoxLayout()
+        self.verticalLayout.setObjectName("verticalLayout")
+        spacerItem2 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout.addItem(spacerItem2)
+        self.upButton = QtWidgets.QToolButton(parent=HgQueuesFoldDialog)
+        self.upButton.setEnabled(False)
+        self.upButton.setText("")
+        self.upButton.setObjectName("upButton")
+        self.verticalLayout.addWidget(self.upButton)
+        self.downButton = QtWidgets.QToolButton(parent=HgQueuesFoldDialog)
+        self.downButton.setEnabled(False)
+        self.downButton.setText("")
+        self.downButton.setObjectName("downButton")
+        self.verticalLayout.addWidget(self.downButton)
+        spacerItem3 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout.addItem(spacerItem3)
+        self.gridLayout.addLayout(self.verticalLayout, 3, 2, 1, 1)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=HgQueuesFoldDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout.addWidget(self.buttonBox, 4, 0, 1, 3)
+
+        self.retranslateUi(HgQueuesFoldDialog)
+        self.buttonBox.accepted.connect(HgQueuesFoldDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(HgQueuesFoldDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(HgQueuesFoldDialog)
+        HgQueuesFoldDialog.setTabOrder(self.messageEdit, self.sourcePatches)
+        HgQueuesFoldDialog.setTabOrder(self.sourcePatches, self.addButton)
+        HgQueuesFoldDialog.setTabOrder(self.addButton, self.removeButton)
+        HgQueuesFoldDialog.setTabOrder(self.removeButton, self.selectedPatches)
+        HgQueuesFoldDialog.setTabOrder(self.selectedPatches, self.upButton)
+        HgQueuesFoldDialog.setTabOrder(self.upButton, self.downButton)
+        HgQueuesFoldDialog.setTabOrder(self.downButton, self.buttonBox)
+
+    def retranslateUi(self, HgQueuesFoldDialog):
+        _translate = QtCore.QCoreApplication.translate
+        HgQueuesFoldDialog.setWindowTitle(_translate("HgQueuesFoldDialog", "Fold Patches"))
+        self.label.setText(_translate("HgQueuesFoldDialog", "Message:"))
+        self.messageEdit.setToolTip(_translate("HgQueuesFoldDialog", "Enter commit message for the folded patch"))
+        self.sourcePatches.headerItem().setText(0, _translate("HgQueuesFoldDialog", "Name"))
+        self.sourcePatches.headerItem().setText(1, _translate("HgQueuesFoldDialog", "Summary"))
+        self.addButton.setToolTip(_translate("HgQueuesFoldDialog", "Press to add the selected entry to the list of selected patches"))
+        self.removeButton.setToolTip(_translate("HgQueuesFoldDialog", "Press to remove the selected entry from the list of selected patches"))
+        self.selectedPatches.headerItem().setText(0, _translate("HgQueuesFoldDialog", "Name"))
+        self.selectedPatches.headerItem().setText(1, _translate("HgQueuesFoldDialog", "Summary"))
+        self.upButton.setToolTip(_translate("HgQueuesFoldDialog", "Press to move the selected patch up"))
+        self.downButton.setToolTip(_translate("HgQueuesFoldDialog", "Press to move the selected patch down"))
+from eric7.EricWidgets.EricSpellCheckedTextEdit import EricSpellCheckedPlainTextEdit
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsMercurial/QueuesExtension/Ui_HgQueuesGuardsSelectionDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,38 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsMercurial/QueuesExtension/HgQueuesGuardsSelectionDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_HgQueuesGuardsSelectionDialog(object):
+    def setupUi(self, HgQueuesGuardsSelectionDialog):
+        HgQueuesGuardsSelectionDialog.setObjectName("HgQueuesGuardsSelectionDialog")
+        HgQueuesGuardsSelectionDialog.resize(300, 300)
+        HgQueuesGuardsSelectionDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(HgQueuesGuardsSelectionDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.guardsList = QtWidgets.QListWidget(parent=HgQueuesGuardsSelectionDialog)
+        self.guardsList.setAlternatingRowColors(True)
+        self.guardsList.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.ExtendedSelection)
+        self.guardsList.setObjectName("guardsList")
+        self.verticalLayout.addWidget(self.guardsList)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=HgQueuesGuardsSelectionDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(HgQueuesGuardsSelectionDialog)
+        self.buttonBox.accepted.connect(HgQueuesGuardsSelectionDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(HgQueuesGuardsSelectionDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(HgQueuesGuardsSelectionDialog)
+        HgQueuesGuardsSelectionDialog.setTabOrder(self.guardsList, self.buttonBox)
+
+    def retranslateUi(self, HgQueuesGuardsSelectionDialog):
+        _translate = QtCore.QCoreApplication.translate
+        HgQueuesGuardsSelectionDialog.setWindowTitle(_translate("HgQueuesGuardsSelectionDialog", "Select Guards"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsMercurial/QueuesExtension/Ui_HgQueuesHeaderDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,35 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsMercurial/QueuesExtension/HgQueuesHeaderDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_HgQueuesHeaderDialog(object):
+    def setupUi(self, HgQueuesHeaderDialog):
+        HgQueuesHeaderDialog.setObjectName("HgQueuesHeaderDialog")
+        HgQueuesHeaderDialog.resize(400, 300)
+        HgQueuesHeaderDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(HgQueuesHeaderDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.messageEdit = QtWidgets.QPlainTextEdit(parent=HgQueuesHeaderDialog)
+        self.messageEdit.setReadOnly(True)
+        self.messageEdit.setObjectName("messageEdit")
+        self.verticalLayout.addWidget(self.messageEdit)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=HgQueuesHeaderDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(HgQueuesHeaderDialog)
+        QtCore.QMetaObject.connectSlotsByName(HgQueuesHeaderDialog)
+        HgQueuesHeaderDialog.setTabOrder(self.messageEdit, self.buttonBox)
+
+    def retranslateUi(self, HgQueuesHeaderDialog):
+        _translate = QtCore.QCoreApplication.translate
+        HgQueuesHeaderDialog.setWindowTitle(_translate("HgQueuesHeaderDialog", "Commit Message"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsMercurial/QueuesExtension/Ui_HgQueuesListAllGuardsDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,41 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsMercurial/QueuesExtension/HgQueuesListAllGuardsDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_HgQueuesListAllGuardsDialog(object):
+    def setupUi(self, HgQueuesListAllGuardsDialog):
+        HgQueuesListAllGuardsDialog.setObjectName("HgQueuesListAllGuardsDialog")
+        HgQueuesListAllGuardsDialog.resize(400, 400)
+        HgQueuesListAllGuardsDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(HgQueuesListAllGuardsDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.guardsTree = QtWidgets.QTreeWidget(parent=HgQueuesListAllGuardsDialog)
+        self.guardsTree.setAlternatingRowColors(True)
+        self.guardsTree.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.NoSelection)
+        self.guardsTree.setHeaderHidden(True)
+        self.guardsTree.setObjectName("guardsTree")
+        self.guardsTree.headerItem().setText(0, "1")
+        self.verticalLayout.addWidget(self.guardsTree)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=HgQueuesListAllGuardsDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(HgQueuesListAllGuardsDialog)
+        self.buttonBox.accepted.connect(HgQueuesListAllGuardsDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(HgQueuesListAllGuardsDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(HgQueuesListAllGuardsDialog)
+        HgQueuesListAllGuardsDialog.setTabOrder(self.guardsTree, self.buttonBox)
+
+    def retranslateUi(self, HgQueuesListAllGuardsDialog):
+        _translate = QtCore.QCoreApplication.translate
+        HgQueuesListAllGuardsDialog.setWindowTitle(_translate("HgQueuesListAllGuardsDialog", "List All Guards"))
+        self.guardsTree.setToolTip(_translate("HgQueuesListAllGuardsDialog", "Show all guards of all patches"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsMercurial/QueuesExtension/Ui_HgQueuesListDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,68 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsMercurial/QueuesExtension/HgQueuesListDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_HgQueuesListDialog(object):
+    def setupUi(self, HgQueuesListDialog):
+        HgQueuesListDialog.setObjectName("HgQueuesListDialog")
+        HgQueuesListDialog.resize(634, 494)
+        HgQueuesListDialog.setSizeGripEnabled(True)
+        self.vboxlayout = QtWidgets.QVBoxLayout(HgQueuesListDialog)
+        self.vboxlayout.setObjectName("vboxlayout")
+        self.patchesList = QtWidgets.QTreeWidget(parent=HgQueuesListDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(2)
+        sizePolicy.setHeightForWidth(self.patchesList.sizePolicy().hasHeightForWidth())
+        self.patchesList.setSizePolicy(sizePolicy)
+        self.patchesList.setAlternatingRowColors(True)
+        self.patchesList.setRootIsDecorated(False)
+        self.patchesList.setItemsExpandable(False)
+        self.patchesList.setObjectName("patchesList")
+        self.patchesList.headerItem().setText(0, "#")
+        self.patchesList.headerItem().setTextAlignment(0, QtCore.Qt.AlignmentFlag.AlignLeading|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.vboxlayout.addWidget(self.patchesList)
+        self.errorGroup = QtWidgets.QGroupBox(parent=HgQueuesListDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(1)
+        sizePolicy.setHeightForWidth(self.errorGroup.sizePolicy().hasHeightForWidth())
+        self.errorGroup.setSizePolicy(sizePolicy)
+        self.errorGroup.setObjectName("errorGroup")
+        self.vboxlayout1 = QtWidgets.QVBoxLayout(self.errorGroup)
+        self.vboxlayout1.setObjectName("vboxlayout1")
+        self.errors = QtWidgets.QTextEdit(parent=self.errorGroup)
+        self.errors.setReadOnly(True)
+        self.errors.setAcceptRichText(False)
+        self.errors.setObjectName("errors")
+        self.vboxlayout1.addWidget(self.errors)
+        self.vboxlayout.addWidget(self.errorGroup)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=HgQueuesListDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.vboxlayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(HgQueuesListDialog)
+        QtCore.QMetaObject.connectSlotsByName(HgQueuesListDialog)
+        HgQueuesListDialog.setTabOrder(self.patchesList, self.errors)
+        HgQueuesListDialog.setTabOrder(self.errors, self.buttonBox)
+
+    def retranslateUi(self, HgQueuesListDialog):
+        _translate = QtCore.QCoreApplication.translate
+        HgQueuesListDialog.setWindowTitle(_translate("HgQueuesListDialog", "List of Patches"))
+        HgQueuesListDialog.setWhatsThis(_translate("HgQueuesListDialog", "<b>List of Patches</b>\n"
+"<p>This dialog shows a list of applied and unapplied patches.</p>"))
+        self.patchesList.setWhatsThis(_translate("HgQueuesListDialog", "<b>Patches List</b>\n"
+"<p>This shows a list of applied and unapplied patches.</p>"))
+        self.patchesList.headerItem().setText(1, _translate("HgQueuesListDialog", "Name"))
+        self.patchesList.headerItem().setText(2, _translate("HgQueuesListDialog", "Status"))
+        self.patchesList.headerItem().setText(3, _translate("HgQueuesListDialog", "Summary"))
+        self.errorGroup.setTitle(_translate("HgQueuesListDialog", "Errors"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsMercurial/QueuesExtension/Ui_HgQueuesListGuardsDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,69 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsMercurial/QueuesExtension/HgQueuesListGuardsDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_HgQueuesListGuardsDialog(object):
+    def setupUi(self, HgQueuesListGuardsDialog):
+        HgQueuesListGuardsDialog.setObjectName("HgQueuesListGuardsDialog")
+        HgQueuesListGuardsDialog.resize(400, 400)
+        HgQueuesListGuardsDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(HgQueuesListGuardsDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.label = QtWidgets.QLabel(parent=HgQueuesListGuardsDialog)
+        self.label.setObjectName("label")
+        self.verticalLayout.addWidget(self.label)
+        self.patchSelector = QtWidgets.QComboBox(parent=HgQueuesListGuardsDialog)
+        self.patchSelector.setObjectName("patchSelector")
+        self.verticalLayout.addWidget(self.patchSelector)
+        self.line = QtWidgets.QFrame(parent=HgQueuesListGuardsDialog)
+        self.line.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line.setObjectName("line")
+        self.verticalLayout.addWidget(self.line)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.label_2 = QtWidgets.QLabel(parent=HgQueuesListGuardsDialog)
+        self.label_2.setObjectName("label_2")
+        self.horizontalLayout.addWidget(self.label_2)
+        self.patchNameLabel = QtWidgets.QLabel(parent=HgQueuesListGuardsDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.patchNameLabel.sizePolicy().hasHeightForWidth())
+        self.patchNameLabel.setSizePolicy(sizePolicy)
+        self.patchNameLabel.setText("")
+        self.patchNameLabel.setObjectName("patchNameLabel")
+        self.horizontalLayout.addWidget(self.patchNameLabel)
+        self.verticalLayout.addLayout(self.horizontalLayout)
+        self.guardsList = QtWidgets.QListWidget(parent=HgQueuesListGuardsDialog)
+        self.guardsList.setAlternatingRowColors(True)
+        self.guardsList.setObjectName("guardsList")
+        self.verticalLayout.addWidget(self.guardsList)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=HgQueuesListGuardsDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(HgQueuesListGuardsDialog)
+        self.buttonBox.accepted.connect(HgQueuesListGuardsDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(HgQueuesListGuardsDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(HgQueuesListGuardsDialog)
+        HgQueuesListGuardsDialog.setTabOrder(self.patchSelector, self.guardsList)
+        HgQueuesListGuardsDialog.setTabOrder(self.guardsList, self.buttonBox)
+
+    def retranslateUi(self, HgQueuesListGuardsDialog):
+        _translate = QtCore.QCoreApplication.translate
+        HgQueuesListGuardsDialog.setWindowTitle(_translate("HgQueuesListGuardsDialog", "List Guards"))
+        self.label.setText(_translate("HgQueuesListGuardsDialog", "Select patch (leave empty for current patch):"))
+        self.patchSelector.setToolTip(_translate("HgQueuesListGuardsDialog", "Select the patch to show the guards of"))
+        self.label_2.setText(_translate("HgQueuesListGuardsDialog", "Patch:"))
+        self.patchNameLabel.setToolTip(_translate("HgQueuesListGuardsDialog", "Shows the name of the patch"))
+        self.guardsList.setToolTip(_translate("HgQueuesListGuardsDialog", "This shows the list of guards defined for the selected patch"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsMercurial/QueuesExtension/Ui_HgQueuesNewPatchDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,110 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsMercurial/QueuesExtension/HgQueuesNewPatchDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_HgQueuesNewPatchDialog(object):
+    def setupUi(self, HgQueuesNewPatchDialog):
+        HgQueuesNewPatchDialog.setObjectName("HgQueuesNewPatchDialog")
+        HgQueuesNewPatchDialog.resize(400, 362)
+        HgQueuesNewPatchDialog.setSizeGripEnabled(True)
+        self.gridLayout_3 = QtWidgets.QGridLayout(HgQueuesNewPatchDialog)
+        self.gridLayout_3.setObjectName("gridLayout_3")
+        self.nameLabel = QtWidgets.QLabel(parent=HgQueuesNewPatchDialog)
+        self.nameLabel.setObjectName("nameLabel")
+        self.gridLayout_3.addWidget(self.nameLabel, 0, 0, 1, 1)
+        self.nameEdit = QtWidgets.QLineEdit(parent=HgQueuesNewPatchDialog)
+        self.nameEdit.setObjectName("nameEdit")
+        self.gridLayout_3.addWidget(self.nameEdit, 0, 1, 1, 1)
+        self.label_2 = QtWidgets.QLabel(parent=HgQueuesNewPatchDialog)
+        self.label_2.setAlignment(QtCore.Qt.AlignmentFlag.AlignLeading|QtCore.Qt.AlignmentFlag.AlignLeft|QtCore.Qt.AlignmentFlag.AlignTop)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout_3.addWidget(self.label_2, 1, 0, 1, 1)
+        self.messageEdit = EricSpellCheckedPlainTextEdit(parent=HgQueuesNewPatchDialog)
+        self.messageEdit.setTabChangesFocus(True)
+        self.messageEdit.setObjectName("messageEdit")
+        self.gridLayout_3.addWidget(self.messageEdit, 1, 1, 1, 1)
+        self.userGroup = QtWidgets.QGroupBox(parent=HgQueuesNewPatchDialog)
+        self.userGroup.setCheckable(True)
+        self.userGroup.setChecked(False)
+        self.userGroup.setObjectName("userGroup")
+        self.gridLayout = QtWidgets.QGridLayout(self.userGroup)
+        self.gridLayout.setObjectName("gridLayout")
+        self.currentUserCheckBox = QtWidgets.QCheckBox(parent=self.userGroup)
+        self.currentUserCheckBox.setObjectName("currentUserCheckBox")
+        self.gridLayout.addWidget(self.currentUserCheckBox, 0, 0, 1, 2)
+        self.label_3 = QtWidgets.QLabel(parent=self.userGroup)
+        self.label_3.setObjectName("label_3")
+        self.gridLayout.addWidget(self.label_3, 1, 0, 1, 1)
+        self.userEdit = QtWidgets.QLineEdit(parent=self.userGroup)
+        self.userEdit.setObjectName("userEdit")
+        self.gridLayout.addWidget(self.userEdit, 1, 1, 1, 1)
+        self.gridLayout_3.addWidget(self.userGroup, 2, 0, 1, 2)
+        self.dateGroup = QtWidgets.QGroupBox(parent=HgQueuesNewPatchDialog)
+        self.dateGroup.setCheckable(True)
+        self.dateGroup.setChecked(False)
+        self.dateGroup.setObjectName("dateGroup")
+        self.gridLayout_2 = QtWidgets.QGridLayout(self.dateGroup)
+        self.gridLayout_2.setObjectName("gridLayout_2")
+        self.currentDateCheckBox = QtWidgets.QCheckBox(parent=self.dateGroup)
+        self.currentDateCheckBox.setObjectName("currentDateCheckBox")
+        self.gridLayout_2.addWidget(self.currentDateCheckBox, 0, 0, 1, 3)
+        self.label_4 = QtWidgets.QLabel(parent=self.dateGroup)
+        self.label_4.setObjectName("label_4")
+        self.gridLayout_2.addWidget(self.label_4, 1, 0, 1, 1)
+        self.dateTimeEdit = QtWidgets.QDateTimeEdit(parent=self.dateGroup)
+        self.dateTimeEdit.setDisplayFormat("yyyy-MM-dd hh:mm")
+        self.dateTimeEdit.setCalendarPopup(True)
+        self.dateTimeEdit.setObjectName("dateTimeEdit")
+        self.gridLayout_2.addWidget(self.dateTimeEdit, 1, 1, 1, 1)
+        spacerItem = QtWidgets.QSpacerItem(241, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout_2.addItem(spacerItem, 1, 2, 1, 1)
+        self.gridLayout_3.addWidget(self.dateGroup, 3, 0, 1, 2)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=HgQueuesNewPatchDialog)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout_3.addWidget(self.buttonBox, 4, 0, 1, 2)
+
+        self.retranslateUi(HgQueuesNewPatchDialog)
+        self.buttonBox.accepted.connect(HgQueuesNewPatchDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(HgQueuesNewPatchDialog.reject) # type: ignore
+        self.currentUserCheckBox.toggled['bool'].connect(self.userEdit.setDisabled) # type: ignore
+        self.currentUserCheckBox.toggled['bool'].connect(self.label_3.setDisabled) # type: ignore
+        self.currentDateCheckBox.toggled['bool'].connect(self.label_4.setDisabled) # type: ignore
+        self.currentDateCheckBox.toggled['bool'].connect(self.dateTimeEdit.setDisabled) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(HgQueuesNewPatchDialog)
+        HgQueuesNewPatchDialog.setTabOrder(self.nameEdit, self.messageEdit)
+        HgQueuesNewPatchDialog.setTabOrder(self.messageEdit, self.userGroup)
+        HgQueuesNewPatchDialog.setTabOrder(self.userGroup, self.currentUserCheckBox)
+        HgQueuesNewPatchDialog.setTabOrder(self.currentUserCheckBox, self.userEdit)
+        HgQueuesNewPatchDialog.setTabOrder(self.userEdit, self.dateGroup)
+        HgQueuesNewPatchDialog.setTabOrder(self.dateGroup, self.currentDateCheckBox)
+        HgQueuesNewPatchDialog.setTabOrder(self.currentDateCheckBox, self.dateTimeEdit)
+        HgQueuesNewPatchDialog.setTabOrder(self.dateTimeEdit, self.buttonBox)
+
+    def retranslateUi(self, HgQueuesNewPatchDialog):
+        _translate = QtCore.QCoreApplication.translate
+        HgQueuesNewPatchDialog.setWindowTitle(_translate("HgQueuesNewPatchDialog", "New Patch"))
+        self.nameLabel.setText(_translate("HgQueuesNewPatchDialog", "Name:"))
+        self.nameEdit.setToolTip(_translate("HgQueuesNewPatchDialog", "Enter the patch name"))
+        self.label_2.setText(_translate("HgQueuesNewPatchDialog", "Message:"))
+        self.messageEdit.setToolTip(_translate("HgQueuesNewPatchDialog", "Enter the commit message for the patch"))
+        self.userGroup.setToolTip(_translate("HgQueuesNewPatchDialog", "Select to give user information"))
+        self.userGroup.setTitle(_translate("HgQueuesNewPatchDialog", "User"))
+        self.currentUserCheckBox.setToolTip(_translate("HgQueuesNewPatchDialog", "Select to use the name of the current user"))
+        self.currentUserCheckBox.setText(_translate("HgQueuesNewPatchDialog", "Use current user"))
+        self.label_3.setText(_translate("HgQueuesNewPatchDialog", "Username:"))
+        self.userEdit.setToolTip(_translate("HgQueuesNewPatchDialog", "Enter the user name to be used for the patch"))
+        self.dateGroup.setToolTip(_translate("HgQueuesNewPatchDialog", "Select to give date and time information"))
+        self.dateGroup.setTitle(_translate("HgQueuesNewPatchDialog", "Date and Time"))
+        self.currentDateCheckBox.setToolTip(_translate("HgQueuesNewPatchDialog", "Select to use the current date and time"))
+        self.currentDateCheckBox.setText(_translate("HgQueuesNewPatchDialog", "Use current date and time"))
+        self.label_4.setText(_translate("HgQueuesNewPatchDialog", "Date/Time:"))
+        self.dateTimeEdit.setToolTip(_translate("HgQueuesNewPatchDialog", "Enter the date and time to be used for the patch"))
+from eric7.EricWidgets.EricSpellCheckedTextEdit import EricSpellCheckedPlainTextEdit
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsMercurial/QueuesExtension/Ui_HgQueuesQueueManagementDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,56 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsMercurial/QueuesExtension/HgQueuesQueueManagementDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_HgQueuesQueueManagementDialog(object):
+    def setupUi(self, HgQueuesQueueManagementDialog):
+        HgQueuesQueueManagementDialog.setObjectName("HgQueuesQueueManagementDialog")
+        HgQueuesQueueManagementDialog.resize(400, 300)
+        HgQueuesQueueManagementDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(HgQueuesQueueManagementDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.inputFrame = QtWidgets.QFrame(parent=HgQueuesQueueManagementDialog)
+        self.inputFrame.setObjectName("inputFrame")
+        self.horizontalLayout = QtWidgets.QHBoxLayout(self.inputFrame)
+        self.horizontalLayout.setContentsMargins(0, 0, 0, 0)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.label = QtWidgets.QLabel(parent=self.inputFrame)
+        self.label.setObjectName("label")
+        self.horizontalLayout.addWidget(self.label)
+        self.nameEdit = QtWidgets.QLineEdit(parent=self.inputFrame)
+        self.nameEdit.setObjectName("nameEdit")
+        self.horizontalLayout.addWidget(self.nameEdit)
+        self.verticalLayout.addWidget(self.inputFrame)
+        self.selectLabel = QtWidgets.QLabel(parent=HgQueuesQueueManagementDialog)
+        self.selectLabel.setObjectName("selectLabel")
+        self.verticalLayout.addWidget(self.selectLabel)
+        self.queuesList = QtWidgets.QListWidget(parent=HgQueuesQueueManagementDialog)
+        self.queuesList.setAlternatingRowColors(True)
+        self.queuesList.setObjectName("queuesList")
+        self.verticalLayout.addWidget(self.queuesList)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=HgQueuesQueueManagementDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Close|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(HgQueuesQueueManagementDialog)
+        self.buttonBox.accepted.connect(HgQueuesQueueManagementDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(HgQueuesQueueManagementDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(HgQueuesQueueManagementDialog)
+        HgQueuesQueueManagementDialog.setTabOrder(self.nameEdit, self.queuesList)
+        HgQueuesQueueManagementDialog.setTabOrder(self.queuesList, self.buttonBox)
+
+    def retranslateUi(self, HgQueuesQueueManagementDialog):
+        _translate = QtCore.QCoreApplication.translate
+        self.label.setText(_translate("HgQueuesQueueManagementDialog", "Queue Name:"))
+        self.nameEdit.setToolTip(_translate("HgQueuesQueueManagementDialog", "Enter the queue name"))
+        self.selectLabel.setText(_translate("HgQueuesQueueManagementDialog", "Select queue name:"))
+        self.queuesList.setToolTip(_translate("HgQueuesQueueManagementDialog", "This shows a list of available queues (active queue in bold)"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsMercurial/QueuesExtension/Ui_HgQueuesRenamePatchDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,70 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsMercurial/QueuesExtension/HgQueuesRenamePatchDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_HgQueuesRenamePatchDialog(object):
+    def setupUi(self, HgQueuesRenamePatchDialog):
+        HgQueuesRenamePatchDialog.setObjectName("HgQueuesRenamePatchDialog")
+        HgQueuesRenamePatchDialog.resize(400, 174)
+        HgQueuesRenamePatchDialog.setSizeGripEnabled(True)
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(HgQueuesRenamePatchDialog)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.label = QtWidgets.QLabel(parent=HgQueuesRenamePatchDialog)
+        self.label.setObjectName("label")
+        self.horizontalLayout.addWidget(self.label)
+        self.nameEdit = QtWidgets.QLineEdit(parent=HgQueuesRenamePatchDialog)
+        self.nameEdit.setObjectName("nameEdit")
+        self.horizontalLayout.addWidget(self.nameEdit)
+        self.verticalLayout_2.addLayout(self.horizontalLayout)
+        self.groupBox = QtWidgets.QGroupBox(parent=HgQueuesRenamePatchDialog)
+        self.groupBox.setObjectName("groupBox")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.groupBox)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.currentButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.currentButton.setText("Current Patch")
+        self.currentButton.setChecked(True)
+        self.currentButton.setObjectName("currentButton")
+        self.verticalLayout.addWidget(self.currentButton)
+        self.namedButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.namedButton.setObjectName("namedButton")
+        self.verticalLayout.addWidget(self.namedButton)
+        self.nameCombo = QtWidgets.QComboBox(parent=self.groupBox)
+        self.nameCombo.setEnabled(False)
+        self.nameCombo.setObjectName("nameCombo")
+        self.verticalLayout.addWidget(self.nameCombo)
+        self.verticalLayout_2.addWidget(self.groupBox)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=HgQueuesRenamePatchDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout_2.addWidget(self.buttonBox)
+
+        self.retranslateUi(HgQueuesRenamePatchDialog)
+        self.buttonBox.accepted.connect(HgQueuesRenamePatchDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(HgQueuesRenamePatchDialog.reject) # type: ignore
+        self.namedButton.toggled['bool'].connect(self.nameCombo.setEnabled) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(HgQueuesRenamePatchDialog)
+        HgQueuesRenamePatchDialog.setTabOrder(self.nameEdit, self.currentButton)
+        HgQueuesRenamePatchDialog.setTabOrder(self.currentButton, self.namedButton)
+        HgQueuesRenamePatchDialog.setTabOrder(self.namedButton, self.nameCombo)
+        HgQueuesRenamePatchDialog.setTabOrder(self.nameCombo, self.buttonBox)
+
+    def retranslateUi(self, HgQueuesRenamePatchDialog):
+        _translate = QtCore.QCoreApplication.translate
+        HgQueuesRenamePatchDialog.setWindowTitle(_translate("HgQueuesRenamePatchDialog", "Rename Patch"))
+        self.label.setText(_translate("HgQueuesRenamePatchDialog", "New Name:"))
+        self.nameEdit.setToolTip(_translate("HgQueuesRenamePatchDialog", "Enter the new name for the selected patch"))
+        self.groupBox.setTitle(_translate("HgQueuesRenamePatchDialog", "Patch"))
+        self.currentButton.setToolTip(_translate("HgQueuesRenamePatchDialog", "Select to rename the current patch"))
+        self.namedButton.setToolTip(_translate("HgQueuesRenamePatchDialog", "Select to rename the selected named patch"))
+        self.namedButton.setText(_translate("HgQueuesRenamePatchDialog", "Named Patch"))
+        self.nameCombo.setToolTip(_translate("HgQueuesRenamePatchDialog", "Select the patch to be renamed"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsMercurial/RebaseExtension/Ui_HgRebaseDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,316 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsMercurial/RebaseExtension/HgRebaseDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_HgRebaseDialog(object):
+    def setupUi(self, HgRebaseDialog):
+        HgRebaseDialog.setObjectName("HgRebaseDialog")
+        HgRebaseDialog.resize(650, 509)
+        HgRebaseDialog.setSizeGripEnabled(True)
+        self.gridLayout_3 = QtWidgets.QGridLayout(HgRebaseDialog)
+        self.gridLayout_3.setObjectName("gridLayout_3")
+        self.verticalLayout_3 = QtWidgets.QVBoxLayout()
+        self.verticalLayout_3.setObjectName("verticalLayout_3")
+        self.groupBox = QtWidgets.QGroupBox(parent=HgRebaseDialog)
+        self.groupBox.setObjectName("groupBox")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.groupBox)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.parentButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.parentButton.setChecked(True)
+        self.parentButton.setObjectName("parentButton")
+        self.verticalLayout.addWidget(self.parentButton)
+        self.sourceButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.sourceButton.setObjectName("sourceButton")
+        self.verticalLayout.addWidget(self.sourceButton)
+        self.baseButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.baseButton.setObjectName("baseButton")
+        self.verticalLayout.addWidget(self.baseButton)
+        self.rev1GroupBox = QtWidgets.QGroupBox(parent=self.groupBox)
+        self.rev1GroupBox.setEnabled(False)
+        self.rev1GroupBox.setObjectName("rev1GroupBox")
+        self.gridLayout = QtWidgets.QGridLayout(self.rev1GroupBox)
+        self.gridLayout.setObjectName("gridLayout")
+        self.number1Button = QtWidgets.QRadioButton(parent=self.rev1GroupBox)
+        self.number1Button.setChecked(True)
+        self.number1Button.setObjectName("number1Button")
+        self.gridLayout.addWidget(self.number1Button, 0, 0, 1, 1)
+        self.number1SpinBox = QtWidgets.QSpinBox(parent=self.rev1GroupBox)
+        self.number1SpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight)
+        self.number1SpinBox.setMaximum(999999999)
+        self.number1SpinBox.setObjectName("number1SpinBox")
+        self.gridLayout.addWidget(self.number1SpinBox, 0, 1, 1, 1)
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout.addItem(spacerItem, 0, 2, 1, 1)
+        self.id1Button = QtWidgets.QRadioButton(parent=self.rev1GroupBox)
+        self.id1Button.setObjectName("id1Button")
+        self.gridLayout.addWidget(self.id1Button, 1, 0, 1, 1)
+        self.id1Edit = QtWidgets.QLineEdit(parent=self.rev1GroupBox)
+        self.id1Edit.setEnabled(False)
+        self.id1Edit.setClearButtonEnabled(True)
+        self.id1Edit.setObjectName("id1Edit")
+        self.gridLayout.addWidget(self.id1Edit, 1, 1, 1, 2)
+        self.tag1Button = QtWidgets.QRadioButton(parent=self.rev1GroupBox)
+        self.tag1Button.setObjectName("tag1Button")
+        self.gridLayout.addWidget(self.tag1Button, 2, 0, 1, 1)
+        self.tag1Combo = QtWidgets.QComboBox(parent=self.rev1GroupBox)
+        self.tag1Combo.setEnabled(False)
+        self.tag1Combo.setEditable(True)
+        self.tag1Combo.setObjectName("tag1Combo")
+        self.gridLayout.addWidget(self.tag1Combo, 2, 1, 1, 2)
+        self.branch1Button = QtWidgets.QRadioButton(parent=self.rev1GroupBox)
+        self.branch1Button.setObjectName("branch1Button")
+        self.gridLayout.addWidget(self.branch1Button, 3, 0, 1, 1)
+        self.branch1Combo = QtWidgets.QComboBox(parent=self.rev1GroupBox)
+        self.branch1Combo.setEnabled(False)
+        self.branch1Combo.setEditable(True)
+        self.branch1Combo.setObjectName("branch1Combo")
+        self.gridLayout.addWidget(self.branch1Combo, 3, 1, 1, 2)
+        self.bookmark1Button = QtWidgets.QRadioButton(parent=self.rev1GroupBox)
+        self.bookmark1Button.setObjectName("bookmark1Button")
+        self.gridLayout.addWidget(self.bookmark1Button, 4, 0, 1, 1)
+        self.bookmark1Combo = QtWidgets.QComboBox(parent=self.rev1GroupBox)
+        self.bookmark1Combo.setEnabled(False)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.bookmark1Combo.sizePolicy().hasHeightForWidth())
+        self.bookmark1Combo.setSizePolicy(sizePolicy)
+        self.bookmark1Combo.setEditable(True)
+        self.bookmark1Combo.setObjectName("bookmark1Combo")
+        self.gridLayout.addWidget(self.bookmark1Combo, 4, 1, 1, 2)
+        self.expression1Button = QtWidgets.QRadioButton(parent=self.rev1GroupBox)
+        self.expression1Button.setObjectName("expression1Button")
+        self.gridLayout.addWidget(self.expression1Button, 5, 0, 1, 1)
+        self.expression1Edit = QtWidgets.QLineEdit(parent=self.rev1GroupBox)
+        self.expression1Edit.setEnabled(False)
+        self.expression1Edit.setClearButtonEnabled(True)
+        self.expression1Edit.setObjectName("expression1Edit")
+        self.gridLayout.addWidget(self.expression1Edit, 5, 1, 1, 2)
+        self.verticalLayout.addWidget(self.rev1GroupBox)
+        self.verticalLayout_3.addWidget(self.groupBox)
+        spacerItem1 = QtWidgets.QSpacerItem(20, 18, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout_3.addItem(spacerItem1)
+        self.gridLayout_3.addLayout(self.verticalLayout_3, 0, 0, 1, 1)
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout()
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.rev2GroupBox = QtWidgets.QGroupBox(parent=HgRebaseDialog)
+        self.rev2GroupBox.setObjectName("rev2GroupBox")
+        self.gridLayout_2 = QtWidgets.QGridLayout(self.rev2GroupBox)
+        self.gridLayout_2.setObjectName("gridLayout_2")
+        self.number2Button = QtWidgets.QRadioButton(parent=self.rev2GroupBox)
+        self.number2Button.setObjectName("number2Button")
+        self.gridLayout_2.addWidget(self.number2Button, 0, 0, 1, 1)
+        self.number2SpinBox = QtWidgets.QSpinBox(parent=self.rev2GroupBox)
+        self.number2SpinBox.setEnabled(False)
+        self.number2SpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight)
+        self.number2SpinBox.setMaximum(999999999)
+        self.number2SpinBox.setObjectName("number2SpinBox")
+        self.gridLayout_2.addWidget(self.number2SpinBox, 0, 1, 1, 1)
+        spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout_2.addItem(spacerItem2, 0, 2, 1, 1)
+        self.id2Button = QtWidgets.QRadioButton(parent=self.rev2GroupBox)
+        self.id2Button.setObjectName("id2Button")
+        self.gridLayout_2.addWidget(self.id2Button, 1, 0, 1, 1)
+        self.id2Edit = QtWidgets.QLineEdit(parent=self.rev2GroupBox)
+        self.id2Edit.setEnabled(False)
+        self.id2Edit.setClearButtonEnabled(True)
+        self.id2Edit.setObjectName("id2Edit")
+        self.gridLayout_2.addWidget(self.id2Edit, 1, 1, 1, 2)
+        self.tag2Button = QtWidgets.QRadioButton(parent=self.rev2GroupBox)
+        self.tag2Button.setObjectName("tag2Button")
+        self.gridLayout_2.addWidget(self.tag2Button, 2, 0, 1, 1)
+        self.tag2Combo = QtWidgets.QComboBox(parent=self.rev2GroupBox)
+        self.tag2Combo.setEnabled(False)
+        self.tag2Combo.setEditable(True)
+        self.tag2Combo.setObjectName("tag2Combo")
+        self.gridLayout_2.addWidget(self.tag2Combo, 2, 1, 1, 2)
+        self.branch2Button = QtWidgets.QRadioButton(parent=self.rev2GroupBox)
+        self.branch2Button.setObjectName("branch2Button")
+        self.gridLayout_2.addWidget(self.branch2Button, 3, 0, 1, 1)
+        self.branch2Combo = QtWidgets.QComboBox(parent=self.rev2GroupBox)
+        self.branch2Combo.setEnabled(False)
+        self.branch2Combo.setEditable(True)
+        self.branch2Combo.setObjectName("branch2Combo")
+        self.gridLayout_2.addWidget(self.branch2Combo, 3, 1, 1, 2)
+        self.bookmark2Button = QtWidgets.QRadioButton(parent=self.rev2GroupBox)
+        self.bookmark2Button.setObjectName("bookmark2Button")
+        self.gridLayout_2.addWidget(self.bookmark2Button, 4, 0, 1, 1)
+        self.bookmark2Combo = QtWidgets.QComboBox(parent=self.rev2GroupBox)
+        self.bookmark2Combo.setEnabled(False)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.bookmark2Combo.sizePolicy().hasHeightForWidth())
+        self.bookmark2Combo.setSizePolicy(sizePolicy)
+        self.bookmark2Combo.setEditable(True)
+        self.bookmark2Combo.setObjectName("bookmark2Combo")
+        self.gridLayout_2.addWidget(self.bookmark2Combo, 4, 1, 1, 2)
+        self.expression2Button = QtWidgets.QRadioButton(parent=self.rev2GroupBox)
+        self.expression2Button.setObjectName("expression2Button")
+        self.gridLayout_2.addWidget(self.expression2Button, 5, 0, 1, 1)
+        self.expression2Edit = QtWidgets.QLineEdit(parent=self.rev2GroupBox)
+        self.expression2Edit.setEnabled(False)
+        self.expression2Edit.setClearButtonEnabled(True)
+        self.expression2Edit.setObjectName("expression2Edit")
+        self.gridLayout_2.addWidget(self.expression2Edit, 5, 1, 1, 2)
+        self.tip2Button = QtWidgets.QRadioButton(parent=self.rev2GroupBox)
+        self.tip2Button.setChecked(True)
+        self.tip2Button.setObjectName("tip2Button")
+        self.gridLayout_2.addWidget(self.tip2Button, 6, 0, 1, 3)
+        self.verticalLayout_2.addWidget(self.rev2GroupBox)
+        self.collapseCheckBox = QtWidgets.QCheckBox(parent=HgRebaseDialog)
+        self.collapseCheckBox.setObjectName("collapseCheckBox")
+        self.verticalLayout_2.addWidget(self.collapseCheckBox)
+        self.keepChangesetsCheckBox = QtWidgets.QCheckBox(parent=HgRebaseDialog)
+        self.keepChangesetsCheckBox.setObjectName("keepChangesetsCheckBox")
+        self.verticalLayout_2.addWidget(self.keepChangesetsCheckBox)
+        self.keepBranchCheckBox = QtWidgets.QCheckBox(parent=HgRebaseDialog)
+        self.keepBranchCheckBox.setObjectName("keepBranchCheckBox")
+        self.verticalLayout_2.addWidget(self.keepBranchCheckBox)
+        self.detachCheckBox = QtWidgets.QCheckBox(parent=HgRebaseDialog)
+        self.detachCheckBox.setObjectName("detachCheckBox")
+        self.verticalLayout_2.addWidget(self.detachCheckBox)
+        self.gridLayout_3.addLayout(self.verticalLayout_2, 0, 1, 1, 1)
+        self.dryRunGroup = QtWidgets.QGroupBox(parent=HgRebaseDialog)
+        self.dryRunGroup.setObjectName("dryRunGroup")
+        self.horizontalLayout = QtWidgets.QHBoxLayout(self.dryRunGroup)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.noDryRunButton = QtWidgets.QRadioButton(parent=self.dryRunGroup)
+        self.noDryRunButton.setChecked(True)
+        self.noDryRunButton.setObjectName("noDryRunButton")
+        self.horizontalLayout.addWidget(self.noDryRunButton)
+        self.dryRunOnlyButton = QtWidgets.QRadioButton(parent=self.dryRunGroup)
+        self.dryRunOnlyButton.setObjectName("dryRunOnlyButton")
+        self.horizontalLayout.addWidget(self.dryRunOnlyButton)
+        self.dryRunConfirmButton = QtWidgets.QRadioButton(parent=self.dryRunGroup)
+        self.dryRunConfirmButton.setObjectName("dryRunConfirmButton")
+        self.horizontalLayout.addWidget(self.dryRunConfirmButton)
+        self.gridLayout_3.addWidget(self.dryRunGroup, 1, 0, 1, 2)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=HgRebaseDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout_3.addWidget(self.buttonBox, 2, 0, 1, 2)
+
+        self.retranslateUi(HgRebaseDialog)
+        self.buttonBox.accepted.connect(HgRebaseDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(HgRebaseDialog.reject) # type: ignore
+        self.number1Button.toggled['bool'].connect(self.number1SpinBox.setEnabled) # type: ignore
+        self.number2Button.toggled['bool'].connect(self.number2SpinBox.setEnabled) # type: ignore
+        self.id1Button.toggled['bool'].connect(self.id1Edit.setEnabled) # type: ignore
+        self.id2Button.toggled['bool'].connect(self.id2Edit.setEnabled) # type: ignore
+        self.tag1Button.toggled['bool'].connect(self.tag1Combo.setEnabled) # type: ignore
+        self.branch1Button.toggled['bool'].connect(self.branch1Combo.setEnabled) # type: ignore
+        self.tag2Button.toggled['bool'].connect(self.tag2Combo.setEnabled) # type: ignore
+        self.branch2Button.toggled['bool'].connect(self.branch2Combo.setEnabled) # type: ignore
+        self.bookmark1Button.toggled['bool'].connect(self.bookmark1Combo.setEnabled) # type: ignore
+        self.bookmark2Button.toggled['bool'].connect(self.bookmark2Combo.setEnabled) # type: ignore
+        self.parentButton.toggled['bool'].connect(self.rev1GroupBox.setDisabled) # type: ignore
+        self.expression1Button.toggled['bool'].connect(self.expression1Edit.setEnabled) # type: ignore
+        self.expression2Button.toggled['bool'].connect(self.expression2Edit.setEnabled) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(HgRebaseDialog)
+        HgRebaseDialog.setTabOrder(self.parentButton, self.sourceButton)
+        HgRebaseDialog.setTabOrder(self.sourceButton, self.baseButton)
+        HgRebaseDialog.setTabOrder(self.baseButton, self.number1Button)
+        HgRebaseDialog.setTabOrder(self.number1Button, self.number1SpinBox)
+        HgRebaseDialog.setTabOrder(self.number1SpinBox, self.id1Button)
+        HgRebaseDialog.setTabOrder(self.id1Button, self.id1Edit)
+        HgRebaseDialog.setTabOrder(self.id1Edit, self.tag1Button)
+        HgRebaseDialog.setTabOrder(self.tag1Button, self.tag1Combo)
+        HgRebaseDialog.setTabOrder(self.tag1Combo, self.branch1Button)
+        HgRebaseDialog.setTabOrder(self.branch1Button, self.branch1Combo)
+        HgRebaseDialog.setTabOrder(self.branch1Combo, self.bookmark1Button)
+        HgRebaseDialog.setTabOrder(self.bookmark1Button, self.bookmark1Combo)
+        HgRebaseDialog.setTabOrder(self.bookmark1Combo, self.expression1Button)
+        HgRebaseDialog.setTabOrder(self.expression1Button, self.expression1Edit)
+        HgRebaseDialog.setTabOrder(self.expression1Edit, self.number2Button)
+        HgRebaseDialog.setTabOrder(self.number2Button, self.number2SpinBox)
+        HgRebaseDialog.setTabOrder(self.number2SpinBox, self.id2Button)
+        HgRebaseDialog.setTabOrder(self.id2Button, self.id2Edit)
+        HgRebaseDialog.setTabOrder(self.id2Edit, self.tag2Button)
+        HgRebaseDialog.setTabOrder(self.tag2Button, self.tag2Combo)
+        HgRebaseDialog.setTabOrder(self.tag2Combo, self.branch2Button)
+        HgRebaseDialog.setTabOrder(self.branch2Button, self.branch2Combo)
+        HgRebaseDialog.setTabOrder(self.branch2Combo, self.bookmark2Button)
+        HgRebaseDialog.setTabOrder(self.bookmark2Button, self.bookmark2Combo)
+        HgRebaseDialog.setTabOrder(self.bookmark2Combo, self.expression2Button)
+        HgRebaseDialog.setTabOrder(self.expression2Button, self.expression2Edit)
+        HgRebaseDialog.setTabOrder(self.expression2Edit, self.tip2Button)
+        HgRebaseDialog.setTabOrder(self.tip2Button, self.collapseCheckBox)
+        HgRebaseDialog.setTabOrder(self.collapseCheckBox, self.keepChangesetsCheckBox)
+        HgRebaseDialog.setTabOrder(self.keepChangesetsCheckBox, self.keepBranchCheckBox)
+        HgRebaseDialog.setTabOrder(self.keepBranchCheckBox, self.detachCheckBox)
+        HgRebaseDialog.setTabOrder(self.detachCheckBox, self.noDryRunButton)
+        HgRebaseDialog.setTabOrder(self.noDryRunButton, self.dryRunOnlyButton)
+        HgRebaseDialog.setTabOrder(self.dryRunOnlyButton, self.dryRunConfirmButton)
+
+    def retranslateUi(self, HgRebaseDialog):
+        _translate = QtCore.QCoreApplication.translate
+        HgRebaseDialog.setWindowTitle(_translate("HgRebaseDialog", "Rebase Changesets"))
+        self.groupBox.setTitle(_translate("HgRebaseDialog", "Source / Base Revision"))
+        self.parentButton.setToolTip(_translate("HgRebaseDialog", "Select to use the parent of the working directory as the base"))
+        self.parentButton.setText(_translate("HgRebaseDialog", "Use &Parent as Base"))
+        self.sourceButton.setToolTip(_translate("HgRebaseDialog", "Select to use a revision as the source"))
+        self.sourceButton.setText(_translate("HgRebaseDialog", "&Source Revision"))
+        self.baseButton.setToolTip(_translate("HgRebaseDialog", "Select to use a revision as the base"))
+        self.baseButton.setText(_translate("HgRebaseDialog", "&Base Revision"))
+        self.rev1GroupBox.setTitle(_translate("HgRebaseDialog", "&Revision"))
+        self.number1Button.setToolTip(_translate("HgRebaseDialog", "Select to specify a revision by number"))
+        self.number1Button.setText(_translate("HgRebaseDialog", "Number"))
+        self.number1SpinBox.setToolTip(_translate("HgRebaseDialog", "Enter a revision number"))
+        self.id1Button.setToolTip(_translate("HgRebaseDialog", "Select to specify a revision by changeset id"))
+        self.id1Button.setText(_translate("HgRebaseDialog", "Id:"))
+        self.id1Edit.setToolTip(_translate("HgRebaseDialog", "Enter a changeset id"))
+        self.tag1Button.setToolTip(_translate("HgRebaseDialog", "Select to specify a revision by a tag"))
+        self.tag1Button.setText(_translate("HgRebaseDialog", "Tag:"))
+        self.tag1Combo.setToolTip(_translate("HgRebaseDialog", "Enter a tag name"))
+        self.branch1Button.setToolTip(_translate("HgRebaseDialog", "Select to specify a revision by a branch"))
+        self.branch1Button.setText(_translate("HgRebaseDialog", "Branch:"))
+        self.branch1Combo.setToolTip(_translate("HgRebaseDialog", "Enter a branch name"))
+        self.bookmark1Button.setToolTip(_translate("HgRebaseDialog", "Select to specify a revision by a bookmark"))
+        self.bookmark1Button.setText(_translate("HgRebaseDialog", "Bookmark:"))
+        self.bookmark1Combo.setToolTip(_translate("HgRebaseDialog", "Enter a bookmark name"))
+        self.expression1Button.setText(_translate("HgRebaseDialog", "Expression:"))
+        self.expression1Edit.setToolTip(_translate("HgRebaseDialog", "Enter a revision set expression"))
+        self.rev2GroupBox.setTitle(_translate("HgRebaseDialog", "&Destination Revision"))
+        self.number2Button.setToolTip(_translate("HgRebaseDialog", "Select to specify a revision by number"))
+        self.number2Button.setText(_translate("HgRebaseDialog", "Number"))
+        self.number2SpinBox.setToolTip(_translate("HgRebaseDialog", "Enter a revision number"))
+        self.id2Button.setToolTip(_translate("HgRebaseDialog", "Select to specify a revision by changeset id"))
+        self.id2Button.setText(_translate("HgRebaseDialog", "Id:"))
+        self.id2Edit.setToolTip(_translate("HgRebaseDialog", "Enter a changeset id"))
+        self.tag2Button.setToolTip(_translate("HgRebaseDialog", "Select to specify a revision by a tag"))
+        self.tag2Button.setText(_translate("HgRebaseDialog", "Tag:"))
+        self.tag2Combo.setToolTip(_translate("HgRebaseDialog", "Enter a tag name"))
+        self.branch2Button.setToolTip(_translate("HgRebaseDialog", "Select to specify a revision by a branch"))
+        self.branch2Button.setText(_translate("HgRebaseDialog", "Branch:"))
+        self.branch2Combo.setToolTip(_translate("HgRebaseDialog", "Enter a branch name"))
+        self.bookmark2Button.setToolTip(_translate("HgRebaseDialog", "Select to specify a revision by a bookmark"))
+        self.bookmark2Button.setText(_translate("HgRebaseDialog", "Bookmark:"))
+        self.bookmark2Combo.setToolTip(_translate("HgRebaseDialog", "Enter a bookmark name"))
+        self.expression2Button.setText(_translate("HgRebaseDialog", "Expression:"))
+        self.expression2Edit.setToolTip(_translate("HgRebaseDialog", "Enter a revision set expression"))
+        self.tip2Button.setToolTip(_translate("HgRebaseDialog", "Select tip revision of repository"))
+        self.tip2Button.setText(_translate("HgRebaseDialog", "Current branch tip"))
+        self.collapseCheckBox.setToolTip(_translate("HgRebaseDialog", "Select to collapse the rebased changesets"))
+        self.collapseCheckBox.setText(_translate("HgRebaseDialog", "Collapse Changesets"))
+        self.keepChangesetsCheckBox.setToolTip(_translate("HgRebaseDialog", "Select to keep the original changesets"))
+        self.keepChangesetsCheckBox.setText(_translate("HgRebaseDialog", "Keep Original Changesets"))
+        self.keepBranchCheckBox.setToolTip(_translate("HgRebaseDialog", "Select to keep the original branch names"))
+        self.keepBranchCheckBox.setText(_translate("HgRebaseDialog", "Keep Original Branch Name"))
+        self.detachCheckBox.setToolTip(_translate("HgRebaseDialog", "Select to detach the source from its original branch"))
+        self.detachCheckBox.setText(_translate("HgRebaseDialog", "Detach Source"))
+        self.dryRunGroup.setTitle(_translate("HgRebaseDialog", "Dry-Run"))
+        self.noDryRunButton.setToolTip(_translate("HgRebaseDialog", "Select to not do a dry-run"))
+        self.noDryRunButton.setText(_translate("HgRebaseDialog", "No"))
+        self.dryRunOnlyButton.setToolTip(_translate("HgRebaseDialog", "Select to just do a dry-run"))
+        self.dryRunOnlyButton.setText(_translate("HgRebaseDialog", "Dry-Run Only"))
+        self.dryRunConfirmButton.setToolTip(_translate("HgRebaseDialog", "Select to do a dry-run first, then ask the user for confirmation to perform the rebase"))
+        self.dryRunConfirmButton.setText(_translate("HgRebaseDialog", "Dry-Run First, then Confirm"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsMercurial/ShelveExtension/Ui_HgShelveBrowserDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,107 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsMercurial/ShelveExtension/HgShelveBrowserDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_HgShelveBrowserDialog(object):
+    def setupUi(self, HgShelveBrowserDialog):
+        HgShelveBrowserDialog.setObjectName("HgShelveBrowserDialog")
+        HgShelveBrowserDialog.resize(650, 574)
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(HgShelveBrowserDialog)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.shelveList = QtWidgets.QTreeWidget(parent=HgShelveBrowserDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(5)
+        sizePolicy.setHeightForWidth(self.shelveList.sizePolicy().hasHeightForWidth())
+        self.shelveList.setSizePolicy(sizePolicy)
+        self.shelveList.setContextMenuPolicy(QtCore.Qt.ContextMenuPolicy.CustomContextMenu)
+        self.shelveList.setAlternatingRowColors(True)
+        self.shelveList.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.ExtendedSelection)
+        self.shelveList.setRootIsDecorated(False)
+        self.shelveList.setItemsExpandable(False)
+        self.shelveList.setObjectName("shelveList")
+        self.verticalLayout_2.addWidget(self.shelveList)
+        self.groupBox = QtWidgets.QGroupBox(parent=HgShelveBrowserDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(4)
+        sizePolicy.setHeightForWidth(self.groupBox.sizePolicy().hasHeightForWidth())
+        self.groupBox.setSizePolicy(sizePolicy)
+        self.groupBox.setObjectName("groupBox")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.groupBox)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.statisticsList = QtWidgets.QTreeWidget(parent=self.groupBox)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(2)
+        sizePolicy.setHeightForWidth(self.statisticsList.sizePolicy().hasHeightForWidth())
+        self.statisticsList.setSizePolicy(sizePolicy)
+        self.statisticsList.setAlternatingRowColors(True)
+        self.statisticsList.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.NoSelection)
+        self.statisticsList.setRootIsDecorated(False)
+        self.statisticsList.setItemsExpandable(False)
+        self.statisticsList.setObjectName("statisticsList")
+        self.verticalLayout.addWidget(self.statisticsList)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.filesLabel = QtWidgets.QLabel(parent=self.groupBox)
+        self.filesLabel.setText("")
+        self.filesLabel.setObjectName("filesLabel")
+        self.horizontalLayout.addWidget(self.filesLabel)
+        self.insertionsLabel = QtWidgets.QLabel(parent=self.groupBox)
+        self.insertionsLabel.setText("")
+        self.insertionsLabel.setObjectName("insertionsLabel")
+        self.horizontalLayout.addWidget(self.insertionsLabel)
+        self.deletionsLabel = QtWidgets.QLabel(parent=self.groupBox)
+        self.deletionsLabel.setText("")
+        self.deletionsLabel.setObjectName("deletionsLabel")
+        self.horizontalLayout.addWidget(self.deletionsLabel)
+        self.verticalLayout.addLayout(self.horizontalLayout)
+        self.verticalLayout_2.addWidget(self.groupBox)
+        self.errorGroup = QtWidgets.QGroupBox(parent=HgShelveBrowserDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(1)
+        sizePolicy.setHeightForWidth(self.errorGroup.sizePolicy().hasHeightForWidth())
+        self.errorGroup.setSizePolicy(sizePolicy)
+        self.errorGroup.setObjectName("errorGroup")
+        self.vboxlayout = QtWidgets.QVBoxLayout(self.errorGroup)
+        self.vboxlayout.setObjectName("vboxlayout")
+        self.errors = QtWidgets.QTextEdit(parent=self.errorGroup)
+        self.errors.setReadOnly(True)
+        self.errors.setAcceptRichText(False)
+        self.errors.setObjectName("errors")
+        self.vboxlayout.addWidget(self.errors)
+        self.verticalLayout_2.addWidget(self.errorGroup)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=HgShelveBrowserDialog)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout_2.addWidget(self.buttonBox)
+
+        self.retranslateUi(HgShelveBrowserDialog)
+        QtCore.QMetaObject.connectSlotsByName(HgShelveBrowserDialog)
+        HgShelveBrowserDialog.setTabOrder(self.shelveList, self.statisticsList)
+        HgShelveBrowserDialog.setTabOrder(self.statisticsList, self.errors)
+        HgShelveBrowserDialog.setTabOrder(self.errors, self.buttonBox)
+
+    def retranslateUi(self, HgShelveBrowserDialog):
+        _translate = QtCore.QCoreApplication.translate
+        HgShelveBrowserDialog.setWindowTitle(_translate("HgShelveBrowserDialog", "Mercurial Shelve Browser"))
+        self.shelveList.setSortingEnabled(True)
+        self.shelveList.headerItem().setText(0, _translate("HgShelveBrowserDialog", "Name"))
+        self.shelveList.headerItem().setText(1, _translate("HgShelveBrowserDialog", "Age"))
+        self.shelveList.headerItem().setText(2, _translate("HgShelveBrowserDialog", "Message"))
+        self.groupBox.setTitle(_translate("HgShelveBrowserDialog", "Statistics"))
+        self.statisticsList.headerItem().setText(0, _translate("HgShelveBrowserDialog", "File"))
+        self.statisticsList.headerItem().setText(1, _translate("HgShelveBrowserDialog", "Changes"))
+        self.statisticsList.headerItem().setText(2, _translate("HgShelveBrowserDialog", "Lines added"))
+        self.statisticsList.headerItem().setText(3, _translate("HgShelveBrowserDialog", "Lines deleted"))
+        self.errorGroup.setTitle(_translate("HgShelveBrowserDialog", "Errors"))
+        self.errors.setWhatsThis(_translate("HgShelveBrowserDialog", "<b>Mercurial shelve errors</b><p>This shows possible error messages of the hg shelve command.</p>"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsMercurial/ShelveExtension/Ui_HgShelveDataDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,77 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsMercurial/ShelveExtension/HgShelveDataDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_HgShelveDataDialog(object):
+    def setupUi(self, HgShelveDataDialog):
+        HgShelveDataDialog.setObjectName("HgShelveDataDialog")
+        HgShelveDataDialog.resize(500, 167)
+        HgShelveDataDialog.setSizeGripEnabled(True)
+        self.gridLayout = QtWidgets.QGridLayout(HgShelveDataDialog)
+        self.gridLayout.setObjectName("gridLayout")
+        self.label = QtWidgets.QLabel(parent=HgShelveDataDialog)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
+        self.nameEdit = QtWidgets.QLineEdit(parent=HgShelveDataDialog)
+        self.nameEdit.setObjectName("nameEdit")
+        self.gridLayout.addWidget(self.nameEdit, 0, 1, 1, 1)
+        self.label_2 = QtWidgets.QLabel(parent=HgShelveDataDialog)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 1, 0, 1, 1)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.dateTimeEdit = QtWidgets.QDateTimeEdit(parent=HgShelveDataDialog)
+        self.dateTimeEdit.setCalendarPopup(True)
+        self.dateTimeEdit.setObjectName("dateTimeEdit")
+        self.horizontalLayout.addWidget(self.dateTimeEdit)
+        spacerItem = QtWidgets.QSpacerItem(198, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem)
+        self.gridLayout.addLayout(self.horizontalLayout, 1, 1, 1, 1)
+        self.label_3 = QtWidgets.QLabel(parent=HgShelveDataDialog)
+        self.label_3.setAlignment(QtCore.Qt.AlignmentFlag.AlignLeading|QtCore.Qt.AlignmentFlag.AlignLeft|QtCore.Qt.AlignmentFlag.AlignTop)
+        self.label_3.setObjectName("label_3")
+        self.gridLayout.addWidget(self.label_3, 2, 0, 1, 1)
+        self.messageEdit = QtWidgets.QLineEdit(parent=HgShelveDataDialog)
+        self.messageEdit.setObjectName("messageEdit")
+        self.gridLayout.addWidget(self.messageEdit, 2, 1, 1, 1)
+        self.addRemoveCheckBox = QtWidgets.QCheckBox(parent=HgShelveDataDialog)
+        self.addRemoveCheckBox.setObjectName("addRemoveCheckBox")
+        self.gridLayout.addWidget(self.addRemoveCheckBox, 3, 0, 1, 2)
+        self.keepCheckBox = QtWidgets.QCheckBox(parent=HgShelveDataDialog)
+        self.keepCheckBox.setObjectName("keepCheckBox")
+        self.gridLayout.addWidget(self.keepCheckBox, 4, 0, 1, 2)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=HgShelveDataDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout.addWidget(self.buttonBox, 5, 0, 1, 2)
+
+        self.retranslateUi(HgShelveDataDialog)
+        self.buttonBox.accepted.connect(HgShelveDataDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(HgShelveDataDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(HgShelveDataDialog)
+        HgShelveDataDialog.setTabOrder(self.nameEdit, self.dateTimeEdit)
+        HgShelveDataDialog.setTabOrder(self.dateTimeEdit, self.messageEdit)
+        HgShelveDataDialog.setTabOrder(self.messageEdit, self.addRemoveCheckBox)
+        HgShelveDataDialog.setTabOrder(self.addRemoveCheckBox, self.buttonBox)
+
+    def retranslateUi(self, HgShelveDataDialog):
+        _translate = QtCore.QCoreApplication.translate
+        HgShelveDataDialog.setWindowTitle(_translate("HgShelveDataDialog", "Shelve"))
+        self.label.setText(_translate("HgShelveDataDialog", "Name:"))
+        self.nameEdit.setToolTip(_translate("HgShelveDataDialog", "Enter a name for the shelve"))
+        self.label_2.setText(_translate("HgShelveDataDialog", "Date, Time:"))
+        self.dateTimeEdit.setStatusTip(_translate("HgShelveDataDialog", "Enter the commit date and time for the shelve"))
+        self.dateTimeEdit.setDisplayFormat(_translate("HgShelveDataDialog", "yyyy-MM-dd HH:mm"))
+        self.label_3.setText(_translate("HgShelveDataDialog", "Message:"))
+        self.messageEdit.setToolTip(_translate("HgShelveDataDialog", "Enter a message for the shelve"))
+        self.addRemoveCheckBox.setText(_translate("HgShelveDataDialog", "Mark new/missing files as added/removed"))
+        self.keepCheckBox.setToolTip(_translate("HgShelveDataDialog", "Select to shelve, but keep the changes in the working directory"))
+        self.keepCheckBox.setText(_translate("HgShelveDataDialog", "Shelve, but keep changes"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsMercurial/ShelveExtension/Ui_HgShelvesSelectionDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,43 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsMercurial/ShelveExtension/HgShelvesSelectionDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_HgShelvesSelectionDialog(object):
+    def setupUi(self, HgShelvesSelectionDialog):
+        HgShelvesSelectionDialog.setObjectName("HgShelvesSelectionDialog")
+        HgShelvesSelectionDialog.resize(400, 300)
+        HgShelvesSelectionDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(HgShelvesSelectionDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.message = QtWidgets.QLabel(parent=HgShelvesSelectionDialog)
+        self.message.setText("")
+        self.message.setObjectName("message")
+        self.verticalLayout.addWidget(self.message)
+        self.shelvesList = QtWidgets.QListWidget(parent=HgShelvesSelectionDialog)
+        self.shelvesList.setAlternatingRowColors(True)
+        self.shelvesList.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.ExtendedSelection)
+        self.shelvesList.setObjectName("shelvesList")
+        self.verticalLayout.addWidget(self.shelvesList)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=HgShelvesSelectionDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(HgShelvesSelectionDialog)
+        self.buttonBox.accepted.connect(HgShelvesSelectionDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(HgShelvesSelectionDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(HgShelvesSelectionDialog)
+        HgShelvesSelectionDialog.setTabOrder(self.shelvesList, self.buttonBox)
+
+    def retranslateUi(self, HgShelvesSelectionDialog):
+        _translate = QtCore.QCoreApplication.translate
+        HgShelvesSelectionDialog.setWindowTitle(_translate("HgShelvesSelectionDialog", "Mercurial Shelve Selection"))
+        self.shelvesList.setSortingEnabled(True)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsMercurial/ShelveExtension/Ui_HgUnshelveDataDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,53 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsMercurial/ShelveExtension/HgUnshelveDataDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_HgUnshelveDataDialog(object):
+    def setupUi(self, HgUnshelveDataDialog):
+        HgUnshelveDataDialog.setObjectName("HgUnshelveDataDialog")
+        HgUnshelveDataDialog.resize(400, 108)
+        HgUnshelveDataDialog.setSizeGripEnabled(True)
+        self.gridLayout = QtWidgets.QGridLayout(HgUnshelveDataDialog)
+        self.gridLayout.setObjectName("gridLayout")
+        self.label = QtWidgets.QLabel(parent=HgUnshelveDataDialog)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
+        self.nameComboBox = QtWidgets.QComboBox(parent=HgUnshelveDataDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.nameComboBox.sizePolicy().hasHeightForWidth())
+        self.nameComboBox.setSizePolicy(sizePolicy)
+        self.nameComboBox.setEditable(True)
+        self.nameComboBox.setObjectName("nameComboBox")
+        self.gridLayout.addWidget(self.nameComboBox, 0, 1, 1, 1)
+        self.keepCheckBox = QtWidgets.QCheckBox(parent=HgUnshelveDataDialog)
+        self.keepCheckBox.setObjectName("keepCheckBox")
+        self.gridLayout.addWidget(self.keepCheckBox, 1, 0, 1, 2)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=HgUnshelveDataDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout.addWidget(self.buttonBox, 2, 0, 1, 2)
+
+        self.retranslateUi(HgUnshelveDataDialog)
+        self.buttonBox.accepted.connect(HgUnshelveDataDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(HgUnshelveDataDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(HgUnshelveDataDialog)
+        HgUnshelveDataDialog.setTabOrder(self.nameComboBox, self.keepCheckBox)
+        HgUnshelveDataDialog.setTabOrder(self.keepCheckBox, self.buttonBox)
+
+    def retranslateUi(self, HgUnshelveDataDialog):
+        _translate = QtCore.QCoreApplication.translate
+        HgUnshelveDataDialog.setWindowTitle(_translate("HgUnshelveDataDialog", "Mercurial Unshelve"))
+        self.label.setText(_translate("HgUnshelveDataDialog", "Name:"))
+        self.nameComboBox.setToolTip(_translate("HgUnshelveDataDialog", "Enter the name of the shelve"))
+        self.keepCheckBox.setToolTip(_translate("HgUnshelveDataDialog", "Select to keep the shelved change"))
+        self.keepCheckBox.setText(_translate("HgUnshelveDataDialog", "Keep shelved change"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsMercurial/StripExtension/Ui_HgStripDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,147 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsMercurial/StripExtension/HgStripDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_HgStripDialog(object):
+    def setupUi(self, HgStripDialog):
+        HgStripDialog.setObjectName("HgStripDialog")
+        HgStripDialog.resize(400, 374)
+        HgStripDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(HgStripDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.revGroupBox = QtWidgets.QGroupBox(parent=HgStripDialog)
+        self.revGroupBox.setObjectName("revGroupBox")
+        self.gridLayout = QtWidgets.QGridLayout(self.revGroupBox)
+        self.gridLayout.setObjectName("gridLayout")
+        self.numberButton = QtWidgets.QRadioButton(parent=self.revGroupBox)
+        self.numberButton.setObjectName("numberButton")
+        self.gridLayout.addWidget(self.numberButton, 0, 0, 1, 1)
+        self.numberSpinBox = QtWidgets.QSpinBox(parent=self.revGroupBox)
+        self.numberSpinBox.setEnabled(False)
+        self.numberSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight)
+        self.numberSpinBox.setMinimum(-1)
+        self.numberSpinBox.setMaximum(999999999)
+        self.numberSpinBox.setProperty("value", -1)
+        self.numberSpinBox.setObjectName("numberSpinBox")
+        self.gridLayout.addWidget(self.numberSpinBox, 0, 1, 1, 1)
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout.addItem(spacerItem, 0, 2, 1, 1)
+        self.idButton = QtWidgets.QRadioButton(parent=self.revGroupBox)
+        self.idButton.setChecked(True)
+        self.idButton.setObjectName("idButton")
+        self.gridLayout.addWidget(self.idButton, 1, 0, 1, 1)
+        self.idEdit = QtWidgets.QLineEdit(parent=self.revGroupBox)
+        self.idEdit.setClearButtonEnabled(True)
+        self.idEdit.setObjectName("idEdit")
+        self.gridLayout.addWidget(self.idEdit, 1, 1, 1, 2)
+        self.tagButton = QtWidgets.QRadioButton(parent=self.revGroupBox)
+        self.tagButton.setObjectName("tagButton")
+        self.gridLayout.addWidget(self.tagButton, 2, 0, 1, 1)
+        self.tagCombo = QtWidgets.QComboBox(parent=self.revGroupBox)
+        self.tagCombo.setEnabled(False)
+        self.tagCombo.setEditable(True)
+        self.tagCombo.setObjectName("tagCombo")
+        self.gridLayout.addWidget(self.tagCombo, 2, 1, 1, 2)
+        self.branchButton = QtWidgets.QRadioButton(parent=self.revGroupBox)
+        self.branchButton.setObjectName("branchButton")
+        self.gridLayout.addWidget(self.branchButton, 3, 0, 1, 1)
+        self.branchCombo = QtWidgets.QComboBox(parent=self.revGroupBox)
+        self.branchCombo.setEnabled(False)
+        self.branchCombo.setEditable(True)
+        self.branchCombo.setObjectName("branchCombo")
+        self.gridLayout.addWidget(self.branchCombo, 3, 1, 1, 2)
+        self.expressionButton = QtWidgets.QRadioButton(parent=self.revGroupBox)
+        self.expressionButton.setObjectName("expressionButton")
+        self.gridLayout.addWidget(self.expressionButton, 4, 0, 1, 1)
+        self.expressionEdit = QtWidgets.QLineEdit(parent=self.revGroupBox)
+        self.expressionEdit.setEnabled(False)
+        self.expressionEdit.setClearButtonEnabled(True)
+        self.expressionEdit.setObjectName("expressionEdit")
+        self.gridLayout.addWidget(self.expressionEdit, 4, 1, 1, 2)
+        self.verticalLayout.addWidget(self.revGroupBox)
+        self.gridLayout_2 = QtWidgets.QGridLayout()
+        self.gridLayout_2.setObjectName("gridLayout_2")
+        self.label = QtWidgets.QLabel(parent=HgStripDialog)
+        self.label.setObjectName("label")
+        self.gridLayout_2.addWidget(self.label, 0, 0, 1, 1)
+        self.bookmarkCombo = QtWidgets.QComboBox(parent=HgStripDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.bookmarkCombo.sizePolicy().hasHeightForWidth())
+        self.bookmarkCombo.setSizePolicy(sizePolicy)
+        self.bookmarkCombo.setEditable(True)
+        self.bookmarkCombo.setObjectName("bookmarkCombo")
+        self.gridLayout_2.addWidget(self.bookmarkCombo, 0, 1, 1, 1)
+        self.forceCheckBox = QtWidgets.QCheckBox(parent=HgStripDialog)
+        self.forceCheckBox.setObjectName("forceCheckBox")
+        self.gridLayout_2.addWidget(self.forceCheckBox, 1, 0, 1, 2)
+        self.noBackupCheckBox = QtWidgets.QCheckBox(parent=HgStripDialog)
+        self.noBackupCheckBox.setObjectName("noBackupCheckBox")
+        self.gridLayout_2.addWidget(self.noBackupCheckBox, 2, 0, 1, 2)
+        self.keepCheckBox = QtWidgets.QCheckBox(parent=HgStripDialog)
+        self.keepCheckBox.setObjectName("keepCheckBox")
+        self.gridLayout_2.addWidget(self.keepCheckBox, 3, 0, 1, 2)
+        self.verticalLayout.addLayout(self.gridLayout_2)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=HgStripDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(HgStripDialog)
+        self.buttonBox.accepted.connect(HgStripDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(HgStripDialog.reject) # type: ignore
+        self.numberButton.toggled['bool'].connect(self.numberSpinBox.setEnabled) # type: ignore
+        self.idButton.toggled['bool'].connect(self.idEdit.setEnabled) # type: ignore
+        self.tagButton.toggled['bool'].connect(self.tagCombo.setEnabled) # type: ignore
+        self.branchButton.toggled['bool'].connect(self.branchCombo.setEnabled) # type: ignore
+        self.expressionButton.toggled['bool'].connect(self.expressionEdit.setEnabled) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(HgStripDialog)
+        HgStripDialog.setTabOrder(self.numberButton, self.numberSpinBox)
+        HgStripDialog.setTabOrder(self.numberSpinBox, self.idButton)
+        HgStripDialog.setTabOrder(self.idButton, self.idEdit)
+        HgStripDialog.setTabOrder(self.idEdit, self.tagButton)
+        HgStripDialog.setTabOrder(self.tagButton, self.tagCombo)
+        HgStripDialog.setTabOrder(self.tagCombo, self.branchButton)
+        HgStripDialog.setTabOrder(self.branchButton, self.branchCombo)
+        HgStripDialog.setTabOrder(self.branchCombo, self.expressionButton)
+        HgStripDialog.setTabOrder(self.expressionButton, self.expressionEdit)
+        HgStripDialog.setTabOrder(self.expressionEdit, self.bookmarkCombo)
+        HgStripDialog.setTabOrder(self.bookmarkCombo, self.forceCheckBox)
+        HgStripDialog.setTabOrder(self.forceCheckBox, self.noBackupCheckBox)
+        HgStripDialog.setTabOrder(self.noBackupCheckBox, self.keepCheckBox)
+
+    def retranslateUi(self, HgStripDialog):
+        _translate = QtCore.QCoreApplication.translate
+        HgStripDialog.setWindowTitle(_translate("HgStripDialog", "Strip Changesets"))
+        self.revGroupBox.setTitle(_translate("HgStripDialog", "&Revision"))
+        self.numberButton.setToolTip(_translate("HgStripDialog", "Select to specify a revision by number"))
+        self.numberButton.setText(_translate("HgStripDialog", "Number"))
+        self.numberSpinBox.setToolTip(_translate("HgStripDialog", "Enter a revision number"))
+        self.idButton.setToolTip(_translate("HgStripDialog", "Select to specify a revision by changeset id"))
+        self.idButton.setText(_translate("HgStripDialog", "Id:"))
+        self.idEdit.setToolTip(_translate("HgStripDialog", "Enter a changeset id"))
+        self.tagButton.setToolTip(_translate("HgStripDialog", "Select to specify a revision by a tag"))
+        self.tagButton.setText(_translate("HgStripDialog", "Tag:"))
+        self.tagCombo.setToolTip(_translate("HgStripDialog", "Enter a tag name"))
+        self.branchButton.setToolTip(_translate("HgStripDialog", "Select to specify a revision by a branch"))
+        self.branchButton.setText(_translate("HgStripDialog", "Branch:"))
+        self.branchCombo.setToolTip(_translate("HgStripDialog", "Enter a branch name"))
+        self.expressionButton.setText(_translate("HgStripDialog", "Expression:"))
+        self.expressionEdit.setToolTip(_translate("HgStripDialog", "Enter a revision set expression"))
+        self.label.setText(_translate("HgStripDialog", "Bookmark:"))
+        self.bookmarkCombo.setToolTip(_translate("HgStripDialog", "Enter a bookmark name"))
+        self.forceCheckBox.setToolTip(_translate("HgStripDialog", "Select to enforce removal of changesets"))
+        self.forceCheckBox.setText(_translate("HgStripDialog", "Enforce Operation"))
+        self.noBackupCheckBox.setToolTip(_translate("HgStripDialog", "Select to not create backup bundles"))
+        self.noBackupCheckBox.setText(_translate("HgStripDialog", "No Backup"))
+        self.keepCheckBox.setToolTip(_translate("HgStripDialog", "Select to keep the current working directory state"))
+        self.keepCheckBox.setText(_translate("HgStripDialog", "Keep Working Directory"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsMercurial/Ui_HgAddSubrepositoryDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,73 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsMercurial/HgAddSubrepositoryDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_HgAddSubrepositoryDialog(object):
+    def setupUi(self, HgAddSubrepositoryDialog):
+        HgAddSubrepositoryDialog.setObjectName("HgAddSubrepositoryDialog")
+        HgAddSubrepositoryDialog.resize(550, 124)
+        HgAddSubrepositoryDialog.setSizeGripEnabled(True)
+        self.gridLayout = QtWidgets.QGridLayout(HgAddSubrepositoryDialog)
+        self.gridLayout.setObjectName("gridLayout")
+        self.label = QtWidgets.QLabel(parent=HgAddSubrepositoryDialog)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
+        self.pathPicker = EricPathPicker(parent=HgAddSubrepositoryDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.pathPicker.sizePolicy().hasHeightForWidth())
+        self.pathPicker.setSizePolicy(sizePolicy)
+        self.pathPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.pathPicker.setObjectName("pathPicker")
+        self.gridLayout.addWidget(self.pathPicker, 0, 1, 1, 1)
+        self.label_2 = QtWidgets.QLabel(parent=HgAddSubrepositoryDialog)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 1, 0, 1, 1)
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.typeCombo = QtWidgets.QComboBox(parent=HgAddSubrepositoryDialog)
+        self.typeCombo.setObjectName("typeCombo")
+        self.horizontalLayout_2.addWidget(self.typeCombo)
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_2.addItem(spacerItem)
+        self.gridLayout.addLayout(self.horizontalLayout_2, 1, 1, 1, 1)
+        self.label_3 = QtWidgets.QLabel(parent=HgAddSubrepositoryDialog)
+        self.label_3.setObjectName("label_3")
+        self.gridLayout.addWidget(self.label_3, 2, 0, 1, 1)
+        self.urlEdit = QtWidgets.QLineEdit(parent=HgAddSubrepositoryDialog)
+        self.urlEdit.setObjectName("urlEdit")
+        self.gridLayout.addWidget(self.urlEdit, 2, 1, 1, 1)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=HgAddSubrepositoryDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout.addWidget(self.buttonBox, 3, 0, 1, 2)
+        self.label.setBuddy(self.pathPicker)
+        self.label_2.setBuddy(self.typeCombo)
+        self.label_3.setBuddy(self.urlEdit)
+
+        self.retranslateUi(HgAddSubrepositoryDialog)
+        self.buttonBox.accepted.connect(HgAddSubrepositoryDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(HgAddSubrepositoryDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(HgAddSubrepositoryDialog)
+        HgAddSubrepositoryDialog.setTabOrder(self.pathPicker, self.typeCombo)
+        HgAddSubrepositoryDialog.setTabOrder(self.typeCombo, self.urlEdit)
+
+    def retranslateUi(self, HgAddSubrepositoryDialog):
+        _translate = QtCore.QCoreApplication.translate
+        HgAddSubrepositoryDialog.setWindowTitle(_translate("HgAddSubrepositoryDialog", "Add Sub-repository"))
+        self.label.setText(_translate("HgAddSubrepositoryDialog", "&Path within Project:"))
+        self.pathPicker.setToolTip(_translate("HgAddSubrepositoryDialog", "Enter the path of the sub-repository relative to the project"))
+        self.label_2.setText(_translate("HgAddSubrepositoryDialog", "&Type:"))
+        self.typeCombo.setToolTip(_translate("HgAddSubrepositoryDialog", "Select the type of the sub-repository"))
+        self.label_3.setText(_translate("HgAddSubrepositoryDialog", "&URL:"))
+        self.urlEdit.setToolTip(_translate("HgAddSubrepositoryDialog", "Enter the URL of the sub-repository"))
+from eric7.EricWidgets.EricPathPicker import EricPathPicker
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsMercurial/Ui_HgAnnotateDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,67 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsMercurial/HgAnnotateDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_HgAnnotateDialog(object):
+    def setupUi(self, HgAnnotateDialog):
+        HgAnnotateDialog.setObjectName("HgAnnotateDialog")
+        HgAnnotateDialog.resize(900, 800)
+        HgAnnotateDialog.setSizeGripEnabled(True)
+        self.vboxlayout = QtWidgets.QVBoxLayout(HgAnnotateDialog)
+        self.vboxlayout.setObjectName("vboxlayout")
+        self.annotateList = QtWidgets.QTreeWidget(parent=HgAnnotateDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(6)
+        sizePolicy.setHeightForWidth(self.annotateList.sizePolicy().hasHeightForWidth())
+        self.annotateList.setSizePolicy(sizePolicy)
+        self.annotateList.setAlternatingRowColors(True)
+        self.annotateList.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.NoSelection)
+        self.annotateList.setRootIsDecorated(False)
+        self.annotateList.setItemsExpandable(False)
+        self.annotateList.setObjectName("annotateList")
+        self.annotateList.headerItem().setText(0, " ")
+        self.annotateList.header().setStretchLastSection(False)
+        self.vboxlayout.addWidget(self.annotateList)
+        self.errorGroup = QtWidgets.QGroupBox(parent=HgAnnotateDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(1)
+        sizePolicy.setHeightForWidth(self.errorGroup.sizePolicy().hasHeightForWidth())
+        self.errorGroup.setSizePolicy(sizePolicy)
+        self.errorGroup.setObjectName("errorGroup")
+        self.vboxlayout1 = QtWidgets.QVBoxLayout(self.errorGroup)
+        self.vboxlayout1.setObjectName("vboxlayout1")
+        self.errors = QtWidgets.QTextEdit(parent=self.errorGroup)
+        self.errors.setReadOnly(True)
+        self.errors.setAcceptRichText(False)
+        self.errors.setObjectName("errors")
+        self.vboxlayout1.addWidget(self.errors)
+        self.vboxlayout.addWidget(self.errorGroup)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=HgAnnotateDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.vboxlayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(HgAnnotateDialog)
+        QtCore.QMetaObject.connectSlotsByName(HgAnnotateDialog)
+        HgAnnotateDialog.setTabOrder(self.annotateList, self.errors)
+        HgAnnotateDialog.setTabOrder(self.errors, self.buttonBox)
+
+    def retranslateUi(self, HgAnnotateDialog):
+        _translate = QtCore.QCoreApplication.translate
+        HgAnnotateDialog.setWindowTitle(_translate("HgAnnotateDialog", "Mercurial Annotate"))
+        self.annotateList.headerItem().setText(1, _translate("HgAnnotateDialog", "Revision"))
+        self.annotateList.headerItem().setText(2, _translate("HgAnnotateDialog", "Changeset"))
+        self.annotateList.headerItem().setText(3, _translate("HgAnnotateDialog", "Author"))
+        self.annotateList.headerItem().setText(4, _translate("HgAnnotateDialog", "Date"))
+        self.annotateList.headerItem().setText(5, _translate("HgAnnotateDialog", "Line"))
+        self.errorGroup.setTitle(_translate("HgAnnotateDialog", "Errors"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsMercurial/Ui_HgArchiveDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,71 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsMercurial/HgArchiveDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_HgArchiveDialog(object):
+    def setupUi(self, HgArchiveDialog):
+        HgArchiveDialog.setObjectName("HgArchiveDialog")
+        HgArchiveDialog.resize(400, 149)
+        HgArchiveDialog.setSizeGripEnabled(True)
+        self.gridLayout = QtWidgets.QGridLayout(HgArchiveDialog)
+        self.gridLayout.setObjectName("gridLayout")
+        self.label = QtWidgets.QLabel(parent=HgArchiveDialog)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
+        self.archivePicker = EricPathPicker(parent=HgArchiveDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.archivePicker.sizePolicy().hasHeightForWidth())
+        self.archivePicker.setSizePolicy(sizePolicy)
+        self.archivePicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.archivePicker.setObjectName("archivePicker")
+        self.gridLayout.addWidget(self.archivePicker, 0, 1, 1, 1)
+        self.label_3 = QtWidgets.QLabel(parent=HgArchiveDialog)
+        self.label_3.setObjectName("label_3")
+        self.gridLayout.addWidget(self.label_3, 1, 0, 1, 1)
+        self.typeComboBox = QtWidgets.QComboBox(parent=HgArchiveDialog)
+        self.typeComboBox.setObjectName("typeComboBox")
+        self.gridLayout.addWidget(self.typeComboBox, 1, 1, 1, 1)
+        self.label_2 = QtWidgets.QLabel(parent=HgArchiveDialog)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 2, 0, 1, 1)
+        self.prefixEdit = QtWidgets.QLineEdit(parent=HgArchiveDialog)
+        self.prefixEdit.setObjectName("prefixEdit")
+        self.gridLayout.addWidget(self.prefixEdit, 2, 1, 1, 1)
+        self.subReposCheckBox = QtWidgets.QCheckBox(parent=HgArchiveDialog)
+        self.subReposCheckBox.setObjectName("subReposCheckBox")
+        self.gridLayout.addWidget(self.subReposCheckBox, 3, 0, 1, 2)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=HgArchiveDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout.addWidget(self.buttonBox, 4, 0, 1, 2)
+
+        self.retranslateUi(HgArchiveDialog)
+        self.buttonBox.accepted.connect(HgArchiveDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(HgArchiveDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(HgArchiveDialog)
+        HgArchiveDialog.setTabOrder(self.archivePicker, self.typeComboBox)
+        HgArchiveDialog.setTabOrder(self.typeComboBox, self.prefixEdit)
+        HgArchiveDialog.setTabOrder(self.prefixEdit, self.subReposCheckBox)
+
+    def retranslateUi(self, HgArchiveDialog):
+        _translate = QtCore.QCoreApplication.translate
+        HgArchiveDialog.setWindowTitle(_translate("HgArchiveDialog", "Mercurial Archive"))
+        self.label.setText(_translate("HgArchiveDialog", "Archive:"))
+        self.archivePicker.setToolTip(_translate("HgArchiveDialog", "Enter the file name of the archive"))
+        self.label_3.setText(_translate("HgArchiveDialog", "Type:"))
+        self.typeComboBox.setToolTip(_translate("HgArchiveDialog", "Select the archive type"))
+        self.label_2.setText(_translate("HgArchiveDialog", "Prefix:"))
+        self.prefixEdit.setToolTip(_translate("HgArchiveDialog", "Enter the directory prefix for the files in the archive"))
+        self.subReposCheckBox.setToolTip(_translate("HgArchiveDialog", "Select to recurse into subrepositories"))
+        self.subReposCheckBox.setText(_translate("HgArchiveDialog", "Include Subrepositories"))
+from eric7.EricWidgets.EricPathPicker import EricPathPicker
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsMercurial/Ui_HgBackoutDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,190 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsMercurial/HgBackoutDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_HgBackoutDialog(object):
+    def setupUi(self, HgBackoutDialog):
+        HgBackoutDialog.setObjectName("HgBackoutDialog")
+        HgBackoutDialog.resize(400, 600)
+        HgBackoutDialog.setSizeGripEnabled(True)
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(HgBackoutDialog)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.revisionGroup = QtWidgets.QGroupBox(parent=HgBackoutDialog)
+        self.revisionGroup.setObjectName("revisionGroup")
+        self.gridLayout = QtWidgets.QGridLayout(self.revisionGroup)
+        self.gridLayout.setObjectName("gridLayout")
+        self.numberButton = QtWidgets.QRadioButton(parent=self.revisionGroup)
+        self.numberButton.setObjectName("numberButton")
+        self.gridLayout.addWidget(self.numberButton, 0, 0, 1, 1)
+        self.numberSpinBox = QtWidgets.QSpinBox(parent=self.revisionGroup)
+        self.numberSpinBox.setEnabled(False)
+        self.numberSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight)
+        self.numberSpinBox.setMaximum(999999999)
+        self.numberSpinBox.setObjectName("numberSpinBox")
+        self.gridLayout.addWidget(self.numberSpinBox, 0, 1, 1, 1)
+        spacerItem = QtWidgets.QSpacerItem(158, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout.addItem(spacerItem, 0, 2, 1, 1)
+        self.idButton = QtWidgets.QRadioButton(parent=self.revisionGroup)
+        self.idButton.setObjectName("idButton")
+        self.gridLayout.addWidget(self.idButton, 1, 0, 1, 1)
+        self.idEdit = QtWidgets.QLineEdit(parent=self.revisionGroup)
+        self.idEdit.setEnabled(False)
+        self.idEdit.setObjectName("idEdit")
+        self.gridLayout.addWidget(self.idEdit, 1, 1, 1, 2)
+        self.tagButton = QtWidgets.QRadioButton(parent=self.revisionGroup)
+        self.tagButton.setObjectName("tagButton")
+        self.gridLayout.addWidget(self.tagButton, 2, 0, 1, 1)
+        self.tagCombo = QtWidgets.QComboBox(parent=self.revisionGroup)
+        self.tagCombo.setEnabled(False)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.tagCombo.sizePolicy().hasHeightForWidth())
+        self.tagCombo.setSizePolicy(sizePolicy)
+        self.tagCombo.setEditable(True)
+        self.tagCombo.setObjectName("tagCombo")
+        self.gridLayout.addWidget(self.tagCombo, 2, 1, 1, 2)
+        self.branchButton = QtWidgets.QRadioButton(parent=self.revisionGroup)
+        self.branchButton.setObjectName("branchButton")
+        self.gridLayout.addWidget(self.branchButton, 3, 0, 1, 1)
+        self.branchCombo = QtWidgets.QComboBox(parent=self.revisionGroup)
+        self.branchCombo.setEnabled(False)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.branchCombo.sizePolicy().hasHeightForWidth())
+        self.branchCombo.setSizePolicy(sizePolicy)
+        self.branchCombo.setEditable(True)
+        self.branchCombo.setObjectName("branchCombo")
+        self.gridLayout.addWidget(self.branchCombo, 3, 1, 1, 2)
+        self.bookmarkButton = QtWidgets.QRadioButton(parent=self.revisionGroup)
+        self.bookmarkButton.setObjectName("bookmarkButton")
+        self.gridLayout.addWidget(self.bookmarkButton, 4, 0, 1, 1)
+        self.bookmarkCombo = QtWidgets.QComboBox(parent=self.revisionGroup)
+        self.bookmarkCombo.setEnabled(False)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.bookmarkCombo.sizePolicy().hasHeightForWidth())
+        self.bookmarkCombo.setSizePolicy(sizePolicy)
+        self.bookmarkCombo.setEditable(True)
+        self.bookmarkCombo.setObjectName("bookmarkCombo")
+        self.gridLayout.addWidget(self.bookmarkCombo, 4, 1, 1, 2)
+        self.expressionButton = QtWidgets.QRadioButton(parent=self.revisionGroup)
+        self.expressionButton.setObjectName("expressionButton")
+        self.gridLayout.addWidget(self.expressionButton, 5, 0, 1, 1)
+        self.expressionEdit = QtWidgets.QLineEdit(parent=self.revisionGroup)
+        self.expressionEdit.setEnabled(False)
+        self.expressionEdit.setClearButtonEnabled(True)
+        self.expressionEdit.setObjectName("expressionEdit")
+        self.gridLayout.addWidget(self.expressionEdit, 5, 1, 1, 2)
+        self.noneButton = QtWidgets.QRadioButton(parent=self.revisionGroup)
+        self.noneButton.setChecked(True)
+        self.noneButton.setObjectName("noneButton")
+        self.gridLayout.addWidget(self.noneButton, 6, 0, 1, 3)
+        self.verticalLayout_2.addWidget(self.revisionGroup)
+        self.groupBox_2 = QtWidgets.QGroupBox(parent=HgBackoutDialog)
+        self.groupBox_2.setObjectName("groupBox_2")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.groupBox_2)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.label_3 = QtWidgets.QLabel(parent=self.groupBox_2)
+        self.label_3.setObjectName("label_3")
+        self.verticalLayout.addWidget(self.label_3)
+        self.messageEdit = EricSpellCheckedPlainTextEdit(parent=self.groupBox_2)
+        self.messageEdit.setTabChangesFocus(True)
+        self.messageEdit.setObjectName("messageEdit")
+        self.verticalLayout.addWidget(self.messageEdit)
+        self.gridLayout_2 = QtWidgets.QGridLayout()
+        self.gridLayout_2.setObjectName("gridLayout_2")
+        self.label = QtWidgets.QLabel(parent=self.groupBox_2)
+        self.label.setObjectName("label")
+        self.gridLayout_2.addWidget(self.label, 0, 0, 1, 1)
+        self.dateEdit = QtWidgets.QDateTimeEdit(parent=self.groupBox_2)
+        self.dateEdit.setDisplayFormat("yyyy-MM-dd HH:mm")
+        self.dateEdit.setCalendarPopup(False)
+        self.dateEdit.setObjectName("dateEdit")
+        self.gridLayout_2.addWidget(self.dateEdit, 0, 1, 1, 1)
+        self.label_2 = QtWidgets.QLabel(parent=self.groupBox_2)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout_2.addWidget(self.label_2, 1, 0, 1, 1)
+        self.userEdit = QtWidgets.QLineEdit(parent=self.groupBox_2)
+        self.userEdit.setObjectName("userEdit")
+        self.gridLayout_2.addWidget(self.userEdit, 1, 1, 1, 1)
+        self.verticalLayout.addLayout(self.gridLayout_2)
+        self.verticalLayout_2.addWidget(self.groupBox_2)
+        self.mergeCheckBox = QtWidgets.QCheckBox(parent=HgBackoutDialog)
+        self.mergeCheckBox.setObjectName("mergeCheckBox")
+        self.verticalLayout_2.addWidget(self.mergeCheckBox)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=HgBackoutDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout_2.addWidget(self.buttonBox)
+
+        self.retranslateUi(HgBackoutDialog)
+        self.buttonBox.accepted.connect(HgBackoutDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(HgBackoutDialog.reject) # type: ignore
+        self.numberButton.toggled['bool'].connect(self.numberSpinBox.setEnabled) # type: ignore
+        self.idButton.toggled['bool'].connect(self.idEdit.setEnabled) # type: ignore
+        self.tagButton.toggled['bool'].connect(self.tagCombo.setEnabled) # type: ignore
+        self.branchButton.toggled['bool'].connect(self.branchCombo.setEnabled) # type: ignore
+        self.bookmarkButton.toggled['bool'].connect(self.bookmarkCombo.setEnabled) # type: ignore
+        self.expressionButton.toggled['bool'].connect(self.expressionEdit.setEnabled) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(HgBackoutDialog)
+        HgBackoutDialog.setTabOrder(self.numberButton, self.numberSpinBox)
+        HgBackoutDialog.setTabOrder(self.numberSpinBox, self.idButton)
+        HgBackoutDialog.setTabOrder(self.idButton, self.idEdit)
+        HgBackoutDialog.setTabOrder(self.idEdit, self.tagButton)
+        HgBackoutDialog.setTabOrder(self.tagButton, self.tagCombo)
+        HgBackoutDialog.setTabOrder(self.tagCombo, self.branchButton)
+        HgBackoutDialog.setTabOrder(self.branchButton, self.branchCombo)
+        HgBackoutDialog.setTabOrder(self.branchCombo, self.bookmarkButton)
+        HgBackoutDialog.setTabOrder(self.bookmarkButton, self.bookmarkCombo)
+        HgBackoutDialog.setTabOrder(self.bookmarkCombo, self.expressionButton)
+        HgBackoutDialog.setTabOrder(self.expressionButton, self.expressionEdit)
+        HgBackoutDialog.setTabOrder(self.expressionEdit, self.noneButton)
+        HgBackoutDialog.setTabOrder(self.noneButton, self.messageEdit)
+        HgBackoutDialog.setTabOrder(self.messageEdit, self.dateEdit)
+        HgBackoutDialog.setTabOrder(self.dateEdit, self.userEdit)
+        HgBackoutDialog.setTabOrder(self.userEdit, self.mergeCheckBox)
+
+    def retranslateUi(self, HgBackoutDialog):
+        _translate = QtCore.QCoreApplication.translate
+        HgBackoutDialog.setWindowTitle(_translate("HgBackoutDialog", "Mercurial Revision"))
+        self.revisionGroup.setTitle(_translate("HgBackoutDialog", "Revision"))
+        self.numberButton.setToolTip(_translate("HgBackoutDialog", "Select to specify a revision by number"))
+        self.numberButton.setText(_translate("HgBackoutDialog", "Number"))
+        self.numberSpinBox.setToolTip(_translate("HgBackoutDialog", "Enter a revision number"))
+        self.idButton.setToolTip(_translate("HgBackoutDialog", "Select to specify a revision by changeset id"))
+        self.idButton.setText(_translate("HgBackoutDialog", "Id:"))
+        self.idEdit.setToolTip(_translate("HgBackoutDialog", "Enter a changeset id"))
+        self.tagButton.setToolTip(_translate("HgBackoutDialog", "Select to specify a revision by a tag"))
+        self.tagButton.setText(_translate("HgBackoutDialog", "Tag:"))
+        self.tagCombo.setToolTip(_translate("HgBackoutDialog", "Enter a tag name"))
+        self.branchButton.setToolTip(_translate("HgBackoutDialog", "Select to specify a revision by a branch"))
+        self.branchButton.setText(_translate("HgBackoutDialog", "Branch:"))
+        self.branchCombo.setToolTip(_translate("HgBackoutDialog", "Enter a branch name"))
+        self.bookmarkButton.setToolTip(_translate("HgBackoutDialog", "Select to specify a revision by a bookmark"))
+        self.bookmarkButton.setText(_translate("HgBackoutDialog", "Bookmark:"))
+        self.bookmarkCombo.setToolTip(_translate("HgBackoutDialog", "Enter a bookmark name"))
+        self.expressionButton.setText(_translate("HgBackoutDialog", "Expression:"))
+        self.expressionEdit.setToolTip(_translate("HgBackoutDialog", "Enter a revision set expression"))
+        self.noneButton.setToolTip(_translate("HgBackoutDialog", "Select to not specify a specific revision"))
+        self.noneButton.setText(_translate("HgBackoutDialog", "Parent"))
+        self.groupBox_2.setTitle(_translate("HgBackoutDialog", "Commit data"))
+        self.label_3.setText(_translate("HgBackoutDialog", "Commit message:"))
+        self.messageEdit.setToolTip(_translate("HgBackoutDialog", "Enter the commit message or leave empty to use the default one"))
+        self.label.setText(_translate("HgBackoutDialog", "Commit Date:"))
+        self.dateEdit.setToolTip(_translate("HgBackoutDialog", "Enter optional date for the commit"))
+        self.label_2.setText(_translate("HgBackoutDialog", "Commit User:"))
+        self.userEdit.setToolTip(_translate("HgBackoutDialog", "Enter optional user for the commit"))
+        self.mergeCheckBox.setToolTip(_translate("HgBackoutDialog", "Select to merge with parent of the project directory"))
+        self.mergeCheckBox.setText(_translate("HgBackoutDialog", "Merge with current parent"))
+from eric7.EricWidgets.EricSpellCheckedTextEdit import EricSpellCheckedPlainTextEdit
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsMercurial/Ui_HgBookmarkDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,166 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsMercurial/HgBookmarkDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_HgBookmarkDialog(object):
+    def setupUi(self, HgBookmarkDialog):
+        HgBookmarkDialog.setObjectName("HgBookmarkDialog")
+        HgBookmarkDialog.resize(400, 346)
+        HgBookmarkDialog.setWindowTitle("")
+        HgBookmarkDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(HgBookmarkDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.label = QtWidgets.QLabel(parent=HgBookmarkDialog)
+        self.label.setObjectName("label")
+        self.horizontalLayout.addWidget(self.label)
+        self.nameEdit = QtWidgets.QLineEdit(parent=HgBookmarkDialog)
+        self.nameEdit.setObjectName("nameEdit")
+        self.horizontalLayout.addWidget(self.nameEdit)
+        self.nameCombo = QtWidgets.QComboBox(parent=HgBookmarkDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.nameCombo.sizePolicy().hasHeightForWidth())
+        self.nameCombo.setSizePolicy(sizePolicy)
+        self.nameCombo.setObjectName("nameCombo")
+        self.horizontalLayout.addWidget(self.nameCombo)
+        self.verticalLayout.addLayout(self.horizontalLayout)
+        self.groupBox = QtWidgets.QGroupBox(parent=HgBookmarkDialog)
+        self.groupBox.setObjectName("groupBox")
+        self.gridLayout = QtWidgets.QGridLayout(self.groupBox)
+        self.gridLayout.setObjectName("gridLayout")
+        self.numberButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.numberButton.setObjectName("numberButton")
+        self.gridLayout.addWidget(self.numberButton, 0, 0, 1, 1)
+        self.numberSpinBox = QtWidgets.QSpinBox(parent=self.groupBox)
+        self.numberSpinBox.setEnabled(False)
+        self.numberSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight)
+        self.numberSpinBox.setMaximum(999999999)
+        self.numberSpinBox.setObjectName("numberSpinBox")
+        self.gridLayout.addWidget(self.numberSpinBox, 0, 1, 1, 1)
+        spacerItem = QtWidgets.QSpacerItem(158, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout.addItem(spacerItem, 0, 2, 1, 1)
+        self.idButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.idButton.setObjectName("idButton")
+        self.gridLayout.addWidget(self.idButton, 1, 0, 1, 1)
+        self.idEdit = QtWidgets.QLineEdit(parent=self.groupBox)
+        self.idEdit.setEnabled(False)
+        self.idEdit.setObjectName("idEdit")
+        self.gridLayout.addWidget(self.idEdit, 1, 1, 1, 2)
+        self.tagButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.tagButton.setObjectName("tagButton")
+        self.gridLayout.addWidget(self.tagButton, 2, 0, 1, 1)
+        self.tagCombo = QtWidgets.QComboBox(parent=self.groupBox)
+        self.tagCombo.setEnabled(False)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.tagCombo.sizePolicy().hasHeightForWidth())
+        self.tagCombo.setSizePolicy(sizePolicy)
+        self.tagCombo.setEditable(True)
+        self.tagCombo.setObjectName("tagCombo")
+        self.gridLayout.addWidget(self.tagCombo, 2, 1, 1, 2)
+        self.branchButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.branchButton.setObjectName("branchButton")
+        self.gridLayout.addWidget(self.branchButton, 3, 0, 1, 1)
+        self.branchCombo = QtWidgets.QComboBox(parent=self.groupBox)
+        self.branchCombo.setEnabled(False)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.branchCombo.sizePolicy().hasHeightForWidth())
+        self.branchCombo.setSizePolicy(sizePolicy)
+        self.branchCombo.setEditable(True)
+        self.branchCombo.setObjectName("branchCombo")
+        self.gridLayout.addWidget(self.branchCombo, 3, 1, 1, 2)
+        self.bookmarkButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.bookmarkButton.setObjectName("bookmarkButton")
+        self.gridLayout.addWidget(self.bookmarkButton, 4, 0, 1, 1)
+        self.bookmarkCombo = QtWidgets.QComboBox(parent=self.groupBox)
+        self.bookmarkCombo.setEnabled(False)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.bookmarkCombo.sizePolicy().hasHeightForWidth())
+        self.bookmarkCombo.setSizePolicy(sizePolicy)
+        self.bookmarkCombo.setEditable(True)
+        self.bookmarkCombo.setObjectName("bookmarkCombo")
+        self.gridLayout.addWidget(self.bookmarkCombo, 4, 1, 1, 2)
+        self.expressionButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.expressionButton.setObjectName("expressionButton")
+        self.gridLayout.addWidget(self.expressionButton, 5, 0, 1, 1)
+        self.expressionEdit = QtWidgets.QLineEdit(parent=self.groupBox)
+        self.expressionEdit.setEnabled(False)
+        self.expressionEdit.setClearButtonEnabled(True)
+        self.expressionEdit.setObjectName("expressionEdit")
+        self.gridLayout.addWidget(self.expressionEdit, 5, 1, 1, 2)
+        self.tipButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.tipButton.setChecked(True)
+        self.tipButton.setObjectName("tipButton")
+        self.gridLayout.addWidget(self.tipButton, 6, 0, 1, 3)
+        self.verticalLayout.addWidget(self.groupBox)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=HgBookmarkDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(HgBookmarkDialog)
+        self.buttonBox.accepted.connect(HgBookmarkDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(HgBookmarkDialog.reject) # type: ignore
+        self.numberButton.toggled['bool'].connect(self.numberSpinBox.setEnabled) # type: ignore
+        self.idButton.toggled['bool'].connect(self.idEdit.setEnabled) # type: ignore
+        self.tagButton.toggled['bool'].connect(self.tagCombo.setEnabled) # type: ignore
+        self.branchButton.toggled['bool'].connect(self.branchCombo.setEnabled) # type: ignore
+        self.bookmarkButton.toggled['bool'].connect(self.bookmarkCombo.setEnabled) # type: ignore
+        self.expressionButton.toggled['bool'].connect(self.expressionEdit.setEnabled) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(HgBookmarkDialog)
+        HgBookmarkDialog.setTabOrder(self.nameEdit, self.nameCombo)
+        HgBookmarkDialog.setTabOrder(self.nameCombo, self.numberButton)
+        HgBookmarkDialog.setTabOrder(self.numberButton, self.numberSpinBox)
+        HgBookmarkDialog.setTabOrder(self.numberSpinBox, self.idButton)
+        HgBookmarkDialog.setTabOrder(self.idButton, self.idEdit)
+        HgBookmarkDialog.setTabOrder(self.idEdit, self.tagButton)
+        HgBookmarkDialog.setTabOrder(self.tagButton, self.tagCombo)
+        HgBookmarkDialog.setTabOrder(self.tagCombo, self.branchButton)
+        HgBookmarkDialog.setTabOrder(self.branchButton, self.branchCombo)
+        HgBookmarkDialog.setTabOrder(self.branchCombo, self.bookmarkButton)
+        HgBookmarkDialog.setTabOrder(self.bookmarkButton, self.bookmarkCombo)
+        HgBookmarkDialog.setTabOrder(self.bookmarkCombo, self.expressionButton)
+        HgBookmarkDialog.setTabOrder(self.expressionButton, self.expressionEdit)
+        HgBookmarkDialog.setTabOrder(self.expressionEdit, self.tipButton)
+
+    def retranslateUi(self, HgBookmarkDialog):
+        _translate = QtCore.QCoreApplication.translate
+        self.label.setText(_translate("HgBookmarkDialog", "Name:"))
+        self.nameEdit.setToolTip(_translate("HgBookmarkDialog", "Enter the bookmark name"))
+        self.nameCombo.setToolTip(_translate("HgBookmarkDialog", "Select a bookmark"))
+        self.groupBox.setTitle(_translate("HgBookmarkDialog", "Revision"))
+        self.numberButton.setToolTip(_translate("HgBookmarkDialog", "Select to specify a revision by number"))
+        self.numberButton.setText(_translate("HgBookmarkDialog", "Number"))
+        self.numberSpinBox.setToolTip(_translate("HgBookmarkDialog", "Enter a revision number"))
+        self.idButton.setToolTip(_translate("HgBookmarkDialog", "Select to specify a revision by changeset id"))
+        self.idButton.setText(_translate("HgBookmarkDialog", "Id:"))
+        self.idEdit.setToolTip(_translate("HgBookmarkDialog", "Enter a changeset id"))
+        self.tagButton.setToolTip(_translate("HgBookmarkDialog", "Select to specify a revision by a tag"))
+        self.tagButton.setText(_translate("HgBookmarkDialog", "Tag:"))
+        self.tagCombo.setToolTip(_translate("HgBookmarkDialog", "Enter a tag name"))
+        self.branchButton.setToolTip(_translate("HgBookmarkDialog", "Select to specify a revision by a branch"))
+        self.branchButton.setText(_translate("HgBookmarkDialog", "Branch:"))
+        self.branchCombo.setToolTip(_translate("HgBookmarkDialog", "Enter a branch name"))
+        self.bookmarkButton.setToolTip(_translate("HgBookmarkDialog", "Select to specify a revision by a bookmark"))
+        self.bookmarkButton.setText(_translate("HgBookmarkDialog", "Bookmark:"))
+        self.bookmarkCombo.setToolTip(_translate("HgBookmarkDialog", "Enter a bookmark name"))
+        self.expressionButton.setText(_translate("HgBookmarkDialog", "Expression:"))
+        self.expressionEdit.setToolTip(_translate("HgBookmarkDialog", "Enter a revision set expression"))
+        self.tipButton.setToolTip(_translate("HgBookmarkDialog", "Select tip revision of repository"))
+        self.tipButton.setText(_translate("HgBookmarkDialog", "Parent"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsMercurial/Ui_HgBookmarkRenameDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,56 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsMercurial/HgBookmarkRenameDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_HgBookmarkRenameDialog(object):
+    def setupUi(self, HgBookmarkRenameDialog):
+        HgBookmarkRenameDialog.setObjectName("HgBookmarkRenameDialog")
+        HgBookmarkRenameDialog.resize(400, 102)
+        HgBookmarkRenameDialog.setSizeGripEnabled(True)
+        self.gridLayout = QtWidgets.QGridLayout(HgBookmarkRenameDialog)
+        self.gridLayout.setObjectName("gridLayout")
+        self.label = QtWidgets.QLabel(parent=HgBookmarkRenameDialog)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
+        self.nameEdit = QtWidgets.QLineEdit(parent=HgBookmarkRenameDialog)
+        self.nameEdit.setObjectName("nameEdit")
+        self.gridLayout.addWidget(self.nameEdit, 0, 1, 1, 1)
+        self.label_2 = QtWidgets.QLabel(parent=HgBookmarkRenameDialog)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 1, 0, 1, 1)
+        self.bookmarkCombo = QtWidgets.QComboBox(parent=HgBookmarkRenameDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.bookmarkCombo.sizePolicy().hasHeightForWidth())
+        self.bookmarkCombo.setSizePolicy(sizePolicy)
+        self.bookmarkCombo.setEditable(True)
+        self.bookmarkCombo.setObjectName("bookmarkCombo")
+        self.gridLayout.addWidget(self.bookmarkCombo, 1, 1, 1, 1)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=HgBookmarkRenameDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout.addWidget(self.buttonBox, 2, 0, 1, 2)
+
+        self.retranslateUi(HgBookmarkRenameDialog)
+        self.buttonBox.accepted.connect(HgBookmarkRenameDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(HgBookmarkRenameDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(HgBookmarkRenameDialog)
+        HgBookmarkRenameDialog.setTabOrder(self.nameEdit, self.bookmarkCombo)
+        HgBookmarkRenameDialog.setTabOrder(self.bookmarkCombo, self.buttonBox)
+
+    def retranslateUi(self, HgBookmarkRenameDialog):
+        _translate = QtCore.QCoreApplication.translate
+        HgBookmarkRenameDialog.setWindowTitle(_translate("HgBookmarkRenameDialog", "Rename Bookmark"))
+        self.label.setText(_translate("HgBookmarkRenameDialog", "New Name:"))
+        self.nameEdit.setToolTip(_translate("HgBookmarkRenameDialog", "Enter the bookmark name"))
+        self.label_2.setText(_translate("HgBookmarkRenameDialog", "Bookmark:"))
+        self.bookmarkCombo.setToolTip(_translate("HgBookmarkRenameDialog", "Enter the bookmark name to be renamed"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsMercurial/Ui_HgBookmarksInOutDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,64 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsMercurial/HgBookmarksInOutDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_HgBookmarksInOutDialog(object):
+    def setupUi(self, HgBookmarksInOutDialog):
+        HgBookmarksInOutDialog.setObjectName("HgBookmarksInOutDialog")
+        HgBookmarksInOutDialog.resize(520, 494)
+        HgBookmarksInOutDialog.setWindowTitle("")
+        HgBookmarksInOutDialog.setSizeGripEnabled(True)
+        self.vboxlayout = QtWidgets.QVBoxLayout(HgBookmarksInOutDialog)
+        self.vboxlayout.setObjectName("vboxlayout")
+        self.bookmarksList = QtWidgets.QTreeWidget(parent=HgBookmarksInOutDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(2)
+        sizePolicy.setHeightForWidth(self.bookmarksList.sizePolicy().hasHeightForWidth())
+        self.bookmarksList.setSizePolicy(sizePolicy)
+        self.bookmarksList.setAlternatingRowColors(True)
+        self.bookmarksList.setRootIsDecorated(False)
+        self.bookmarksList.setItemsExpandable(False)
+        self.bookmarksList.setObjectName("bookmarksList")
+        self.vboxlayout.addWidget(self.bookmarksList)
+        self.errorGroup = QtWidgets.QGroupBox(parent=HgBookmarksInOutDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(1)
+        sizePolicy.setHeightForWidth(self.errorGroup.sizePolicy().hasHeightForWidth())
+        self.errorGroup.setSizePolicy(sizePolicy)
+        self.errorGroup.setObjectName("errorGroup")
+        self.vboxlayout1 = QtWidgets.QVBoxLayout(self.errorGroup)
+        self.vboxlayout1.setObjectName("vboxlayout1")
+        self.errors = QtWidgets.QTextEdit(parent=self.errorGroup)
+        self.errors.setReadOnly(True)
+        self.errors.setAcceptRichText(False)
+        self.errors.setObjectName("errors")
+        self.vboxlayout1.addWidget(self.errors)
+        self.vboxlayout.addWidget(self.errorGroup)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=HgBookmarksInOutDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.vboxlayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(HgBookmarksInOutDialog)
+        QtCore.QMetaObject.connectSlotsByName(HgBookmarksInOutDialog)
+        HgBookmarksInOutDialog.setTabOrder(self.bookmarksList, self.errors)
+        HgBookmarksInOutDialog.setTabOrder(self.errors, self.buttonBox)
+
+    def retranslateUi(self, HgBookmarksInOutDialog):
+        _translate = QtCore.QCoreApplication.translate
+        self.bookmarksList.setWhatsThis(_translate("HgBookmarksInOutDialog", "<b>Bookmarks List</b>\n"
+"<p>This shows a list of the bookmarks.</p>"))
+        self.bookmarksList.setSortingEnabled(True)
+        self.bookmarksList.headerItem().setText(0, _translate("HgBookmarksInOutDialog", "Name"))
+        self.bookmarksList.headerItem().setText(1, _translate("HgBookmarksInOutDialog", "Changeset"))
+        self.errorGroup.setTitle(_translate("HgBookmarksInOutDialog", "Errors"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsMercurial/Ui_HgBookmarksListDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,69 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsMercurial/HgBookmarksListDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_HgBookmarksListDialog(object):
+    def setupUi(self, HgBookmarksListDialog):
+        HgBookmarksListDialog.setObjectName("HgBookmarksListDialog")
+        HgBookmarksListDialog.resize(634, 494)
+        HgBookmarksListDialog.setSizeGripEnabled(True)
+        self.vboxlayout = QtWidgets.QVBoxLayout(HgBookmarksListDialog)
+        self.vboxlayout.setObjectName("vboxlayout")
+        self.bookmarksList = QtWidgets.QTreeWidget(parent=HgBookmarksListDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(2)
+        sizePolicy.setHeightForWidth(self.bookmarksList.sizePolicy().hasHeightForWidth())
+        self.bookmarksList.setSizePolicy(sizePolicy)
+        self.bookmarksList.setContextMenuPolicy(QtCore.Qt.ContextMenuPolicy.CustomContextMenu)
+        self.bookmarksList.setAlternatingRowColors(True)
+        self.bookmarksList.setRootIsDecorated(False)
+        self.bookmarksList.setItemsExpandable(False)
+        self.bookmarksList.setObjectName("bookmarksList")
+        self.vboxlayout.addWidget(self.bookmarksList)
+        self.errorGroup = QtWidgets.QGroupBox(parent=HgBookmarksListDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(1)
+        sizePolicy.setHeightForWidth(self.errorGroup.sizePolicy().hasHeightForWidth())
+        self.errorGroup.setSizePolicy(sizePolicy)
+        self.errorGroup.setObjectName("errorGroup")
+        self.vboxlayout1 = QtWidgets.QVBoxLayout(self.errorGroup)
+        self.vboxlayout1.setObjectName("vboxlayout1")
+        self.errors = QtWidgets.QTextEdit(parent=self.errorGroup)
+        self.errors.setReadOnly(True)
+        self.errors.setAcceptRichText(False)
+        self.errors.setObjectName("errors")
+        self.vboxlayout1.addWidget(self.errors)
+        self.vboxlayout.addWidget(self.errorGroup)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=HgBookmarksListDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.vboxlayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(HgBookmarksListDialog)
+        QtCore.QMetaObject.connectSlotsByName(HgBookmarksListDialog)
+        HgBookmarksListDialog.setTabOrder(self.bookmarksList, self.errors)
+        HgBookmarksListDialog.setTabOrder(self.errors, self.buttonBox)
+
+    def retranslateUi(self, HgBookmarksListDialog):
+        _translate = QtCore.QCoreApplication.translate
+        HgBookmarksListDialog.setWindowTitle(_translate("HgBookmarksListDialog", "Mercurial Bookmarks"))
+        HgBookmarksListDialog.setWhatsThis(_translate("HgBookmarksListDialog", "<b>Mercurial Bookmarks</b>\n"
+"<p>This dialog shows a list of the projects bookmarks.</p>"))
+        self.bookmarksList.setWhatsThis(_translate("HgBookmarksListDialog", "<b>Bookmarks List</b>\n"
+"<p>This shows a list of the projects bookmarks.</p>"))
+        self.bookmarksList.setSortingEnabled(True)
+        self.bookmarksList.headerItem().setText(0, _translate("HgBookmarksListDialog", "Revision"))
+        self.bookmarksList.headerItem().setText(1, _translate("HgBookmarksListDialog", "Changeset"))
+        self.bookmarksList.headerItem().setText(2, _translate("HgBookmarksListDialog", "Status"))
+        self.bookmarksList.headerItem().setText(3, _translate("HgBookmarksListDialog", "Name"))
+        self.errorGroup.setTitle(_translate("HgBookmarksListDialog", "Errors"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsMercurial/Ui_HgBranchInputDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,56 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsMercurial/HgBranchInputDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_HgBranchInputDialog(object):
+    def setupUi(self, HgBranchInputDialog):
+        HgBranchInputDialog.setObjectName("HgBranchInputDialog")
+        HgBranchInputDialog.resize(400, 130)
+        HgBranchInputDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(HgBranchInputDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.label = QtWidgets.QLabel(parent=HgBranchInputDialog)
+        self.label.setObjectName("label")
+        self.verticalLayout.addWidget(self.label)
+        self.branchComboBox = QtWidgets.QComboBox(parent=HgBranchInputDialog)
+        self.branchComboBox.setEditable(True)
+        self.branchComboBox.setObjectName("branchComboBox")
+        self.verticalLayout.addWidget(self.branchComboBox)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.commitCheckBox = QtWidgets.QCheckBox(parent=HgBranchInputDialog)
+        self.commitCheckBox.setObjectName("commitCheckBox")
+        self.horizontalLayout.addWidget(self.commitCheckBox)
+        self.forceCheckBox = QtWidgets.QCheckBox(parent=HgBranchInputDialog)
+        self.forceCheckBox.setObjectName("forceCheckBox")
+        self.horizontalLayout.addWidget(self.forceCheckBox)
+        self.verticalLayout.addLayout(self.horizontalLayout)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=HgBranchInputDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(HgBranchInputDialog)
+        self.buttonBox.accepted.connect(HgBranchInputDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(HgBranchInputDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(HgBranchInputDialog)
+        HgBranchInputDialog.setTabOrder(self.branchComboBox, self.commitCheckBox)
+        HgBranchInputDialog.setTabOrder(self.commitCheckBox, self.buttonBox)
+
+    def retranslateUi(self, HgBranchInputDialog):
+        _translate = QtCore.QCoreApplication.translate
+        HgBranchInputDialog.setWindowTitle(_translate("HgBranchInputDialog", "Create Branch"))
+        self.label.setText(_translate("HgBranchInputDialog", "Enter branch name:"))
+        self.branchComboBox.setToolTip(_translate("HgBranchInputDialog", "Enter the new branch name (spaces will be converted to _)"))
+        self.commitCheckBox.setToolTip(_translate("HgBranchInputDialog", "Select to commit the branch"))
+        self.commitCheckBox.setText(_translate("HgBranchInputDialog", "Commit Branch"))
+        self.forceCheckBox.setToolTip(_translate("HgBranchInputDialog", "Select to force creating the branch"))
+        self.forceCheckBox.setText(_translate("HgBranchInputDialog", "Force"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsMercurial/Ui_HgBundleDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,144 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsMercurial/HgBundleDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_HgBundleDialog(object):
+    def setupUi(self, HgBundleDialog):
+        HgBundleDialog.setObjectName("HgBundleDialog")
+        HgBundleDialog.resize(450, 452)
+        HgBundleDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(HgBundleDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.groupBox = QtWidgets.QGroupBox(parent=HgBundleDialog)
+        self.groupBox.setObjectName("groupBox")
+        self.gridLayout = QtWidgets.QGridLayout(self.groupBox)
+        self.gridLayout.setObjectName("gridLayout")
+        self.multipleButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.multipleButton.setObjectName("multipleButton")
+        self.gridLayout.addWidget(self.multipleButton, 0, 0, 1, 1)
+        self.multipleEdit = QtWidgets.QPlainTextEdit(parent=self.groupBox)
+        self.multipleEdit.setEnabled(False)
+        self.multipleEdit.setTabChangesFocus(True)
+        self.multipleEdit.setLineWrapMode(QtWidgets.QPlainTextEdit.LineWrapMode.NoWrap)
+        self.multipleEdit.setObjectName("multipleEdit")
+        self.gridLayout.addWidget(self.multipleEdit, 0, 1, 1, 1)
+        self.tagButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.tagButton.setObjectName("tagButton")
+        self.gridLayout.addWidget(self.tagButton, 1, 0, 1, 1)
+        self.tagCombo = QtWidgets.QComboBox(parent=self.groupBox)
+        self.tagCombo.setEnabled(False)
+        self.tagCombo.setEditable(True)
+        self.tagCombo.setObjectName("tagCombo")
+        self.gridLayout.addWidget(self.tagCombo, 1, 1, 1, 1)
+        self.branchButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.branchButton.setObjectName("branchButton")
+        self.gridLayout.addWidget(self.branchButton, 2, 0, 1, 1)
+        self.branchCombo = QtWidgets.QComboBox(parent=self.groupBox)
+        self.branchCombo.setEnabled(False)
+        self.branchCombo.setEditable(True)
+        self.branchCombo.setObjectName("branchCombo")
+        self.gridLayout.addWidget(self.branchCombo, 2, 1, 1, 1)
+        self.bookmarkButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.bookmarkButton.setObjectName("bookmarkButton")
+        self.gridLayout.addWidget(self.bookmarkButton, 3, 0, 1, 1)
+        self.bookmarkCombo = QtWidgets.QComboBox(parent=self.groupBox)
+        self.bookmarkCombo.setEnabled(False)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.bookmarkCombo.sizePolicy().hasHeightForWidth())
+        self.bookmarkCombo.setSizePolicy(sizePolicy)
+        self.bookmarkCombo.setEditable(True)
+        self.bookmarkCombo.setObjectName("bookmarkCombo")
+        self.gridLayout.addWidget(self.bookmarkCombo, 3, 1, 1, 1)
+        self.noneButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.noneButton.setChecked(True)
+        self.noneButton.setObjectName("noneButton")
+        self.gridLayout.addWidget(self.noneButton, 4, 0, 1, 2)
+        self.verticalLayout.addWidget(self.groupBox)
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.label_2 = QtWidgets.QLabel(parent=HgBundleDialog)
+        self.label_2.setObjectName("label_2")
+        self.horizontalLayout_2.addWidget(self.label_2)
+        self.baseRevisionsEdit = QtWidgets.QPlainTextEdit(parent=HgBundleDialog)
+        self.baseRevisionsEdit.setTabChangesFocus(True)
+        self.baseRevisionsEdit.setLineWrapMode(QtWidgets.QPlainTextEdit.LineWrapMode.NoWrap)
+        self.baseRevisionsEdit.setObjectName("baseRevisionsEdit")
+        self.horizontalLayout_2.addWidget(self.baseRevisionsEdit)
+        self.verticalLayout.addLayout(self.horizontalLayout_2)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.label = QtWidgets.QLabel(parent=HgBundleDialog)
+        self.label.setObjectName("label")
+        self.horizontalLayout.addWidget(self.label)
+        self.compressionCombo = QtWidgets.QComboBox(parent=HgBundleDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.compressionCombo.sizePolicy().hasHeightForWidth())
+        self.compressionCombo.setSizePolicy(sizePolicy)
+        self.compressionCombo.setObjectName("compressionCombo")
+        self.horizontalLayout.addWidget(self.compressionCombo)
+        self.verticalLayout.addLayout(self.horizontalLayout)
+        self.allCheckBox = QtWidgets.QCheckBox(parent=HgBundleDialog)
+        self.allCheckBox.setObjectName("allCheckBox")
+        self.verticalLayout.addWidget(self.allCheckBox)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=HgBundleDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(HgBundleDialog)
+        self.buttonBox.accepted.connect(HgBundleDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(HgBundleDialog.reject) # type: ignore
+        self.tagButton.toggled['bool'].connect(self.tagCombo.setEnabled) # type: ignore
+        self.branchButton.toggled['bool'].connect(self.branchCombo.setEnabled) # type: ignore
+        self.bookmarkButton.toggled['bool'].connect(self.bookmarkCombo.setEnabled) # type: ignore
+        self.multipleButton.toggled['bool'].connect(self.multipleEdit.setEnabled) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(HgBundleDialog)
+        HgBundleDialog.setTabOrder(self.multipleButton, self.multipleEdit)
+        HgBundleDialog.setTabOrder(self.multipleEdit, self.tagButton)
+        HgBundleDialog.setTabOrder(self.tagButton, self.tagCombo)
+        HgBundleDialog.setTabOrder(self.tagCombo, self.branchButton)
+        HgBundleDialog.setTabOrder(self.branchButton, self.branchCombo)
+        HgBundleDialog.setTabOrder(self.branchCombo, self.bookmarkButton)
+        HgBundleDialog.setTabOrder(self.bookmarkButton, self.bookmarkCombo)
+        HgBundleDialog.setTabOrder(self.bookmarkCombo, self.noneButton)
+        HgBundleDialog.setTabOrder(self.noneButton, self.baseRevisionsEdit)
+        HgBundleDialog.setTabOrder(self.baseRevisionsEdit, self.compressionCombo)
+        HgBundleDialog.setTabOrder(self.compressionCombo, self.allCheckBox)
+        HgBundleDialog.setTabOrder(self.allCheckBox, self.buttonBox)
+
+    def retranslateUi(self, HgBundleDialog):
+        _translate = QtCore.QCoreApplication.translate
+        HgBundleDialog.setWindowTitle(_translate("HgBundleDialog", "Mercurial Bundle"))
+        self.groupBox.setTitle(_translate("HgBundleDialog", "Revision"))
+        self.multipleButton.setToolTip(_translate("HgBundleDialog", "Select to specify multiple revisions"))
+        self.multipleButton.setText(_translate("HgBundleDialog", "Revisions:"))
+        self.multipleEdit.setToolTip(_translate("HgBundleDialog", "Enter revisions by number, id, range or revset expression one per line"))
+        self.tagButton.setToolTip(_translate("HgBundleDialog", "Select to specify a revision by a tag"))
+        self.tagButton.setText(_translate("HgBundleDialog", "Tag:"))
+        self.tagCombo.setToolTip(_translate("HgBundleDialog", "Enter a tag name"))
+        self.branchButton.setToolTip(_translate("HgBundleDialog", "Select to specify a revision by a branch"))
+        self.branchButton.setText(_translate("HgBundleDialog", "Branch:"))
+        self.branchCombo.setToolTip(_translate("HgBundleDialog", "Enter a branch name"))
+        self.bookmarkButton.setToolTip(_translate("HgBundleDialog", "Select to specify a revision by a bookmark"))
+        self.bookmarkButton.setText(_translate("HgBundleDialog", "Bookmark:"))
+        self.bookmarkCombo.setToolTip(_translate("HgBundleDialog", "Enter a bookmark name"))
+        self.noneButton.setToolTip(_translate("HgBundleDialog", "Select to not specify a specific revision"))
+        self.noneButton.setText(_translate("HgBundleDialog", "No revision selected"))
+        self.label_2.setText(_translate("HgBundleDialog", "Base Revisions:"))
+        self.baseRevisionsEdit.setToolTip(_translate("HgBundleDialog", "Enter changesets by number, id, range or revset expression one per line"))
+        self.label.setText(_translate("HgBundleDialog", "Compression:"))
+        self.compressionCombo.setToolTip(_translate("HgBundleDialog", "Select the compression type (empty for default)"))
+        self.allCheckBox.setToolTip(_translate("HgBundleDialog", "Select to bundle all changesets"))
+        self.allCheckBox.setText(_translate("HgBundleDialog", "Bundle all changesets"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsMercurial/Ui_HgClientPromptDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,58 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsMercurial/HgClientPromptDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_HgClientPromptDialog(object):
+    def setupUi(self, HgClientPromptDialog):
+        HgClientPromptDialog.setObjectName("HgClientPromptDialog")
+        HgClientPromptDialog.resize(400, 400)
+        HgClientPromptDialog.setSizeGripEnabled(True)
+        self.gridLayout = QtWidgets.QGridLayout(HgClientPromptDialog)
+        self.gridLayout.setObjectName("gridLayout")
+        self.label = QtWidgets.QLabel(parent=HgClientPromptDialog)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 0, 0, 1, 2)
+        self.messageEdit = QtWidgets.QPlainTextEdit(parent=HgClientPromptDialog)
+        self.messageEdit.setTabChangesFocus(True)
+        self.messageEdit.setReadOnly(True)
+        self.messageEdit.setObjectName("messageEdit")
+        self.gridLayout.addWidget(self.messageEdit, 1, 0, 1, 2)
+        self.passwordCheckBox = QtWidgets.QCheckBox(parent=HgClientPromptDialog)
+        self.passwordCheckBox.setObjectName("passwordCheckBox")
+        self.gridLayout.addWidget(self.passwordCheckBox, 2, 0, 1, 2)
+        self.label_2 = QtWidgets.QLabel(parent=HgClientPromptDialog)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 3, 0, 1, 1)
+        self.inputEdit = QtWidgets.QLineEdit(parent=HgClientPromptDialog)
+        self.inputEdit.setObjectName("inputEdit")
+        self.gridLayout.addWidget(self.inputEdit, 3, 1, 1, 1)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=HgClientPromptDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout.addWidget(self.buttonBox, 4, 0, 1, 2)
+
+        self.retranslateUi(HgClientPromptDialog)
+        self.buttonBox.accepted.connect(HgClientPromptDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(HgClientPromptDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(HgClientPromptDialog)
+        HgClientPromptDialog.setTabOrder(self.passwordCheckBox, self.inputEdit)
+        HgClientPromptDialog.setTabOrder(self.inputEdit, self.messageEdit)
+
+    def retranslateUi(self, HgClientPromptDialog):
+        _translate = QtCore.QCoreApplication.translate
+        HgClientPromptDialog.setWindowTitle(_translate("HgClientPromptDialog", "Mercurial Client Input"))
+        self.label.setText(_translate("HgClientPromptDialog", "Message:"))
+        self.messageEdit.setToolTip(_translate("HgClientPromptDialog", "Shows the message sent by the Mercurial server"))
+        self.passwordCheckBox.setToolTip(_translate("HgClientPromptDialog", "Select to switch the input field to password mode"))
+        self.passwordCheckBox.setText(_translate("HgClientPromptDialog", "&Password Mode"))
+        self.passwordCheckBox.setShortcut(_translate("HgClientPromptDialog", "Alt+P"))
+        self.label_2.setText(_translate("HgClientPromptDialog", "Input:"))
+        self.inputEdit.setToolTip(_translate("HgClientPromptDialog", "Enter the response to be sent to the Mercurial server"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsMercurial/Ui_HgCommandDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,73 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsMercurial/HgCommandDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_HgCommandDialog(object):
+    def setupUi(self, HgCommandDialog):
+        HgCommandDialog.setObjectName("HgCommandDialog")
+        HgCommandDialog.resize(628, 99)
+        HgCommandDialog.setSizeGripEnabled(True)
+        self.gridLayout = QtWidgets.QGridLayout(HgCommandDialog)
+        self.gridLayout.setObjectName("gridLayout")
+        self.textLabel1 = QtWidgets.QLabel(parent=HgCommandDialog)
+        self.textLabel1.setObjectName("textLabel1")
+        self.gridLayout.addWidget(self.textLabel1, 0, 0, 1, 1)
+        self.commandCombo = QtWidgets.QComboBox(parent=HgCommandDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.commandCombo.sizePolicy().hasHeightForWidth())
+        self.commandCombo.setSizePolicy(sizePolicy)
+        self.commandCombo.setEditable(True)
+        self.commandCombo.setInsertPolicy(QtWidgets.QComboBox.InsertPolicy.InsertAtTop)
+        self.commandCombo.setDuplicatesEnabled(False)
+        self.commandCombo.setObjectName("commandCombo")
+        self.gridLayout.addWidget(self.commandCombo, 0, 1, 1, 1)
+        self.textLabel3 = QtWidgets.QLabel(parent=HgCommandDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.textLabel3.sizePolicy().hasHeightForWidth())
+        self.textLabel3.setSizePolicy(sizePolicy)
+        self.textLabel3.setObjectName("textLabel3")
+        self.gridLayout.addWidget(self.textLabel3, 1, 0, 1, 1)
+        self.projectDirLabel = QtWidgets.QLabel(parent=HgCommandDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.projectDirLabel.sizePolicy().hasHeightForWidth())
+        self.projectDirLabel.setSizePolicy(sizePolicy)
+        self.projectDirLabel.setObjectName("projectDirLabel")
+        self.gridLayout.addWidget(self.projectDirLabel, 1, 1, 1, 1)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=HgCommandDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout.addWidget(self.buttonBox, 2, 0, 1, 2)
+
+        self.retranslateUi(HgCommandDialog)
+        self.buttonBox.accepted.connect(HgCommandDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(HgCommandDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(HgCommandDialog)
+        HgCommandDialog.setTabOrder(self.commandCombo, self.buttonBox)
+
+    def retranslateUi(self, HgCommandDialog):
+        _translate = QtCore.QCoreApplication.translate
+        HgCommandDialog.setWindowTitle(_translate("HgCommandDialog", "Mercurial Command"))
+        self.textLabel1.setText(_translate("HgCommandDialog", "Mercurial Command:"))
+        self.commandCombo.setToolTip(_translate("HgCommandDialog", "Enter the Mercurial command to be executed with all necessary parameters"))
+        self.commandCombo.setWhatsThis(_translate("HgCommandDialog", "<b>Mercurial Command</b>\n"
+"<p>Enter the Mercurial command to be executed including all necessary \n"
+"parameters. If a parameter of the commandline includes a space you have to \n"
+"surround this parameter by single or double quotes. Do not include the name \n"
+"of the Mercurial client executable (i.e. hg).</p>"))
+        self.textLabel3.setText(_translate("HgCommandDialog", "Project Directory:"))
+        self.projectDirLabel.setToolTip(_translate("HgCommandDialog", "This shows the root directory of the current project."))
+        self.projectDirLabel.setText(_translate("HgCommandDialog", "project directory"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsMercurial/Ui_HgCommitDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,105 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsMercurial/HgCommitDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_HgCommitDialog(object):
+    def setupUi(self, HgCommitDialog):
+        HgCommitDialog.setObjectName("HgCommitDialog")
+        HgCommitDialog.resize(450, 500)
+        self.verticalLayout_3 = QtWidgets.QVBoxLayout(HgCommitDialog)
+        self.verticalLayout_3.setObjectName("verticalLayout_3")
+        self.logGroup = QtWidgets.QGroupBox(parent=HgCommitDialog)
+        self.logGroup.setObjectName("logGroup")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.logGroup)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.logEdit = EricSpellCheckedTextEdit(parent=self.logGroup)
+        self.logEdit.setTabChangesFocus(True)
+        self.logEdit.setAcceptRichText(False)
+        self.logEdit.setObjectName("logEdit")
+        self.verticalLayout.addWidget(self.logEdit)
+        self.label = QtWidgets.QLabel(parent=self.logGroup)
+        self.label.setObjectName("label")
+        self.verticalLayout.addWidget(self.label)
+        self.recentComboBox = QtWidgets.QComboBox(parent=self.logGroup)
+        self.recentComboBox.setObjectName("recentComboBox")
+        self.verticalLayout.addWidget(self.recentComboBox)
+        self.verticalLayout_3.addWidget(self.logGroup)
+        self.amendCheckBox = QtWidgets.QCheckBox(parent=HgCommitDialog)
+        self.amendCheckBox.setObjectName("amendCheckBox")
+        self.verticalLayout_3.addWidget(self.amendCheckBox)
+        self.subrepoCheckBox = QtWidgets.QCheckBox(parent=HgCommitDialog)
+        self.subrepoCheckBox.setObjectName("subrepoCheckBox")
+        self.verticalLayout_3.addWidget(self.subrepoCheckBox)
+        self.groupBox = QtWidgets.QGroupBox(parent=HgCommitDialog)
+        self.groupBox.setObjectName("groupBox")
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.groupBox)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.label_3 = QtWidgets.QLabel(parent=self.groupBox)
+        self.label_3.setWordWrap(True)
+        self.label_3.setObjectName("label_3")
+        self.verticalLayout_2.addWidget(self.label_3)
+        self.authorComboBox = QtWidgets.QComboBox(parent=self.groupBox)
+        self.authorComboBox.setEditable(True)
+        self.authorComboBox.setObjectName("authorComboBox")
+        self.verticalLayout_2.addWidget(self.authorComboBox)
+        self.verticalLayout_3.addWidget(self.groupBox)
+        self.dateTimeGroup = QtWidgets.QGroupBox(parent=HgCommitDialog)
+        self.dateTimeGroup.setCheckable(True)
+        self.dateTimeGroup.setChecked(False)
+        self.dateTimeGroup.setObjectName("dateTimeGroup")
+        self.gridLayout_2 = QtWidgets.QGridLayout(self.dateTimeGroup)
+        self.gridLayout_2.setObjectName("gridLayout_2")
+        spacerItem = QtWidgets.QSpacerItem(241, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout_2.addItem(spacerItem, 0, 2, 1, 1)
+        self.label_4 = QtWidgets.QLabel(parent=self.dateTimeGroup)
+        self.label_4.setObjectName("label_4")
+        self.gridLayout_2.addWidget(self.label_4, 0, 0, 1, 1)
+        self.dateTimeEdit = QtWidgets.QDateTimeEdit(parent=self.dateTimeGroup)
+        self.dateTimeEdit.setDisplayFormat("yyyy-MM-dd hh:mm")
+        self.dateTimeEdit.setCalendarPopup(True)
+        self.dateTimeEdit.setObjectName("dateTimeEdit")
+        self.gridLayout_2.addWidget(self.dateTimeEdit, 0, 1, 1, 1)
+        self.verticalLayout_3.addWidget(self.dateTimeGroup)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=HgCommitDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Close|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout_3.addWidget(self.buttonBox)
+
+        self.retranslateUi(HgCommitDialog)
+        QtCore.QMetaObject.connectSlotsByName(HgCommitDialog)
+        HgCommitDialog.setTabOrder(self.logEdit, self.recentComboBox)
+        HgCommitDialog.setTabOrder(self.recentComboBox, self.amendCheckBox)
+        HgCommitDialog.setTabOrder(self.amendCheckBox, self.subrepoCheckBox)
+        HgCommitDialog.setTabOrder(self.subrepoCheckBox, self.authorComboBox)
+        HgCommitDialog.setTabOrder(self.authorComboBox, self.dateTimeGroup)
+        HgCommitDialog.setTabOrder(self.dateTimeGroup, self.dateTimeEdit)
+
+    def retranslateUi(self, HgCommitDialog):
+        _translate = QtCore.QCoreApplication.translate
+        HgCommitDialog.setWindowTitle(_translate("HgCommitDialog", "Mercurial"))
+        self.logGroup.setTitle(_translate("HgCommitDialog", "Commit Message"))
+        self.logEdit.setToolTip(_translate("HgCommitDialog", "Enter the log message."))
+        self.logEdit.setWhatsThis(_translate("HgCommitDialog", "<b>Log Message</b>\n"
+"<p>Enter the log message for the commit action.</p>"))
+        self.label.setText(_translate("HgCommitDialog", "Recent commit messages"))
+        self.recentComboBox.setToolTip(_translate("HgCommitDialog", "Select a recent commit message to use"))
+        self.amendCheckBox.setToolTip(_translate("HgCommitDialog", "Select to amend the last commit (leave message empty to keep it)"))
+        self.amendCheckBox.setText(_translate("HgCommitDialog", "Amend the last commit"))
+        self.subrepoCheckBox.setToolTip(_translate("HgCommitDialog", "Select to commit sub-repositories as well"))
+        self.subrepoCheckBox.setText(_translate("HgCommitDialog", "Commit sub-repositories"))
+        self.groupBox.setTitle(_translate("HgCommitDialog", "Author"))
+        self.label_3.setText(_translate("HgCommitDialog", "Enter author name to override the configured user:"))
+        self.authorComboBox.setToolTip(_translate("HgCommitDialog", "Enter an author name in order to override the configured one"))
+        self.dateTimeGroup.setToolTip(_translate("HgCommitDialog", "Select to give date and time information"))
+        self.dateTimeGroup.setTitle(_translate("HgCommitDialog", "Date and Time"))
+        self.label_4.setText(_translate("HgCommitDialog", "Date/Time:"))
+        self.dateTimeEdit.setToolTip(_translate("HgCommitDialog", "Enter the date and time to be used"))
+from eric7.EricWidgets.EricSpellCheckedTextEdit import EricSpellCheckedTextEdit
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsMercurial/Ui_HgConflictsListDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,96 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsMercurial/HgConflictsListDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_HgConflictsListDialog(object):
+    def setupUi(self, HgConflictsListDialog):
+        HgConflictsListDialog.setObjectName("HgConflictsListDialog")
+        HgConflictsListDialog.resize(650, 450)
+        HgConflictsListDialog.setProperty("sizeGripEnabled", True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(HgConflictsListDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.conflictsList = QtWidgets.QTreeWidget(parent=HgConflictsListDialog)
+        self.conflictsList.setAlternatingRowColors(True)
+        self.conflictsList.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.ExtendedSelection)
+        self.conflictsList.setRootIsDecorated(False)
+        self.conflictsList.setItemsExpandable(False)
+        self.conflictsList.setObjectName("conflictsList")
+        self.verticalLayout.addWidget(self.conflictsList)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem)
+        self.resolvedButton = QtWidgets.QPushButton(parent=HgConflictsListDialog)
+        self.resolvedButton.setObjectName("resolvedButton")
+        self.horizontalLayout.addWidget(self.resolvedButton)
+        self.unresolvedButton = QtWidgets.QPushButton(parent=HgConflictsListDialog)
+        self.unresolvedButton.setObjectName("unresolvedButton")
+        self.horizontalLayout.addWidget(self.unresolvedButton)
+        self.line = QtWidgets.QFrame(parent=HgConflictsListDialog)
+        self.line.setFrameShadow(QtWidgets.QFrame.Shadow.Raised)
+        self.line.setLineWidth(2)
+        self.line.setFrameShape(QtWidgets.QFrame.Shape.VLine)
+        self.line.setObjectName("line")
+        self.horizontalLayout.addWidget(self.line)
+        self.reMergeButton = QtWidgets.QPushButton(parent=HgConflictsListDialog)
+        self.reMergeButton.setObjectName("reMergeButton")
+        self.horizontalLayout.addWidget(self.reMergeButton)
+        self.editButton = QtWidgets.QPushButton(parent=HgConflictsListDialog)
+        self.editButton.setObjectName("editButton")
+        self.horizontalLayout.addWidget(self.editButton)
+        spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem1)
+        self.verticalLayout.addLayout(self.horizontalLayout)
+        self.errorGroup = QtWidgets.QGroupBox(parent=HgConflictsListDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(1)
+        sizePolicy.setHeightForWidth(self.errorGroup.sizePolicy().hasHeightForWidth())
+        self.errorGroup.setSizePolicy(sizePolicy)
+        self.errorGroup.setObjectName("errorGroup")
+        self.vboxlayout = QtWidgets.QVBoxLayout(self.errorGroup)
+        self.vboxlayout.setObjectName("vboxlayout")
+        self.errors = QtWidgets.QTextEdit(parent=self.errorGroup)
+        self.errors.setReadOnly(True)
+        self.errors.setAcceptRichText(False)
+        self.errors.setObjectName("errors")
+        self.vboxlayout.addWidget(self.errors)
+        self.verticalLayout.addWidget(self.errorGroup)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=HgConflictsListDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(HgConflictsListDialog)
+        QtCore.QMetaObject.connectSlotsByName(HgConflictsListDialog)
+        HgConflictsListDialog.setTabOrder(self.conflictsList, self.resolvedButton)
+        HgConflictsListDialog.setTabOrder(self.resolvedButton, self.unresolvedButton)
+        HgConflictsListDialog.setTabOrder(self.unresolvedButton, self.reMergeButton)
+        HgConflictsListDialog.setTabOrder(self.reMergeButton, self.editButton)
+        HgConflictsListDialog.setTabOrder(self.editButton, self.errors)
+        HgConflictsListDialog.setTabOrder(self.errors, self.buttonBox)
+
+    def retranslateUi(self, HgConflictsListDialog):
+        _translate = QtCore.QCoreApplication.translate
+        HgConflictsListDialog.setWindowTitle(_translate("HgConflictsListDialog", "Mercurial Conflicts"))
+        self.conflictsList.setWhatsThis(_translate("HgConflictsListDialog", "<b>Conflicts List</b>\\n<p>This shows a list of files  which had or still have conflicts.</p>"))
+        self.conflictsList.setSortingEnabled(True)
+        self.conflictsList.headerItem().setText(0, _translate("HgConflictsListDialog", "Status"))
+        self.conflictsList.headerItem().setText(1, _translate("HgConflictsListDialog", "Name"))
+        self.resolvedButton.setToolTip(_translate("HgConflictsListDialog", "Press to mark the selected entries as \'resolved\'"))
+        self.resolvedButton.setText(_translate("HgConflictsListDialog", "Resolved"))
+        self.unresolvedButton.setToolTip(_translate("HgConflictsListDialog", "Press to mark the selected entries as \'unresolved\'"))
+        self.unresolvedButton.setText(_translate("HgConflictsListDialog", "Unresolved"))
+        self.reMergeButton.setToolTip(_translate("HgConflictsListDialog", "Press to re-merge the selected entries"))
+        self.reMergeButton.setText(_translate("HgConflictsListDialog", "Re-Merge"))
+        self.editButton.setToolTip(_translate("HgConflictsListDialog", "Press to edit the selected entry"))
+        self.editButton.setText(_translate("HgConflictsListDialog", "Edit"))
+        self.errorGroup.setTitle(_translate("HgConflictsListDialog", "Errors"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsMercurial/Ui_HgCopyDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,67 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsMercurial/HgCopyDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_HgCopyDialog(object):
+    def setupUi(self, HgCopyDialog):
+        HgCopyDialog.setObjectName("HgCopyDialog")
+        HgCopyDialog.resize(409, 120)
+        HgCopyDialog.setSizeGripEnabled(True)
+        self.gridLayout = QtWidgets.QGridLayout(HgCopyDialog)
+        self.gridLayout.setObjectName("gridLayout")
+        self.textLabel1 = QtWidgets.QLabel(parent=HgCopyDialog)
+        self.textLabel1.setObjectName("textLabel1")
+        self.gridLayout.addWidget(self.textLabel1, 0, 0, 1, 1)
+        self.sourceEdit = QtWidgets.QLineEdit(parent=HgCopyDialog)
+        self.sourceEdit.setReadOnly(True)
+        self.sourceEdit.setObjectName("sourceEdit")
+        self.gridLayout.addWidget(self.sourceEdit, 0, 1, 1, 1)
+        self.textLabel2 = QtWidgets.QLabel(parent=HgCopyDialog)
+        self.textLabel2.setObjectName("textLabel2")
+        self.gridLayout.addWidget(self.textLabel2, 1, 0, 1, 1)
+        self.targetPicker = EricPathPicker(parent=HgCopyDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.targetPicker.sizePolicy().hasHeightForWidth())
+        self.targetPicker.setSizePolicy(sizePolicy)
+        self.targetPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.targetPicker.setObjectName("targetPicker")
+        self.gridLayout.addWidget(self.targetPicker, 1, 1, 1, 1)
+        self.forceCheckBox = QtWidgets.QCheckBox(parent=HgCopyDialog)
+        self.forceCheckBox.setObjectName("forceCheckBox")
+        self.gridLayout.addWidget(self.forceCheckBox, 2, 0, 1, 2)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=HgCopyDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout.addWidget(self.buttonBox, 3, 0, 1, 2)
+
+        self.retranslateUi(HgCopyDialog)
+        self.buttonBox.accepted.connect(HgCopyDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(HgCopyDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(HgCopyDialog)
+        HgCopyDialog.setTabOrder(self.sourceEdit, self.targetPicker)
+        HgCopyDialog.setTabOrder(self.targetPicker, self.forceCheckBox)
+
+    def retranslateUi(self, HgCopyDialog):
+        _translate = QtCore.QCoreApplication.translate
+        HgCopyDialog.setWindowTitle(_translate("HgCopyDialog", "Mercurial Copy"))
+        self.textLabel1.setText(_translate("HgCopyDialog", "Source:"))
+        self.sourceEdit.setToolTip(_translate("HgCopyDialog", "Shows the name of the source"))
+        self.sourceEdit.setWhatsThis(_translate("HgCopyDialog", "<b>Source name</b>\n"
+"<p>This field shows the name of the source.</p>"))
+        self.textLabel2.setText(_translate("HgCopyDialog", "Target:"))
+        self.targetPicker.setToolTip(_translate("HgCopyDialog", "Enter the target name"))
+        self.targetPicker.setWhatsThis(_translate("HgCopyDialog", "<b>Target name</b>\n"
+"<p>Enter the new name in this field. The target must be the new name or an absolute path.</p>"))
+        self.forceCheckBox.setToolTip(_translate("HgCopyDialog", "Select to force the operation"))
+        self.forceCheckBox.setText(_translate("HgCopyDialog", "Enforce operation"))
+from eric7.EricWidgets.EricPathPicker import EricPathPicker
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsMercurial/Ui_HgDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,90 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsMercurial/HgDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_HgDialog(object):
+    def setupUi(self, HgDialog):
+        HgDialog.setObjectName("HgDialog")
+        HgDialog.resize(593, 499)
+        HgDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(HgDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.outputGroup = QtWidgets.QGroupBox(parent=HgDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(2)
+        sizePolicy.setHeightForWidth(self.outputGroup.sizePolicy().hasHeightForWidth())
+        self.outputGroup.setSizePolicy(sizePolicy)
+        self.outputGroup.setObjectName("outputGroup")
+        self.vboxlayout = QtWidgets.QVBoxLayout(self.outputGroup)
+        self.vboxlayout.setObjectName("vboxlayout")
+        self.resultbox = QtWidgets.QTextEdit(parent=self.outputGroup)
+        self.resultbox.setReadOnly(True)
+        self.resultbox.setAcceptRichText(False)
+        self.resultbox.setObjectName("resultbox")
+        self.vboxlayout.addWidget(self.resultbox)
+        self.verticalLayout.addWidget(self.outputGroup)
+        self.errorGroup = QtWidgets.QGroupBox(parent=HgDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(1)
+        sizePolicy.setHeightForWidth(self.errorGroup.sizePolicy().hasHeightForWidth())
+        self.errorGroup.setSizePolicy(sizePolicy)
+        self.errorGroup.setObjectName("errorGroup")
+        self.vboxlayout1 = QtWidgets.QVBoxLayout(self.errorGroup)
+        self.vboxlayout1.setObjectName("vboxlayout1")
+        self.errors = QtWidgets.QTextEdit(parent=self.errorGroup)
+        self.errors.setReadOnly(True)
+        self.errors.setAcceptRichText(False)
+        self.errors.setObjectName("errors")
+        self.vboxlayout1.addWidget(self.errors)
+        self.verticalLayout.addWidget(self.errorGroup)
+        self.inputGroup = QtWidgets.QGroupBox(parent=HgDialog)
+        self.inputGroup.setObjectName("inputGroup")
+        self._2 = QtWidgets.QGridLayout(self.inputGroup)
+        self._2.setObjectName("_2")
+        spacerItem = QtWidgets.QSpacerItem(327, 29, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self._2.addItem(spacerItem, 1, 1, 1, 1)
+        self.sendButton = QtWidgets.QPushButton(parent=self.inputGroup)
+        self.sendButton.setObjectName("sendButton")
+        self._2.addWidget(self.sendButton, 1, 2, 1, 1)
+        self.input = QtWidgets.QLineEdit(parent=self.inputGroup)
+        self.input.setObjectName("input")
+        self._2.addWidget(self.input, 0, 0, 1, 3)
+        self.passwordCheckBox = QtWidgets.QCheckBox(parent=self.inputGroup)
+        self.passwordCheckBox.setObjectName("passwordCheckBox")
+        self._2.addWidget(self.passwordCheckBox, 1, 0, 1, 1)
+        self.verticalLayout.addWidget(self.inputGroup)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=HgDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(HgDialog)
+        QtCore.QMetaObject.connectSlotsByName(HgDialog)
+        HgDialog.setTabOrder(self.resultbox, self.errors)
+        HgDialog.setTabOrder(self.errors, self.passwordCheckBox)
+        HgDialog.setTabOrder(self.passwordCheckBox, self.input)
+        HgDialog.setTabOrder(self.input, self.sendButton)
+
+    def retranslateUi(self, HgDialog):
+        _translate = QtCore.QCoreApplication.translate
+        HgDialog.setWindowTitle(_translate("HgDialog", "Mercurial"))
+        self.outputGroup.setTitle(_translate("HgDialog", "Output"))
+        self.errorGroup.setTitle(_translate("HgDialog", "Errors"))
+        self.inputGroup.setTitle(_translate("HgDialog", "Input"))
+        self.sendButton.setToolTip(_translate("HgDialog", "Press to send the input to the Mercurial process"))
+        self.sendButton.setText(_translate("HgDialog", "&Send"))
+        self.sendButton.setShortcut(_translate("HgDialog", "Alt+S"))
+        self.input.setToolTip(_translate("HgDialog", "Enter data to be sent to the Mercurial process"))
+        self.passwordCheckBox.setToolTip(_translate("HgDialog", "Select to switch the input field to password mode"))
+        self.passwordCheckBox.setText(_translate("HgDialog", "&Password Mode"))
+        self.passwordCheckBox.setShortcut(_translate("HgDialog", "Alt+P"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsMercurial/Ui_HgDiffDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,75 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsMercurial/HgDiffDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_HgDiffDialog(object):
+    def setupUi(self, HgDiffDialog):
+        HgDiffDialog.setObjectName("HgDiffDialog")
+        HgDiffDialog.resize(749, 646)
+        self.vboxlayout = QtWidgets.QVBoxLayout(HgDiffDialog)
+        self.vboxlayout.setObjectName("vboxlayout")
+        self.contentsGroup = QtWidgets.QGroupBox(parent=HgDiffDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(3)
+        sizePolicy.setHeightForWidth(self.contentsGroup.sizePolicy().hasHeightForWidth())
+        self.contentsGroup.setSizePolicy(sizePolicy)
+        self.contentsGroup.setObjectName("contentsGroup")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.contentsGroup)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.filesCombo = QtWidgets.QComboBox(parent=self.contentsGroup)
+        self.filesCombo.setObjectName("filesCombo")
+        self.verticalLayout.addWidget(self.filesCombo)
+        self.searchWidget = EricTextEditSearchWidget(parent=self.contentsGroup)
+        self.searchWidget.setFocusPolicy(QtCore.Qt.FocusPolicy.WheelFocus)
+        self.searchWidget.setObjectName("searchWidget")
+        self.verticalLayout.addWidget(self.searchWidget)
+        self.contents = QtWidgets.QPlainTextEdit(parent=self.contentsGroup)
+        self.contents.setLineWrapMode(QtWidgets.QPlainTextEdit.LineWrapMode.NoWrap)
+        self.contents.setReadOnly(True)
+        self.contents.setTabStopDistance(8.0)
+        self.contents.setObjectName("contents")
+        self.verticalLayout.addWidget(self.contents)
+        self.vboxlayout.addWidget(self.contentsGroup)
+        self.errorGroup = QtWidgets.QGroupBox(parent=HgDiffDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(1)
+        sizePolicy.setHeightForWidth(self.errorGroup.sizePolicy().hasHeightForWidth())
+        self.errorGroup.setSizePolicy(sizePolicy)
+        self.errorGroup.setObjectName("errorGroup")
+        self.vboxlayout1 = QtWidgets.QVBoxLayout(self.errorGroup)
+        self.vboxlayout1.setObjectName("vboxlayout1")
+        self.errors = QtWidgets.QTextEdit(parent=self.errorGroup)
+        self.errors.setReadOnly(True)
+        self.errors.setAcceptRichText(False)
+        self.errors.setObjectName("errors")
+        self.vboxlayout1.addWidget(self.errors)
+        self.vboxlayout.addWidget(self.errorGroup)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=HgDiffDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Close|QtWidgets.QDialogButtonBox.StandardButton.Save)
+        self.buttonBox.setObjectName("buttonBox")
+        self.vboxlayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(HgDiffDialog)
+        self.buttonBox.rejected.connect(HgDiffDialog.close) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(HgDiffDialog)
+        HgDiffDialog.setTabOrder(self.filesCombo, self.searchWidget)
+        HgDiffDialog.setTabOrder(self.searchWidget, self.contents)
+        HgDiffDialog.setTabOrder(self.contents, self.errors)
+
+    def retranslateUi(self, HgDiffDialog):
+        _translate = QtCore.QCoreApplication.translate
+        HgDiffDialog.setWindowTitle(_translate("HgDiffDialog", "Mercurial Diff"))
+        self.contentsGroup.setTitle(_translate("HgDiffDialog", "Difference"))
+        self.contents.setWhatsThis(_translate("HgDiffDialog", "<b>Mercurial Diff</b><p>This shows the output of the hg diff command.</p>"))
+        self.errorGroup.setTitle(_translate("HgDiffDialog", "Errors"))
+from eric7.EricWidgets.EricTextEditSearchWidget import EricTextEditSearchWidget
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsMercurial/Ui_HgExportDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,123 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsMercurial/HgExportDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_HgExportDialog(object):
+    def setupUi(self, HgExportDialog):
+        HgExportDialog.setObjectName("HgExportDialog")
+        HgExportDialog.resize(450, 400)
+        HgExportDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(HgExportDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.gridLayout = QtWidgets.QGridLayout()
+        self.gridLayout.setObjectName("gridLayout")
+        self.label = QtWidgets.QLabel(parent=HgExportDialog)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
+        self.directoryPicker = EricPathPicker(parent=HgExportDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.directoryPicker.sizePolicy().hasHeightForWidth())
+        self.directoryPicker.setSizePolicy(sizePolicy)
+        self.directoryPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.directoryPicker.setObjectName("directoryPicker")
+        self.gridLayout.addWidget(self.directoryPicker, 0, 1, 1, 1)
+        self.label_2 = QtWidgets.QLabel(parent=HgExportDialog)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 1, 0, 1, 1)
+        self.patternEdit = QtWidgets.QLineEdit(parent=HgExportDialog)
+        self.patternEdit.setObjectName("patternEdit")
+        self.gridLayout.addWidget(self.patternEdit, 1, 1, 1, 1)
+        self.label_3 = QtWidgets.QLabel(parent=HgExportDialog)
+        self.label_3.setAlignment(QtCore.Qt.AlignmentFlag.AlignLeading|QtCore.Qt.AlignmentFlag.AlignLeft|QtCore.Qt.AlignmentFlag.AlignTop)
+        self.label_3.setObjectName("label_3")
+        self.gridLayout.addWidget(self.label_3, 2, 0, 1, 1)
+        self.changesetsEdit = QtWidgets.QPlainTextEdit(parent=HgExportDialog)
+        self.changesetsEdit.setTabChangesFocus(True)
+        self.changesetsEdit.setLineWrapMode(QtWidgets.QPlainTextEdit.LineWrapMode.NoWrap)
+        self.changesetsEdit.setObjectName("changesetsEdit")
+        self.gridLayout.addWidget(self.changesetsEdit, 2, 1, 1, 1)
+        self.label_4 = QtWidgets.QLabel(parent=HgExportDialog)
+        self.label_4.setObjectName("label_4")
+        self.gridLayout.addWidget(self.label_4, 3, 0, 1, 1)
+        self.bookmarkCombo = QtWidgets.QComboBox(parent=HgExportDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.bookmarkCombo.sizePolicy().hasHeightForWidth())
+        self.bookmarkCombo.setSizePolicy(sizePolicy)
+        self.bookmarkCombo.setObjectName("bookmarkCombo")
+        self.gridLayout.addWidget(self.bookmarkCombo, 3, 1, 1, 1)
+        self.verticalLayout.addLayout(self.gridLayout)
+        self.switchParentCheckBox = QtWidgets.QCheckBox(parent=HgExportDialog)
+        self.switchParentCheckBox.setToolTip("")
+        self.switchParentCheckBox.setObjectName("switchParentCheckBox")
+        self.verticalLayout.addWidget(self.switchParentCheckBox)
+        self.textCheckBox = QtWidgets.QCheckBox(parent=HgExportDialog)
+        self.textCheckBox.setToolTip("")
+        self.textCheckBox.setObjectName("textCheckBox")
+        self.verticalLayout.addWidget(self.textCheckBox)
+        self.datesCheckBox = QtWidgets.QCheckBox(parent=HgExportDialog)
+        self.datesCheckBox.setObjectName("datesCheckBox")
+        self.verticalLayout.addWidget(self.datesCheckBox)
+        self.gitCheckBox = QtWidgets.QCheckBox(parent=HgExportDialog)
+        self.gitCheckBox.setObjectName("gitCheckBox")
+        self.verticalLayout.addWidget(self.gitCheckBox)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=HgExportDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(HgExportDialog)
+        self.buttonBox.accepted.connect(HgExportDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(HgExportDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(HgExportDialog)
+        HgExportDialog.setTabOrder(self.directoryPicker, self.patternEdit)
+        HgExportDialog.setTabOrder(self.patternEdit, self.changesetsEdit)
+        HgExportDialog.setTabOrder(self.changesetsEdit, self.bookmarkCombo)
+        HgExportDialog.setTabOrder(self.bookmarkCombo, self.switchParentCheckBox)
+        HgExportDialog.setTabOrder(self.switchParentCheckBox, self.textCheckBox)
+        HgExportDialog.setTabOrder(self.textCheckBox, self.datesCheckBox)
+        HgExportDialog.setTabOrder(self.datesCheckBox, self.gitCheckBox)
+
+    def retranslateUi(self, HgExportDialog):
+        _translate = QtCore.QCoreApplication.translate
+        HgExportDialog.setWindowTitle(_translate("HgExportDialog", "Export Patches"))
+        self.label.setText(_translate("HgExportDialog", "Export Directory:"))
+        self.directoryPicker.setToolTip(_translate("HgExportDialog", "Enter the target name"))
+        self.directoryPicker.setWhatsThis(_translate("HgExportDialog", "<b>Target name</b>\n"
+"<p>Enter the new name in this field. The target must be the new name or an absolute path.</p>"))
+        self.label_2.setText(_translate("HgExportDialog", "File Name Pattern:"))
+        self.patternEdit.setToolTip(_translate("HgExportDialog", "Enter the file name pattern for the export files"))
+        self.patternEdit.setWhatsThis(_translate("HgExportDialog", "<b>File Name Pattern</b>\n"
+"<p>Enter the file name pattern to be used to generate the export files\n"
+"here. Valid recognized patterns are:</p>\n"
+"<table>\n"
+"<tr><td>%%</td><td>literal \"%\" character</td></tr>\n"
+"<tr><td>%H</td><td>changeset hash (40 hexadecimal digits)</td></tr>\n"
+"<tr><td>%N</td><td>number of patches being generated</td></tr>\n"
+"<tr><td>%R</td><td>changeset revision number</td></tr>\n"
+"<tr><td>%b</td><td>basename of the exporting repository</td></tr>\n"
+"<tr><td>%h</td><td>short-form changeset hash (12 hexadecimal digits)</td></tr>\n"
+"<tr><td>%n</td><td>zero-padded sequence number, starting at 1</td></tr>\n"
+"<tr><td>%r</td><td>zero-padded changeset revision number</td></tr>\n"
+"</table>    \n"
+""))
+        self.label_3.setText(_translate("HgExportDialog", "Changesets:"))
+        self.changesetsEdit.setToolTip(_translate("HgExportDialog", "Enter changesets by number, id, range or revset expression one per line"))
+        self.label_4.setText(_translate("HgExportDialog", "Bookmark:"))
+        self.bookmarkCombo.setToolTip(_translate("HgExportDialog", "Select a bookmark name"))
+        self.switchParentCheckBox.setText(_translate("HgExportDialog", "Compare Against Second Parent"))
+        self.textCheckBox.setText(_translate("HgExportDialog", "Treat all Files as Text"))
+        self.datesCheckBox.setText(_translate("HgExportDialog", "Omit Dates"))
+        self.gitCheckBox.setText(_translate("HgExportDialog", "Use Git extended Diff-Format"))
+from eric7.EricWidgets.EricPathPicker import EricPathPicker
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsMercurial/Ui_HgGraftDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,121 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsMercurial/HgGraftDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_HgGraftDialog(object):
+    def setupUi(self, HgGraftDialog):
+        HgGraftDialog.setObjectName("HgGraftDialog")
+        HgGraftDialog.resize(450, 500)
+        HgGraftDialog.setSizeGripEnabled(True)
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(HgGraftDialog)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.groupBox = QtWidgets.QGroupBox(parent=HgGraftDialog)
+        self.groupBox.setObjectName("groupBox")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.groupBox)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.revisionsEdit = QtWidgets.QPlainTextEdit(parent=self.groupBox)
+        self.revisionsEdit.setTabChangesFocus(True)
+        self.revisionsEdit.setLineWrapMode(QtWidgets.QPlainTextEdit.LineWrapMode.NoWrap)
+        self.revisionsEdit.setObjectName("revisionsEdit")
+        self.verticalLayout.addWidget(self.revisionsEdit)
+        self.verticalLayout_2.addWidget(self.groupBox)
+        self.userGroup = QtWidgets.QGroupBox(parent=HgGraftDialog)
+        self.userGroup.setCheckable(True)
+        self.userGroup.setChecked(False)
+        self.userGroup.setObjectName("userGroup")
+        self.gridLayout = QtWidgets.QGridLayout(self.userGroup)
+        self.gridLayout.setObjectName("gridLayout")
+        self.currentUserCheckBox = QtWidgets.QCheckBox(parent=self.userGroup)
+        self.currentUserCheckBox.setObjectName("currentUserCheckBox")
+        self.gridLayout.addWidget(self.currentUserCheckBox, 0, 0, 1, 2)
+        self.label_3 = QtWidgets.QLabel(parent=self.userGroup)
+        self.label_3.setObjectName("label_3")
+        self.gridLayout.addWidget(self.label_3, 1, 0, 1, 1)
+        self.userEdit = QtWidgets.QLineEdit(parent=self.userGroup)
+        self.userEdit.setObjectName("userEdit")
+        self.gridLayout.addWidget(self.userEdit, 1, 1, 1, 1)
+        self.verticalLayout_2.addWidget(self.userGroup)
+        self.dateGroup = QtWidgets.QGroupBox(parent=HgGraftDialog)
+        self.dateGroup.setCheckable(True)
+        self.dateGroup.setChecked(False)
+        self.dateGroup.setObjectName("dateGroup")
+        self.gridLayout_2 = QtWidgets.QGridLayout(self.dateGroup)
+        self.gridLayout_2.setObjectName("gridLayout_2")
+        self.currentDateCheckBox = QtWidgets.QCheckBox(parent=self.dateGroup)
+        self.currentDateCheckBox.setObjectName("currentDateCheckBox")
+        self.gridLayout_2.addWidget(self.currentDateCheckBox, 0, 0, 1, 3)
+        self.label_4 = QtWidgets.QLabel(parent=self.dateGroup)
+        self.label_4.setObjectName("label_4")
+        self.gridLayout_2.addWidget(self.label_4, 1, 0, 1, 1)
+        self.dateTimeEdit = QtWidgets.QDateTimeEdit(parent=self.dateGroup)
+        self.dateTimeEdit.setDisplayFormat("yyyy-MM-dd hh:mm")
+        self.dateTimeEdit.setCalendarPopup(True)
+        self.dateTimeEdit.setObjectName("dateTimeEdit")
+        self.gridLayout_2.addWidget(self.dateTimeEdit, 1, 1, 1, 1)
+        spacerItem = QtWidgets.QSpacerItem(241, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout_2.addItem(spacerItem, 1, 2, 1, 1)
+        self.verticalLayout_2.addWidget(self.dateGroup)
+        self.logCheckBox = QtWidgets.QCheckBox(parent=HgGraftDialog)
+        self.logCheckBox.setChecked(True)
+        self.logCheckBox.setObjectName("logCheckBox")
+        self.verticalLayout_2.addWidget(self.logCheckBox)
+        self.dryRunCheckBox = QtWidgets.QCheckBox(parent=HgGraftDialog)
+        self.dryRunCheckBox.setObjectName("dryRunCheckBox")
+        self.verticalLayout_2.addWidget(self.dryRunCheckBox)
+        self.noCommitCheckBox = QtWidgets.QCheckBox(parent=HgGraftDialog)
+        self.noCommitCheckBox.setObjectName("noCommitCheckBox")
+        self.verticalLayout_2.addWidget(self.noCommitCheckBox)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=HgGraftDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout_2.addWidget(self.buttonBox)
+
+        self.retranslateUi(HgGraftDialog)
+        self.buttonBox.accepted.connect(HgGraftDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(HgGraftDialog.reject) # type: ignore
+        self.currentUserCheckBox.toggled['bool'].connect(self.label_3.setDisabled) # type: ignore
+        self.currentUserCheckBox.toggled['bool'].connect(self.userEdit.setDisabled) # type: ignore
+        self.currentDateCheckBox.toggled['bool'].connect(self.label_4.setDisabled) # type: ignore
+        self.currentDateCheckBox.toggled['bool'].connect(self.dateTimeEdit.setDisabled) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(HgGraftDialog)
+        HgGraftDialog.setTabOrder(self.revisionsEdit, self.userGroup)
+        HgGraftDialog.setTabOrder(self.userGroup, self.currentUserCheckBox)
+        HgGraftDialog.setTabOrder(self.currentUserCheckBox, self.userEdit)
+        HgGraftDialog.setTabOrder(self.userEdit, self.dateGroup)
+        HgGraftDialog.setTabOrder(self.dateGroup, self.currentDateCheckBox)
+        HgGraftDialog.setTabOrder(self.currentDateCheckBox, self.dateTimeEdit)
+        HgGraftDialog.setTabOrder(self.dateTimeEdit, self.logCheckBox)
+        HgGraftDialog.setTabOrder(self.logCheckBox, self.dryRunCheckBox)
+        HgGraftDialog.setTabOrder(self.dryRunCheckBox, self.buttonBox)
+
+    def retranslateUi(self, HgGraftDialog):
+        _translate = QtCore.QCoreApplication.translate
+        HgGraftDialog.setWindowTitle(_translate("HgGraftDialog", "Copy Changesets"))
+        self.groupBox.setTitle(_translate("HgGraftDialog", "Revisions"))
+        self.revisionsEdit.setToolTip(_translate("HgGraftDialog", "Enter changesets by number, id, range or revset expression one per line"))
+        self.userGroup.setToolTip(_translate("HgGraftDialog", "Select to give user information"))
+        self.userGroup.setTitle(_translate("HgGraftDialog", "User"))
+        self.currentUserCheckBox.setToolTip(_translate("HgGraftDialog", "Select to use the name of the current user"))
+        self.currentUserCheckBox.setText(_translate("HgGraftDialog", "Use current user"))
+        self.label_3.setText(_translate("HgGraftDialog", "Username:"))
+        self.userEdit.setToolTip(_translate("HgGraftDialog", "Enter the user name to be used"))
+        self.dateGroup.setToolTip(_translate("HgGraftDialog", "Select to give date and time information"))
+        self.dateGroup.setTitle(_translate("HgGraftDialog", "Date and Time"))
+        self.currentDateCheckBox.setToolTip(_translate("HgGraftDialog", "Select to use the current date and time"))
+        self.currentDateCheckBox.setText(_translate("HgGraftDialog", "Use current date and time"))
+        self.label_4.setText(_translate("HgGraftDialog", "Date/Time:"))
+        self.dateTimeEdit.setToolTip(_translate("HgGraftDialog", "Enter the date and time to be used"))
+        self.logCheckBox.setToolTip(_translate("HgGraftDialog", "Select to append graft info to the log message"))
+        self.logCheckBox.setText(_translate("HgGraftDialog", "Append Graft &Info"))
+        self.dryRunCheckBox.setToolTip(_translate("HgGraftDialog", "Select to perform a dry-run of the graft operation"))
+        self.dryRunCheckBox.setText(_translate("HgGraftDialog", "Perform Dry-Run"))
+        self.noCommitCheckBox.setToolTip(_translate("HgGraftDialog", "Select to not commit the copied changesets"))
+        self.noCommitCheckBox.setText(_translate("HgGraftDialog", "Don\'t Commit"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsMercurial/Ui_HgImportDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,131 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsMercurial/HgImportDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_HgImportDialog(object):
+    def setupUi(self, HgImportDialog):
+        HgImportDialog.setObjectName("HgImportDialog")
+        HgImportDialog.resize(500, 450)
+        HgImportDialog.setSizeGripEnabled(True)
+        self.gridLayout_2 = QtWidgets.QGridLayout(HgImportDialog)
+        self.gridLayout_2.setObjectName("gridLayout_2")
+        self.groupBox_2 = QtWidgets.QGroupBox(parent=HgImportDialog)
+        self.groupBox_2.setObjectName("groupBox_2")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.groupBox_2)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.noCommitCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_2)
+        self.noCommitCheckBox.setChecked(True)
+        self.noCommitCheckBox.setObjectName("noCommitCheckBox")
+        self.verticalLayout.addWidget(self.noCommitCheckBox)
+        self.label_3 = QtWidgets.QLabel(parent=self.groupBox_2)
+        self.label_3.setObjectName("label_3")
+        self.verticalLayout.addWidget(self.label_3)
+        self.messageEdit = EricSpellCheckedPlainTextEdit(parent=self.groupBox_2)
+        self.messageEdit.setEnabled(False)
+        self.messageEdit.setTabChangesFocus(True)
+        self.messageEdit.setObjectName("messageEdit")
+        self.verticalLayout.addWidget(self.messageEdit)
+        self.gridLayout = QtWidgets.QGridLayout()
+        self.gridLayout.setObjectName("gridLayout")
+        self.label = QtWidgets.QLabel(parent=self.groupBox_2)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
+        self.dateEdit = QtWidgets.QDateTimeEdit(parent=self.groupBox_2)
+        self.dateEdit.setEnabled(False)
+        self.dateEdit.setDisplayFormat("yyyy-MM-dd HH:mm")
+        self.dateEdit.setCalendarPopup(False)
+        self.dateEdit.setObjectName("dateEdit")
+        self.gridLayout.addWidget(self.dateEdit, 0, 1, 1, 1)
+        spacerItem = QtWidgets.QSpacerItem(258, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout.addItem(spacerItem, 0, 2, 1, 1)
+        self.label_2 = QtWidgets.QLabel(parent=self.groupBox_2)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 1, 0, 1, 1)
+        self.userEdit = QtWidgets.QLineEdit(parent=self.groupBox_2)
+        self.userEdit.setEnabled(False)
+        self.userEdit.setObjectName("userEdit")
+        self.gridLayout.addWidget(self.userEdit, 1, 1, 1, 2)
+        self.verticalLayout.addLayout(self.gridLayout)
+        self.secretCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_2)
+        self.secretCheckBox.setObjectName("secretCheckBox")
+        self.verticalLayout.addWidget(self.secretCheckBox)
+        self.gridLayout_2.addWidget(self.groupBox_2, 0, 0, 1, 2)
+        self.label_4 = QtWidgets.QLabel(parent=HgImportDialog)
+        self.label_4.setObjectName("label_4")
+        self.gridLayout_2.addWidget(self.label_4, 1, 0, 1, 1)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.stripSpinBox = QtWidgets.QSpinBox(parent=HgImportDialog)
+        self.stripSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.stripSpinBox.setMaximum(9)
+        self.stripSpinBox.setProperty("value", 1)
+        self.stripSpinBox.setObjectName("stripSpinBox")
+        self.horizontalLayout.addWidget(self.stripSpinBox)
+        spacerItem1 = QtWidgets.QSpacerItem(118, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem1)
+        self.gridLayout_2.addLayout(self.horizontalLayout, 1, 1, 1, 1)
+        self.label_5 = QtWidgets.QLabel(parent=HgImportDialog)
+        self.label_5.setObjectName("label_5")
+        self.gridLayout_2.addWidget(self.label_5, 2, 0, 1, 1)
+        self.patchFilePicker = EricPathPicker(parent=HgImportDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.patchFilePicker.sizePolicy().hasHeightForWidth())
+        self.patchFilePicker.setSizePolicy(sizePolicy)
+        self.patchFilePicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.patchFilePicker.setObjectName("patchFilePicker")
+        self.gridLayout_2.addWidget(self.patchFilePicker, 2, 1, 1, 1)
+        self.forceCheckBox = QtWidgets.QCheckBox(parent=HgImportDialog)
+        self.forceCheckBox.setObjectName("forceCheckBox")
+        self.gridLayout_2.addWidget(self.forceCheckBox, 3, 0, 1, 2)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=HgImportDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout_2.addWidget(self.buttonBox, 4, 0, 1, 2)
+
+        self.retranslateUi(HgImportDialog)
+        self.buttonBox.accepted.connect(HgImportDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(HgImportDialog.reject) # type: ignore
+        self.noCommitCheckBox.toggled['bool'].connect(self.messageEdit.setDisabled) # type: ignore
+        self.noCommitCheckBox.toggled['bool'].connect(self.dateEdit.setDisabled) # type: ignore
+        self.noCommitCheckBox.toggled['bool'].connect(self.userEdit.setDisabled) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(HgImportDialog)
+        HgImportDialog.setTabOrder(self.noCommitCheckBox, self.messageEdit)
+        HgImportDialog.setTabOrder(self.messageEdit, self.dateEdit)
+        HgImportDialog.setTabOrder(self.dateEdit, self.userEdit)
+        HgImportDialog.setTabOrder(self.userEdit, self.secretCheckBox)
+        HgImportDialog.setTabOrder(self.secretCheckBox, self.stripSpinBox)
+        HgImportDialog.setTabOrder(self.stripSpinBox, self.patchFilePicker)
+        HgImportDialog.setTabOrder(self.patchFilePicker, self.forceCheckBox)
+
+    def retranslateUi(self, HgImportDialog):
+        _translate = QtCore.QCoreApplication.translate
+        HgImportDialog.setWindowTitle(_translate("HgImportDialog", "Import Patch"))
+        self.groupBox_2.setTitle(_translate("HgImportDialog", "Commit data"))
+        self.noCommitCheckBox.setToolTip(_translate("HgImportDialog", "Select to not commit the imported patch"))
+        self.noCommitCheckBox.setText(_translate("HgImportDialog", "Do not commit"))
+        self.label_3.setText(_translate("HgImportDialog", "Commit message:"))
+        self.messageEdit.setToolTip(_translate("HgImportDialog", "Enter the commit message or leave empty to use the default one"))
+        self.label.setText(_translate("HgImportDialog", "Commit Date:"))
+        self.dateEdit.setToolTip(_translate("HgImportDialog", "Enter optional date for the commit"))
+        self.label_2.setText(_translate("HgImportDialog", "Commit User:"))
+        self.userEdit.setToolTip(_translate("HgImportDialog", "Enter optional user for the commit"))
+        self.secretCheckBox.setToolTip(_translate("HgImportDialog", "Enable to commit with the secret phase"))
+        self.secretCheckBox.setText(_translate("HgImportDialog", "Commit with Secret Phase"))
+        self.label_4.setText(_translate("HgImportDialog", "Strip Count:"))
+        self.stripSpinBox.setToolTip(_translate("HgImportDialog", "Enter number of leading directories to strip off (default 1)"))
+        self.label_5.setText(_translate("HgImportDialog", "Patch File:"))
+        self.patchFilePicker.setToolTip(_translate("HgImportDialog", "Enter the name of the patch file"))
+        self.forceCheckBox.setToolTip(_translate("HgImportDialog", "Select to enforce the import"))
+        self.forceCheckBox.setText(_translate("HgImportDialog", "Enforce Import"))
+from eric7.EricWidgets.EricPathPicker import EricPathPicker
+from eric7.EricWidgets.EricSpellCheckedTextEdit import EricSpellCheckedPlainTextEdit
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsMercurial/Ui_HgLogBrowserDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,312 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsMercurial/HgLogBrowserDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_HgLogBrowserDialog(object):
+    def setupUi(self, HgLogBrowserDialog):
+        HgLogBrowserDialog.setObjectName("HgLogBrowserDialog")
+        HgLogBrowserDialog.resize(1000, 800)
+        self.verticalLayout_3 = QtWidgets.QVBoxLayout(HgLogBrowserDialog)
+        self.verticalLayout_3.setObjectName("verticalLayout_3")
+        self.horizontalLayout_4 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_4.setObjectName("horizontalLayout_4")
+        self.actionsButton = QtWidgets.QToolButton(parent=HgLogBrowserDialog)
+        self.actionsButton.setPopupMode(QtWidgets.QToolButton.ToolButtonPopupMode.InstantPopup)
+        self.actionsButton.setObjectName("actionsButton")
+        self.horizontalLayout_4.addWidget(self.actionsButton)
+        self.line_5 = QtWidgets.QFrame(parent=HgLogBrowserDialog)
+        self.line_5.setFrameShadow(QtWidgets.QFrame.Shadow.Raised)
+        self.line_5.setLineWidth(2)
+        self.line_5.setFrameShape(QtWidgets.QFrame.Shape.VLine)
+        self.line_5.setObjectName("line_5")
+        self.horizontalLayout_4.addWidget(self.line_5)
+        self.modeComboBox = QtWidgets.QComboBox(parent=HgLogBrowserDialog)
+        self.modeComboBox.setMinimumSize(QtCore.QSize(100, 0))
+        self.modeComboBox.setSizeAdjustPolicy(QtWidgets.QComboBox.SizeAdjustPolicy.AdjustToContents)
+        self.modeComboBox.setObjectName("modeComboBox")
+        self.horizontalLayout_4.addWidget(self.modeComboBox)
+        self.line_4 = QtWidgets.QFrame(parent=HgLogBrowserDialog)
+        self.line_4.setFrameShadow(QtWidgets.QFrame.Shadow.Raised)
+        self.line_4.setLineWidth(2)
+        self.line_4.setFrameShape(QtWidgets.QFrame.Shape.VLine)
+        self.line_4.setObjectName("line_4")
+        self.horizontalLayout_4.addWidget(self.line_4)
+        self.label = QtWidgets.QLabel(parent=HgLogBrowserDialog)
+        self.label.setObjectName("label")
+        self.horizontalLayout_4.addWidget(self.label)
+        self.fromDate = QtWidgets.QDateEdit(parent=HgLogBrowserDialog)
+        self.fromDate.setCalendarPopup(True)
+        self.fromDate.setObjectName("fromDate")
+        self.horizontalLayout_4.addWidget(self.fromDate)
+        self.label_2 = QtWidgets.QLabel(parent=HgLogBrowserDialog)
+        self.label_2.setObjectName("label_2")
+        self.horizontalLayout_4.addWidget(self.label_2)
+        self.toDate = QtWidgets.QDateEdit(parent=HgLogBrowserDialog)
+        self.toDate.setCalendarPopup(True)
+        self.toDate.setObjectName("toDate")
+        self.horizontalLayout_4.addWidget(self.toDate)
+        self.line_2 = QtWidgets.QFrame(parent=HgLogBrowserDialog)
+        self.line_2.setFrameShadow(QtWidgets.QFrame.Shadow.Raised)
+        self.line_2.setLineWidth(2)
+        self.line_2.setFrameShape(QtWidgets.QFrame.Shape.VLine)
+        self.line_2.setObjectName("line_2")
+        self.horizontalLayout_4.addWidget(self.line_2)
+        self.label_3 = QtWidgets.QLabel(parent=HgLogBrowserDialog)
+        self.label_3.setObjectName("label_3")
+        self.horizontalLayout_4.addWidget(self.label_3)
+        self.branchCombo = QtWidgets.QComboBox(parent=HgLogBrowserDialog)
+        self.branchCombo.setMinimumSize(QtCore.QSize(100, 0))
+        self.branchCombo.setSizeAdjustPolicy(QtWidgets.QComboBox.SizeAdjustPolicy.AdjustToContents)
+        self.branchCombo.setObjectName("branchCombo")
+        self.horizontalLayout_4.addWidget(self.branchCombo)
+        self.line_3 = QtWidgets.QFrame(parent=HgLogBrowserDialog)
+        self.line_3.setFrameShadow(QtWidgets.QFrame.Shadow.Raised)
+        self.line_3.setLineWidth(2)
+        self.line_3.setFrameShape(QtWidgets.QFrame.Shape.VLine)
+        self.line_3.setObjectName("line_3")
+        self.horizontalLayout_4.addWidget(self.line_3)
+        self.fieldCombo = QtWidgets.QComboBox(parent=HgLogBrowserDialog)
+        self.fieldCombo.setMinimumSize(QtCore.QSize(100, 0))
+        self.fieldCombo.setSizeAdjustPolicy(QtWidgets.QComboBox.SizeAdjustPolicy.AdjustToContents)
+        self.fieldCombo.setObjectName("fieldCombo")
+        self.horizontalLayout_4.addWidget(self.fieldCombo)
+        self.rxEdit = QtWidgets.QLineEdit(parent=HgLogBrowserDialog)
+        self.rxEdit.setClearButtonEnabled(True)
+        self.rxEdit.setObjectName("rxEdit")
+        self.horizontalLayout_4.addWidget(self.rxEdit)
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setSpacing(0)
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.findPrevButton = QtWidgets.QToolButton(parent=HgLogBrowserDialog)
+        self.findPrevButton.setObjectName("findPrevButton")
+        self.horizontalLayout_2.addWidget(self.findPrevButton)
+        self.findNextButton = QtWidgets.QToolButton(parent=HgLogBrowserDialog)
+        self.findNextButton.setObjectName("findNextButton")
+        self.horizontalLayout_2.addWidget(self.findNextButton)
+        self.horizontalLayout_4.addLayout(self.horizontalLayout_2)
+        self.verticalLayout_3.addLayout(self.horizontalLayout_4)
+        self.mainSplitter = QtWidgets.QSplitter(parent=HgLogBrowserDialog)
+        self.mainSplitter.setOrientation(QtCore.Qt.Orientation.Vertical)
+        self.mainSplitter.setObjectName("mainSplitter")
+        self.layoutWidget = QtWidgets.QWidget(parent=self.mainSplitter)
+        self.layoutWidget.setObjectName("layoutWidget")
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.layoutWidget)
+        self.verticalLayout_2.setContentsMargins(0, 0, 0, 0)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.logTree = QtWidgets.QTreeWidget(parent=self.layoutWidget)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(1)
+        sizePolicy.setHeightForWidth(self.logTree.sizePolicy().hasHeightForWidth())
+        self.logTree.setSizePolicy(sizePolicy)
+        self.logTree.setAlternatingRowColors(True)
+        self.logTree.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.ExtendedSelection)
+        self.logTree.setRootIsDecorated(False)
+        self.logTree.setItemsExpandable(False)
+        self.logTree.setAllColumnsShowFocus(True)
+        self.logTree.setObjectName("logTree")
+        self.verticalLayout_2.addWidget(self.logTree)
+        self.horizontalLayout_5 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_5.setObjectName("horizontalLayout_5")
+        self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_3.setSpacing(0)
+        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
+        self.upButton = QtWidgets.QToolButton(parent=self.layoutWidget)
+        self.upButton.setAutoRepeat(True)
+        self.upButton.setObjectName("upButton")
+        self.horizontalLayout_3.addWidget(self.upButton)
+        self.downButton = QtWidgets.QToolButton(parent=self.layoutWidget)
+        self.downButton.setAutoRepeat(True)
+        self.downButton.setObjectName("downButton")
+        self.horizontalLayout_3.addWidget(self.downButton)
+        self.horizontalLayout_5.addLayout(self.horizontalLayout_3)
+        self.line_6 = QtWidgets.QFrame(parent=self.layoutWidget)
+        self.line_6.setFrameShadow(QtWidgets.QFrame.Shadow.Raised)
+        self.line_6.setLineWidth(2)
+        self.line_6.setFrameShape(QtWidgets.QFrame.Shape.VLine)
+        self.line_6.setObjectName("line_6")
+        self.horizontalLayout_5.addWidget(self.line_6)
+        self.nextButton = QtWidgets.QPushButton(parent=self.layoutWidget)
+        self.nextButton.setObjectName("nextButton")
+        self.horizontalLayout_5.addWidget(self.nextButton)
+        self.limitSpinBox = QtWidgets.QSpinBox(parent=self.layoutWidget)
+        self.limitSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.limitSpinBox.setMinimum(1)
+        self.limitSpinBox.setMaximum(10000)
+        self.limitSpinBox.setProperty("value", 20)
+        self.limitSpinBox.setObjectName("limitSpinBox")
+        self.horizontalLayout_5.addWidget(self.limitSpinBox)
+        self.stopCheckBox = QtWidgets.QCheckBox(parent=self.layoutWidget)
+        self.stopCheckBox.setObjectName("stopCheckBox")
+        self.horizontalLayout_5.addWidget(self.stopCheckBox)
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_5.addItem(spacerItem)
+        self.sbsSelectLabel = QtWidgets.QLabel(parent=self.layoutWidget)
+        self.sbsSelectLabel.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.sbsSelectLabel.setText("")
+        self.sbsSelectLabel.setTextInteractionFlags(QtCore.Qt.TextInteractionFlag.LinksAccessibleByKeyboard|QtCore.Qt.TextInteractionFlag.LinksAccessibleByMouse)
+        self.sbsSelectLabel.setObjectName("sbsSelectLabel")
+        self.horizontalLayout_5.addWidget(self.sbsSelectLabel)
+        self.verticalLayout_2.addLayout(self.horizontalLayout_5)
+        self.detailsSplitter = QtWidgets.QSplitter(parent=self.mainSplitter)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(2)
+        sizePolicy.setHeightForWidth(self.detailsSplitter.sizePolicy().hasHeightForWidth())
+        self.detailsSplitter.setSizePolicy(sizePolicy)
+        self.detailsSplitter.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.detailsSplitter.setObjectName("detailsSplitter")
+        self.detailsEdit = QtWidgets.QTextBrowser(parent=self.detailsSplitter)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(3)
+        sizePolicy.setVerticalStretch(1)
+        sizePolicy.setHeightForWidth(self.detailsEdit.sizePolicy().hasHeightForWidth())
+        self.detailsEdit.setSizePolicy(sizePolicy)
+        self.detailsEdit.setReadOnly(True)
+        self.detailsEdit.setOpenLinks(False)
+        self.detailsEdit.setObjectName("detailsEdit")
+        self.diffSplitter = QtWidgets.QSplitter(parent=self.detailsSplitter)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(7)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.diffSplitter.sizePolicy().hasHeightForWidth())
+        self.diffSplitter.setSizePolicy(sizePolicy)
+        self.diffSplitter.setOrientation(QtCore.Qt.Orientation.Vertical)
+        self.diffSplitter.setObjectName("diffSplitter")
+        self.filesTree = QtWidgets.QTreeWidget(parent=self.diffSplitter)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(7)
+        sizePolicy.setVerticalStretch(1)
+        sizePolicy.setHeightForWidth(self.filesTree.sizePolicy().hasHeightForWidth())
+        self.filesTree.setSizePolicy(sizePolicy)
+        self.filesTree.setAlternatingRowColors(True)
+        self.filesTree.setRootIsDecorated(False)
+        self.filesTree.setItemsExpandable(False)
+        self.filesTree.setAllColumnsShowFocus(True)
+        self.filesTree.setObjectName("filesTree")
+        self.layoutWidget1 = QtWidgets.QWidget(parent=self.diffSplitter)
+        self.layoutWidget1.setObjectName("layoutWidget1")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.layoutWidget1)
+        self.verticalLayout.setContentsMargins(0, 0, 0, 0)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.diffLabel = QtWidgets.QLabel(parent=self.layoutWidget1)
+        self.diffLabel.setObjectName("diffLabel")
+        self.horizontalLayout.addWidget(self.diffLabel)
+        spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem1)
+        self.diffSelectLabel = QtWidgets.QLabel(parent=self.layoutWidget1)
+        self.diffSelectLabel.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.diffSelectLabel.setText("")
+        self.diffSelectLabel.setTextInteractionFlags(QtCore.Qt.TextInteractionFlag.LinksAccessibleByKeyboard|QtCore.Qt.TextInteractionFlag.LinksAccessibleByMouse)
+        self.diffSelectLabel.setObjectName("diffSelectLabel")
+        self.horizontalLayout.addWidget(self.diffSelectLabel)
+        self.saveLabel = QtWidgets.QLabel(parent=self.layoutWidget1)
+        self.saveLabel.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.saveLabel.setTextInteractionFlags(QtCore.Qt.TextInteractionFlag.LinksAccessibleByKeyboard|QtCore.Qt.TextInteractionFlag.LinksAccessibleByMouse)
+        self.saveLabel.setObjectName("saveLabel")
+        self.horizontalLayout.addWidget(self.saveLabel)
+        self.verticalLayout.addLayout(self.horizontalLayout)
+        self.diffEdit = QtWidgets.QPlainTextEdit(parent=self.layoutWidget1)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(7)
+        sizePolicy.setVerticalStretch(2)
+        sizePolicy.setHeightForWidth(self.diffEdit.sizePolicy().hasHeightForWidth())
+        self.diffEdit.setSizePolicy(sizePolicy)
+        self.diffEdit.setLineWrapMode(QtWidgets.QPlainTextEdit.LineWrapMode.NoWrap)
+        self.diffEdit.setReadOnly(True)
+        self.diffEdit.setTabStopDistance(8.0)
+        self.diffEdit.setObjectName("diffEdit")
+        self.verticalLayout.addWidget(self.diffEdit)
+        self.verticalLayout_3.addWidget(self.mainSplitter)
+        self.errorGroup = QtWidgets.QGroupBox(parent=HgLogBrowserDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(1)
+        sizePolicy.setHeightForWidth(self.errorGroup.sizePolicy().hasHeightForWidth())
+        self.errorGroup.setSizePolicy(sizePolicy)
+        self.errorGroup.setObjectName("errorGroup")
+        self.vboxlayout = QtWidgets.QVBoxLayout(self.errorGroup)
+        self.vboxlayout.setObjectName("vboxlayout")
+        self.errors = QtWidgets.QTextEdit(parent=self.errorGroup)
+        self.errors.setReadOnly(True)
+        self.errors.setAcceptRichText(False)
+        self.errors.setObjectName("errors")
+        self.vboxlayout.addWidget(self.errors)
+        self.verticalLayout_3.addWidget(self.errorGroup)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=HgLogBrowserDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout_3.addWidget(self.buttonBox)
+
+        self.retranslateUi(HgLogBrowserDialog)
+        QtCore.QMetaObject.connectSlotsByName(HgLogBrowserDialog)
+        HgLogBrowserDialog.setTabOrder(self.actionsButton, self.modeComboBox)
+        HgLogBrowserDialog.setTabOrder(self.modeComboBox, self.fromDate)
+        HgLogBrowserDialog.setTabOrder(self.fromDate, self.toDate)
+        HgLogBrowserDialog.setTabOrder(self.toDate, self.branchCombo)
+        HgLogBrowserDialog.setTabOrder(self.branchCombo, self.fieldCombo)
+        HgLogBrowserDialog.setTabOrder(self.fieldCombo, self.rxEdit)
+        HgLogBrowserDialog.setTabOrder(self.rxEdit, self.findPrevButton)
+        HgLogBrowserDialog.setTabOrder(self.findPrevButton, self.findNextButton)
+        HgLogBrowserDialog.setTabOrder(self.findNextButton, self.logTree)
+        HgLogBrowserDialog.setTabOrder(self.logTree, self.upButton)
+        HgLogBrowserDialog.setTabOrder(self.upButton, self.downButton)
+        HgLogBrowserDialog.setTabOrder(self.downButton, self.nextButton)
+        HgLogBrowserDialog.setTabOrder(self.nextButton, self.limitSpinBox)
+        HgLogBrowserDialog.setTabOrder(self.limitSpinBox, self.stopCheckBox)
+        HgLogBrowserDialog.setTabOrder(self.stopCheckBox, self.sbsSelectLabel)
+        HgLogBrowserDialog.setTabOrder(self.sbsSelectLabel, self.detailsEdit)
+        HgLogBrowserDialog.setTabOrder(self.detailsEdit, self.filesTree)
+        HgLogBrowserDialog.setTabOrder(self.filesTree, self.diffSelectLabel)
+        HgLogBrowserDialog.setTabOrder(self.diffSelectLabel, self.saveLabel)
+        HgLogBrowserDialog.setTabOrder(self.saveLabel, self.diffEdit)
+        HgLogBrowserDialog.setTabOrder(self.diffEdit, self.errors)
+
+    def retranslateUi(self, HgLogBrowserDialog):
+        _translate = QtCore.QCoreApplication.translate
+        HgLogBrowserDialog.setWindowTitle(_translate("HgLogBrowserDialog", "Mercurial Log"))
+        self.actionsButton.setToolTip(_translate("HgLogBrowserDialog", "Select action from menu"))
+        self.modeComboBox.setToolTip(_translate("HgLogBrowserDialog", "Select the mode (find or filter)"))
+        self.label.setText(_translate("HgLogBrowserDialog", "From:"))
+        self.fromDate.setToolTip(_translate("HgLogBrowserDialog", "Enter the start date"))
+        self.label_2.setText(_translate("HgLogBrowserDialog", "To:"))
+        self.toDate.setToolTip(_translate("HgLogBrowserDialog", "Enter the end date"))
+        self.label_3.setText(_translate("HgLogBrowserDialog", "Branch:"))
+        self.branchCombo.setToolTip(_translate("HgLogBrowserDialog", "Select the branch to filter on"))
+        self.fieldCombo.setToolTip(_translate("HgLogBrowserDialog", "Select the field to filter on"))
+        self.rxEdit.setToolTip(_translate("HgLogBrowserDialog", "Enter the regular expression to filter on or search for"))
+        self.findPrevButton.setToolTip(_translate("HgLogBrowserDialog", "Press to find the previous occurrence"))
+        self.findNextButton.setToolTip(_translate("HgLogBrowserDialog", "Press to find the next occurrence"))
+        self.logTree.headerItem().setText(0, _translate("HgLogBrowserDialog", "Graph"))
+        self.logTree.headerItem().setText(1, _translate("HgLogBrowserDialog", "Branch"))
+        self.logTree.headerItem().setText(2, _translate("HgLogBrowserDialog", "Revision"))
+        self.logTree.headerItem().setText(3, _translate("HgLogBrowserDialog", "Phase"))
+        self.logTree.headerItem().setText(4, _translate("HgLogBrowserDialog", "Author"))
+        self.logTree.headerItem().setText(5, _translate("HgLogBrowserDialog", "Date"))
+        self.logTree.headerItem().setText(6, _translate("HgLogBrowserDialog", "Message"))
+        self.logTree.headerItem().setText(7, _translate("HgLogBrowserDialog", "Tags"))
+        self.upButton.setToolTip(_translate("HgLogBrowserDialog", "Press to move up in the log list"))
+        self.downButton.setToolTip(_translate("HgLogBrowserDialog", "Press to move down in the log list"))
+        self.nextButton.setToolTip(_translate("HgLogBrowserDialog", "Press to get the next bunch of log entries"))
+        self.nextButton.setText(_translate("HgLogBrowserDialog", "&Next"))
+        self.limitSpinBox.setToolTip(_translate("HgLogBrowserDialog", "Enter the limit of entries to fetch"))
+        self.stopCheckBox.setToolTip(_translate("HgLogBrowserDialog", "Select to stop listing log messages at a copy or move"))
+        self.stopCheckBox.setText(_translate("HgLogBrowserDialog", "Stop on Copy/Move"))
+        self.filesTree.setSortingEnabled(True)
+        self.filesTree.headerItem().setText(0, _translate("HgLogBrowserDialog", "Action"))
+        self.filesTree.headerItem().setText(1, _translate("HgLogBrowserDialog", "Path"))
+        self.filesTree.headerItem().setText(2, _translate("HgLogBrowserDialog", "Copy from"))
+        self.diffLabel.setText(_translate("HgLogBrowserDialog", "Differences"))
+        self.saveLabel.setText(_translate("HgLogBrowserDialog", "<a href=\"save:me\">Save</a>"))
+        self.errorGroup.setTitle(_translate("HgLogBrowserDialog", "Errors"))
+        self.errors.setWhatsThis(_translate("HgLogBrowserDialog", "<b>Mercurial log errors</b><p>This shows possible error messages of the hg log command.</p>"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsMercurial/Ui_HgMergeDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,140 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsMercurial/HgMergeDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_HgMergeDialog(object):
+    def setupUi(self, HgMergeDialog):
+        HgMergeDialog.setObjectName("HgMergeDialog")
+        HgMergeDialog.resize(400, 342)
+        HgMergeDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(HgMergeDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.groupBox = QtWidgets.QGroupBox(parent=HgMergeDialog)
+        self.groupBox.setObjectName("groupBox")
+        self.gridLayout = QtWidgets.QGridLayout(self.groupBox)
+        self.gridLayout.setObjectName("gridLayout")
+        self.numberButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.numberButton.setObjectName("numberButton")
+        self.gridLayout.addWidget(self.numberButton, 0, 0, 1, 1)
+        self.numberSpinBox = QtWidgets.QSpinBox(parent=self.groupBox)
+        self.numberSpinBox.setEnabled(False)
+        self.numberSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight)
+        self.numberSpinBox.setMaximum(999999999)
+        self.numberSpinBox.setObjectName("numberSpinBox")
+        self.gridLayout.addWidget(self.numberSpinBox, 0, 1, 1, 1)
+        spacerItem = QtWidgets.QSpacerItem(158, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout.addItem(spacerItem, 0, 2, 1, 1)
+        self.idButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.idButton.setObjectName("idButton")
+        self.gridLayout.addWidget(self.idButton, 1, 0, 1, 1)
+        self.idEdit = QtWidgets.QLineEdit(parent=self.groupBox)
+        self.idEdit.setEnabled(False)
+        self.idEdit.setObjectName("idEdit")
+        self.gridLayout.addWidget(self.idEdit, 1, 1, 1, 2)
+        self.tagButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.tagButton.setObjectName("tagButton")
+        self.gridLayout.addWidget(self.tagButton, 2, 0, 1, 1)
+        self.tagCombo = QtWidgets.QComboBox(parent=self.groupBox)
+        self.tagCombo.setEnabled(False)
+        self.tagCombo.setEditable(True)
+        self.tagCombo.setObjectName("tagCombo")
+        self.gridLayout.addWidget(self.tagCombo, 2, 1, 1, 2)
+        self.branchButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.branchButton.setObjectName("branchButton")
+        self.gridLayout.addWidget(self.branchButton, 3, 0, 1, 1)
+        self.branchCombo = QtWidgets.QComboBox(parent=self.groupBox)
+        self.branchCombo.setEnabled(False)
+        self.branchCombo.setEditable(True)
+        self.branchCombo.setObjectName("branchCombo")
+        self.gridLayout.addWidget(self.branchCombo, 3, 1, 1, 2)
+        self.bookmarkButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.bookmarkButton.setObjectName("bookmarkButton")
+        self.gridLayout.addWidget(self.bookmarkButton, 4, 0, 1, 1)
+        self.bookmarkCombo = QtWidgets.QComboBox(parent=self.groupBox)
+        self.bookmarkCombo.setEnabled(False)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.bookmarkCombo.sizePolicy().hasHeightForWidth())
+        self.bookmarkCombo.setSizePolicy(sizePolicy)
+        self.bookmarkCombo.setEditable(True)
+        self.bookmarkCombo.setObjectName("bookmarkCombo")
+        self.gridLayout.addWidget(self.bookmarkCombo, 4, 1, 1, 2)
+        self.expressionButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.expressionButton.setObjectName("expressionButton")
+        self.gridLayout.addWidget(self.expressionButton, 5, 0, 1, 1)
+        self.expressionEdit = QtWidgets.QLineEdit(parent=self.groupBox)
+        self.expressionEdit.setEnabled(False)
+        self.expressionEdit.setClearButtonEnabled(True)
+        self.expressionEdit.setObjectName("expressionEdit")
+        self.gridLayout.addWidget(self.expressionEdit, 5, 1, 1, 2)
+        self.noneButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.noneButton.setChecked(True)
+        self.noneButton.setObjectName("noneButton")
+        self.gridLayout.addWidget(self.noneButton, 6, 0, 1, 3)
+        self.verticalLayout.addWidget(self.groupBox)
+        self.forceCheckBox = QtWidgets.QCheckBox(parent=HgMergeDialog)
+        self.forceCheckBox.setObjectName("forceCheckBox")
+        self.verticalLayout.addWidget(self.forceCheckBox)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=HgMergeDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(HgMergeDialog)
+        self.buttonBox.accepted.connect(HgMergeDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(HgMergeDialog.reject) # type: ignore
+        self.numberButton.toggled['bool'].connect(self.numberSpinBox.setEnabled) # type: ignore
+        self.idButton.toggled['bool'].connect(self.idEdit.setEnabled) # type: ignore
+        self.tagButton.toggled['bool'].connect(self.tagCombo.setEnabled) # type: ignore
+        self.branchButton.toggled['bool'].connect(self.branchCombo.setEnabled) # type: ignore
+        self.bookmarkButton.toggled['bool'].connect(self.bookmarkCombo.setEnabled) # type: ignore
+        self.expressionButton.toggled['bool'].connect(self.expressionEdit.setEnabled) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(HgMergeDialog)
+        HgMergeDialog.setTabOrder(self.numberButton, self.numberSpinBox)
+        HgMergeDialog.setTabOrder(self.numberSpinBox, self.idButton)
+        HgMergeDialog.setTabOrder(self.idButton, self.idEdit)
+        HgMergeDialog.setTabOrder(self.idEdit, self.tagButton)
+        HgMergeDialog.setTabOrder(self.tagButton, self.tagCombo)
+        HgMergeDialog.setTabOrder(self.tagCombo, self.branchButton)
+        HgMergeDialog.setTabOrder(self.branchButton, self.branchCombo)
+        HgMergeDialog.setTabOrder(self.branchCombo, self.bookmarkButton)
+        HgMergeDialog.setTabOrder(self.bookmarkButton, self.bookmarkCombo)
+        HgMergeDialog.setTabOrder(self.bookmarkCombo, self.expressionButton)
+        HgMergeDialog.setTabOrder(self.expressionButton, self.expressionEdit)
+        HgMergeDialog.setTabOrder(self.expressionEdit, self.noneButton)
+        HgMergeDialog.setTabOrder(self.noneButton, self.forceCheckBox)
+
+    def retranslateUi(self, HgMergeDialog):
+        _translate = QtCore.QCoreApplication.translate
+        HgMergeDialog.setWindowTitle(_translate("HgMergeDialog", "Mercurial Merge"))
+        self.groupBox.setTitle(_translate("HgMergeDialog", "Revision"))
+        self.numberButton.setToolTip(_translate("HgMergeDialog", "Select to specify a revision by number"))
+        self.numberButton.setText(_translate("HgMergeDialog", "Number"))
+        self.numberSpinBox.setToolTip(_translate("HgMergeDialog", "Enter a revision number"))
+        self.idButton.setToolTip(_translate("HgMergeDialog", "Select to specify a revision by changeset id"))
+        self.idButton.setText(_translate("HgMergeDialog", "Id:"))
+        self.idEdit.setToolTip(_translate("HgMergeDialog", "Enter a changeset id"))
+        self.tagButton.setToolTip(_translate("HgMergeDialog", "Select to specify a revision by a tag"))
+        self.tagButton.setText(_translate("HgMergeDialog", "Tag:"))
+        self.tagCombo.setToolTip(_translate("HgMergeDialog", "Enter a tag name"))
+        self.branchButton.setToolTip(_translate("HgMergeDialog", "Select to specify a revision by a branch"))
+        self.branchButton.setText(_translate("HgMergeDialog", "Branch:"))
+        self.branchCombo.setToolTip(_translate("HgMergeDialog", "Enter a branch name"))
+        self.bookmarkButton.setToolTip(_translate("HgMergeDialog", "Select to specify a revision by a bookmark"))
+        self.bookmarkButton.setText(_translate("HgMergeDialog", "Bookmark:"))
+        self.bookmarkCombo.setToolTip(_translate("HgMergeDialog", "Enter a bookmark name"))
+        self.expressionButton.setText(_translate("HgMergeDialog", "Expression:"))
+        self.expressionEdit.setToolTip(_translate("HgMergeDialog", "Enter a revision set expression"))
+        self.noneButton.setToolTip(_translate("HgMergeDialog", "Select to not specify a specific revision"))
+        self.noneButton.setText(_translate("HgMergeDialog", "No revision selected"))
+        self.forceCheckBox.setToolTip(_translate("HgMergeDialog", "Select to force the merge operation"))
+        self.forceCheckBox.setText(_translate("HgMergeDialog", "Enforce merge"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsMercurial/Ui_HgMultiRevisionSelectionDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,133 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsMercurial/HgMultiRevisionSelectionDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_HgMultiRevisionSelectionDialog(object):
+    def setupUi(self, HgMultiRevisionSelectionDialog):
+        HgMultiRevisionSelectionDialog.setObjectName("HgMultiRevisionSelectionDialog")
+        HgMultiRevisionSelectionDialog.resize(450, 338)
+        HgMultiRevisionSelectionDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(HgMultiRevisionSelectionDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.groupBox = QtWidgets.QGroupBox(parent=HgMultiRevisionSelectionDialog)
+        self.groupBox.setObjectName("groupBox")
+        self.gridLayout = QtWidgets.QGridLayout(self.groupBox)
+        self.gridLayout.setObjectName("gridLayout")
+        self.changesetsButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.changesetsButton.setChecked(True)
+        self.changesetsButton.setObjectName("changesetsButton")
+        self.gridLayout.addWidget(self.changesetsButton, 0, 0, 1, 1)
+        self.changesetsEdit = QtWidgets.QPlainTextEdit(parent=self.groupBox)
+        self.changesetsEdit.setTabChangesFocus(True)
+        self.changesetsEdit.setLineWrapMode(QtWidgets.QPlainTextEdit.LineWrapMode.NoWrap)
+        self.changesetsEdit.setObjectName("changesetsEdit")
+        self.gridLayout.addWidget(self.changesetsEdit, 0, 1, 1, 1)
+        self.tagButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.tagButton.setObjectName("tagButton")
+        self.gridLayout.addWidget(self.tagButton, 1, 0, 1, 1)
+        self.tagCombo = QtWidgets.QComboBox(parent=self.groupBox)
+        self.tagCombo.setEnabled(False)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.tagCombo.sizePolicy().hasHeightForWidth())
+        self.tagCombo.setSizePolicy(sizePolicy)
+        self.tagCombo.setEditable(True)
+        self.tagCombo.setObjectName("tagCombo")
+        self.gridLayout.addWidget(self.tagCombo, 1, 1, 1, 1)
+        self.branchButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.branchButton.setObjectName("branchButton")
+        self.gridLayout.addWidget(self.branchButton, 2, 0, 1, 1)
+        self.branchCombo = QtWidgets.QComboBox(parent=self.groupBox)
+        self.branchCombo.setEnabled(False)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.branchCombo.sizePolicy().hasHeightForWidth())
+        self.branchCombo.setSizePolicy(sizePolicy)
+        self.branchCombo.setEditable(True)
+        self.branchCombo.setObjectName("branchCombo")
+        self.gridLayout.addWidget(self.branchCombo, 2, 1, 1, 1)
+        self.bookmarkButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.bookmarkButton.setObjectName("bookmarkButton")
+        self.gridLayout.addWidget(self.bookmarkButton, 3, 0, 1, 1)
+        self.bookmarkCombo = QtWidgets.QComboBox(parent=self.groupBox)
+        self.bookmarkCombo.setEnabled(False)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.bookmarkCombo.sizePolicy().hasHeightForWidth())
+        self.bookmarkCombo.setSizePolicy(sizePolicy)
+        self.bookmarkCombo.setEditable(True)
+        self.bookmarkCombo.setObjectName("bookmarkCombo")
+        self.gridLayout.addWidget(self.bookmarkCombo, 3, 1, 1, 1)
+        self.verticalLayout.addWidget(self.groupBox)
+        self.limitGroup = QtWidgets.QGroupBox(parent=HgMultiRevisionSelectionDialog)
+        self.limitGroup.setCheckable(True)
+        self.limitGroup.setChecked(False)
+        self.limitGroup.setObjectName("limitGroup")
+        self.horizontalLayout = QtWidgets.QHBoxLayout(self.limitGroup)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.label = QtWidgets.QLabel(parent=self.limitGroup)
+        self.label.setObjectName("label")
+        self.horizontalLayout.addWidget(self.label)
+        self.limitSpinBox = QtWidgets.QSpinBox(parent=self.limitGroup)
+        self.limitSpinBox.setToolTip("")
+        self.limitSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.limitSpinBox.setMinimum(1)
+        self.limitSpinBox.setMaximum(9999)
+        self.limitSpinBox.setObjectName("limitSpinBox")
+        self.horizontalLayout.addWidget(self.limitSpinBox)
+        spacerItem = QtWidgets.QSpacerItem(164, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem)
+        self.verticalLayout.addWidget(self.limitGroup)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=HgMultiRevisionSelectionDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(HgMultiRevisionSelectionDialog)
+        self.buttonBox.accepted.connect(HgMultiRevisionSelectionDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(HgMultiRevisionSelectionDialog.reject) # type: ignore
+        self.tagButton.toggled['bool'].connect(self.tagCombo.setEnabled) # type: ignore
+        self.branchButton.toggled['bool'].connect(self.branchCombo.setEnabled) # type: ignore
+        self.bookmarkButton.toggled['bool'].connect(self.bookmarkCombo.setEnabled) # type: ignore
+        self.changesetsButton.toggled['bool'].connect(self.changesetsEdit.setEnabled) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(HgMultiRevisionSelectionDialog)
+        HgMultiRevisionSelectionDialog.setTabOrder(self.changesetsButton, self.changesetsEdit)
+        HgMultiRevisionSelectionDialog.setTabOrder(self.changesetsEdit, self.tagButton)
+        HgMultiRevisionSelectionDialog.setTabOrder(self.tagButton, self.tagCombo)
+        HgMultiRevisionSelectionDialog.setTabOrder(self.tagCombo, self.branchButton)
+        HgMultiRevisionSelectionDialog.setTabOrder(self.branchButton, self.branchCombo)
+        HgMultiRevisionSelectionDialog.setTabOrder(self.branchCombo, self.bookmarkButton)
+        HgMultiRevisionSelectionDialog.setTabOrder(self.bookmarkButton, self.bookmarkCombo)
+        HgMultiRevisionSelectionDialog.setTabOrder(self.bookmarkCombo, self.limitGroup)
+        HgMultiRevisionSelectionDialog.setTabOrder(self.limitGroup, self.limitSpinBox)
+        HgMultiRevisionSelectionDialog.setTabOrder(self.limitSpinBox, self.buttonBox)
+
+    def retranslateUi(self, HgMultiRevisionSelectionDialog):
+        _translate = QtCore.QCoreApplication.translate
+        HgMultiRevisionSelectionDialog.setWindowTitle(_translate("HgMultiRevisionSelectionDialog", "Mercurial Revisions"))
+        self.groupBox.setTitle(_translate("HgMultiRevisionSelectionDialog", "Revision"))
+        self.changesetsButton.setToolTip(_translate("HgMultiRevisionSelectionDialog", "Select to specify a list of changesets"))
+        self.changesetsButton.setText(_translate("HgMultiRevisionSelectionDialog", "Revisions:"))
+        self.changesetsEdit.setToolTip(_translate("HgMultiRevisionSelectionDialog", "Enter revisions by number, id, range or revset expression one per line"))
+        self.tagButton.setToolTip(_translate("HgMultiRevisionSelectionDialog", "Select to specify a revision by a tag"))
+        self.tagButton.setText(_translate("HgMultiRevisionSelectionDialog", "Tag:"))
+        self.tagCombo.setToolTip(_translate("HgMultiRevisionSelectionDialog", "Enter a tag name"))
+        self.branchButton.setToolTip(_translate("HgMultiRevisionSelectionDialog", "Select to specify a revision by a branch"))
+        self.branchButton.setText(_translate("HgMultiRevisionSelectionDialog", "Branch:"))
+        self.branchCombo.setToolTip(_translate("HgMultiRevisionSelectionDialog", "Enter a branch name"))
+        self.bookmarkButton.setToolTip(_translate("HgMultiRevisionSelectionDialog", "Select to specify a revision by a bookmark"))
+        self.bookmarkButton.setText(_translate("HgMultiRevisionSelectionDialog", "Bookmark:"))
+        self.bookmarkCombo.setToolTip(_translate("HgMultiRevisionSelectionDialog", "Enter a bookmark name"))
+        self.limitGroup.setTitle(_translate("HgMultiRevisionSelectionDialog", "Limit Results"))
+        self.label.setText(_translate("HgMultiRevisionSelectionDialog", "Enter number of entries to show:"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsMercurial/Ui_HgNewProjectOptionsDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,96 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsMercurial/HgNewProjectOptionsDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_HgNewProjectOptionsDialog(object):
+    def setupUi(self, HgNewProjectOptionsDialog):
+        HgNewProjectOptionsDialog.setObjectName("HgNewProjectOptionsDialog")
+        HgNewProjectOptionsDialog.resize(562, 187)
+        HgNewProjectOptionsDialog.setSizeGripEnabled(True)
+        self.gridLayout = QtWidgets.QGridLayout(HgNewProjectOptionsDialog)
+        self.gridLayout.setObjectName("gridLayout")
+        self.lfNoteLabel = QtWidgets.QLabel(parent=HgNewProjectOptionsDialog)
+        self.lfNoteLabel.setWordWrap(True)
+        self.lfNoteLabel.setObjectName("lfNoteLabel")
+        self.gridLayout.addWidget(self.lfNoteLabel, 4, 0, 1, 3)
+        self.vcsUrlPicker = EricComboPathPicker(parent=HgNewProjectOptionsDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.vcsUrlPicker.sizePolicy().hasHeightForWidth())
+        self.vcsUrlPicker.setSizePolicy(sizePolicy)
+        self.vcsUrlPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.vcsUrlPicker.setObjectName("vcsUrlPicker")
+        self.gridLayout.addWidget(self.vcsUrlPicker, 0, 1, 1, 1)
+        self.vcsRevisionLabel = QtWidgets.QLabel(parent=HgNewProjectOptionsDialog)
+        self.vcsRevisionLabel.setObjectName("vcsRevisionLabel")
+        self.gridLayout.addWidget(self.vcsRevisionLabel, 1, 0, 1, 1)
+        self.vcsRevisionEdit = QtWidgets.QLineEdit(parent=HgNewProjectOptionsDialog)
+        self.vcsRevisionEdit.setWhatsThis("")
+        self.vcsRevisionEdit.setObjectName("vcsRevisionEdit")
+        self.gridLayout.addWidget(self.vcsRevisionEdit, 1, 1, 1, 2)
+        self.vcsProjectDirPicker = EricPathPicker(parent=HgNewProjectOptionsDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.vcsProjectDirPicker.sizePolicy().hasHeightForWidth())
+        self.vcsProjectDirPicker.setSizePolicy(sizePolicy)
+        self.vcsProjectDirPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.vcsProjectDirPicker.setObjectName("vcsProjectDirPicker")
+        self.gridLayout.addWidget(self.vcsProjectDirPicker, 2, 1, 1, 2)
+        self.largeCheckBox = QtWidgets.QCheckBox(parent=HgNewProjectOptionsDialog)
+        self.largeCheckBox.setObjectName("largeCheckBox")
+        self.gridLayout.addWidget(self.largeCheckBox, 3, 0, 1, 3)
+        self.TextLabel4 = QtWidgets.QLabel(parent=HgNewProjectOptionsDialog)
+        self.TextLabel4.setObjectName("TextLabel4")
+        self.gridLayout.addWidget(self.TextLabel4, 2, 0, 1, 1)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=HgNewProjectOptionsDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout.addWidget(self.buttonBox, 5, 0, 1, 3)
+        self.TextLabel2 = QtWidgets.QLabel(parent=HgNewProjectOptionsDialog)
+        self.TextLabel2.setObjectName("TextLabel2")
+        self.gridLayout.addWidget(self.TextLabel2, 0, 0, 1, 1)
+        self.vcsUrlClearHistoryButton = QtWidgets.QToolButton(parent=HgNewProjectOptionsDialog)
+        self.vcsUrlClearHistoryButton.setObjectName("vcsUrlClearHistoryButton")
+        self.gridLayout.addWidget(self.vcsUrlClearHistoryButton, 0, 2, 1, 1)
+        self.vcsRevisionLabel.setBuddy(self.vcsRevisionEdit)
+        self.TextLabel4.setBuddy(self.vcsProjectDirPicker)
+        self.TextLabel2.setBuddy(self.vcsUrlPicker)
+
+        self.retranslateUi(HgNewProjectOptionsDialog)
+        self.buttonBox.accepted.connect(HgNewProjectOptionsDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(HgNewProjectOptionsDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(HgNewProjectOptionsDialog)
+        HgNewProjectOptionsDialog.setTabOrder(self.vcsUrlPicker, self.vcsUrlClearHistoryButton)
+        HgNewProjectOptionsDialog.setTabOrder(self.vcsUrlClearHistoryButton, self.vcsRevisionEdit)
+        HgNewProjectOptionsDialog.setTabOrder(self.vcsRevisionEdit, self.vcsProjectDirPicker)
+        HgNewProjectOptionsDialog.setTabOrder(self.vcsProjectDirPicker, self.largeCheckBox)
+
+    def retranslateUi(self, HgNewProjectOptionsDialog):
+        _translate = QtCore.QCoreApplication.translate
+        HgNewProjectOptionsDialog.setWindowTitle(_translate("HgNewProjectOptionsDialog", "New Project from Repository"))
+        HgNewProjectOptionsDialog.setWhatsThis(_translate("HgNewProjectOptionsDialog", "<b>New Project from Repository Dialog</b>\n"
+"<p>Enter the various repository infos into the entry fields. These values are used, when the new project is retrieved from the repository. If the checkbox is selected, the URL must end in the project name. A repository layout with project/tags, project/branches and project/trunk will be assumed. In this case, you may enter a tag or branch, which must look like tags/tagname or branches/branchname. If the checkbox is not selected, the URL must contain the complete path in the repository.</p>\n"
+"<p>For remote repositories the URL must contain the hostname.</p>"))
+        self.lfNoteLabel.setText(_translate("HgNewProjectOptionsDialog", "<b>Note:</b> This option increases the download time and volume."))
+        self.vcsUrlPicker.setToolTip(_translate("HgNewProjectOptionsDialog", "Enter the URL of the repository"))
+        self.vcsRevisionLabel.setText(_translate("HgNewProjectOptionsDialog", "&Revision:"))
+        self.vcsRevisionEdit.setToolTip(_translate("HgNewProjectOptionsDialog", "Enter the revision the new project should be generated from"))
+        self.vcsProjectDirPicker.setToolTip(_translate("HgNewProjectOptionsDialog", "Enter the directory of the new project."))
+        self.vcsProjectDirPicker.setWhatsThis(_translate("HgNewProjectOptionsDialog", "<b>Project Directory</b>\n"
+"<p>Enter the directory of the new project. It will be retrieved from \n"
+"the repository and be placed in this directory.</p>"))
+        self.largeCheckBox.setText(_translate("HgNewProjectOptionsDialog", "Download all versions of all large files"))
+        self.TextLabel4.setText(_translate("HgNewProjectOptionsDialog", "Project &Directory:"))
+        self.TextLabel2.setText(_translate("HgNewProjectOptionsDialog", "&URL:"))
+        self.vcsUrlClearHistoryButton.setToolTip(_translate("HgNewProjectOptionsDialog", "Press to clear the history of entered repository URLs"))
+from eric7.EricWidgets.EricPathPicker import EricComboPathPicker, EricPathPicker
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsMercurial/Ui_HgOptionsDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,49 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsMercurial/HgOptionsDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_HgOptionsDialog(object):
+    def setupUi(self, HgOptionsDialog):
+        HgOptionsDialog.setObjectName("HgOptionsDialog")
+        HgOptionsDialog.resize(565, 78)
+        HgOptionsDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(HgOptionsDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.TextLabel5 = QtWidgets.QLabel(parent=HgOptionsDialog)
+        self.TextLabel5.setObjectName("TextLabel5")
+        self.horizontalLayout.addWidget(self.TextLabel5)
+        self.vcsLogEdit = QtWidgets.QLineEdit(parent=HgOptionsDialog)
+        self.vcsLogEdit.setObjectName("vcsLogEdit")
+        self.horizontalLayout.addWidget(self.vcsLogEdit)
+        self.verticalLayout.addLayout(self.horizontalLayout)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=HgOptionsDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+        self.TextLabel5.setBuddy(self.vcsLogEdit)
+
+        self.retranslateUi(HgOptionsDialog)
+        self.buttonBox.accepted.connect(HgOptionsDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(HgOptionsDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(HgOptionsDialog)
+
+    def retranslateUi(self, HgOptionsDialog):
+        _translate = QtCore.QCoreApplication.translate
+        HgOptionsDialog.setWindowTitle(_translate("HgOptionsDialog", "Initial Commit"))
+        HgOptionsDialog.setWhatsThis(_translate("HgOptionsDialog", "<b>Initial Commit Dialog</b>\n"
+"<p>Enter the message for the initial commit.</p>"))
+        self.TextLabel5.setText(_translate("HgOptionsDialog", "Commit &Message:"))
+        self.vcsLogEdit.setToolTip(_translate("HgOptionsDialog", "Enter the log message for the new project."))
+        self.vcsLogEdit.setWhatsThis(_translate("HgOptionsDialog", "<b>Log Message</b>\n"
+"<p>Enter the log message to be used for the new project.</p>"))
+        self.vcsLogEdit.setText(_translate("HgOptionsDialog", "new project started"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsMercurial/Ui_HgPhaseDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,59 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsMercurial/HgPhaseDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_HgPhaseDialog(object):
+    def setupUi(self, HgPhaseDialog):
+        HgPhaseDialog.setObjectName("HgPhaseDialog")
+        HgPhaseDialog.resize(400, 186)
+        HgPhaseDialog.setSizeGripEnabled(True)
+        self.gridLayout = QtWidgets.QGridLayout(HgPhaseDialog)
+        self.gridLayout.setObjectName("gridLayout")
+        self.label_5 = QtWidgets.QLabel(parent=HgPhaseDialog)
+        self.label_5.setObjectName("label_5")
+        self.gridLayout.addWidget(self.label_5, 0, 0, 1, 1)
+        self.revisionsEdit = QtWidgets.QPlainTextEdit(parent=HgPhaseDialog)
+        self.revisionsEdit.setTabChangesFocus(True)
+        self.revisionsEdit.setLineWrapMode(QtWidgets.QPlainTextEdit.LineWrapMode.NoWrap)
+        self.revisionsEdit.setObjectName("revisionsEdit")
+        self.gridLayout.addWidget(self.revisionsEdit, 0, 1, 1, 1)
+        self.label = QtWidgets.QLabel(parent=HgPhaseDialog)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 1, 0, 1, 1)
+        self.phaseCombo = QtWidgets.QComboBox(parent=HgPhaseDialog)
+        self.phaseCombo.setObjectName("phaseCombo")
+        self.gridLayout.addWidget(self.phaseCombo, 1, 1, 1, 1)
+        self.forceCheckBox = QtWidgets.QCheckBox(parent=HgPhaseDialog)
+        self.forceCheckBox.setObjectName("forceCheckBox")
+        self.gridLayout.addWidget(self.forceCheckBox, 2, 0, 1, 2)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=HgPhaseDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout.addWidget(self.buttonBox, 3, 0, 1, 2)
+        self.label_5.setBuddy(self.revisionsEdit)
+
+        self.retranslateUi(HgPhaseDialog)
+        self.buttonBox.accepted.connect(HgPhaseDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(HgPhaseDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(HgPhaseDialog)
+        HgPhaseDialog.setTabOrder(self.revisionsEdit, self.phaseCombo)
+        HgPhaseDialog.setTabOrder(self.phaseCombo, self.forceCheckBox)
+        HgPhaseDialog.setTabOrder(self.forceCheckBox, self.buttonBox)
+
+    def retranslateUi(self, HgPhaseDialog):
+        _translate = QtCore.QCoreApplication.translate
+        HgPhaseDialog.setWindowTitle(_translate("HgPhaseDialog", "Mercurial Phases"))
+        self.label_5.setText(_translate("HgPhaseDialog", "&Revisions:"))
+        self.revisionsEdit.setToolTip(_translate("HgPhaseDialog", "Enter revisions by number, id, range or revset expression one per line"))
+        self.label.setText(_translate("HgPhaseDialog", "Phase:"))
+        self.phaseCombo.setToolTip(_translate("HgPhaseDialog", "Select the phase to be set for the specified revisions"))
+        self.forceCheckBox.setToolTip(_translate("HgPhaseDialog", "Select to force the phase change"))
+        self.forceCheckBox.setText(_translate("HgPhaseDialog", "Force Phase Change"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsMercurial/Ui_HgRemoveSubrepositoriesDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,51 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsMercurial/HgRemoveSubrepositoriesDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_HgRemoveSubrepositoriesDialog(object):
+    def setupUi(self, HgRemoveSubrepositoriesDialog):
+        HgRemoveSubrepositoriesDialog.setObjectName("HgRemoveSubrepositoriesDialog")
+        HgRemoveSubrepositoriesDialog.resize(500, 300)
+        HgRemoveSubrepositoriesDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(HgRemoveSubrepositoriesDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.subrepositories = QtWidgets.QListWidget(parent=HgRemoveSubrepositoriesDialog)
+        self.subrepositories.setAlternatingRowColors(True)
+        self.subrepositories.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.ExtendedSelection)
+        self.subrepositories.setObjectName("subrepositories")
+        self.verticalLayout.addWidget(self.subrepositories)
+        self.removeButton = QtWidgets.QPushButton(parent=HgRemoveSubrepositoriesDialog)
+        self.removeButton.setEnabled(False)
+        self.removeButton.setObjectName("removeButton")
+        self.verticalLayout.addWidget(self.removeButton)
+        self.deleteCheckBox = QtWidgets.QCheckBox(parent=HgRemoveSubrepositoriesDialog)
+        self.deleteCheckBox.setObjectName("deleteCheckBox")
+        self.verticalLayout.addWidget(self.deleteCheckBox)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=HgRemoveSubrepositoriesDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(HgRemoveSubrepositoriesDialog)
+        self.buttonBox.accepted.connect(HgRemoveSubrepositoriesDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(HgRemoveSubrepositoriesDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(HgRemoveSubrepositoriesDialog)
+        HgRemoveSubrepositoriesDialog.setTabOrder(self.subrepositories, self.removeButton)
+        HgRemoveSubrepositoriesDialog.setTabOrder(self.removeButton, self.deleteCheckBox)
+        HgRemoveSubrepositoriesDialog.setTabOrder(self.deleteCheckBox, self.buttonBox)
+
+    def retranslateUi(self, HgRemoveSubrepositoriesDialog):
+        _translate = QtCore.QCoreApplication.translate
+        HgRemoveSubrepositoriesDialog.setWindowTitle(_translate("HgRemoveSubrepositoriesDialog", "Remove Sub-repositories"))
+        self.removeButton.setToolTip(_translate("HgRemoveSubrepositoriesDialog", "Press to remove the selected entries"))
+        self.removeButton.setText(_translate("HgRemoveSubrepositoriesDialog", "&Remove"))
+        self.deleteCheckBox.setToolTip(_translate("HgRemoveSubrepositoriesDialog", "Select to delete the removed entries from disc"))
+        self.deleteCheckBox.setText(_translate("HgRemoveSubrepositoriesDialog", "Delete removed entries from disc"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsMercurial/Ui_HgRepoConfigDataDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,148 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsMercurial/HgRepoConfigDataDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_HgRepoConfigDataDialog(object):
+    def setupUi(self, HgRepoConfigDataDialog):
+        HgRepoConfigDataDialog.setObjectName("HgRepoConfigDataDialog")
+        HgRepoConfigDataDialog.resize(500, 436)
+        HgRepoConfigDataDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(HgRepoConfigDataDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.groupBox = QtWidgets.QGroupBox(parent=HgRepoConfigDataDialog)
+        self.groupBox.setObjectName("groupBox")
+        self.gridLayout = QtWidgets.QGridLayout(self.groupBox)
+        self.gridLayout.setObjectName("gridLayout")
+        self.label_2 = QtWidgets.QLabel(parent=self.groupBox)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 0, 0, 1, 1)
+        self.defaultUrlEdit = QtWidgets.QLineEdit(parent=self.groupBox)
+        self.defaultUrlEdit.setClearButtonEnabled(True)
+        self.defaultUrlEdit.setObjectName("defaultUrlEdit")
+        self.gridLayout.addWidget(self.defaultUrlEdit, 0, 1, 1, 2)
+        self.label_3 = QtWidgets.QLabel(parent=self.groupBox)
+        self.label_3.setObjectName("label_3")
+        self.gridLayout.addWidget(self.label_3, 1, 0, 1, 1)
+        self.defaultUserEdit = QtWidgets.QLineEdit(parent=self.groupBox)
+        self.defaultUserEdit.setClearButtonEnabled(True)
+        self.defaultUserEdit.setObjectName("defaultUserEdit")
+        self.gridLayout.addWidget(self.defaultUserEdit, 1, 1, 1, 2)
+        self.label_4 = QtWidgets.QLabel(parent=self.groupBox)
+        self.label_4.setObjectName("label_4")
+        self.gridLayout.addWidget(self.label_4, 2, 0, 1, 1)
+        self.defaultPasswordEdit = QtWidgets.QLineEdit(parent=self.groupBox)
+        self.defaultPasswordEdit.setEchoMode(QtWidgets.QLineEdit.EchoMode.Password)
+        self.defaultPasswordEdit.setClearButtonEnabled(True)
+        self.defaultPasswordEdit.setObjectName("defaultPasswordEdit")
+        self.gridLayout.addWidget(self.defaultPasswordEdit, 2, 1, 1, 1)
+        self.defaultShowPasswordButton = QtWidgets.QToolButton(parent=self.groupBox)
+        self.defaultShowPasswordButton.setCheckable(True)
+        self.defaultShowPasswordButton.setObjectName("defaultShowPasswordButton")
+        self.gridLayout.addWidget(self.defaultShowPasswordButton, 2, 2, 1, 1)
+        self.verticalLayout.addWidget(self.groupBox)
+        self.groupBox_2 = QtWidgets.QGroupBox(parent=HgRepoConfigDataDialog)
+        self.groupBox_2.setObjectName("groupBox_2")
+        self.gridLayout_2 = QtWidgets.QGridLayout(self.groupBox_2)
+        self.gridLayout_2.setObjectName("gridLayout_2")
+        self.label_5 = QtWidgets.QLabel(parent=self.groupBox_2)
+        self.label_5.setObjectName("label_5")
+        self.gridLayout_2.addWidget(self.label_5, 0, 0, 1, 1)
+        self.defaultPushUrlEdit = QtWidgets.QLineEdit(parent=self.groupBox_2)
+        self.defaultPushUrlEdit.setClearButtonEnabled(True)
+        self.defaultPushUrlEdit.setObjectName("defaultPushUrlEdit")
+        self.gridLayout_2.addWidget(self.defaultPushUrlEdit, 0, 1, 1, 2)
+        self.label_7 = QtWidgets.QLabel(parent=self.groupBox_2)
+        self.label_7.setObjectName("label_7")
+        self.gridLayout_2.addWidget(self.label_7, 1, 0, 1, 1)
+        self.defaultPushUserEdit = QtWidgets.QLineEdit(parent=self.groupBox_2)
+        self.defaultPushUserEdit.setClearButtonEnabled(True)
+        self.defaultPushUserEdit.setObjectName("defaultPushUserEdit")
+        self.gridLayout_2.addWidget(self.defaultPushUserEdit, 1, 1, 1, 2)
+        self.label_6 = QtWidgets.QLabel(parent=self.groupBox_2)
+        self.label_6.setObjectName("label_6")
+        self.gridLayout_2.addWidget(self.label_6, 2, 0, 1, 1)
+        self.defaultPushPasswordEdit = QtWidgets.QLineEdit(parent=self.groupBox_2)
+        self.defaultPushPasswordEdit.setEchoMode(QtWidgets.QLineEdit.EchoMode.Password)
+        self.defaultPushPasswordEdit.setClearButtonEnabled(True)
+        self.defaultPushPasswordEdit.setObjectName("defaultPushPasswordEdit")
+        self.gridLayout_2.addWidget(self.defaultPushPasswordEdit, 2, 1, 1, 1)
+        self.defaultPushShowPasswordButton = QtWidgets.QToolButton(parent=self.groupBox_2)
+        self.defaultPushShowPasswordButton.setCheckable(True)
+        self.defaultPushShowPasswordButton.setObjectName("defaultPushShowPasswordButton")
+        self.gridLayout_2.addWidget(self.defaultPushShowPasswordButton, 2, 2, 1, 1)
+        self.verticalLayout.addWidget(self.groupBox_2)
+        self.largefilesGroup = QtWidgets.QGroupBox(parent=HgRepoConfigDataDialog)
+        self.largefilesGroup.setObjectName("largefilesGroup")
+        self.gridLayout_3 = QtWidgets.QGridLayout(self.largefilesGroup)
+        self.gridLayout_3.setObjectName("gridLayout_3")
+        self.label_8 = QtWidgets.QLabel(parent=self.largefilesGroup)
+        self.label_8.setObjectName("label_8")
+        self.gridLayout_3.addWidget(self.label_8, 0, 0, 1, 1)
+        self.lfFileSizeSpinBox = QtWidgets.QSpinBox(parent=self.largefilesGroup)
+        self.lfFileSizeSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.lfFileSizeSpinBox.setMinimum(1)
+        self.lfFileSizeSpinBox.setProperty("value", 10)
+        self.lfFileSizeSpinBox.setObjectName("lfFileSizeSpinBox")
+        self.gridLayout_3.addWidget(self.lfFileSizeSpinBox, 0, 1, 1, 1)
+        spacerItem = QtWidgets.QSpacerItem(215, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout_3.addItem(spacerItem, 0, 2, 1, 1)
+        self.label_9 = QtWidgets.QLabel(parent=self.largefilesGroup)
+        self.label_9.setObjectName("label_9")
+        self.gridLayout_3.addWidget(self.label_9, 1, 0, 1, 1)
+        self.lfFilePatternsEdit = QtWidgets.QLineEdit(parent=self.largefilesGroup)
+        self.lfFilePatternsEdit.setObjectName("lfFilePatternsEdit")
+        self.gridLayout_3.addWidget(self.lfFilePatternsEdit, 1, 1, 1, 2)
+        self.verticalLayout.addWidget(self.largefilesGroup)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=HgRepoConfigDataDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(HgRepoConfigDataDialog)
+        self.buttonBox.accepted.connect(HgRepoConfigDataDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(HgRepoConfigDataDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(HgRepoConfigDataDialog)
+        HgRepoConfigDataDialog.setTabOrder(self.defaultUrlEdit, self.defaultUserEdit)
+        HgRepoConfigDataDialog.setTabOrder(self.defaultUserEdit, self.defaultPasswordEdit)
+        HgRepoConfigDataDialog.setTabOrder(self.defaultPasswordEdit, self.defaultShowPasswordButton)
+        HgRepoConfigDataDialog.setTabOrder(self.defaultShowPasswordButton, self.defaultPushUrlEdit)
+        HgRepoConfigDataDialog.setTabOrder(self.defaultPushUrlEdit, self.defaultPushUserEdit)
+        HgRepoConfigDataDialog.setTabOrder(self.defaultPushUserEdit, self.defaultPushPasswordEdit)
+        HgRepoConfigDataDialog.setTabOrder(self.defaultPushPasswordEdit, self.defaultPushShowPasswordButton)
+        HgRepoConfigDataDialog.setTabOrder(self.defaultPushShowPasswordButton, self.lfFileSizeSpinBox)
+        HgRepoConfigDataDialog.setTabOrder(self.lfFileSizeSpinBox, self.lfFilePatternsEdit)
+        HgRepoConfigDataDialog.setTabOrder(self.lfFilePatternsEdit, self.buttonBox)
+
+    def retranslateUi(self, HgRepoConfigDataDialog):
+        _translate = QtCore.QCoreApplication.translate
+        HgRepoConfigDataDialog.setWindowTitle(_translate("HgRepoConfigDataDialog", "Mercurial Repository Configuration"))
+        self.groupBox.setTitle(_translate("HgRepoConfigDataDialog", "Default"))
+        self.label_2.setText(_translate("HgRepoConfigDataDialog", "Upstream URL:"))
+        self.defaultUrlEdit.setToolTip(_translate("HgRepoConfigDataDialog", "Enter the URL of the upstream repository"))
+        self.label_3.setText(_translate("HgRepoConfigDataDialog", "Username:"))
+        self.defaultUserEdit.setToolTip(_translate("HgRepoConfigDataDialog", "Enter user name to acces the upstream repository"))
+        self.label_4.setText(_translate("HgRepoConfigDataDialog", "Password:"))
+        self.defaultPasswordEdit.setToolTip(_translate("HgRepoConfigDataDialog", "Enter the password to acces the upstream repository"))
+        self.defaultShowPasswordButton.setToolTip(_translate("HgRepoConfigDataDialog", "Press to show the password"))
+        self.groupBox_2.setTitle(_translate("HgRepoConfigDataDialog", "Default Push"))
+        self.label_5.setText(_translate("HgRepoConfigDataDialog", "Upstream URL:"))
+        self.defaultPushUrlEdit.setToolTip(_translate("HgRepoConfigDataDialog", "Enter the URL of the upstream (push) repository"))
+        self.label_7.setText(_translate("HgRepoConfigDataDialog", "Username:"))
+        self.defaultPushUserEdit.setToolTip(_translate("HgRepoConfigDataDialog", "Enter user name to acces the upstream (push) repository"))
+        self.label_6.setText(_translate("HgRepoConfigDataDialog", "Password:"))
+        self.defaultPushPasswordEdit.setToolTip(_translate("HgRepoConfigDataDialog", "Enter the password to acces the upstream (push) repository"))
+        self.defaultPushShowPasswordButton.setToolTip(_translate("HgRepoConfigDataDialog", "Press to show the password"))
+        self.largefilesGroup.setTitle(_translate("HgRepoConfigDataDialog", "Large Files"))
+        self.label_8.setText(_translate("HgRepoConfigDataDialog", "Minimum file size:"))
+        self.lfFileSizeSpinBox.setToolTip(_translate("HgRepoConfigDataDialog", "Enter the minimum file size in MB for files to be treated as Large Files"))
+        self.lfFileSizeSpinBox.setSuffix(_translate("HgRepoConfigDataDialog", " MB"))
+        self.label_9.setText(_translate("HgRepoConfigDataDialog", "Patterns:"))
+        self.lfFilePatternsEdit.setToolTip(_translate("HgRepoConfigDataDialog", "Enter file patterns (space separated) for files to be treated as Large Files"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsMercurial/Ui_HgRevisionSelectionDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,150 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsMercurial/HgRevisionSelectionDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_HgRevisionSelectionDialog(object):
+    def setupUi(self, HgRevisionSelectionDialog):
+        HgRevisionSelectionDialog.setObjectName("HgRevisionSelectionDialog")
+        HgRevisionSelectionDialog.resize(400, 342)
+        HgRevisionSelectionDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(HgRevisionSelectionDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.groupBox = QtWidgets.QGroupBox(parent=HgRevisionSelectionDialog)
+        self.groupBox.setObjectName("groupBox")
+        self.gridLayout = QtWidgets.QGridLayout(self.groupBox)
+        self.gridLayout.setObjectName("gridLayout")
+        self.numberButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.numberButton.setObjectName("numberButton")
+        self.gridLayout.addWidget(self.numberButton, 0, 0, 1, 1)
+        self.numberSpinBox = QtWidgets.QSpinBox(parent=self.groupBox)
+        self.numberSpinBox.setEnabled(False)
+        self.numberSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight)
+        self.numberSpinBox.setMaximum(999999999)
+        self.numberSpinBox.setObjectName("numberSpinBox")
+        self.gridLayout.addWidget(self.numberSpinBox, 0, 1, 1, 1)
+        spacerItem = QtWidgets.QSpacerItem(158, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout.addItem(spacerItem, 0, 2, 1, 1)
+        self.idButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.idButton.setObjectName("idButton")
+        self.gridLayout.addWidget(self.idButton, 1, 0, 1, 1)
+        self.idEdit = QtWidgets.QLineEdit(parent=self.groupBox)
+        self.idEdit.setEnabled(False)
+        self.idEdit.setClearButtonEnabled(True)
+        self.idEdit.setObjectName("idEdit")
+        self.gridLayout.addWidget(self.idEdit, 1, 1, 1, 2)
+        self.tagButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.tagButton.setObjectName("tagButton")
+        self.gridLayout.addWidget(self.tagButton, 2, 0, 1, 1)
+        self.tagCombo = QtWidgets.QComboBox(parent=self.groupBox)
+        self.tagCombo.setEnabled(False)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.tagCombo.sizePolicy().hasHeightForWidth())
+        self.tagCombo.setSizePolicy(sizePolicy)
+        self.tagCombo.setEditable(True)
+        self.tagCombo.setObjectName("tagCombo")
+        self.gridLayout.addWidget(self.tagCombo, 2, 1, 1, 2)
+        self.branchButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.branchButton.setObjectName("branchButton")
+        self.gridLayout.addWidget(self.branchButton, 3, 0, 1, 1)
+        self.branchCombo = QtWidgets.QComboBox(parent=self.groupBox)
+        self.branchCombo.setEnabled(False)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.branchCombo.sizePolicy().hasHeightForWidth())
+        self.branchCombo.setSizePolicy(sizePolicy)
+        self.branchCombo.setEditable(True)
+        self.branchCombo.setObjectName("branchCombo")
+        self.gridLayout.addWidget(self.branchCombo, 3, 1, 1, 2)
+        self.bookmarkButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.bookmarkButton.setObjectName("bookmarkButton")
+        self.gridLayout.addWidget(self.bookmarkButton, 4, 0, 1, 1)
+        self.bookmarkCombo = QtWidgets.QComboBox(parent=self.groupBox)
+        self.bookmarkCombo.setEnabled(False)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.bookmarkCombo.sizePolicy().hasHeightForWidth())
+        self.bookmarkCombo.setSizePolicy(sizePolicy)
+        self.bookmarkCombo.setEditable(True)
+        self.bookmarkCombo.setObjectName("bookmarkCombo")
+        self.gridLayout.addWidget(self.bookmarkCombo, 4, 1, 1, 2)
+        self.expressionButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.expressionButton.setObjectName("expressionButton")
+        self.gridLayout.addWidget(self.expressionButton, 5, 0, 1, 1)
+        self.expressionEdit = QtWidgets.QLineEdit(parent=self.groupBox)
+        self.expressionEdit.setEnabled(False)
+        self.expressionEdit.setClearButtonEnabled(True)
+        self.expressionEdit.setObjectName("expressionEdit")
+        self.gridLayout.addWidget(self.expressionEdit, 5, 1, 1, 2)
+        self.tipButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.tipButton.setObjectName("tipButton")
+        self.gridLayout.addWidget(self.tipButton, 6, 0, 1, 3)
+        self.noneButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.noneButton.setChecked(True)
+        self.noneButton.setObjectName("noneButton")
+        self.gridLayout.addWidget(self.noneButton, 7, 0, 1, 3)
+        self.verticalLayout.addWidget(self.groupBox)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=HgRevisionSelectionDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(HgRevisionSelectionDialog)
+        self.buttonBox.accepted.connect(HgRevisionSelectionDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(HgRevisionSelectionDialog.reject) # type: ignore
+        self.numberButton.toggled['bool'].connect(self.numberSpinBox.setEnabled) # type: ignore
+        self.idButton.toggled['bool'].connect(self.idEdit.setEnabled) # type: ignore
+        self.tagButton.toggled['bool'].connect(self.tagCombo.setEnabled) # type: ignore
+        self.branchButton.toggled['bool'].connect(self.branchCombo.setEnabled) # type: ignore
+        self.bookmarkButton.toggled['bool'].connect(self.bookmarkCombo.setEnabled) # type: ignore
+        self.expressionButton.toggled['bool'].connect(self.expressionEdit.setEnabled) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(HgRevisionSelectionDialog)
+        HgRevisionSelectionDialog.setTabOrder(self.numberButton, self.numberSpinBox)
+        HgRevisionSelectionDialog.setTabOrder(self.numberSpinBox, self.idButton)
+        HgRevisionSelectionDialog.setTabOrder(self.idButton, self.idEdit)
+        HgRevisionSelectionDialog.setTabOrder(self.idEdit, self.tagButton)
+        HgRevisionSelectionDialog.setTabOrder(self.tagButton, self.tagCombo)
+        HgRevisionSelectionDialog.setTabOrder(self.tagCombo, self.branchButton)
+        HgRevisionSelectionDialog.setTabOrder(self.branchButton, self.branchCombo)
+        HgRevisionSelectionDialog.setTabOrder(self.branchCombo, self.bookmarkButton)
+        HgRevisionSelectionDialog.setTabOrder(self.bookmarkButton, self.bookmarkCombo)
+        HgRevisionSelectionDialog.setTabOrder(self.bookmarkCombo, self.expressionButton)
+        HgRevisionSelectionDialog.setTabOrder(self.expressionButton, self.expressionEdit)
+        HgRevisionSelectionDialog.setTabOrder(self.expressionEdit, self.tipButton)
+        HgRevisionSelectionDialog.setTabOrder(self.tipButton, self.noneButton)
+
+    def retranslateUi(self, HgRevisionSelectionDialog):
+        _translate = QtCore.QCoreApplication.translate
+        HgRevisionSelectionDialog.setWindowTitle(_translate("HgRevisionSelectionDialog", "Mercurial Revision"))
+        self.groupBox.setTitle(_translate("HgRevisionSelectionDialog", "Revision"))
+        self.numberButton.setToolTip(_translate("HgRevisionSelectionDialog", "Select to specify a revision by number"))
+        self.numberButton.setText(_translate("HgRevisionSelectionDialog", "Number"))
+        self.numberSpinBox.setToolTip(_translate("HgRevisionSelectionDialog", "Enter a revision number"))
+        self.idButton.setToolTip(_translate("HgRevisionSelectionDialog", "Select to specify a revision by changeset id"))
+        self.idButton.setText(_translate("HgRevisionSelectionDialog", "Id:"))
+        self.idEdit.setToolTip(_translate("HgRevisionSelectionDialog", "Enter a changeset id"))
+        self.tagButton.setToolTip(_translate("HgRevisionSelectionDialog", "Select to specify a revision by a tag"))
+        self.tagButton.setText(_translate("HgRevisionSelectionDialog", "Tag:"))
+        self.tagCombo.setToolTip(_translate("HgRevisionSelectionDialog", "Enter a tag name"))
+        self.branchButton.setToolTip(_translate("HgRevisionSelectionDialog", "Select to specify a revision by a branch"))
+        self.branchButton.setText(_translate("HgRevisionSelectionDialog", "Branch:"))
+        self.branchCombo.setToolTip(_translate("HgRevisionSelectionDialog", "Enter a branch name"))
+        self.bookmarkButton.setToolTip(_translate("HgRevisionSelectionDialog", "Select to specify a revision by a bookmark"))
+        self.bookmarkButton.setText(_translate("HgRevisionSelectionDialog", "Bookmark:"))
+        self.bookmarkCombo.setToolTip(_translate("HgRevisionSelectionDialog", "Enter a bookmark name"))
+        self.expressionButton.setText(_translate("HgRevisionSelectionDialog", "Expression:"))
+        self.expressionEdit.setToolTip(_translate("HgRevisionSelectionDialog", "Enter a revision set expression"))
+        self.tipButton.setToolTip(_translate("HgRevisionSelectionDialog", "Select tip revision of repository"))
+        self.tipButton.setText(_translate("HgRevisionSelectionDialog", "TIP"))
+        self.noneButton.setText(_translate("HgRevisionSelectionDialog", "No revision selected"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsMercurial/Ui_HgRevisionsSelectionDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,261 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsMercurial/HgRevisionsSelectionDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_HgRevisionsSelectionDialog(object):
+    def setupUi(self, HgRevisionsSelectionDialog):
+        HgRevisionsSelectionDialog.setObjectName("HgRevisionsSelectionDialog")
+        HgRevisionsSelectionDialog.resize(400, 700)
+        HgRevisionsSelectionDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(HgRevisionsSelectionDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.rev1GroupBox = QtWidgets.QGroupBox(parent=HgRevisionsSelectionDialog)
+        self.rev1GroupBox.setObjectName("rev1GroupBox")
+        self.gridLayout = QtWidgets.QGridLayout(self.rev1GroupBox)
+        self.gridLayout.setObjectName("gridLayout")
+        self.number1Button = QtWidgets.QRadioButton(parent=self.rev1GroupBox)
+        self.number1Button.setChecked(False)
+        self.number1Button.setObjectName("number1Button")
+        self.gridLayout.addWidget(self.number1Button, 0, 0, 1, 1)
+        self.number1SpinBox = QtWidgets.QSpinBox(parent=self.rev1GroupBox)
+        self.number1SpinBox.setEnabled(False)
+        self.number1SpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight)
+        self.number1SpinBox.setMaximum(999999999)
+        self.number1SpinBox.setObjectName("number1SpinBox")
+        self.gridLayout.addWidget(self.number1SpinBox, 0, 1, 1, 1)
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout.addItem(spacerItem, 0, 2, 1, 1)
+        self.id1Button = QtWidgets.QRadioButton(parent=self.rev1GroupBox)
+        self.id1Button.setObjectName("id1Button")
+        self.gridLayout.addWidget(self.id1Button, 1, 0, 1, 1)
+        self.id1Edit = QtWidgets.QLineEdit(parent=self.rev1GroupBox)
+        self.id1Edit.setEnabled(False)
+        self.id1Edit.setObjectName("id1Edit")
+        self.gridLayout.addWidget(self.id1Edit, 1, 1, 1, 2)
+        self.tag1Button = QtWidgets.QRadioButton(parent=self.rev1GroupBox)
+        self.tag1Button.setObjectName("tag1Button")
+        self.gridLayout.addWidget(self.tag1Button, 2, 0, 1, 1)
+        self.tag1Combo = QtWidgets.QComboBox(parent=self.rev1GroupBox)
+        self.tag1Combo.setEnabled(False)
+        self.tag1Combo.setEditable(True)
+        self.tag1Combo.setObjectName("tag1Combo")
+        self.gridLayout.addWidget(self.tag1Combo, 2, 1, 1, 2)
+        self.branch1Button = QtWidgets.QRadioButton(parent=self.rev1GroupBox)
+        self.branch1Button.setObjectName("branch1Button")
+        self.gridLayout.addWidget(self.branch1Button, 3, 0, 1, 1)
+        self.branch1Combo = QtWidgets.QComboBox(parent=self.rev1GroupBox)
+        self.branch1Combo.setEnabled(False)
+        self.branch1Combo.setEditable(True)
+        self.branch1Combo.setObjectName("branch1Combo")
+        self.gridLayout.addWidget(self.branch1Combo, 3, 1, 1, 2)
+        self.bookmark1Button = QtWidgets.QRadioButton(parent=self.rev1GroupBox)
+        self.bookmark1Button.setObjectName("bookmark1Button")
+        self.gridLayout.addWidget(self.bookmark1Button, 4, 0, 1, 1)
+        self.bookmark1Combo = QtWidgets.QComboBox(parent=self.rev1GroupBox)
+        self.bookmark1Combo.setEnabled(False)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.bookmark1Combo.sizePolicy().hasHeightForWidth())
+        self.bookmark1Combo.setSizePolicy(sizePolicy)
+        self.bookmark1Combo.setEditable(True)
+        self.bookmark1Combo.setObjectName("bookmark1Combo")
+        self.gridLayout.addWidget(self.bookmark1Combo, 4, 1, 1, 2)
+        self.expression1Button = QtWidgets.QRadioButton(parent=self.rev1GroupBox)
+        self.expression1Button.setObjectName("expression1Button")
+        self.gridLayout.addWidget(self.expression1Button, 5, 0, 1, 1)
+        self.expression1Edit = QtWidgets.QLineEdit(parent=self.rev1GroupBox)
+        self.expression1Edit.setEnabled(False)
+        self.expression1Edit.setClearButtonEnabled(True)
+        self.expression1Edit.setObjectName("expression1Edit")
+        self.gridLayout.addWidget(self.expression1Edit, 5, 1, 1, 2)
+        self.tip1Button = QtWidgets.QRadioButton(parent=self.rev1GroupBox)
+        self.tip1Button.setChecked(False)
+        self.tip1Button.setObjectName("tip1Button")
+        self.gridLayout.addWidget(self.tip1Button, 6, 0, 1, 3)
+        self.prev1Button = QtWidgets.QRadioButton(parent=self.rev1GroupBox)
+        self.prev1Button.setChecked(True)
+        self.prev1Button.setObjectName("prev1Button")
+        self.gridLayout.addWidget(self.prev1Button, 7, 0, 1, 3)
+        self.none1Button = QtWidgets.QRadioButton(parent=self.rev1GroupBox)
+        self.none1Button.setObjectName("none1Button")
+        self.gridLayout.addWidget(self.none1Button, 8, 0, 1, 3)
+        self.verticalLayout.addWidget(self.rev1GroupBox)
+        self.rev2GroupBox = QtWidgets.QGroupBox(parent=HgRevisionsSelectionDialog)
+        self.rev2GroupBox.setObjectName("rev2GroupBox")
+        self.gridLayout_2 = QtWidgets.QGridLayout(self.rev2GroupBox)
+        self.gridLayout_2.setObjectName("gridLayout_2")
+        self.number2Button = QtWidgets.QRadioButton(parent=self.rev2GroupBox)
+        self.number2Button.setObjectName("number2Button")
+        self.gridLayout_2.addWidget(self.number2Button, 0, 0, 1, 1)
+        self.number2SpinBox = QtWidgets.QSpinBox(parent=self.rev2GroupBox)
+        self.number2SpinBox.setEnabled(False)
+        self.number2SpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight)
+        self.number2SpinBox.setMaximum(999999999)
+        self.number2SpinBox.setObjectName("number2SpinBox")
+        self.gridLayout_2.addWidget(self.number2SpinBox, 0, 1, 1, 1)
+        spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout_2.addItem(spacerItem1, 0, 2, 1, 1)
+        self.id2Button = QtWidgets.QRadioButton(parent=self.rev2GroupBox)
+        self.id2Button.setObjectName("id2Button")
+        self.gridLayout_2.addWidget(self.id2Button, 1, 0, 1, 1)
+        self.id2Edit = QtWidgets.QLineEdit(parent=self.rev2GroupBox)
+        self.id2Edit.setEnabled(False)
+        self.id2Edit.setObjectName("id2Edit")
+        self.gridLayout_2.addWidget(self.id2Edit, 1, 1, 1, 2)
+        self.tag2Button = QtWidgets.QRadioButton(parent=self.rev2GroupBox)
+        self.tag2Button.setObjectName("tag2Button")
+        self.gridLayout_2.addWidget(self.tag2Button, 2, 0, 1, 1)
+        self.tag2Combo = QtWidgets.QComboBox(parent=self.rev2GroupBox)
+        self.tag2Combo.setEnabled(False)
+        self.tag2Combo.setEditable(True)
+        self.tag2Combo.setObjectName("tag2Combo")
+        self.gridLayout_2.addWidget(self.tag2Combo, 2, 1, 1, 2)
+        self.branch2Button = QtWidgets.QRadioButton(parent=self.rev2GroupBox)
+        self.branch2Button.setObjectName("branch2Button")
+        self.gridLayout_2.addWidget(self.branch2Button, 3, 0, 1, 1)
+        self.branch2Combo = QtWidgets.QComboBox(parent=self.rev2GroupBox)
+        self.branch2Combo.setEnabled(False)
+        self.branch2Combo.setEditable(True)
+        self.branch2Combo.setObjectName("branch2Combo")
+        self.gridLayout_2.addWidget(self.branch2Combo, 3, 1, 1, 2)
+        self.bookmark2Button = QtWidgets.QRadioButton(parent=self.rev2GroupBox)
+        self.bookmark2Button.setObjectName("bookmark2Button")
+        self.gridLayout_2.addWidget(self.bookmark2Button, 4, 0, 1, 1)
+        self.bookmark2Combo = QtWidgets.QComboBox(parent=self.rev2GroupBox)
+        self.bookmark2Combo.setEnabled(False)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.bookmark2Combo.sizePolicy().hasHeightForWidth())
+        self.bookmark2Combo.setSizePolicy(sizePolicy)
+        self.bookmark2Combo.setEditable(True)
+        self.bookmark2Combo.setObjectName("bookmark2Combo")
+        self.gridLayout_2.addWidget(self.bookmark2Combo, 4, 1, 1, 2)
+        self.expression2Button = QtWidgets.QRadioButton(parent=self.rev2GroupBox)
+        self.expression2Button.setObjectName("expression2Button")
+        self.gridLayout_2.addWidget(self.expression2Button, 5, 0, 1, 1)
+        self.expression2Edit = QtWidgets.QLineEdit(parent=self.rev2GroupBox)
+        self.expression2Edit.setEnabled(False)
+        self.expression2Edit.setClearButtonEnabled(True)
+        self.expression2Edit.setObjectName("expression2Edit")
+        self.gridLayout_2.addWidget(self.expression2Edit, 5, 1, 1, 2)
+        self.tip2Button = QtWidgets.QRadioButton(parent=self.rev2GroupBox)
+        self.tip2Button.setChecked(True)
+        self.tip2Button.setObjectName("tip2Button")
+        self.gridLayout_2.addWidget(self.tip2Button, 6, 0, 1, 3)
+        self.prev2Button = QtWidgets.QRadioButton(parent=self.rev2GroupBox)
+        self.prev2Button.setObjectName("prev2Button")
+        self.gridLayout_2.addWidget(self.prev2Button, 7, 0, 1, 3)
+        self.none2Button = QtWidgets.QRadioButton(parent=self.rev2GroupBox)
+        self.none2Button.setObjectName("none2Button")
+        self.gridLayout_2.addWidget(self.none2Button, 8, 0, 1, 3)
+        self.verticalLayout.addWidget(self.rev2GroupBox)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=HgRevisionsSelectionDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(HgRevisionsSelectionDialog)
+        self.buttonBox.accepted.connect(HgRevisionsSelectionDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(HgRevisionsSelectionDialog.reject) # type: ignore
+        self.number1Button.toggled['bool'].connect(self.number1SpinBox.setEnabled) # type: ignore
+        self.number2Button.toggled['bool'].connect(self.number2SpinBox.setEnabled) # type: ignore
+        self.id1Button.toggled['bool'].connect(self.id1Edit.setEnabled) # type: ignore
+        self.id2Button.toggled['bool'].connect(self.id2Edit.setEnabled) # type: ignore
+        self.tag1Button.toggled['bool'].connect(self.tag1Combo.setEnabled) # type: ignore
+        self.branch1Button.toggled['bool'].connect(self.branch1Combo.setEnabled) # type: ignore
+        self.tag2Button.toggled['bool'].connect(self.tag2Combo.setEnabled) # type: ignore
+        self.branch2Button.toggled['bool'].connect(self.branch2Combo.setEnabled) # type: ignore
+        self.bookmark1Button.toggled['bool'].connect(self.bookmark1Combo.setEnabled) # type: ignore
+        self.bookmark2Button.toggled['bool'].connect(self.bookmark2Combo.setEnabled) # type: ignore
+        self.expression1Button.toggled['bool'].connect(self.expression1Edit.setEnabled) # type: ignore
+        self.expression2Button.toggled['bool'].connect(self.expression2Edit.setEnabled) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(HgRevisionsSelectionDialog)
+        HgRevisionsSelectionDialog.setTabOrder(self.number1Button, self.number1SpinBox)
+        HgRevisionsSelectionDialog.setTabOrder(self.number1SpinBox, self.id1Button)
+        HgRevisionsSelectionDialog.setTabOrder(self.id1Button, self.id1Edit)
+        HgRevisionsSelectionDialog.setTabOrder(self.id1Edit, self.tag1Button)
+        HgRevisionsSelectionDialog.setTabOrder(self.tag1Button, self.tag1Combo)
+        HgRevisionsSelectionDialog.setTabOrder(self.tag1Combo, self.branch1Button)
+        HgRevisionsSelectionDialog.setTabOrder(self.branch1Button, self.branch1Combo)
+        HgRevisionsSelectionDialog.setTabOrder(self.branch1Combo, self.bookmark1Button)
+        HgRevisionsSelectionDialog.setTabOrder(self.bookmark1Button, self.bookmark1Combo)
+        HgRevisionsSelectionDialog.setTabOrder(self.bookmark1Combo, self.expression1Button)
+        HgRevisionsSelectionDialog.setTabOrder(self.expression1Button, self.expression1Edit)
+        HgRevisionsSelectionDialog.setTabOrder(self.expression1Edit, self.tip1Button)
+        HgRevisionsSelectionDialog.setTabOrder(self.tip1Button, self.prev1Button)
+        HgRevisionsSelectionDialog.setTabOrder(self.prev1Button, self.none1Button)
+        HgRevisionsSelectionDialog.setTabOrder(self.none1Button, self.number2Button)
+        HgRevisionsSelectionDialog.setTabOrder(self.number2Button, self.number2SpinBox)
+        HgRevisionsSelectionDialog.setTabOrder(self.number2SpinBox, self.id2Button)
+        HgRevisionsSelectionDialog.setTabOrder(self.id2Button, self.id2Edit)
+        HgRevisionsSelectionDialog.setTabOrder(self.id2Edit, self.tag2Button)
+        HgRevisionsSelectionDialog.setTabOrder(self.tag2Button, self.tag2Combo)
+        HgRevisionsSelectionDialog.setTabOrder(self.tag2Combo, self.branch2Button)
+        HgRevisionsSelectionDialog.setTabOrder(self.branch2Button, self.branch2Combo)
+        HgRevisionsSelectionDialog.setTabOrder(self.branch2Combo, self.bookmark2Button)
+        HgRevisionsSelectionDialog.setTabOrder(self.bookmark2Button, self.bookmark2Combo)
+        HgRevisionsSelectionDialog.setTabOrder(self.bookmark2Combo, self.expression2Button)
+        HgRevisionsSelectionDialog.setTabOrder(self.expression2Button, self.expression2Edit)
+        HgRevisionsSelectionDialog.setTabOrder(self.expression2Edit, self.tip2Button)
+        HgRevisionsSelectionDialog.setTabOrder(self.tip2Button, self.prev2Button)
+        HgRevisionsSelectionDialog.setTabOrder(self.prev2Button, self.none2Button)
+
+    def retranslateUi(self, HgRevisionsSelectionDialog):
+        _translate = QtCore.QCoreApplication.translate
+        HgRevisionsSelectionDialog.setWindowTitle(_translate("HgRevisionsSelectionDialog", "Mercurial Diff"))
+        self.rev1GroupBox.setTitle(_translate("HgRevisionsSelectionDialog", "Revision &1"))
+        self.number1Button.setToolTip(_translate("HgRevisionsSelectionDialog", "Select to specify a revision by number"))
+        self.number1Button.setText(_translate("HgRevisionsSelectionDialog", "Number"))
+        self.number1SpinBox.setToolTip(_translate("HgRevisionsSelectionDialog", "Enter a revision number"))
+        self.id1Button.setToolTip(_translate("HgRevisionsSelectionDialog", "Select to specify a revision by changeset id"))
+        self.id1Button.setText(_translate("HgRevisionsSelectionDialog", "Id:"))
+        self.id1Edit.setToolTip(_translate("HgRevisionsSelectionDialog", "Enter a changeset id"))
+        self.tag1Button.setToolTip(_translate("HgRevisionsSelectionDialog", "Select to specify a revision by a tag"))
+        self.tag1Button.setText(_translate("HgRevisionsSelectionDialog", "Tag:"))
+        self.tag1Combo.setToolTip(_translate("HgRevisionsSelectionDialog", "Enter a tag name"))
+        self.branch1Button.setToolTip(_translate("HgRevisionsSelectionDialog", "Select to specify a revision by a branch"))
+        self.branch1Button.setText(_translate("HgRevisionsSelectionDialog", "Branch:"))
+        self.branch1Combo.setToolTip(_translate("HgRevisionsSelectionDialog", "Enter a branch name"))
+        self.bookmark1Button.setToolTip(_translate("HgRevisionsSelectionDialog", "Select to specify a revision by a bookmark"))
+        self.bookmark1Button.setText(_translate("HgRevisionsSelectionDialog", "Bookmark:"))
+        self.bookmark1Combo.setToolTip(_translate("HgRevisionsSelectionDialog", "Enter a bookmark name"))
+        self.expression1Button.setText(_translate("HgRevisionsSelectionDialog", "Expression:"))
+        self.expression1Edit.setToolTip(_translate("HgRevisionsSelectionDialog", "Enter a revision set expression"))
+        self.tip1Button.setToolTip(_translate("HgRevisionsSelectionDialog", "Select tip revision of repository"))
+        self.tip1Button.setText(_translate("HgRevisionsSelectionDialog", "TIP"))
+        self.prev1Button.setToolTip(_translate("HgRevisionsSelectionDialog", "Select revision before last commit"))
+        self.prev1Button.setText(_translate("HgRevisionsSelectionDialog", "PREV"))
+        self.none1Button.setText(_translate("HgRevisionsSelectionDialog", "No revision selected"))
+        self.rev2GroupBox.setTitle(_translate("HgRevisionsSelectionDialog", "Revision &2"))
+        self.number2Button.setToolTip(_translate("HgRevisionsSelectionDialog", "Select to specify a revision by number"))
+        self.number2Button.setText(_translate("HgRevisionsSelectionDialog", "Number"))
+        self.number2SpinBox.setToolTip(_translate("HgRevisionsSelectionDialog", "Enter a revision number"))
+        self.id2Button.setToolTip(_translate("HgRevisionsSelectionDialog", "Select to specify a revision by changeset id"))
+        self.id2Button.setText(_translate("HgRevisionsSelectionDialog", "Id:"))
+        self.id2Edit.setToolTip(_translate("HgRevisionsSelectionDialog", "Enter a changeset id"))
+        self.tag2Button.setToolTip(_translate("HgRevisionsSelectionDialog", "Select to specify a revision by a tag"))
+        self.tag2Button.setText(_translate("HgRevisionsSelectionDialog", "Tag:"))
+        self.tag2Combo.setToolTip(_translate("HgRevisionsSelectionDialog", "Enter a tag name"))
+        self.branch2Button.setToolTip(_translate("HgRevisionsSelectionDialog", "Select to specify a revision by a branch"))
+        self.branch2Button.setText(_translate("HgRevisionsSelectionDialog", "Branch:"))
+        self.branch2Combo.setToolTip(_translate("HgRevisionsSelectionDialog", "Enter a branch name"))
+        self.bookmark2Button.setToolTip(_translate("HgRevisionsSelectionDialog", "Select to specify a revision by a bookmark"))
+        self.bookmark2Button.setText(_translate("HgRevisionsSelectionDialog", "Bookmark:"))
+        self.bookmark2Combo.setToolTip(_translate("HgRevisionsSelectionDialog", "Enter a bookmark name"))
+        self.expression2Button.setText(_translate("HgRevisionsSelectionDialog", "Expression:"))
+        self.expression2Edit.setToolTip(_translate("HgRevisionsSelectionDialog", "Enter a revision set expression"))
+        self.tip2Button.setToolTip(_translate("HgRevisionsSelectionDialog", "Select tip revision of repository"))
+        self.tip2Button.setText(_translate("HgRevisionsSelectionDialog", "TIP"))
+        self.prev2Button.setToolTip(_translate("HgRevisionsSelectionDialog", "Select revision before last commit"))
+        self.prev2Button.setText(_translate("HgRevisionsSelectionDialog", "PREV"))
+        self.none2Button.setText(_translate("HgRevisionsSelectionDialog", "No revision selected"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsMercurial/Ui_HgStatusDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,115 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsMercurial/HgStatusDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_HgStatusDialog(object):
+    def setupUi(self, HgStatusDialog):
+        HgStatusDialog.setObjectName("HgStatusDialog")
+        HgStatusDialog.resize(800, 600)
+        self.verticalLayout = QtWidgets.QVBoxLayout(HgStatusDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.actionsButton = QtWidgets.QToolButton(parent=HgStatusDialog)
+        self.actionsButton.setPopupMode(QtWidgets.QToolButton.ToolButtonPopupMode.InstantPopup)
+        self.actionsButton.setObjectName("actionsButton")
+        self.horizontalLayout_2.addWidget(self.actionsButton)
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_2.addItem(spacerItem)
+        self.label = QtWidgets.QLabel(parent=HgStatusDialog)
+        self.label.setObjectName("label")
+        self.horizontalLayout_2.addWidget(self.label)
+        self.statusFilterCombo = QtWidgets.QComboBox(parent=HgStatusDialog)
+        self.statusFilterCombo.setSizeAdjustPolicy(QtWidgets.QComboBox.SizeAdjustPolicy.AdjustToContents)
+        self.statusFilterCombo.setObjectName("statusFilterCombo")
+        self.horizontalLayout_2.addWidget(self.statusFilterCombo)
+        self.verticalLayout.addLayout(self.horizontalLayout_2)
+        self.diffSplitter = QtWidgets.QSplitter(parent=HgStatusDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(2)
+        sizePolicy.setHeightForWidth(self.diffSplitter.sizePolicy().hasHeightForWidth())
+        self.diffSplitter.setSizePolicy(sizePolicy)
+        self.diffSplitter.setOrientation(QtCore.Qt.Orientation.Vertical)
+        self.diffSplitter.setChildrenCollapsible(False)
+        self.diffSplitter.setObjectName("diffSplitter")
+        self.statusList = QtWidgets.QTreeWidget(parent=self.diffSplitter)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.statusList.sizePolicy().hasHeightForWidth())
+        self.statusList.setSizePolicy(sizePolicy)
+        self.statusList.setAlternatingRowColors(True)
+        self.statusList.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.ExtendedSelection)
+        self.statusList.setRootIsDecorated(False)
+        self.statusList.setObjectName("statusList")
+        self.layoutWidget = QtWidgets.QWidget(parent=self.diffSplitter)
+        self.layoutWidget.setObjectName("layoutWidget")
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.layoutWidget)
+        self.verticalLayout_2.setContentsMargins(0, 0, 0, 0)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.diffLabel = QtWidgets.QLabel(parent=self.layoutWidget)
+        self.diffLabel.setObjectName("diffLabel")
+        self.verticalLayout_2.addWidget(self.diffLabel)
+        self.diffEdit = QtWidgets.QPlainTextEdit(parent=self.layoutWidget)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.diffEdit.sizePolicy().hasHeightForWidth())
+        self.diffEdit.setSizePolicy(sizePolicy)
+        self.diffEdit.setLineWrapMode(QtWidgets.QPlainTextEdit.LineWrapMode.NoWrap)
+        self.diffEdit.setReadOnly(True)
+        self.diffEdit.setTabStopDistance(8.0)
+        self.diffEdit.setObjectName("diffEdit")
+        self.verticalLayout_2.addWidget(self.diffEdit)
+        self.verticalLayout.addWidget(self.diffSplitter)
+        self.errorGroup = QtWidgets.QGroupBox(parent=HgStatusDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(1)
+        sizePolicy.setHeightForWidth(self.errorGroup.sizePolicy().hasHeightForWidth())
+        self.errorGroup.setSizePolicy(sizePolicy)
+        self.errorGroup.setObjectName("errorGroup")
+        self.vboxlayout = QtWidgets.QVBoxLayout(self.errorGroup)
+        self.vboxlayout.setObjectName("vboxlayout")
+        self.errors = QtWidgets.QTextEdit(parent=self.errorGroup)
+        self.errors.setReadOnly(True)
+        self.errors.setAcceptRichText(False)
+        self.errors.setObjectName("errors")
+        self.vboxlayout.addWidget(self.errors)
+        self.verticalLayout.addWidget(self.errorGroup)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=HgStatusDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+        self.label.setBuddy(self.statusFilterCombo)
+
+        self.retranslateUi(HgStatusDialog)
+        QtCore.QMetaObject.connectSlotsByName(HgStatusDialog)
+        HgStatusDialog.setTabOrder(self.actionsButton, self.statusFilterCombo)
+        HgStatusDialog.setTabOrder(self.statusFilterCombo, self.statusList)
+        HgStatusDialog.setTabOrder(self.statusList, self.diffEdit)
+        HgStatusDialog.setTabOrder(self.diffEdit, self.errors)
+
+    def retranslateUi(self, HgStatusDialog):
+        _translate = QtCore.QCoreApplication.translate
+        HgStatusDialog.setWindowTitle(_translate("HgStatusDialog", "Mercurial Status"))
+        HgStatusDialog.setWhatsThis(_translate("HgStatusDialog", "<b>Mercurial Status</b>\n"
+"<p>This dialog shows the status of the selected file or project.</p>"))
+        self.actionsButton.setToolTip(_translate("HgStatusDialog", "Select action from menu"))
+        self.label.setText(_translate("HgStatusDialog", "&Filter on Status:"))
+        self.statusFilterCombo.setToolTip(_translate("HgStatusDialog", "Select the status of entries to be shown"))
+        self.statusList.setSortingEnabled(True)
+        self.statusList.headerItem().setText(0, _translate("HgStatusDialog", "Commit"))
+        self.statusList.headerItem().setText(1, _translate("HgStatusDialog", "Status"))
+        self.statusList.headerItem().setText(2, _translate("HgStatusDialog", "Path"))
+        self.diffLabel.setText(_translate("HgStatusDialog", "Differences"))
+        self.errorGroup.setTitle(_translate("HgStatusDialog", "Errors"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsMercurial/Ui_HgSummaryDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,64 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsMercurial/HgSummaryDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_HgSummaryDialog(object):
+    def setupUi(self, HgSummaryDialog):
+        HgSummaryDialog.setObjectName("HgSummaryDialog")
+        HgSummaryDialog.resize(600, 500)
+        HgSummaryDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(HgSummaryDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.summary = QtWidgets.QTextEdit(parent=HgSummaryDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(2)
+        sizePolicy.setHeightForWidth(self.summary.sizePolicy().hasHeightForWidth())
+        self.summary.setSizePolicy(sizePolicy)
+        self.summary.setReadOnly(True)
+        self.summary.setObjectName("summary")
+        self.verticalLayout.addWidget(self.summary)
+        self.errorGroup = QtWidgets.QGroupBox(parent=HgSummaryDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(1)
+        sizePolicy.setHeightForWidth(self.errorGroup.sizePolicy().hasHeightForWidth())
+        self.errorGroup.setSizePolicy(sizePolicy)
+        self.errorGroup.setObjectName("errorGroup")
+        self.vboxlayout = QtWidgets.QVBoxLayout(self.errorGroup)
+        self.vboxlayout.setObjectName("vboxlayout")
+        self.errors = QtWidgets.QTextEdit(parent=self.errorGroup)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.errors.sizePolicy().hasHeightForWidth())
+        self.errors.setSizePolicy(sizePolicy)
+        self.errors.setReadOnly(True)
+        self.errors.setAcceptRichText(False)
+        self.errors.setObjectName("errors")
+        self.vboxlayout.addWidget(self.errors)
+        self.verticalLayout.addWidget(self.errorGroup)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=HgSummaryDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(HgSummaryDialog)
+        self.buttonBox.accepted.connect(HgSummaryDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(HgSummaryDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(HgSummaryDialog)
+        HgSummaryDialog.setTabOrder(self.summary, self.errors)
+        HgSummaryDialog.setTabOrder(self.errors, self.buttonBox)
+
+    def retranslateUi(self, HgSummaryDialog):
+        _translate = QtCore.QCoreApplication.translate
+        HgSummaryDialog.setWindowTitle(_translate("HgSummaryDialog", "Summary Information"))
+        self.errorGroup.setTitle(_translate("HgSummaryDialog", "Errors"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsMercurial/Ui_HgTagBranchListDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,69 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsMercurial/HgTagBranchListDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_HgTagBranchListDialog(object):
+    def setupUi(self, HgTagBranchListDialog):
+        HgTagBranchListDialog.setObjectName("HgTagBranchListDialog")
+        HgTagBranchListDialog.resize(634, 494)
+        HgTagBranchListDialog.setSizeGripEnabled(True)
+        self.vboxlayout = QtWidgets.QVBoxLayout(HgTagBranchListDialog)
+        self.vboxlayout.setObjectName("vboxlayout")
+        self.tagList = QtWidgets.QTreeWidget(parent=HgTagBranchListDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(2)
+        sizePolicy.setHeightForWidth(self.tagList.sizePolicy().hasHeightForWidth())
+        self.tagList.setSizePolicy(sizePolicy)
+        self.tagList.setContextMenuPolicy(QtCore.Qt.ContextMenuPolicy.CustomContextMenu)
+        self.tagList.setAlternatingRowColors(True)
+        self.tagList.setRootIsDecorated(False)
+        self.tagList.setItemsExpandable(False)
+        self.tagList.setObjectName("tagList")
+        self.vboxlayout.addWidget(self.tagList)
+        self.errorGroup = QtWidgets.QGroupBox(parent=HgTagBranchListDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(1)
+        sizePolicy.setHeightForWidth(self.errorGroup.sizePolicy().hasHeightForWidth())
+        self.errorGroup.setSizePolicy(sizePolicy)
+        self.errorGroup.setObjectName("errorGroup")
+        self.vboxlayout1 = QtWidgets.QVBoxLayout(self.errorGroup)
+        self.vboxlayout1.setObjectName("vboxlayout1")
+        self.errors = QtWidgets.QTextEdit(parent=self.errorGroup)
+        self.errors.setReadOnly(True)
+        self.errors.setAcceptRichText(False)
+        self.errors.setObjectName("errors")
+        self.vboxlayout1.addWidget(self.errors)
+        self.vboxlayout.addWidget(self.errorGroup)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=HgTagBranchListDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.vboxlayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(HgTagBranchListDialog)
+        QtCore.QMetaObject.connectSlotsByName(HgTagBranchListDialog)
+        HgTagBranchListDialog.setTabOrder(self.tagList, self.errors)
+        HgTagBranchListDialog.setTabOrder(self.errors, self.buttonBox)
+
+    def retranslateUi(self, HgTagBranchListDialog):
+        _translate = QtCore.QCoreApplication.translate
+        HgTagBranchListDialog.setWindowTitle(_translate("HgTagBranchListDialog", "Mercurial Tag List"))
+        HgTagBranchListDialog.setWhatsThis(_translate("HgTagBranchListDialog", "<b>Mercurial Tag/Branch List</b>\n"
+"<p>This dialog shows a list of the projects tags or branches.</p>"))
+        self.tagList.setWhatsThis(_translate("HgTagBranchListDialog", "<b>Tag/Branches List</b>\n"
+"<p>This shows a list of the projects tags or branches.</p>"))
+        self.tagList.setSortingEnabled(True)
+        self.tagList.headerItem().setText(0, _translate("HgTagBranchListDialog", "Revision"))
+        self.tagList.headerItem().setText(1, _translate("HgTagBranchListDialog", "Changeset"))
+        self.tagList.headerItem().setText(2, _translate("HgTagBranchListDialog", "Local"))
+        self.tagList.headerItem().setText(3, _translate("HgTagBranchListDialog", "Name"))
+        self.errorGroup.setTitle(_translate("HgTagBranchListDialog", "Errors"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsMercurial/Ui_HgTagDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,107 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsMercurial/HgTagDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_HgTagDialog(object):
+    def setupUi(self, HgTagDialog):
+        HgTagDialog.setObjectName("HgTagDialog")
+        HgTagDialog.resize(391, 294)
+        HgTagDialog.setSizeGripEnabled(True)
+        self.gridLayout = QtWidgets.QGridLayout(HgTagDialog)
+        self.gridLayout.setObjectName("gridLayout")
+        self.TextLabel1 = QtWidgets.QLabel(parent=HgTagDialog)
+        self.TextLabel1.setObjectName("TextLabel1")
+        self.gridLayout.addWidget(self.TextLabel1, 0, 0, 1, 1)
+        self.tagCombo = QtWidgets.QComboBox(parent=HgTagDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.tagCombo.sizePolicy().hasHeightForWidth())
+        self.tagCombo.setSizePolicy(sizePolicy)
+        self.tagCombo.setEditable(True)
+        self.tagCombo.setDuplicatesEnabled(False)
+        self.tagCombo.setObjectName("tagCombo")
+        self.gridLayout.addWidget(self.tagCombo, 0, 1, 1, 1)
+        self.label = QtWidgets.QLabel(parent=HgTagDialog)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 1, 0, 1, 1)
+        self.revisionEdit = QtWidgets.QLineEdit(parent=HgTagDialog)
+        self.revisionEdit.setObjectName("revisionEdit")
+        self.gridLayout.addWidget(self.revisionEdit, 1, 1, 1, 1)
+        self.tagActionGroup = QtWidgets.QGroupBox(parent=HgTagDialog)
+        self.tagActionGroup.setObjectName("tagActionGroup")
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.tagActionGroup)
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.createTagButton = QtWidgets.QRadioButton(parent=self.tagActionGroup)
+        self.createTagButton.setChecked(True)
+        self.createTagButton.setObjectName("createTagButton")
+        self.horizontalLayout_2.addWidget(self.createTagButton)
+        self.deleteTagButton = QtWidgets.QRadioButton(parent=self.tagActionGroup)
+        self.deleteTagButton.setObjectName("deleteTagButton")
+        self.horizontalLayout_2.addWidget(self.deleteTagButton)
+        self.gridLayout.addWidget(self.tagActionGroup, 2, 0, 1, 2)
+        self.forceCheckBox = QtWidgets.QCheckBox(parent=HgTagDialog)
+        self.forceCheckBox.setObjectName("forceCheckBox")
+        self.gridLayout.addWidget(self.forceCheckBox, 3, 0, 1, 2)
+        self.tagTypeGroup = QtWidgets.QGroupBox(parent=HgTagDialog)
+        self.tagTypeGroup.setObjectName("tagTypeGroup")
+        self.horizontalLayout = QtWidgets.QHBoxLayout(self.tagTypeGroup)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.globalTagButton = QtWidgets.QRadioButton(parent=self.tagTypeGroup)
+        self.globalTagButton.setChecked(True)
+        self.globalTagButton.setObjectName("globalTagButton")
+        self.horizontalLayout.addWidget(self.globalTagButton)
+        self.localTagButton = QtWidgets.QRadioButton(parent=self.tagTypeGroup)
+        self.localTagButton.setObjectName("localTagButton")
+        self.horizontalLayout.addWidget(self.localTagButton)
+        self.gridLayout.addWidget(self.tagTypeGroup, 4, 0, 1, 2)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=HgTagDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout.addWidget(self.buttonBox, 5, 0, 1, 2)
+
+        self.retranslateUi(HgTagDialog)
+        self.buttonBox.accepted.connect(HgTagDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(HgTagDialog.reject) # type: ignore
+        self.deleteTagButton.toggled['bool'].connect(self.revisionEdit.setDisabled) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(HgTagDialog)
+        HgTagDialog.setTabOrder(self.tagCombo, self.revisionEdit)
+        HgTagDialog.setTabOrder(self.revisionEdit, self.createTagButton)
+        HgTagDialog.setTabOrder(self.createTagButton, self.deleteTagButton)
+        HgTagDialog.setTabOrder(self.deleteTagButton, self.forceCheckBox)
+        HgTagDialog.setTabOrder(self.forceCheckBox, self.globalTagButton)
+        HgTagDialog.setTabOrder(self.globalTagButton, self.localTagButton)
+
+    def retranslateUi(self, HgTagDialog):
+        _translate = QtCore.QCoreApplication.translate
+        HgTagDialog.setWindowTitle(_translate("HgTagDialog", "Mercurial Tag"))
+        self.TextLabel1.setText(_translate("HgTagDialog", "Name:"))
+        self.tagCombo.setToolTip(_translate("HgTagDialog", "Enter the name of the tag"))
+        self.tagCombo.setWhatsThis(_translate("HgTagDialog", "<b>Tag Name</b>\n"
+"<p>Enter the name of the tag to be created, moved or deleted.</p>"))
+        self.label.setText(_translate("HgTagDialog", "Revision:"))
+        self.revisionEdit.setToolTip(_translate("HgTagDialog", "Enter a revision to set a tag for"))
+        self.tagActionGroup.setTitle(_translate("HgTagDialog", "Tag Action"))
+        self.createTagButton.setToolTip(_translate("HgTagDialog", "Select to create a tag"))
+        self.createTagButton.setWhatsThis(_translate("HgTagDialog", "<b>Create Tag</b>\n"
+"<p>Select this entry in order to create a tag.</p>"))
+        self.createTagButton.setText(_translate("HgTagDialog", "Create Tag"))
+        self.deleteTagButton.setToolTip(_translate("HgTagDialog", "Select to delete a tag"))
+        self.deleteTagButton.setWhatsThis(_translate("HgTagDialog", "<b>Delete Tag</b>\n"
+"<p>Select this entry in order to delete the selected tag.</p>"))
+        self.deleteTagButton.setText(_translate("HgTagDialog", "Delete Tag"))
+        self.forceCheckBox.setToolTip(_translate("HgTagDialog", "Select to enforce the selected action"))
+        self.forceCheckBox.setText(_translate("HgTagDialog", "Force Action"))
+        self.tagTypeGroup.setTitle(_translate("HgTagDialog", "Tag Type"))
+        self.globalTagButton.setToolTip(_translate("HgTagDialog", "Select to create/delete a global tag"))
+        self.globalTagButton.setText(_translate("HgTagDialog", "Global Tag"))
+        self.localTagButton.setToolTip(_translate("HgTagDialog", "Select to create/delete a local tag"))
+        self.localTagButton.setText(_translate("HgTagDialog", "Local Tag"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsMercurial/Ui_HgUserConfigDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,347 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsMercurial/HgUserConfigDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_HgUserConfigDialog(object):
+    def setupUi(self, HgUserConfigDialog):
+        HgUserConfigDialog.setObjectName("HgUserConfigDialog")
+        HgUserConfigDialog.resize(500, 550)
+        HgUserConfigDialog.setSizeGripEnabled(True)
+        self.verticalLayout_7 = QtWidgets.QVBoxLayout(HgUserConfigDialog)
+        self.verticalLayout_7.setObjectName("verticalLayout_7")
+        self.tabWidget = QtWidgets.QTabWidget(parent=HgUserConfigDialog)
+        self.tabWidget.setObjectName("tabWidget")
+        self.tab = QtWidgets.QWidget()
+        self.tab.setObjectName("tab")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.tab)
+        self.verticalLayout.setContentsMargins(6, 6, 6, 6)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.groupBox = QtWidgets.QGroupBox(parent=self.tab)
+        self.groupBox.setObjectName("groupBox")
+        self.gridLayout = QtWidgets.QGridLayout(self.groupBox)
+        self.gridLayout.setObjectName("gridLayout")
+        self.label = QtWidgets.QLabel(parent=self.groupBox)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
+        self.userNameEdit = QtWidgets.QLineEdit(parent=self.groupBox)
+        self.userNameEdit.setClearButtonEnabled(True)
+        self.userNameEdit.setObjectName("userNameEdit")
+        self.gridLayout.addWidget(self.userNameEdit, 0, 1, 1, 1)
+        self.label_3 = QtWidgets.QLabel(parent=self.groupBox)
+        self.label_3.setObjectName("label_3")
+        self.gridLayout.addWidget(self.label_3, 1, 0, 1, 1)
+        self.emailEdit = QtWidgets.QLineEdit(parent=self.groupBox)
+        self.emailEdit.setClearButtonEnabled(True)
+        self.emailEdit.setObjectName("emailEdit")
+        self.gridLayout.addWidget(self.emailEdit, 1, 1, 1, 1)
+        self.verticalLayout.addWidget(self.groupBox)
+        spacerItem = QtWidgets.QSpacerItem(20, 239, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout.addItem(spacerItem)
+        self.tabWidget.addTab(self.tab, "")
+        self.tab_2 = QtWidgets.QWidget()
+        self.tab_2.setObjectName("tab_2")
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.tab_2)
+        self.verticalLayout_2.setContentsMargins(6, 6, 6, 6)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.groupBox_2 = QtWidgets.QGroupBox(parent=self.tab_2)
+        self.groupBox_2.setObjectName("groupBox_2")
+        self.gridLayout_2 = QtWidgets.QGridLayout(self.groupBox_2)
+        self.gridLayout_2.setObjectName("gridLayout_2")
+        self.closeheadCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_2)
+        self.closeheadCheckBox.setObjectName("closeheadCheckBox")
+        self.gridLayout_2.addWidget(self.closeheadCheckBox, 0, 0, 1, 1)
+        self.gpgCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_2)
+        self.gpgCheckBox.setObjectName("gpgCheckBox")
+        self.gridLayout_2.addWidget(self.gpgCheckBox, 0, 1, 1, 1)
+        self.histeditCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_2)
+        self.histeditCheckBox.setObjectName("histeditCheckBox")
+        self.gridLayout_2.addWidget(self.histeditCheckBox, 1, 0, 1, 1)
+        self.largefilesCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_2)
+        self.largefilesCheckBox.setObjectName("largefilesCheckBox")
+        self.gridLayout_2.addWidget(self.largefilesCheckBox, 1, 1, 1, 1)
+        self.purgeCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_2)
+        self.purgeCheckBox.setObjectName("purgeCheckBox")
+        self.gridLayout_2.addWidget(self.purgeCheckBox, 2, 0, 1, 1)
+        self.queuesCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_2)
+        self.queuesCheckBox.setObjectName("queuesCheckBox")
+        self.gridLayout_2.addWidget(self.queuesCheckBox, 2, 1, 1, 1)
+        self.rebaseCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_2)
+        self.rebaseCheckBox.setObjectName("rebaseCheckBox")
+        self.gridLayout_2.addWidget(self.rebaseCheckBox, 3, 0, 1, 1)
+        self.shelveCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_2)
+        self.shelveCheckBox.setObjectName("shelveCheckBox")
+        self.gridLayout_2.addWidget(self.shelveCheckBox, 3, 1, 1, 1)
+        self.stripCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_2)
+        self.stripCheckBox.setObjectName("stripCheckBox")
+        self.gridLayout_2.addWidget(self.stripCheckBox, 4, 0, 1, 1)
+        self.verticalLayout_2.addWidget(self.groupBox_2)
+        self.largefilesGroup = QtWidgets.QGroupBox(parent=self.tab_2)
+        self.largefilesGroup.setEnabled(False)
+        self.largefilesGroup.setObjectName("largefilesGroup")
+        self.gridLayout_3 = QtWidgets.QGridLayout(self.largefilesGroup)
+        self.gridLayout_3.setObjectName("gridLayout_3")
+        self.label_4 = QtWidgets.QLabel(parent=self.largefilesGroup)
+        self.label_4.setObjectName("label_4")
+        self.gridLayout_3.addWidget(self.label_4, 0, 0, 1, 1)
+        self.lfFileSizeSpinBox = QtWidgets.QSpinBox(parent=self.largefilesGroup)
+        self.lfFileSizeSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.lfFileSizeSpinBox.setMinimum(1)
+        self.lfFileSizeSpinBox.setProperty("value", 10)
+        self.lfFileSizeSpinBox.setObjectName("lfFileSizeSpinBox")
+        self.gridLayout_3.addWidget(self.lfFileSizeSpinBox, 0, 1, 1, 1)
+        spacerItem1 = QtWidgets.QSpacerItem(215, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout_3.addItem(spacerItem1, 0, 2, 1, 1)
+        self.label_5 = QtWidgets.QLabel(parent=self.largefilesGroup)
+        self.label_5.setObjectName("label_5")
+        self.gridLayout_3.addWidget(self.label_5, 1, 0, 1, 1)
+        self.lfFilePatternsEdit = QtWidgets.QLineEdit(parent=self.largefilesGroup)
+        self.lfFilePatternsEdit.setClearButtonEnabled(True)
+        self.lfFilePatternsEdit.setObjectName("lfFilePatternsEdit")
+        self.gridLayout_3.addWidget(self.lfFilePatternsEdit, 1, 1, 1, 2)
+        self.label_2 = QtWidgets.QLabel(parent=self.largefilesGroup)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout_3.addWidget(self.label_2, 2, 0, 1, 1)
+        self.lfUserCachePicker = EricPathPicker(parent=self.largefilesGroup)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.lfUserCachePicker.sizePolicy().hasHeightForWidth())
+        self.lfUserCachePicker.setSizePolicy(sizePolicy)
+        self.lfUserCachePicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.lfUserCachePicker.setObjectName("lfUserCachePicker")
+        self.gridLayout_3.addWidget(self.lfUserCachePicker, 2, 1, 1, 2)
+        self.verticalLayout_2.addWidget(self.largefilesGroup)
+        spacerItem2 = QtWidgets.QSpacerItem(20, 39, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout_2.addItem(spacerItem2)
+        self.tabWidget.addTab(self.tab_2, "")
+        self.tab_3 = QtWidgets.QWidget()
+        self.tab_3.setObjectName("tab_3")
+        self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.tab_3)
+        self.verticalLayout_3.setContentsMargins(6, 6, 6, 6)
+        self.verticalLayout_3.setObjectName("verticalLayout_3")
+        self.groupBox_3 = QtWidgets.QGroupBox(parent=self.tab_3)
+        self.groupBox_3.setObjectName("groupBox_3")
+        self.gridLayout_4 = QtWidgets.QGridLayout(self.groupBox_3)
+        self.gridLayout_4.setObjectName("gridLayout_4")
+        self.label_6 = QtWidgets.QLabel(parent=self.groupBox_3)
+        self.label_6.setObjectName("label_6")
+        self.gridLayout_4.addWidget(self.label_6, 0, 0, 1, 1)
+        self.proxyHostEdit = QtWidgets.QLineEdit(parent=self.groupBox_3)
+        self.proxyHostEdit.setClearButtonEnabled(True)
+        self.proxyHostEdit.setObjectName("proxyHostEdit")
+        self.gridLayout_4.addWidget(self.proxyHostEdit, 0, 1, 1, 1)
+        self.label_7 = QtWidgets.QLabel(parent=self.groupBox_3)
+        self.label_7.setObjectName("label_7")
+        self.gridLayout_4.addWidget(self.label_7, 1, 0, 1, 1)
+        self.proxyUserEdit = QtWidgets.QLineEdit(parent=self.groupBox_3)
+        self.proxyUserEdit.setClearButtonEnabled(True)
+        self.proxyUserEdit.setObjectName("proxyUserEdit")
+        self.gridLayout_4.addWidget(self.proxyUserEdit, 1, 1, 1, 1)
+        self.label_8 = QtWidgets.QLabel(parent=self.groupBox_3)
+        self.label_8.setObjectName("label_8")
+        self.gridLayout_4.addWidget(self.label_8, 2, 0, 1, 1)
+        self.proxyPasswordEdit = QtWidgets.QLineEdit(parent=self.groupBox_3)
+        self.proxyPasswordEdit.setEchoMode(QtWidgets.QLineEdit.EchoMode.Password)
+        self.proxyPasswordEdit.setClearButtonEnabled(True)
+        self.proxyPasswordEdit.setObjectName("proxyPasswordEdit")
+        self.gridLayout_4.addWidget(self.proxyPasswordEdit, 2, 1, 1, 1)
+        self.label_9 = QtWidgets.QLabel(parent=self.groupBox_3)
+        self.label_9.setObjectName("label_9")
+        self.gridLayout_4.addWidget(self.label_9, 3, 0, 1, 1)
+        self.proxyBypassEdit = QtWidgets.QLineEdit(parent=self.groupBox_3)
+        self.proxyBypassEdit.setText("")
+        self.proxyBypassEdit.setClearButtonEnabled(True)
+        self.proxyBypassEdit.setObjectName("proxyBypassEdit")
+        self.gridLayout_4.addWidget(self.proxyBypassEdit, 3, 1, 1, 1)
+        self.verticalLayout_3.addWidget(self.groupBox_3)
+        spacerItem3 = QtWidgets.QSpacerItem(20, 242, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout_3.addItem(spacerItem3)
+        self.tabWidget.addTab(self.tab_3, "")
+        self.tab_4 = QtWidgets.QWidget()
+        self.tab_4.setObjectName("tab_4")
+        self.verticalLayout_6 = QtWidgets.QVBoxLayout(self.tab_4)
+        self.verticalLayout_6.setContentsMargins(6, 6, 6, 6)
+        self.verticalLayout_6.setObjectName("verticalLayout_6")
+        self.groupBox_4 = QtWidgets.QGroupBox(parent=self.tab_4)
+        self.groupBox_4.setObjectName("groupBox_4")
+        self.horizontalLayout = QtWidgets.QHBoxLayout(self.groupBox_4)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.fingerprintsList = QtWidgets.QTreeWidget(parent=self.groupBox_4)
+        self.fingerprintsList.setAlternatingRowColors(True)
+        self.fingerprintsList.setRootIsDecorated(False)
+        self.fingerprintsList.setItemsExpandable(False)
+        self.fingerprintsList.setObjectName("fingerprintsList")
+        self.horizontalLayout.addWidget(self.fingerprintsList)
+        self.verticalLayout_4 = QtWidgets.QVBoxLayout()
+        self.verticalLayout_4.setObjectName("verticalLayout_4")
+        self.fpAddButton = QtWidgets.QToolButton(parent=self.groupBox_4)
+        self.fpAddButton.setObjectName("fpAddButton")
+        self.verticalLayout_4.addWidget(self.fpAddButton)
+        self.fpDeleteButton = QtWidgets.QToolButton(parent=self.groupBox_4)
+        self.fpDeleteButton.setObjectName("fpDeleteButton")
+        self.verticalLayout_4.addWidget(self.fpDeleteButton)
+        self.fpEditButton = QtWidgets.QToolButton(parent=self.groupBox_4)
+        self.fpEditButton.setObjectName("fpEditButton")
+        self.verticalLayout_4.addWidget(self.fpEditButton)
+        spacerItem4 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout_4.addItem(spacerItem4)
+        self.horizontalLayout.addLayout(self.verticalLayout_4)
+        self.verticalLayout_6.addWidget(self.groupBox_4)
+        self.disableTls10WarningCheckBox = QtWidgets.QCheckBox(parent=self.tab_4)
+        self.disableTls10WarningCheckBox.setObjectName("disableTls10WarningCheckBox")
+        self.verticalLayout_6.addWidget(self.disableTls10WarningCheckBox)
+        self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
+        self.label_10 = QtWidgets.QLabel(parent=self.tab_4)
+        self.label_10.setObjectName("label_10")
+        self.horizontalLayout_3.addWidget(self.label_10)
+        self.minimumProtocolComboBox = QtWidgets.QComboBox(parent=self.tab_4)
+        self.minimumProtocolComboBox.setObjectName("minimumProtocolComboBox")
+        self.horizontalLayout_3.addWidget(self.minimumProtocolComboBox)
+        spacerItem5 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_3.addItem(spacerItem5)
+        self.verticalLayout_6.addLayout(self.horizontalLayout_3)
+        self.minimumProtcolGroupBox = QtWidgets.QGroupBox(parent=self.tab_4)
+        self.minimumProtcolGroupBox.setObjectName("minimumProtcolGroupBox")
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.minimumProtcolGroupBox)
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.protocolsList = QtWidgets.QTreeWidget(parent=self.minimumProtcolGroupBox)
+        self.protocolsList.setAlternatingRowColors(True)
+        self.protocolsList.setRootIsDecorated(False)
+        self.protocolsList.setItemsExpandable(False)
+        self.protocolsList.setObjectName("protocolsList")
+        self.horizontalLayout_2.addWidget(self.protocolsList)
+        self.verticalLayout_5 = QtWidgets.QVBoxLayout()
+        self.verticalLayout_5.setObjectName("verticalLayout_5")
+        self.protocolAddButton = QtWidgets.QToolButton(parent=self.minimumProtcolGroupBox)
+        self.protocolAddButton.setObjectName("protocolAddButton")
+        self.verticalLayout_5.addWidget(self.protocolAddButton)
+        self.protocolDeleteButton = QtWidgets.QToolButton(parent=self.minimumProtcolGroupBox)
+        self.protocolDeleteButton.setObjectName("protocolDeleteButton")
+        self.verticalLayout_5.addWidget(self.protocolDeleteButton)
+        self.protocolEditButton = QtWidgets.QToolButton(parent=self.minimumProtcolGroupBox)
+        self.protocolEditButton.setObjectName("protocolEditButton")
+        self.verticalLayout_5.addWidget(self.protocolEditButton)
+        spacerItem6 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout_5.addItem(spacerItem6)
+        self.horizontalLayout_2.addLayout(self.verticalLayout_5)
+        self.verticalLayout_6.addWidget(self.minimumProtcolGroupBox)
+        self.tabWidget.addTab(self.tab_4, "")
+        self.verticalLayout_7.addWidget(self.tabWidget)
+        self.editorButton = QtWidgets.QPushButton(parent=HgUserConfigDialog)
+        self.editorButton.setObjectName("editorButton")
+        self.verticalLayout_7.addWidget(self.editorButton)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=HgUserConfigDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout_7.addWidget(self.buttonBox)
+
+        self.retranslateUi(HgUserConfigDialog)
+        self.tabWidget.setCurrentIndex(0)
+        self.buttonBox.accepted.connect(HgUserConfigDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(HgUserConfigDialog.reject) # type: ignore
+        self.largefilesCheckBox.toggled['bool'].connect(self.largefilesGroup.setEnabled) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(HgUserConfigDialog)
+        HgUserConfigDialog.setTabOrder(self.tabWidget, self.userNameEdit)
+        HgUserConfigDialog.setTabOrder(self.userNameEdit, self.emailEdit)
+        HgUserConfigDialog.setTabOrder(self.emailEdit, self.closeheadCheckBox)
+        HgUserConfigDialog.setTabOrder(self.closeheadCheckBox, self.lfFileSizeSpinBox)
+        HgUserConfigDialog.setTabOrder(self.lfFileSizeSpinBox, self.lfFilePatternsEdit)
+        HgUserConfigDialog.setTabOrder(self.lfFilePatternsEdit, self.lfUserCachePicker)
+        HgUserConfigDialog.setTabOrder(self.lfUserCachePicker, self.proxyHostEdit)
+        HgUserConfigDialog.setTabOrder(self.proxyHostEdit, self.proxyUserEdit)
+        HgUserConfigDialog.setTabOrder(self.proxyUserEdit, self.proxyPasswordEdit)
+        HgUserConfigDialog.setTabOrder(self.proxyPasswordEdit, self.proxyBypassEdit)
+        HgUserConfigDialog.setTabOrder(self.proxyBypassEdit, self.fingerprintsList)
+        HgUserConfigDialog.setTabOrder(self.fingerprintsList, self.fpAddButton)
+        HgUserConfigDialog.setTabOrder(self.fpAddButton, self.fpDeleteButton)
+        HgUserConfigDialog.setTabOrder(self.fpDeleteButton, self.fpEditButton)
+        HgUserConfigDialog.setTabOrder(self.fpEditButton, self.disableTls10WarningCheckBox)
+        HgUserConfigDialog.setTabOrder(self.disableTls10WarningCheckBox, self.minimumProtocolComboBox)
+        HgUserConfigDialog.setTabOrder(self.minimumProtocolComboBox, self.protocolsList)
+        HgUserConfigDialog.setTabOrder(self.protocolsList, self.protocolAddButton)
+        HgUserConfigDialog.setTabOrder(self.protocolAddButton, self.protocolDeleteButton)
+        HgUserConfigDialog.setTabOrder(self.protocolDeleteButton, self.protocolEditButton)
+        HgUserConfigDialog.setTabOrder(self.protocolEditButton, self.editorButton)
+
+    def retranslateUi(self, HgUserConfigDialog):
+        _translate = QtCore.QCoreApplication.translate
+        HgUserConfigDialog.setWindowTitle(_translate("HgUserConfigDialog", "Mercurial User Data"))
+        self.groupBox.setTitle(_translate("HgUserConfigDialog", "User Data"))
+        self.label.setText(_translate("HgUserConfigDialog", "Name:"))
+        self.userNameEdit.setToolTip(_translate("HgUserConfigDialog", "Enter the user name"))
+        self.userNameEdit.setPlaceholderText(_translate("HgUserConfigDialog", "Enter your name"))
+        self.label_3.setText(_translate("HgUserConfigDialog", "Email:"))
+        self.emailEdit.setToolTip(_translate("HgUserConfigDialog", "Enter the email address"))
+        self.emailEdit.setPlaceholderText(_translate("HgUserConfigDialog", "Enter your email address"))
+        self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab), _translate("HgUserConfigDialog", "User"))
+        self.groupBox_2.setTitle(_translate("HgUserConfigDialog", "Extensions"))
+        self.closeheadCheckBox.setToolTip(_translate("HgUserConfigDialog", "Select to activate the closehead extension"))
+        self.closeheadCheckBox.setText(_translate("HgUserConfigDialog", "Close Head"))
+        self.gpgCheckBox.setToolTip(_translate("HgUserConfigDialog", "Select to activate the GPG extension"))
+        self.gpgCheckBox.setText(_translate("HgUserConfigDialog", "GPG"))
+        self.histeditCheckBox.setToolTip(_translate("HgUserConfigDialog", "Select to activate the histedit extension"))
+        self.histeditCheckBox.setText(_translate("HgUserConfigDialog", "Histedit"))
+        self.largefilesCheckBox.setToolTip(_translate("HgUserConfigDialog", "Select to activate the largefiles extension"))
+        self.largefilesCheckBox.setText(_translate("HgUserConfigDialog", "Large Files"))
+        self.purgeCheckBox.setToolTip(_translate("HgUserConfigDialog", "Select to activate the Purge extension"))
+        self.purgeCheckBox.setText(_translate("HgUserConfigDialog", "Purge"))
+        self.queuesCheckBox.setToolTip(_translate("HgUserConfigDialog", "Select to activate the queues extension"))
+        self.queuesCheckBox.setText(_translate("HgUserConfigDialog", "Queues"))
+        self.rebaseCheckBox.setToolTip(_translate("HgUserConfigDialog", "Select to activate the rebase extension"))
+        self.rebaseCheckBox.setText(_translate("HgUserConfigDialog", "Rebase"))
+        self.shelveCheckBox.setToolTip(_translate("HgUserConfigDialog", "Select to activate the shelve extension"))
+        self.shelveCheckBox.setText(_translate("HgUserConfigDialog", "Shelve"))
+        self.stripCheckBox.setToolTip(_translate("HgUserConfigDialog", "Select to activate the strip extension"))
+        self.stripCheckBox.setText(_translate("HgUserConfigDialog", "Strip"))
+        self.largefilesGroup.setTitle(_translate("HgUserConfigDialog", "Large Files"))
+        self.label_4.setText(_translate("HgUserConfigDialog", "Minimum file size:"))
+        self.lfFileSizeSpinBox.setToolTip(_translate("HgUserConfigDialog", "Enter the minimum file size in MB for files to be treated as Large Files"))
+        self.lfFileSizeSpinBox.setSuffix(_translate("HgUserConfigDialog", " MB"))
+        self.label_5.setText(_translate("HgUserConfigDialog", "Patterns:"))
+        self.lfFilePatternsEdit.setToolTip(_translate("HgUserConfigDialog", "Enter file patterns (space separated) for files to be treated as Large Files"))
+        self.lfFilePatternsEdit.setPlaceholderText(_translate("HgUserConfigDialog", "Enter file patterns for large files"))
+        self.label_2.setText(_translate("HgUserConfigDialog", "User Cache:"))
+        self.lfUserCachePicker.setToolTip(_translate("HgUserConfigDialog", "Enter the name of the user cache directory"))
+        self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_2), _translate("HgUserConfigDialog", "Extensions"))
+        self.groupBox_3.setTitle(_translate("HgUserConfigDialog", "Proxy"))
+        self.label_6.setText(_translate("HgUserConfigDialog", "Host:"))
+        self.proxyHostEdit.setToolTip(_translate("HgUserConfigDialog", "Enter the network proxy host name"))
+        self.proxyHostEdit.setPlaceholderText(_translate("HgUserConfigDialog", "Enter Proxy Hostname"))
+        self.label_7.setText(_translate("HgUserConfigDialog", "User:"))
+        self.proxyUserEdit.setToolTip(_translate("HgUserConfigDialog", "Enter the user name for the network proxy"))
+        self.proxyUserEdit.setPlaceholderText(_translate("HgUserConfigDialog", "Enter Proxy Username"))
+        self.label_8.setText(_translate("HgUserConfigDialog", "Password:"))
+        self.proxyPasswordEdit.setToolTip(_translate("HgUserConfigDialog", "Enter the password for the network proxy"))
+        self.proxyPasswordEdit.setPlaceholderText(_translate("HgUserConfigDialog", "Enter Proxy Password"))
+        self.label_9.setText(_translate("HgUserConfigDialog", "Bypass:"))
+        self.proxyBypassEdit.setToolTip(_translate("HgUserConfigDialog", "Enter the names of hosts bypassing the network proxy sparated by comma"))
+        self.proxyBypassEdit.setPlaceholderText(_translate("HgUserConfigDialog", "Enter hosts bypassing  the proxy separated by comma"))
+        self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_3), _translate("HgUserConfigDialog", "Network"))
+        self.groupBox_4.setTitle(_translate("HgUserConfigDialog", "Host Fingerprints"))
+        self.fingerprintsList.headerItem().setText(0, _translate("HgUserConfigDialog", "Host"))
+        self.fingerprintsList.headerItem().setText(1, _translate("HgUserConfigDialog", "Fingerprint"))
+        self.fpAddButton.setToolTip(_translate("HgUserConfigDialog", "Add a host fingerprint entry"))
+        self.fpDeleteButton.setToolTip(_translate("HgUserConfigDialog", "Delete a host fingerprint entry"))
+        self.fpEditButton.setToolTip(_translate("HgUserConfigDialog", "Edit a host fingerprint entry"))
+        self.disableTls10WarningCheckBox.setText(_translate("HgUserConfigDialog", "Disable TLS 1.0 Warning"))
+        self.label_10.setText(_translate("HgUserConfigDialog", "Minimum Protocol:"))
+        self.minimumProtocolComboBox.setToolTip(_translate("HgUserConfigDialog", "Select the minimum protocol to use"))
+        self.minimumProtcolGroupBox.setTitle(_translate("HgUserConfigDialog", "Minimum Protocol per Host"))
+        self.protocolsList.headerItem().setText(0, _translate("HgUserConfigDialog", "Host"))
+        self.protocolsList.headerItem().setText(1, _translate("HgUserConfigDialog", "Minimum Protocol"))
+        self.protocolAddButton.setToolTip(_translate("HgUserConfigDialog", "Add a host minimum protocol entry"))
+        self.protocolDeleteButton.setToolTip(_translate("HgUserConfigDialog", "Delete a host minimum protocol entry"))
+        self.protocolEditButton.setToolTip(_translate("HgUserConfigDialog", "Edit a host minimum protocol entry"))
+        self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_4), _translate("HgUserConfigDialog", "Security"))
+        self.editorButton.setToolTip(_translate("HgUserConfigDialog", "Open the user configuration file in a text editor"))
+        self.editorButton.setText(_translate("HgUserConfigDialog", "Open configuration file in editor"))
+from eric7.EricWidgets.EricPathPicker import EricPathPicker
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsMercurial/Ui_HgUserConfigHostFingerprintDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,66 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsMercurial/HgUserConfigHostFingerprintDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_HgUserConfigHostFingerprintDialog(object):
+    def setupUi(self, HgUserConfigHostFingerprintDialog):
+        HgUserConfigHostFingerprintDialog.setObjectName("HgUserConfigHostFingerprintDialog")
+        HgUserConfigHostFingerprintDialog.resize(600, 144)
+        HgUserConfigHostFingerprintDialog.setSizeGripEnabled(True)
+        self.gridLayout = QtWidgets.QGridLayout(HgUserConfigHostFingerprintDialog)
+        self.gridLayout.setObjectName("gridLayout")
+        self.label = QtWidgets.QLabel(parent=HgUserConfigHostFingerprintDialog)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
+        self.hostEdit = QtWidgets.QLineEdit(parent=HgUserConfigHostFingerprintDialog)
+        self.hostEdit.setClearButtonEnabled(True)
+        self.hostEdit.setObjectName("hostEdit")
+        self.gridLayout.addWidget(self.hostEdit, 0, 1, 1, 1)
+        self.hashLabel = QtWidgets.QLabel(parent=HgUserConfigHostFingerprintDialog)
+        self.hashLabel.setObjectName("hashLabel")
+        self.gridLayout.addWidget(self.hashLabel, 1, 0, 1, 1)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.hashComboBox = QtWidgets.QComboBox(parent=HgUserConfigHostFingerprintDialog)
+        self.hashComboBox.setObjectName("hashComboBox")
+        self.horizontalLayout.addWidget(self.hashComboBox)
+        spacerItem = QtWidgets.QSpacerItem(178, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem)
+        self.gridLayout.addLayout(self.horizontalLayout, 1, 1, 1, 1)
+        self.label_2 = QtWidgets.QLabel(parent=HgUserConfigHostFingerprintDialog)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 2, 0, 1, 1)
+        self.fingerprintEdit = QtWidgets.QLineEdit(parent=HgUserConfigHostFingerprintDialog)
+        self.fingerprintEdit.setClearButtonEnabled(True)
+        self.fingerprintEdit.setObjectName("fingerprintEdit")
+        self.gridLayout.addWidget(self.fingerprintEdit, 2, 1, 1, 1)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=HgUserConfigHostFingerprintDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout.addWidget(self.buttonBox, 3, 0, 1, 2)
+
+        self.retranslateUi(HgUserConfigHostFingerprintDialog)
+        self.buttonBox.accepted.connect(HgUserConfigHostFingerprintDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(HgUserConfigHostFingerprintDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(HgUserConfigHostFingerprintDialog)
+        HgUserConfigHostFingerprintDialog.setTabOrder(self.hostEdit, self.hashComboBox)
+        HgUserConfigHostFingerprintDialog.setTabOrder(self.hashComboBox, self.fingerprintEdit)
+
+    def retranslateUi(self, HgUserConfigHostFingerprintDialog):
+        _translate = QtCore.QCoreApplication.translate
+        HgUserConfigHostFingerprintDialog.setWindowTitle(_translate("HgUserConfigHostFingerprintDialog", "Host Fingerprint"))
+        self.label.setText(_translate("HgUserConfigHostFingerprintDialog", "Host:"))
+        self.hostEdit.setToolTip(_translate("HgUserConfigHostFingerprintDialog", "Enter the host name"))
+        self.hostEdit.setPlaceholderText(_translate("HgUserConfigHostFingerprintDialog", "Enter Hostname"))
+        self.hashLabel.setText(_translate("HgUserConfigHostFingerprintDialog", "Hash Type:"))
+        self.label_2.setText(_translate("HgUserConfigHostFingerprintDialog", "Fingerprint:"))
+        self.fingerprintEdit.setToolTip(_translate("HgUserConfigHostFingerprintDialog", "Enter the host fingerprint"))
+        self.fingerprintEdit.setPlaceholderText(_translate("HgUserConfigHostFingerprintDialog", "Enter Fingerprint"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsMercurial/Ui_HgUserConfigHostMinimumProtocolDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,55 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsMercurial/HgUserConfigHostMinimumProtocolDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_HgUserConfigHostMinimumProtocolDialog(object):
+    def setupUi(self, HgUserConfigHostMinimumProtocolDialog):
+        HgUserConfigHostMinimumProtocolDialog.setObjectName("HgUserConfigHostMinimumProtocolDialog")
+        HgUserConfigHostMinimumProtocolDialog.resize(450, 110)
+        HgUserConfigHostMinimumProtocolDialog.setSizeGripEnabled(True)
+        self.gridLayout = QtWidgets.QGridLayout(HgUserConfigHostMinimumProtocolDialog)
+        self.gridLayout.setObjectName("gridLayout")
+        self.label = QtWidgets.QLabel(parent=HgUserConfigHostMinimumProtocolDialog)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
+        self.hostEdit = QtWidgets.QLineEdit(parent=HgUserConfigHostMinimumProtocolDialog)
+        self.hostEdit.setClearButtonEnabled(True)
+        self.hostEdit.setObjectName("hostEdit")
+        self.gridLayout.addWidget(self.hostEdit, 0, 1, 1, 1)
+        self.hashLabel = QtWidgets.QLabel(parent=HgUserConfigHostMinimumProtocolDialog)
+        self.hashLabel.setObjectName("hashLabel")
+        self.gridLayout.addWidget(self.hashLabel, 1, 0, 1, 1)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.minimumProtocolComboBox = QtWidgets.QComboBox(parent=HgUserConfigHostMinimumProtocolDialog)
+        self.minimumProtocolComboBox.setObjectName("minimumProtocolComboBox")
+        self.horizontalLayout.addWidget(self.minimumProtocolComboBox)
+        spacerItem = QtWidgets.QSpacerItem(178, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem)
+        self.gridLayout.addLayout(self.horizontalLayout, 1, 1, 1, 1)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=HgUserConfigHostMinimumProtocolDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout.addWidget(self.buttonBox, 2, 0, 1, 2)
+
+        self.retranslateUi(HgUserConfigHostMinimumProtocolDialog)
+        self.buttonBox.accepted.connect(HgUserConfigHostMinimumProtocolDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(HgUserConfigHostMinimumProtocolDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(HgUserConfigHostMinimumProtocolDialog)
+        HgUserConfigHostMinimumProtocolDialog.setTabOrder(self.hostEdit, self.minimumProtocolComboBox)
+
+    def retranslateUi(self, HgUserConfigHostMinimumProtocolDialog):
+        _translate = QtCore.QCoreApplication.translate
+        HgUserConfigHostMinimumProtocolDialog.setWindowTitle(_translate("HgUserConfigHostMinimumProtocolDialog", "Minimum Protocol"))
+        self.label.setText(_translate("HgUserConfigHostMinimumProtocolDialog", "Host:"))
+        self.hostEdit.setToolTip(_translate("HgUserConfigHostMinimumProtocolDialog", "Enter the host name"))
+        self.hostEdit.setPlaceholderText(_translate("HgUserConfigHostMinimumProtocolDialog", "Enter Hostname"))
+        self.hashLabel.setText(_translate("HgUserConfigHostMinimumProtocolDialog", "Minimum Protocol:"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsPySvn/ConfigurationPage/Ui_SubversionPage.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,63 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsPySvn/ConfigurationPage/SubversionPage.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_SubversionPage(object):
+    def setupUi(self, SubversionPage):
+        SubversionPage.setObjectName("SubversionPage")
+        SubversionPage.resize(406, 354)
+        self.vboxlayout = QtWidgets.QVBoxLayout(SubversionPage)
+        self.vboxlayout.setObjectName("vboxlayout")
+        self.headerLabel = QtWidgets.QLabel(parent=SubversionPage)
+        self.headerLabel.setObjectName("headerLabel")
+        self.vboxlayout.addWidget(self.headerLabel)
+        self.line15 = QtWidgets.QFrame(parent=SubversionPage)
+        self.line15.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line15.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line15.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line15.setObjectName("line15")
+        self.vboxlayout.addWidget(self.line15)
+        self.groupBox = QtWidgets.QGroupBox(parent=SubversionPage)
+        self.groupBox.setObjectName("groupBox")
+        self.hboxlayout = QtWidgets.QHBoxLayout(self.groupBox)
+        self.hboxlayout.setObjectName("hboxlayout")
+        self.label = QtWidgets.QLabel(parent=self.groupBox)
+        self.label.setObjectName("label")
+        self.hboxlayout.addWidget(self.label)
+        self.logSpinBox = QtWidgets.QSpinBox(parent=self.groupBox)
+        self.logSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.logSpinBox.setMaximum(999999)
+        self.logSpinBox.setObjectName("logSpinBox")
+        self.hboxlayout.addWidget(self.logSpinBox)
+        spacerItem = QtWidgets.QSpacerItem(41, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.hboxlayout.addItem(spacerItem)
+        self.vboxlayout.addWidget(self.groupBox)
+        self.configButton = QtWidgets.QPushButton(parent=SubversionPage)
+        self.configButton.setObjectName("configButton")
+        self.vboxlayout.addWidget(self.configButton)
+        self.serversButton = QtWidgets.QPushButton(parent=SubversionPage)
+        self.serversButton.setObjectName("serversButton")
+        self.vboxlayout.addWidget(self.serversButton)
+        spacerItem1 = QtWidgets.QSpacerItem(388, 31, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.vboxlayout.addItem(spacerItem1)
+
+        self.retranslateUi(SubversionPage)
+        QtCore.QMetaObject.connectSlotsByName(SubversionPage)
+
+    def retranslateUi(self, SubversionPage):
+        _translate = QtCore.QCoreApplication.translate
+        self.headerLabel.setText(_translate("SubversionPage", "<b>Configure Subversion Interface</b>"))
+        self.groupBox.setTitle(_translate("SubversionPage", "Log"))
+        self.label.setText(_translate("SubversionPage", "No. of log messages shown:"))
+        self.logSpinBox.setToolTip(_translate("SubversionPage", "Enter the number of log messages to be shown"))
+        self.configButton.setToolTip(_translate("SubversionPage", "Edit the subversion config file"))
+        self.configButton.setText(_translate("SubversionPage", "Edit config file"))
+        self.serversButton.setToolTip(_translate("SubversionPage", "Edit the subversion servers file"))
+        self.serversButton.setText(_translate("SubversionPage", "Edit servers file"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsPySvn/Ui_SvnBlameDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,64 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsPySvn/SvnBlameDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_SvnBlameDialog(object):
+    def setupUi(self, SvnBlameDialog):
+        SvnBlameDialog.setObjectName("SvnBlameDialog")
+        SvnBlameDialog.resize(690, 750)
+        SvnBlameDialog.setSizeGripEnabled(True)
+        self.vboxlayout = QtWidgets.QVBoxLayout(SvnBlameDialog)
+        self.vboxlayout.setObjectName("vboxlayout")
+        self.blameList = QtWidgets.QTreeWidget(parent=SvnBlameDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(6)
+        sizePolicy.setHeightForWidth(self.blameList.sizePolicy().hasHeightForWidth())
+        self.blameList.setSizePolicy(sizePolicy)
+        self.blameList.setAlternatingRowColors(True)
+        self.blameList.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.NoSelection)
+        self.blameList.setRootIsDecorated(False)
+        self.blameList.setItemsExpandable(False)
+        self.blameList.setObjectName("blameList")
+        self.blameList.header().setStretchLastSection(False)
+        self.vboxlayout.addWidget(self.blameList)
+        self.errorGroup = QtWidgets.QGroupBox(parent=SvnBlameDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(1)
+        sizePolicy.setHeightForWidth(self.errorGroup.sizePolicy().hasHeightForWidth())
+        self.errorGroup.setSizePolicy(sizePolicy)
+        self.errorGroup.setObjectName("errorGroup")
+        self.vboxlayout1 = QtWidgets.QVBoxLayout(self.errorGroup)
+        self.vboxlayout1.setObjectName("vboxlayout1")
+        self.errors = QtWidgets.QTextEdit(parent=self.errorGroup)
+        self.errors.setReadOnly(True)
+        self.errors.setAcceptRichText(False)
+        self.errors.setObjectName("errors")
+        self.vboxlayout1.addWidget(self.errors)
+        self.vboxlayout.addWidget(self.errorGroup)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=SvnBlameDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.vboxlayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(SvnBlameDialog)
+        QtCore.QMetaObject.connectSlotsByName(SvnBlameDialog)
+        SvnBlameDialog.setTabOrder(self.blameList, self.errors)
+        SvnBlameDialog.setTabOrder(self.errors, self.buttonBox)
+
+    def retranslateUi(self, SvnBlameDialog):
+        _translate = QtCore.QCoreApplication.translate
+        SvnBlameDialog.setWindowTitle(_translate("SvnBlameDialog", "Subversion Blame"))
+        self.blameList.headerItem().setText(0, _translate("SvnBlameDialog", "Revision"))
+        self.blameList.headerItem().setText(1, _translate("SvnBlameDialog", "Author"))
+        self.blameList.headerItem().setText(2, _translate("SvnBlameDialog", "Line"))
+        self.errorGroup.setTitle(_translate("SvnBlameDialog", "Errors"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsPySvn/Ui_SvnChangeListsDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,65 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsPySvn/SvnChangeListsDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_SvnChangeListsDialog(object):
+    def setupUi(self, SvnChangeListsDialog):
+        SvnChangeListsDialog.setObjectName("SvnChangeListsDialog")
+        SvnChangeListsDialog.resize(519, 494)
+        SvnChangeListsDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(SvnChangeListsDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.label = QtWidgets.QLabel(parent=SvnChangeListsDialog)
+        self.label.setObjectName("label")
+        self.verticalLayout.addWidget(self.label)
+        self.changeLists = QtWidgets.QListWidget(parent=SvnChangeListsDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(1)
+        sizePolicy.setHeightForWidth(self.changeLists.sizePolicy().hasHeightForWidth())
+        self.changeLists.setSizePolicy(sizePolicy)
+        self.changeLists.setAlternatingRowColors(True)
+        self.changeLists.setObjectName("changeLists")
+        self.verticalLayout.addWidget(self.changeLists)
+        self.filesLabel = QtWidgets.QLabel(parent=SvnChangeListsDialog)
+        self.filesLabel.setText("")
+        self.filesLabel.setWordWrap(True)
+        self.filesLabel.setObjectName("filesLabel")
+        self.verticalLayout.addWidget(self.filesLabel)
+        self.filesList = QtWidgets.QListWidget(parent=SvnChangeListsDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(2)
+        sizePolicy.setHeightForWidth(self.filesList.sizePolicy().hasHeightForWidth())
+        self.filesList.setSizePolicy(sizePolicy)
+        self.filesList.setAlternatingRowColors(True)
+        self.filesList.setObjectName("filesList")
+        self.verticalLayout.addWidget(self.filesList)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=SvnChangeListsDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(SvnChangeListsDialog)
+        self.buttonBox.accepted.connect(SvnChangeListsDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(SvnChangeListsDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(SvnChangeListsDialog)
+        SvnChangeListsDialog.setTabOrder(self.changeLists, self.filesList)
+        SvnChangeListsDialog.setTabOrder(self.filesList, self.buttonBox)
+
+    def retranslateUi(self, SvnChangeListsDialog):
+        _translate = QtCore.QCoreApplication.translate
+        SvnChangeListsDialog.setWindowTitle(_translate("SvnChangeListsDialog", "Subversion Change Lists"))
+        self.label.setText(_translate("SvnChangeListsDialog", "Change Lists:"))
+        self.changeLists.setWhatsThis(_translate("SvnChangeListsDialog", "<b>Change Lists</b>\n"
+"<p>Select a change list here to see the associated files in the list below.</p>"))
+        self.filesList.setWhatsThis(_translate("SvnChangeListsDialog", "<b>Files</b>\n"
+"<p>This shows a list of files associated with the change list selected above.</p>"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsPySvn/Ui_SvnCommandDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,92 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsPySvn/SvnCommandDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_SvnCommandDialog(object):
+    def setupUi(self, SvnCommandDialog):
+        SvnCommandDialog.setObjectName("SvnCommandDialog")
+        SvnCommandDialog.resize(628, 129)
+        self.gridLayout = QtWidgets.QGridLayout(SvnCommandDialog)
+        self.gridLayout.setObjectName("gridLayout")
+        self.textLabel1 = QtWidgets.QLabel(parent=SvnCommandDialog)
+        self.textLabel1.setToolTip("")
+        self.textLabel1.setObjectName("textLabel1")
+        self.gridLayout.addWidget(self.textLabel1, 0, 0, 1, 1)
+        self.commandCombo = QtWidgets.QComboBox(parent=SvnCommandDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.commandCombo.sizePolicy().hasHeightForWidth())
+        self.commandCombo.setSizePolicy(sizePolicy)
+        self.commandCombo.setEditable(True)
+        self.commandCombo.setInsertPolicy(QtWidgets.QComboBox.InsertPolicy.InsertAtTop)
+        self.commandCombo.setDuplicatesEnabled(False)
+        self.commandCombo.setObjectName("commandCombo")
+        self.gridLayout.addWidget(self.commandCombo, 0, 1, 1, 1)
+        self.textLabel2 = QtWidgets.QLabel(parent=SvnCommandDialog)
+        self.textLabel2.setObjectName("textLabel2")
+        self.gridLayout.addWidget(self.textLabel2, 1, 0, 1, 1)
+        self.workdirPicker = EricComboPathPicker(parent=SvnCommandDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.workdirPicker.sizePolicy().hasHeightForWidth())
+        self.workdirPicker.setSizePolicy(sizePolicy)
+        self.workdirPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.WheelFocus)
+        self.workdirPicker.setObjectName("workdirPicker")
+        self.gridLayout.addWidget(self.workdirPicker, 1, 1, 1, 1)
+        self.textLabel3 = QtWidgets.QLabel(parent=SvnCommandDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.textLabel3.sizePolicy().hasHeightForWidth())
+        self.textLabel3.setSizePolicy(sizePolicy)
+        self.textLabel3.setObjectName("textLabel3")
+        self.gridLayout.addWidget(self.textLabel3, 2, 0, 1, 1)
+        self.projectDirLabel = QtWidgets.QLabel(parent=SvnCommandDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.projectDirLabel.sizePolicy().hasHeightForWidth())
+        self.projectDirLabel.setSizePolicy(sizePolicy)
+        self.projectDirLabel.setObjectName("projectDirLabel")
+        self.gridLayout.addWidget(self.projectDirLabel, 2, 1, 1, 1)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=SvnCommandDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout.addWidget(self.buttonBox, 3, 0, 1, 2)
+
+        self.retranslateUi(SvnCommandDialog)
+        self.buttonBox.accepted.connect(SvnCommandDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(SvnCommandDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(SvnCommandDialog)
+        SvnCommandDialog.setTabOrder(self.commandCombo, self.buttonBox)
+
+    def retranslateUi(self, SvnCommandDialog):
+        _translate = QtCore.QCoreApplication.translate
+        SvnCommandDialog.setWindowTitle(_translate("SvnCommandDialog", "Subversion Command"))
+        self.textLabel1.setText(_translate("SvnCommandDialog", "Subversion Command:"))
+        self.commandCombo.setToolTip(_translate("SvnCommandDialog", "Enter the Subversion command to be executed with all necessary parameters"))
+        self.commandCombo.setWhatsThis(_translate("SvnCommandDialog", "<b>Subversion Command</b>\n"
+"<p>Enter the Subversion command to be executed including all necessary \n"
+"parameters. If a parameter of the commandline includes a space you have to \n"
+"surround this parameter by single or double quotes. Do not include the name \n"
+"of the subversion client executable (i.e. svn).</p>"))
+        self.textLabel2.setText(_translate("SvnCommandDialog", "Working Directory:<br>(optional)"))
+        self.workdirPicker.setToolTip(_translate("SvnCommandDialog", "Enter the working directory for the Subversion command"))
+        self.workdirPicker.setWhatsThis(_translate("SvnCommandDialog", "<b>Working directory</b>\n"
+"<p>Enter the working directory for the Subversion command.\n"
+"This is an optional entry. The button to the right will open a \n"
+"directory selection dialog.</p>"))
+        self.textLabel3.setText(_translate("SvnCommandDialog", "Project Directory:"))
+        self.projectDirLabel.setToolTip(_translate("SvnCommandDialog", "This shows the root directory of the current project."))
+        self.projectDirLabel.setText(_translate("SvnCommandDialog", "project directory"))
+from eric7.EricWidgets.EricPathPicker import EricComboPathPicker
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsPySvn/Ui_SvnCommitDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,71 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsPySvn/SvnCommitDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_SvnCommitDialog(object):
+    def setupUi(self, SvnCommitDialog):
+        SvnCommitDialog.setObjectName("SvnCommitDialog")
+        SvnCommitDialog.resize(450, 396)
+        self.verticalLayout_3 = QtWidgets.QVBoxLayout(SvnCommitDialog)
+        self.verticalLayout_3.setObjectName("verticalLayout_3")
+        self.logGroup = QtWidgets.QGroupBox(parent=SvnCommitDialog)
+        self.logGroup.setObjectName("logGroup")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.logGroup)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.logEdit = EricSpellCheckedTextEdit(parent=self.logGroup)
+        self.logEdit.setTabChangesFocus(True)
+        self.logEdit.setAcceptRichText(False)
+        self.logEdit.setObjectName("logEdit")
+        self.verticalLayout.addWidget(self.logEdit)
+        self.label = QtWidgets.QLabel(parent=self.logGroup)
+        self.label.setObjectName("label")
+        self.verticalLayout.addWidget(self.label)
+        self.recentComboBox = QtWidgets.QComboBox(parent=self.logGroup)
+        self.recentComboBox.setObjectName("recentComboBox")
+        self.verticalLayout.addWidget(self.recentComboBox)
+        self.verticalLayout_3.addWidget(self.logGroup)
+        self.changeListsGroup = QtWidgets.QGroupBox(parent=SvnCommitDialog)
+        self.changeListsGroup.setObjectName("changeListsGroup")
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.changeListsGroup)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.changeLists = QtWidgets.QListWidget(parent=self.changeListsGroup)
+        self.changeLists.setObjectName("changeLists")
+        self.verticalLayout_2.addWidget(self.changeLists)
+        self.keepChangeListsCheckBox = QtWidgets.QCheckBox(parent=self.changeListsGroup)
+        self.keepChangeListsCheckBox.setObjectName("keepChangeListsCheckBox")
+        self.verticalLayout_2.addWidget(self.keepChangeListsCheckBox)
+        self.verticalLayout_3.addWidget(self.changeListsGroup)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=SvnCommitDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Close|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout_3.addWidget(self.buttonBox)
+
+        self.retranslateUi(SvnCommitDialog)
+        QtCore.QMetaObject.connectSlotsByName(SvnCommitDialog)
+        SvnCommitDialog.setTabOrder(self.logEdit, self.recentComboBox)
+        SvnCommitDialog.setTabOrder(self.recentComboBox, self.changeLists)
+        SvnCommitDialog.setTabOrder(self.changeLists, self.keepChangeListsCheckBox)
+        SvnCommitDialog.setTabOrder(self.keepChangeListsCheckBox, self.buttonBox)
+
+    def retranslateUi(self, SvnCommitDialog):
+        _translate = QtCore.QCoreApplication.translate
+        SvnCommitDialog.setWindowTitle(_translate("SvnCommitDialog", "Subversion"))
+        self.logGroup.setTitle(_translate("SvnCommitDialog", "Commit Message"))
+        self.logEdit.setToolTip(_translate("SvnCommitDialog", "Enter the log message."))
+        self.logEdit.setWhatsThis(_translate("SvnCommitDialog", "<b>Log Message</b>\n"
+"<p>Enter the log message for the commit action.</p>"))
+        self.label.setText(_translate("SvnCommitDialog", "Recent commit messages"))
+        self.recentComboBox.setToolTip(_translate("SvnCommitDialog", "Select a recent commit message to use"))
+        self.changeListsGroup.setTitle(_translate("SvnCommitDialog", "Changelists"))
+        self.changeLists.setToolTip(_translate("SvnCommitDialog", "Select the change lists to limit the commit"))
+        self.keepChangeListsCheckBox.setToolTip(_translate("SvnCommitDialog", "Select to keep the changelists"))
+        self.keepChangeListsCheckBox.setText(_translate("SvnCommitDialog", "Keep changelists"))
+from eric7.EricWidgets.EricSpellCheckedTextEdit import EricSpellCheckedTextEdit
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsPySvn/Ui_SvnCopyDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,67 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsPySvn/SvnCopyDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_SvnCopyDialog(object):
+    def setupUi(self, SvnCopyDialog):
+        SvnCopyDialog.setObjectName("SvnCopyDialog")
+        SvnCopyDialog.resize(409, 120)
+        SvnCopyDialog.setSizeGripEnabled(True)
+        self.gridLayout = QtWidgets.QGridLayout(SvnCopyDialog)
+        self.gridLayout.setObjectName("gridLayout")
+        self.textLabel1 = QtWidgets.QLabel(parent=SvnCopyDialog)
+        self.textLabel1.setObjectName("textLabel1")
+        self.gridLayout.addWidget(self.textLabel1, 0, 0, 1, 1)
+        self.sourceEdit = QtWidgets.QLineEdit(parent=SvnCopyDialog)
+        self.sourceEdit.setReadOnly(True)
+        self.sourceEdit.setObjectName("sourceEdit")
+        self.gridLayout.addWidget(self.sourceEdit, 0, 1, 1, 1)
+        self.textLabel2 = QtWidgets.QLabel(parent=SvnCopyDialog)
+        self.textLabel2.setObjectName("textLabel2")
+        self.gridLayout.addWidget(self.textLabel2, 1, 0, 1, 1)
+        self.targetPicker = EricPathPicker(parent=SvnCopyDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.targetPicker.sizePolicy().hasHeightForWidth())
+        self.targetPicker.setSizePolicy(sizePolicy)
+        self.targetPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.targetPicker.setObjectName("targetPicker")
+        self.gridLayout.addWidget(self.targetPicker, 1, 1, 1, 1)
+        self.forceCheckBox = QtWidgets.QCheckBox(parent=SvnCopyDialog)
+        self.forceCheckBox.setObjectName("forceCheckBox")
+        self.gridLayout.addWidget(self.forceCheckBox, 2, 0, 1, 2)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=SvnCopyDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout.addWidget(self.buttonBox, 3, 0, 1, 2)
+
+        self.retranslateUi(SvnCopyDialog)
+        self.buttonBox.accepted.connect(SvnCopyDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(SvnCopyDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(SvnCopyDialog)
+        SvnCopyDialog.setTabOrder(self.sourceEdit, self.targetPicker)
+        SvnCopyDialog.setTabOrder(self.targetPicker, self.forceCheckBox)
+
+    def retranslateUi(self, SvnCopyDialog):
+        _translate = QtCore.QCoreApplication.translate
+        SvnCopyDialog.setWindowTitle(_translate("SvnCopyDialog", "Subversion Copy"))
+        self.textLabel1.setText(_translate("SvnCopyDialog", "Source:"))
+        self.sourceEdit.setToolTip(_translate("SvnCopyDialog", "Shows the name of the source"))
+        self.sourceEdit.setWhatsThis(_translate("SvnCopyDialog", "<b>Source name</b>\n"
+"<p>This field shows the name of the source.</p>"))
+        self.textLabel2.setText(_translate("SvnCopyDialog", "Target:"))
+        self.targetPicker.setToolTip(_translate("SvnCopyDialog", "Enter the target name"))
+        self.targetPicker.setWhatsThis(_translate("SvnCopyDialog", "<b>Target name</b>\n"
+"<p>Enter the new name in this field. The target must be the new name or an absolute path.</p>"))
+        self.forceCheckBox.setToolTip(_translate("SvnCopyDialog", "Select to force the operation"))
+        self.forceCheckBox.setText(_translate("SvnCopyDialog", "Enforce operation"))
+from eric7.EricWidgets.EricPathPicker import EricPathPicker
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsPySvn/Ui_SvnDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,64 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsPySvn/SvnDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_SvnDialog(object):
+    def setupUi(self, SvnDialog):
+        SvnDialog.setObjectName("SvnDialog")
+        SvnDialog.resize(593, 499)
+        SvnDialog.setSizeGripEnabled(True)
+        self.vboxlayout = QtWidgets.QVBoxLayout(SvnDialog)
+        self.vboxlayout.setObjectName("vboxlayout")
+        self.outputGroup = QtWidgets.QGroupBox(parent=SvnDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(3)
+        sizePolicy.setHeightForWidth(self.outputGroup.sizePolicy().hasHeightForWidth())
+        self.outputGroup.setSizePolicy(sizePolicy)
+        self.outputGroup.setObjectName("outputGroup")
+        self.vboxlayout1 = QtWidgets.QVBoxLayout(self.outputGroup)
+        self.vboxlayout1.setObjectName("vboxlayout1")
+        self.resultbox = QtWidgets.QTextEdit(parent=self.outputGroup)
+        self.resultbox.setReadOnly(True)
+        self.resultbox.setAcceptRichText(False)
+        self.resultbox.setObjectName("resultbox")
+        self.vboxlayout1.addWidget(self.resultbox)
+        self.vboxlayout.addWidget(self.outputGroup)
+        self.errorGroup = QtWidgets.QGroupBox(parent=SvnDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(1)
+        sizePolicy.setHeightForWidth(self.errorGroup.sizePolicy().hasHeightForWidth())
+        self.errorGroup.setSizePolicy(sizePolicy)
+        self.errorGroup.setObjectName("errorGroup")
+        self.vboxlayout2 = QtWidgets.QVBoxLayout(self.errorGroup)
+        self.vboxlayout2.setObjectName("vboxlayout2")
+        self.errors = QtWidgets.QTextEdit(parent=self.errorGroup)
+        self.errors.setReadOnly(True)
+        self.errors.setAcceptRichText(False)
+        self.errors.setObjectName("errors")
+        self.vboxlayout2.addWidget(self.errors)
+        self.vboxlayout.addWidget(self.errorGroup)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=SvnDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.vboxlayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(SvnDialog)
+        QtCore.QMetaObject.connectSlotsByName(SvnDialog)
+        SvnDialog.setTabOrder(self.resultbox, self.errors)
+        SvnDialog.setTabOrder(self.errors, self.buttonBox)
+
+    def retranslateUi(self, SvnDialog):
+        _translate = QtCore.QCoreApplication.translate
+        SvnDialog.setWindowTitle(_translate("SvnDialog", "Subversion"))
+        self.outputGroup.setTitle(_translate("SvnDialog", "Output"))
+        self.errorGroup.setTitle(_translate("SvnDialog", "Errors"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsPySvn/Ui_SvnDiffDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,74 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsPySvn/SvnDiffDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_SvnDiffDialog(object):
+    def setupUi(self, SvnDiffDialog):
+        SvnDiffDialog.setObjectName("SvnDiffDialog")
+        SvnDiffDialog.resize(749, 646)
+        self.vboxlayout = QtWidgets.QVBoxLayout(SvnDiffDialog)
+        self.vboxlayout.setObjectName("vboxlayout")
+        self.contentsGroup = QtWidgets.QGroupBox(parent=SvnDiffDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(4)
+        sizePolicy.setHeightForWidth(self.contentsGroup.sizePolicy().hasHeightForWidth())
+        self.contentsGroup.setSizePolicy(sizePolicy)
+        self.contentsGroup.setObjectName("contentsGroup")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.contentsGroup)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.filesCombo = QtWidgets.QComboBox(parent=self.contentsGroup)
+        self.filesCombo.setObjectName("filesCombo")
+        self.verticalLayout.addWidget(self.filesCombo)
+        self.searchWidget = EricTextEditSearchWidget(parent=self.contentsGroup)
+        self.searchWidget.setFocusPolicy(QtCore.Qt.FocusPolicy.WheelFocus)
+        self.searchWidget.setObjectName("searchWidget")
+        self.verticalLayout.addWidget(self.searchWidget)
+        self.contents = QtWidgets.QPlainTextEdit(parent=self.contentsGroup)
+        self.contents.setLineWrapMode(QtWidgets.QPlainTextEdit.LineWrapMode.NoWrap)
+        self.contents.setReadOnly(True)
+        self.contents.setTabStopDistance(8.0)
+        self.contents.setObjectName("contents")
+        self.verticalLayout.addWidget(self.contents)
+        self.vboxlayout.addWidget(self.contentsGroup)
+        self.errorGroup = QtWidgets.QGroupBox(parent=SvnDiffDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(1)
+        sizePolicy.setHeightForWidth(self.errorGroup.sizePolicy().hasHeightForWidth())
+        self.errorGroup.setSizePolicy(sizePolicy)
+        self.errorGroup.setObjectName("errorGroup")
+        self.vboxlayout1 = QtWidgets.QVBoxLayout(self.errorGroup)
+        self.vboxlayout1.setObjectName("vboxlayout1")
+        self.errors = QtWidgets.QTextEdit(parent=self.errorGroup)
+        self.errors.setReadOnly(True)
+        self.errors.setAcceptRichText(False)
+        self.errors.setObjectName("errors")
+        self.vboxlayout1.addWidget(self.errors)
+        self.vboxlayout.addWidget(self.errorGroup)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=SvnDiffDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Close|QtWidgets.QDialogButtonBox.StandardButton.Save)
+        self.buttonBox.setObjectName("buttonBox")
+        self.vboxlayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(SvnDiffDialog)
+        QtCore.QMetaObject.connectSlotsByName(SvnDiffDialog)
+        SvnDiffDialog.setTabOrder(self.filesCombo, self.searchWidget)
+        SvnDiffDialog.setTabOrder(self.searchWidget, self.contents)
+        SvnDiffDialog.setTabOrder(self.contents, self.errors)
+
+    def retranslateUi(self, SvnDiffDialog):
+        _translate = QtCore.QCoreApplication.translate
+        SvnDiffDialog.setWindowTitle(_translate("SvnDiffDialog", "Subversion Diff"))
+        self.contentsGroup.setTitle(_translate("SvnDiffDialog", "Difference"))
+        self.contents.setWhatsThis(_translate("SvnDiffDialog", "<b>Subversion Diff</b><p>This shows the output of the svn diff command.</p>"))
+        self.errorGroup.setTitle(_translate("SvnDiffDialog", "Errors"))
+from eric7.EricWidgets.EricTextEditSearchWidget import EricTextEditSearchWidget
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsPySvn/Ui_SvnLogBrowserDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,180 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsPySvn/SvnLogBrowserDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_SvnLogBrowserDialog(object):
+    def setupUi(self, SvnLogBrowserDialog):
+        SvnLogBrowserDialog.setObjectName("SvnLogBrowserDialog")
+        SvnLogBrowserDialog.resize(700, 600)
+        self.verticalLayout = QtWidgets.QVBoxLayout(SvnLogBrowserDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.hboxlayout = QtWidgets.QHBoxLayout()
+        self.hboxlayout.setObjectName("hboxlayout")
+        self.label = QtWidgets.QLabel(parent=SvnLogBrowserDialog)
+        self.label.setObjectName("label")
+        self.hboxlayout.addWidget(self.label)
+        self.fromDate = QtWidgets.QDateEdit(parent=SvnLogBrowserDialog)
+        self.fromDate.setCalendarPopup(True)
+        self.fromDate.setObjectName("fromDate")
+        self.hboxlayout.addWidget(self.fromDate)
+        self.label_2 = QtWidgets.QLabel(parent=SvnLogBrowserDialog)
+        self.label_2.setObjectName("label_2")
+        self.hboxlayout.addWidget(self.label_2)
+        self.toDate = QtWidgets.QDateEdit(parent=SvnLogBrowserDialog)
+        self.toDate.setCalendarPopup(True)
+        self.toDate.setObjectName("toDate")
+        self.hboxlayout.addWidget(self.toDate)
+        self.fieldCombo = QtWidgets.QComboBox(parent=SvnLogBrowserDialog)
+        self.fieldCombo.setObjectName("fieldCombo")
+        self.fieldCombo.addItem("")
+        self.fieldCombo.addItem("")
+        self.fieldCombo.addItem("")
+        self.hboxlayout.addWidget(self.fieldCombo)
+        self.rxEdit = QtWidgets.QLineEdit(parent=SvnLogBrowserDialog)
+        self.rxEdit.setClearButtonEnabled(True)
+        self.rxEdit.setObjectName("rxEdit")
+        self.hboxlayout.addWidget(self.rxEdit)
+        self.verticalLayout.addLayout(self.hboxlayout)
+        self.logTree = QtWidgets.QTreeWidget(parent=SvnLogBrowserDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(5)
+        sizePolicy.setHeightForWidth(self.logTree.sizePolicy().hasHeightForWidth())
+        self.logTree.setSizePolicy(sizePolicy)
+        self.logTree.setAlternatingRowColors(True)
+        self.logTree.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.ExtendedSelection)
+        self.logTree.setRootIsDecorated(False)
+        self.logTree.setItemsExpandable(False)
+        self.logTree.setAllColumnsShowFocus(True)
+        self.logTree.setObjectName("logTree")
+        self.verticalLayout.addWidget(self.logTree)
+        self.messageEdit = QtWidgets.QTextEdit(parent=SvnLogBrowserDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(2)
+        sizePolicy.setHeightForWidth(self.messageEdit.sizePolicy().hasHeightForWidth())
+        self.messageEdit.setSizePolicy(sizePolicy)
+        self.messageEdit.setReadOnly(True)
+        self.messageEdit.setObjectName("messageEdit")
+        self.verticalLayout.addWidget(self.messageEdit)
+        self.filesTree = QtWidgets.QTreeWidget(parent=SvnLogBrowserDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(3)
+        sizePolicy.setHeightForWidth(self.filesTree.sizePolicy().hasHeightForWidth())
+        self.filesTree.setSizePolicy(sizePolicy)
+        self.filesTree.setAlternatingRowColors(True)
+        self.filesTree.setRootIsDecorated(False)
+        self.filesTree.setItemsExpandable(False)
+        self.filesTree.setAllColumnsShowFocus(True)
+        self.filesTree.setObjectName("filesTree")
+        self.verticalLayout.addWidget(self.filesTree)
+        self.gridLayout = QtWidgets.QGridLayout()
+        self.gridLayout.setObjectName("gridLayout")
+        self.nextButton = QtWidgets.QPushButton(parent=SvnLogBrowserDialog)
+        self.nextButton.setObjectName("nextButton")
+        self.gridLayout.addWidget(self.nextButton, 0, 0, 1, 1)
+        self.limitSpinBox = QtWidgets.QSpinBox(parent=SvnLogBrowserDialog)
+        self.limitSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.limitSpinBox.setMinimum(1)
+        self.limitSpinBox.setMaximum(10000)
+        self.limitSpinBox.setProperty("value", 20)
+        self.limitSpinBox.setObjectName("limitSpinBox")
+        self.gridLayout.addWidget(self.limitSpinBox, 0, 1, 1, 1)
+        self.stopCheckBox = QtWidgets.QCheckBox(parent=SvnLogBrowserDialog)
+        self.stopCheckBox.setObjectName("stopCheckBox")
+        self.gridLayout.addWidget(self.stopCheckBox, 0, 2, 1, 1)
+        self.line = QtWidgets.QFrame(parent=SvnLogBrowserDialog)
+        self.line.setFrameShape(QtWidgets.QFrame.Shape.VLine)
+        self.line.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line.setObjectName("line")
+        self.gridLayout.addWidget(self.line, 0, 3, 2, 1)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setSpacing(0)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.upButton = QtWidgets.QToolButton(parent=SvnLogBrowserDialog)
+        self.upButton.setAutoRepeat(True)
+        self.upButton.setObjectName("upButton")
+        self.horizontalLayout.addWidget(self.upButton)
+        self.downButton = QtWidgets.QToolButton(parent=SvnLogBrowserDialog)
+        self.downButton.setAutoRepeat(True)
+        self.downButton.setObjectName("downButton")
+        self.horizontalLayout.addWidget(self.downButton)
+        self.gridLayout.addLayout(self.horizontalLayout, 0, 4, 1, 1)
+        self.diffPreviousButton = QtWidgets.QPushButton(parent=SvnLogBrowserDialog)
+        self.diffPreviousButton.setObjectName("diffPreviousButton")
+        self.gridLayout.addWidget(self.diffPreviousButton, 0, 5, 1, 1)
+        self.diffRevisionsButton = QtWidgets.QPushButton(parent=SvnLogBrowserDialog)
+        self.diffRevisionsButton.setObjectName("diffRevisionsButton")
+        self.gridLayout.addWidget(self.diffRevisionsButton, 0, 6, 1, 1)
+        spacerItem = QtWidgets.QSpacerItem(38, 29, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout.addItem(spacerItem, 0, 7, 1, 1)
+        self.sbsCheckBox = QtWidgets.QCheckBox(parent=SvnLogBrowserDialog)
+        self.sbsCheckBox.setObjectName("sbsCheckBox")
+        self.gridLayout.addWidget(self.sbsCheckBox, 1, 4, 1, 3)
+        self.verticalLayout.addLayout(self.gridLayout)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=SvnLogBrowserDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(SvnLogBrowserDialog)
+        QtCore.QMetaObject.connectSlotsByName(SvnLogBrowserDialog)
+        SvnLogBrowserDialog.setTabOrder(self.fromDate, self.toDate)
+        SvnLogBrowserDialog.setTabOrder(self.toDate, self.fieldCombo)
+        SvnLogBrowserDialog.setTabOrder(self.fieldCombo, self.rxEdit)
+        SvnLogBrowserDialog.setTabOrder(self.rxEdit, self.logTree)
+        SvnLogBrowserDialog.setTabOrder(self.logTree, self.messageEdit)
+        SvnLogBrowserDialog.setTabOrder(self.messageEdit, self.filesTree)
+        SvnLogBrowserDialog.setTabOrder(self.filesTree, self.nextButton)
+        SvnLogBrowserDialog.setTabOrder(self.nextButton, self.limitSpinBox)
+        SvnLogBrowserDialog.setTabOrder(self.limitSpinBox, self.stopCheckBox)
+        SvnLogBrowserDialog.setTabOrder(self.stopCheckBox, self.upButton)
+        SvnLogBrowserDialog.setTabOrder(self.upButton, self.downButton)
+        SvnLogBrowserDialog.setTabOrder(self.downButton, self.diffPreviousButton)
+        SvnLogBrowserDialog.setTabOrder(self.diffPreviousButton, self.diffRevisionsButton)
+        SvnLogBrowserDialog.setTabOrder(self.diffRevisionsButton, self.sbsCheckBox)
+
+    def retranslateUi(self, SvnLogBrowserDialog):
+        _translate = QtCore.QCoreApplication.translate
+        SvnLogBrowserDialog.setWindowTitle(_translate("SvnLogBrowserDialog", "Subversion Log"))
+        self.label.setText(_translate("SvnLogBrowserDialog", "From:"))
+        self.fromDate.setToolTip(_translate("SvnLogBrowserDialog", "Enter the start date"))
+        self.label_2.setText(_translate("SvnLogBrowserDialog", "To:"))
+        self.toDate.setToolTip(_translate("SvnLogBrowserDialog", "Enter the end date"))
+        self.fieldCombo.setToolTip(_translate("SvnLogBrowserDialog", "Select the field to filter on"))
+        self.fieldCombo.setItemText(0, _translate("SvnLogBrowserDialog", "Revision"))
+        self.fieldCombo.setItemText(1, _translate("SvnLogBrowserDialog", "Author"))
+        self.fieldCombo.setItemText(2, _translate("SvnLogBrowserDialog", "Message"))
+        self.rxEdit.setToolTip(_translate("SvnLogBrowserDialog", "Enter the regular expression to filter on"))
+        self.logTree.setSortingEnabled(True)
+        self.logTree.headerItem().setText(0, _translate("SvnLogBrowserDialog", "Revision"))
+        self.logTree.headerItem().setText(1, _translate("SvnLogBrowserDialog", "Author"))
+        self.logTree.headerItem().setText(2, _translate("SvnLogBrowserDialog", "Date"))
+        self.logTree.headerItem().setText(3, _translate("SvnLogBrowserDialog", "Message"))
+        self.filesTree.setSortingEnabled(True)
+        self.filesTree.headerItem().setText(0, _translate("SvnLogBrowserDialog", "Action"))
+        self.filesTree.headerItem().setText(1, _translate("SvnLogBrowserDialog", "Path"))
+        self.filesTree.headerItem().setText(2, _translate("SvnLogBrowserDialog", "Copy from"))
+        self.filesTree.headerItem().setText(3, _translate("SvnLogBrowserDialog", "Copy from Rev"))
+        self.nextButton.setToolTip(_translate("SvnLogBrowserDialog", "Press to get the next bunch of log entries"))
+        self.nextButton.setText(_translate("SvnLogBrowserDialog", "&Next"))
+        self.limitSpinBox.setToolTip(_translate("SvnLogBrowserDialog", "Enter the limit of entries to fetch"))
+        self.stopCheckBox.setToolTip(_translate("SvnLogBrowserDialog", "Select to stop listing log messages at a copy or move"))
+        self.stopCheckBox.setText(_translate("SvnLogBrowserDialog", "Stop on Copy/Move"))
+        self.upButton.setToolTip(_translate("SvnLogBrowserDialog", "Press to move up in the log list"))
+        self.downButton.setToolTip(_translate("SvnLogBrowserDialog", "Press to move down in the log list"))
+        self.diffPreviousButton.setToolTip(_translate("SvnLogBrowserDialog", "Press to generate a diff to the previous revision"))
+        self.diffPreviousButton.setText(_translate("SvnLogBrowserDialog", "&Diff to Previous"))
+        self.diffRevisionsButton.setToolTip(_translate("SvnLogBrowserDialog", "Press to compare two revisions"))
+        self.diffRevisionsButton.setText(_translate("SvnLogBrowserDialog", "&Compare Revisions"))
+        self.sbsCheckBox.setToolTip(_translate("SvnLogBrowserDialog", "Select to show differences side-by-side"))
+        self.sbsCheckBox.setText(_translate("SvnLogBrowserDialog", "Show differences side-by-side"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsPySvn/Ui_SvnLoginDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,63 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsPySvn/SvnLoginDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_SvnLoginDialog(object):
+    def setupUi(self, SvnLoginDialog):
+        SvnLoginDialog.setObjectName("SvnLoginDialog")
+        SvnLoginDialog.resize(400, 145)
+        SvnLoginDialog.setSizeGripEnabled(True)
+        self.vboxlayout = QtWidgets.QVBoxLayout(SvnLoginDialog)
+        self.vboxlayout.setObjectName("vboxlayout")
+        self.gridlayout = QtWidgets.QGridLayout()
+        self.gridlayout.setObjectName("gridlayout")
+        self.saveCheckBox = QtWidgets.QCheckBox(parent=SvnLoginDialog)
+        self.saveCheckBox.setObjectName("saveCheckBox")
+        self.gridlayout.addWidget(self.saveCheckBox, 3, 0, 1, 2)
+        self.passwordEdit = QtWidgets.QLineEdit(parent=SvnLoginDialog)
+        self.passwordEdit.setEchoMode(QtWidgets.QLineEdit.EchoMode.Password)
+        self.passwordEdit.setObjectName("passwordEdit")
+        self.gridlayout.addWidget(self.passwordEdit, 2, 1, 1, 1)
+        self.label_2 = QtWidgets.QLabel(parent=SvnLoginDialog)
+        self.label_2.setObjectName("label_2")
+        self.gridlayout.addWidget(self.label_2, 2, 0, 1, 1)
+        self.label = QtWidgets.QLabel(parent=SvnLoginDialog)
+        self.label.setObjectName("label")
+        self.gridlayout.addWidget(self.label, 1, 0, 1, 1)
+        self.realmLabel = QtWidgets.QLabel(parent=SvnLoginDialog)
+        self.realmLabel.setText("")
+        self.realmLabel.setObjectName("realmLabel")
+        self.gridlayout.addWidget(self.realmLabel, 0, 0, 1, 2)
+        self.usernameEdit = QtWidgets.QLineEdit(parent=SvnLoginDialog)
+        self.usernameEdit.setObjectName("usernameEdit")
+        self.gridlayout.addWidget(self.usernameEdit, 1, 1, 1, 1)
+        self.vboxlayout.addLayout(self.gridlayout)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=SvnLoginDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.vboxlayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(SvnLoginDialog)
+        self.buttonBox.accepted.connect(SvnLoginDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(SvnLoginDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(SvnLoginDialog)
+        SvnLoginDialog.setTabOrder(self.usernameEdit, self.passwordEdit)
+        SvnLoginDialog.setTabOrder(self.passwordEdit, self.saveCheckBox)
+
+    def retranslateUi(self, SvnLoginDialog):
+        _translate = QtCore.QCoreApplication.translate
+        SvnLoginDialog.setWindowTitle(_translate("SvnLoginDialog", "Subversion Login"))
+        self.saveCheckBox.setToolTip(_translate("SvnLoginDialog", "Select, if the login data should be saved."))
+        self.saveCheckBox.setText(_translate("SvnLoginDialog", "Save login data"))
+        self.passwordEdit.setToolTip(_translate("SvnLoginDialog", "Enter password"))
+        self.label_2.setText(_translate("SvnLoginDialog", "Password:"))
+        self.label.setText(_translate("SvnLoginDialog", "Username:"))
+        self.usernameEdit.setToolTip(_translate("SvnLoginDialog", "Enter username"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsPySvn/Ui_SvnMergeDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,92 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsPySvn/SvnMergeDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_SvnMergeDialog(object):
+    def setupUi(self, SvnMergeDialog):
+        SvnMergeDialog.setObjectName("SvnMergeDialog")
+        SvnMergeDialog.resize(456, 152)
+        SvnMergeDialog.setSizeGripEnabled(True)
+        self.gridlayout = QtWidgets.QGridLayout(SvnMergeDialog)
+        self.gridlayout.setObjectName("gridlayout")
+        self.forceCheckBox = QtWidgets.QCheckBox(parent=SvnMergeDialog)
+        self.forceCheckBox.setObjectName("forceCheckBox")
+        self.gridlayout.addWidget(self.forceCheckBox, 3, 0, 1, 2)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=SvnMergeDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridlayout.addWidget(self.buttonBox, 4, 0, 1, 2)
+        self.textLabel1 = QtWidgets.QLabel(parent=SvnMergeDialog)
+        self.textLabel1.setObjectName("textLabel1")
+        self.gridlayout.addWidget(self.textLabel1, 2, 0, 1, 1)
+        self.targetCombo = QtWidgets.QComboBox(parent=SvnMergeDialog)
+        self.targetCombo.setEditable(True)
+        self.targetCombo.setInsertPolicy(QtWidgets.QComboBox.InsertPolicy.InsertAtTop)
+        self.targetCombo.setDuplicatesEnabled(False)
+        self.targetCombo.setObjectName("targetCombo")
+        self.gridlayout.addWidget(self.targetCombo, 2, 1, 1, 1)
+        self.tag2Combo = QtWidgets.QComboBox(parent=SvnMergeDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.tag2Combo.sizePolicy().hasHeightForWidth())
+        self.tag2Combo.setSizePolicy(sizePolicy)
+        self.tag2Combo.setEditable(True)
+        self.tag2Combo.setDuplicatesEnabled(False)
+        self.tag2Combo.setObjectName("tag2Combo")
+        self.gridlayout.addWidget(self.tag2Combo, 1, 1, 1, 1)
+        self.tag1Combo = QtWidgets.QComboBox(parent=SvnMergeDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.tag1Combo.sizePolicy().hasHeightForWidth())
+        self.tag1Combo.setSizePolicy(sizePolicy)
+        self.tag1Combo.setEditable(True)
+        self.tag1Combo.setDuplicatesEnabled(False)
+        self.tag1Combo.setObjectName("tag1Combo")
+        self.gridlayout.addWidget(self.tag1Combo, 0, 1, 1, 1)
+        self.TextLabel1_2 = QtWidgets.QLabel(parent=SvnMergeDialog)
+        self.TextLabel1_2.setObjectName("TextLabel1_2")
+        self.gridlayout.addWidget(self.TextLabel1_2, 1, 0, 1, 1)
+        self.TextLabel1 = QtWidgets.QLabel(parent=SvnMergeDialog)
+        self.TextLabel1.setObjectName("TextLabel1")
+        self.gridlayout.addWidget(self.TextLabel1, 0, 0, 1, 1)
+
+        self.retranslateUi(SvnMergeDialog)
+        self.buttonBox.accepted.connect(SvnMergeDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(SvnMergeDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(SvnMergeDialog)
+        SvnMergeDialog.setTabOrder(self.tag1Combo, self.tag2Combo)
+        SvnMergeDialog.setTabOrder(self.tag2Combo, self.targetCombo)
+        SvnMergeDialog.setTabOrder(self.targetCombo, self.forceCheckBox)
+        SvnMergeDialog.setTabOrder(self.forceCheckBox, self.buttonBox)
+
+    def retranslateUi(self, SvnMergeDialog):
+        _translate = QtCore.QCoreApplication.translate
+        SvnMergeDialog.setWindowTitle(_translate("SvnMergeDialog", "Subversion Merge"))
+        self.forceCheckBox.setToolTip(_translate("SvnMergeDialog", "Select to force the merge operation"))
+        self.forceCheckBox.setText(_translate("SvnMergeDialog", "Enforce merge"))
+        self.textLabel1.setText(_translate("SvnMergeDialog", "Target:"))
+        self.targetCombo.setToolTip(_translate("SvnMergeDialog", "Enter the target"))
+        self.targetCombo.setWhatsThis(_translate("SvnMergeDialog", "<b>Target</b>\n"
+"<p>Enter the target for the merge operation into this field. Leave it empty to\n"
+"get the target URL from the working copy.</p>\n"
+"<p><b>Note:</b> This entry is only needed, if you enter revision numbers above.</p>"))
+        self.tag2Combo.setToolTip(_translate("SvnMergeDialog", "Enter an URL or a revision number"))
+        self.tag2Combo.setWhatsThis(_translate("SvnMergeDialog", "<b>URL/Revision</b>\n"
+"<p>Enter an URL or a revision number to be merged into\n"
+"the working copy.</p>"))
+        self.tag1Combo.setToolTip(_translate("SvnMergeDialog", "Enter an URL or a revision number"))
+        self.tag1Combo.setWhatsThis(_translate("SvnMergeDialog", "<b>URL/Revision</b>\n"
+"<p>Enter an URL or a revision number to be merged into\n"
+"the working copy.</p>"))
+        self.TextLabel1_2.setText(_translate("SvnMergeDialog", "2. URL/Revision:"))
+        self.TextLabel1.setText(_translate("SvnMergeDialog", "1. URL/Revision:"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsPySvn/Ui_SvnNewProjectOptionsDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,101 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsPySvn/SvnNewProjectOptionsDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_SvnNewProjectOptionsDialog(object):
+    def setupUi(self, SvnNewProjectOptionsDialog):
+        SvnNewProjectOptionsDialog.setObjectName("SvnNewProjectOptionsDialog")
+        SvnNewProjectOptionsDialog.resize(562, 170)
+        SvnNewProjectOptionsDialog.setSizeGripEnabled(True)
+        self.gridLayout = QtWidgets.QGridLayout(SvnNewProjectOptionsDialog)
+        self.gridLayout.setObjectName("gridLayout")
+        self.textLabel1 = QtWidgets.QLabel(parent=SvnNewProjectOptionsDialog)
+        self.textLabel1.setObjectName("textLabel1")
+        self.gridLayout.addWidget(self.textLabel1, 0, 0, 1, 1)
+        self.protocolCombo = QtWidgets.QComboBox(parent=SvnNewProjectOptionsDialog)
+        self.protocolCombo.setObjectName("protocolCombo")
+        self.gridLayout.addWidget(self.protocolCombo, 0, 1, 1, 1)
+        self.vcsUrlLabel = QtWidgets.QLabel(parent=SvnNewProjectOptionsDialog)
+        self.vcsUrlLabel.setObjectName("vcsUrlLabel")
+        self.gridLayout.addWidget(self.vcsUrlLabel, 1, 0, 1, 1)
+        self.vcsUrlPicker = EricPathPicker(parent=SvnNewProjectOptionsDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.vcsUrlPicker.sizePolicy().hasHeightForWidth())
+        self.vcsUrlPicker.setSizePolicy(sizePolicy)
+        self.vcsUrlPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.vcsUrlPicker.setObjectName("vcsUrlPicker")
+        self.gridLayout.addWidget(self.vcsUrlPicker, 1, 1, 1, 1)
+        self.vcsTagLabel = QtWidgets.QLabel(parent=SvnNewProjectOptionsDialog)
+        self.vcsTagLabel.setObjectName("vcsTagLabel")
+        self.gridLayout.addWidget(self.vcsTagLabel, 2, 0, 1, 1)
+        self.vcsTagEdit = QtWidgets.QLineEdit(parent=SvnNewProjectOptionsDialog)
+        self.vcsTagEdit.setObjectName("vcsTagEdit")
+        self.gridLayout.addWidget(self.vcsTagEdit, 2, 1, 1, 1)
+        self.TextLabel4 = QtWidgets.QLabel(parent=SvnNewProjectOptionsDialog)
+        self.TextLabel4.setObjectName("TextLabel4")
+        self.gridLayout.addWidget(self.TextLabel4, 3, 0, 1, 1)
+        self.vcsProjectDirPicker = EricPathPicker(parent=SvnNewProjectOptionsDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.vcsProjectDirPicker.sizePolicy().hasHeightForWidth())
+        self.vcsProjectDirPicker.setSizePolicy(sizePolicy)
+        self.vcsProjectDirPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.vcsProjectDirPicker.setObjectName("vcsProjectDirPicker")
+        self.gridLayout.addWidget(self.vcsProjectDirPicker, 3, 1, 1, 1)
+        self.layoutCheckBox = QtWidgets.QCheckBox(parent=SvnNewProjectOptionsDialog)
+        self.layoutCheckBox.setChecked(True)
+        self.layoutCheckBox.setObjectName("layoutCheckBox")
+        self.gridLayout.addWidget(self.layoutCheckBox, 4, 0, 1, 2)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=SvnNewProjectOptionsDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout.addWidget(self.buttonBox, 5, 0, 1, 2)
+        self.textLabel1.setBuddy(self.protocolCombo)
+        self.vcsUrlLabel.setBuddy(self.vcsUrlPicker)
+        self.vcsTagLabel.setBuddy(self.vcsTagEdit)
+        self.TextLabel4.setBuddy(self.vcsProjectDirPicker)
+
+        self.retranslateUi(SvnNewProjectOptionsDialog)
+        self.buttonBox.accepted.connect(SvnNewProjectOptionsDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(SvnNewProjectOptionsDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(SvnNewProjectOptionsDialog)
+        SvnNewProjectOptionsDialog.setTabOrder(self.protocolCombo, self.vcsUrlPicker)
+        SvnNewProjectOptionsDialog.setTabOrder(self.vcsUrlPicker, self.vcsTagEdit)
+        SvnNewProjectOptionsDialog.setTabOrder(self.vcsTagEdit, self.vcsProjectDirPicker)
+        SvnNewProjectOptionsDialog.setTabOrder(self.vcsProjectDirPicker, self.layoutCheckBox)
+
+    def retranslateUi(self, SvnNewProjectOptionsDialog):
+        _translate = QtCore.QCoreApplication.translate
+        SvnNewProjectOptionsDialog.setWindowTitle(_translate("SvnNewProjectOptionsDialog", "New Project from Repository"))
+        SvnNewProjectOptionsDialog.setWhatsThis(_translate("SvnNewProjectOptionsDialog", "<b>New Project from Repository Dialog</b>\n"
+"<p>Enter the various repository infos into the entry fields. These values are used, when the new project is retrieved from the repository. If the checkbox is selected, the URL must end in the project name. A repository layout with project/tags, project/branches and project/trunk will be assumed. In this case, you may enter a tag or branch, which must look like tags/tagname or branches/branchname. If the checkbox is not selected, the URL must contain the complete path in the repository.</p>\n"
+"<p>For remote repositories the URL must contain the hostname.</p>"))
+        self.textLabel1.setText(_translate("SvnNewProjectOptionsDialog", "&Protocol:"))
+        self.protocolCombo.setToolTip(_translate("SvnNewProjectOptionsDialog", "Select the protocol to access the repository"))
+        self.vcsUrlLabel.setText(_translate("SvnNewProjectOptionsDialog", "&URL:"))
+        self.vcsUrlPicker.setToolTip(_translate("SvnNewProjectOptionsDialog", "Enter the url path of the module in the repository (without protocol part)"))
+        self.vcsUrlPicker.setWhatsThis(_translate("SvnNewProjectOptionsDialog", "<b>URL</b><p>Enter the URL to the module. For a repository with standard layout, this must not contain the trunk, tags or branches part.</p>"))
+        self.vcsTagLabel.setText(_translate("SvnNewProjectOptionsDialog", "&Tag:"))
+        self.vcsTagEdit.setToolTip(_translate("SvnNewProjectOptionsDialog", "Enter the tag the new project should be generated from"))
+        self.vcsTagEdit.setWhatsThis(_translate("SvnNewProjectOptionsDialog", "<b>Tag in VCS</b>\n"
+"<p>Enter the tag name the new project shall be generated from. Leave empty to retrieve the latest data from the repository.</p>"))
+        self.TextLabel4.setText(_translate("SvnNewProjectOptionsDialog", "Project &Directory:"))
+        self.vcsProjectDirPicker.setToolTip(_translate("SvnNewProjectOptionsDialog", "Enter the directory of the new project."))
+        self.vcsProjectDirPicker.setWhatsThis(_translate("SvnNewProjectOptionsDialog", "<b>Project Directory</b>\n"
+"<p>Enter the directory of the new project. It will be retrieved from \n"
+"the repository and be placed in this directory.</p>"))
+        self.layoutCheckBox.setToolTip(_translate("SvnNewProjectOptionsDialog", "Select to indicate, that the repository has a standard layout (projectdir/trunk, projectdir/tags, projectdir/branches)"))
+        self.layoutCheckBox.setText(_translate("SvnNewProjectOptionsDialog", "Repository has standard &layout"))
+        self.layoutCheckBox.setShortcut(_translate("SvnNewProjectOptionsDialog", "Alt+L"))
+from eric7.EricWidgets.EricPathPicker import EricPathPicker
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsPySvn/Ui_SvnOptionsDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,83 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsPySvn/SvnOptionsDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_SvnOptionsDialog(object):
+    def setupUi(self, SvnOptionsDialog):
+        SvnOptionsDialog.setObjectName("SvnOptionsDialog")
+        SvnOptionsDialog.resize(565, 149)
+        SvnOptionsDialog.setSizeGripEnabled(True)
+        self.gridLayout = QtWidgets.QGridLayout(SvnOptionsDialog)
+        self.gridLayout.setObjectName("gridLayout")
+        self.textLabel1 = QtWidgets.QLabel(parent=SvnOptionsDialog)
+        self.textLabel1.setObjectName("textLabel1")
+        self.gridLayout.addWidget(self.textLabel1, 0, 0, 1, 1)
+        self.protocolCombo = QtWidgets.QComboBox(parent=SvnOptionsDialog)
+        self.protocolCombo.setObjectName("protocolCombo")
+        self.gridLayout.addWidget(self.protocolCombo, 0, 1, 1, 1)
+        self.vcsUrlLabel = QtWidgets.QLabel(parent=SvnOptionsDialog)
+        self.vcsUrlLabel.setObjectName("vcsUrlLabel")
+        self.gridLayout.addWidget(self.vcsUrlLabel, 1, 0, 1, 1)
+        self.vcsUrlPicker = EricPathPicker(parent=SvnOptionsDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.vcsUrlPicker.sizePolicy().hasHeightForWidth())
+        self.vcsUrlPicker.setSizePolicy(sizePolicy)
+        self.vcsUrlPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.vcsUrlPicker.setObjectName("vcsUrlPicker")
+        self.gridLayout.addWidget(self.vcsUrlPicker, 1, 1, 1, 1)
+        self.TextLabel5 = QtWidgets.QLabel(parent=SvnOptionsDialog)
+        self.TextLabel5.setObjectName("TextLabel5")
+        self.gridLayout.addWidget(self.TextLabel5, 2, 0, 1, 1)
+        self.vcsLogEdit = QtWidgets.QLineEdit(parent=SvnOptionsDialog)
+        self.vcsLogEdit.setObjectName("vcsLogEdit")
+        self.gridLayout.addWidget(self.vcsLogEdit, 2, 1, 1, 1)
+        self.layoutCheckBox = QtWidgets.QCheckBox(parent=SvnOptionsDialog)
+        self.layoutCheckBox.setChecked(True)
+        self.layoutCheckBox.setObjectName("layoutCheckBox")
+        self.gridLayout.addWidget(self.layoutCheckBox, 3, 0, 1, 2)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=SvnOptionsDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout.addWidget(self.buttonBox, 4, 0, 1, 2)
+        self.textLabel1.setBuddy(self.protocolCombo)
+        self.vcsUrlLabel.setBuddy(self.vcsUrlPicker)
+        self.TextLabel5.setBuddy(self.vcsLogEdit)
+
+        self.retranslateUi(SvnOptionsDialog)
+        self.buttonBox.accepted.connect(SvnOptionsDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(SvnOptionsDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(SvnOptionsDialog)
+        SvnOptionsDialog.setTabOrder(self.protocolCombo, self.vcsUrlPicker)
+        SvnOptionsDialog.setTabOrder(self.vcsUrlPicker, self.vcsLogEdit)
+        SvnOptionsDialog.setTabOrder(self.vcsLogEdit, self.layoutCheckBox)
+
+    def retranslateUi(self, SvnOptionsDialog):
+        _translate = QtCore.QCoreApplication.translate
+        SvnOptionsDialog.setWindowTitle(_translate("SvnOptionsDialog", "Repository Infos"))
+        SvnOptionsDialog.setWhatsThis(_translate("SvnOptionsDialog", "<b>Repository Infos Dialog</b>\n"
+"<p>Enter the various infos into the entry fields. These values are used to generate a new project in the repository. If the checkbox is selected, the URL must end in the project name. A directory tree with project/tags, project/branches and project/trunk will be generated in the repository. If the checkbox is not selected, the URL must contain the complete path in the repository.</p>\n"
+"<p>For remote repositories the URL must contain the hostname.</p>"))
+        self.textLabel1.setText(_translate("SvnOptionsDialog", "&Protocol:"))
+        self.protocolCombo.setToolTip(_translate("SvnOptionsDialog", "Select the protocol to access the repository"))
+        self.vcsUrlLabel.setText(_translate("SvnOptionsDialog", "&URL:"))
+        self.vcsUrlPicker.setToolTip(_translate("SvnOptionsDialog", "Enter the url path of the module in the repository (without protocol part)"))
+        self.vcsUrlPicker.setWhatsThis(_translate("SvnOptionsDialog", "<b>URL</b><p>Enter the URL to the module. For a repository with standard layout, this must not contain the trunk, tags or branches part.</p>"))
+        self.TextLabel5.setText(_translate("SvnOptionsDialog", "Log &Message:"))
+        self.vcsLogEdit.setToolTip(_translate("SvnOptionsDialog", "Enter the log message for the new project."))
+        self.vcsLogEdit.setWhatsThis(_translate("SvnOptionsDialog", "<b>Log Message</b>\n"
+"<p>Enter the log message to be used for the new project.</p>"))
+        self.vcsLogEdit.setText(_translate("SvnOptionsDialog", "new project started"))
+        self.layoutCheckBox.setToolTip(_translate("SvnOptionsDialog", "Select, if the standard repository layout (projectdir/trunk, projectdir/tags, projectdir/branches) should be generated"))
+        self.layoutCheckBox.setText(_translate("SvnOptionsDialog", "Create standard repository &layout"))
+        self.layoutCheckBox.setShortcut(_translate("SvnOptionsDialog", "Alt+L"))
+from eric7.EricWidgets.EricPathPicker import EricPathPicker
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsPySvn/Ui_SvnPropDelDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,50 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsPySvn/SvnPropDelDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_SvnPropDelDialog(object):
+    def setupUi(self, SvnPropDelDialog):
+        SvnPropDelDialog.setObjectName("SvnPropDelDialog")
+        SvnPropDelDialog.resize(494, 98)
+        SvnPropDelDialog.setSizeGripEnabled(True)
+        self.vboxlayout = QtWidgets.QVBoxLayout(SvnPropDelDialog)
+        self.vboxlayout.setObjectName("vboxlayout")
+        self.gridlayout = QtWidgets.QGridLayout()
+        self.gridlayout.setObjectName("gridlayout")
+        self.propNameEdit = QtWidgets.QLineEdit(parent=SvnPropDelDialog)
+        self.propNameEdit.setObjectName("propNameEdit")
+        self.gridlayout.addWidget(self.propNameEdit, 0, 1, 1, 1)
+        self.recurseCheckBox = QtWidgets.QCheckBox(parent=SvnPropDelDialog)
+        self.recurseCheckBox.setObjectName("recurseCheckBox")
+        self.gridlayout.addWidget(self.recurseCheckBox, 1, 0, 1, 2)
+        self.textLabel1 = QtWidgets.QLabel(parent=SvnPropDelDialog)
+        self.textLabel1.setObjectName("textLabel1")
+        self.gridlayout.addWidget(self.textLabel1, 0, 0, 1, 1)
+        self.vboxlayout.addLayout(self.gridlayout)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=SvnPropDelDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.vboxlayout.addWidget(self.buttonBox)
+        self.textLabel1.setBuddy(self.propNameEdit)
+
+        self.retranslateUi(SvnPropDelDialog)
+        self.buttonBox.accepted.connect(SvnPropDelDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(SvnPropDelDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(SvnPropDelDialog)
+        SvnPropDelDialog.setTabOrder(self.propNameEdit, self.recurseCheckBox)
+
+    def retranslateUi(self, SvnPropDelDialog):
+        _translate = QtCore.QCoreApplication.translate
+        SvnPropDelDialog.setWindowTitle(_translate("SvnPropDelDialog", "Delete Subversion Property"))
+        self.propNameEdit.setToolTip(_translate("SvnPropDelDialog", "Enter the name of the property to be deleted"))
+        self.recurseCheckBox.setToolTip(_translate("SvnPropDelDialog", "Select to apply the property recursively"))
+        self.recurseCheckBox.setText(_translate("SvnPropDelDialog", "Apply &recursively"))
+        self.textLabel1.setText(_translate("SvnPropDelDialog", "Property &Name:"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsPySvn/Ui_SvnPropListDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,65 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsPySvn/SvnPropListDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_SvnPropListDialog(object):
+    def setupUi(self, SvnPropListDialog):
+        SvnPropListDialog.setObjectName("SvnPropListDialog")
+        SvnPropListDialog.resize(826, 569)
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(SvnPropListDialog)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.propsList = QtWidgets.QTreeWidget(parent=SvnPropListDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(3)
+        sizePolicy.setHeightForWidth(self.propsList.sizePolicy().hasHeightForWidth())
+        self.propsList.setSizePolicy(sizePolicy)
+        self.propsList.setAlternatingRowColors(True)
+        self.propsList.setRootIsDecorated(False)
+        self.propsList.setItemsExpandable(False)
+        self.propsList.setObjectName("propsList")
+        self.verticalLayout_2.addWidget(self.propsList)
+        self.errorGroup = QtWidgets.QGroupBox(parent=SvnPropListDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(1)
+        sizePolicy.setHeightForWidth(self.errorGroup.sizePolicy().hasHeightForWidth())
+        self.errorGroup.setSizePolicy(sizePolicy)
+        self.errorGroup.setObjectName("errorGroup")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.errorGroup)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.errors = QtWidgets.QTextEdit(parent=self.errorGroup)
+        self.errors.setObjectName("errors")
+        self.verticalLayout.addWidget(self.errors)
+        self.verticalLayout_2.addWidget(self.errorGroup)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=SvnPropListDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout_2.addWidget(self.buttonBox)
+
+        self.retranslateUi(SvnPropListDialog)
+        QtCore.QMetaObject.connectSlotsByName(SvnPropListDialog)
+        SvnPropListDialog.setTabOrder(self.propsList, self.errors)
+
+    def retranslateUi(self, SvnPropListDialog):
+        _translate = QtCore.QCoreApplication.translate
+        SvnPropListDialog.setWindowTitle(_translate("SvnPropListDialog", "Subversion List Properties"))
+        SvnPropListDialog.setWhatsThis(_translate("SvnPropListDialog", "<b>Subversion List Prperties</b>\n"
+"<p>This dialog shows the properties of the selected file or project.</p>"))
+        self.propsList.setWhatsThis(_translate("SvnPropListDialog", "<b>Properties List</b>\n"
+"<p>This shows the properties of the selected file or project.</p>"))
+        self.propsList.setSortingEnabled(True)
+        self.propsList.headerItem().setText(0, _translate("SvnPropListDialog", "Path"))
+        self.propsList.headerItem().setText(1, _translate("SvnPropListDialog", "Name"))
+        self.propsList.headerItem().setText(2, _translate("SvnPropListDialog", "Value"))
+        self.errorGroup.setTitle(_translate("SvnPropListDialog", "Errors"))
+        self.errors.setWhatsThis(_translate("SvnPropListDialog", "<b>Subversion proplist errors</b>\n"
+"<p>This shows possible error messages of the subversion proplist command.</p>"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsPySvn/Ui_SvnPropSetDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,63 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsPySvn/SvnPropSetDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_SvnPropSetDialog(object):
+    def setupUi(self, SvnPropSetDialog):
+        SvnPropSetDialog.setObjectName("SvnPropSetDialog")
+        SvnPropSetDialog.resize(494, 385)
+        SvnPropSetDialog.setSizeGripEnabled(True)
+        self.vboxlayout = QtWidgets.QVBoxLayout(SvnPropSetDialog)
+        self.vboxlayout.setObjectName("vboxlayout")
+        self.gridlayout = QtWidgets.QGridLayout()
+        self.gridlayout.setObjectName("gridlayout")
+        self.propTextEdit = QtWidgets.QTextEdit(parent=SvnPropSetDialog)
+        self.propTextEdit.setTabChangesFocus(True)
+        self.propTextEdit.setAcceptRichText(False)
+        self.propTextEdit.setObjectName("propTextEdit")
+        self.gridlayout.addWidget(self.propTextEdit, 1, 1, 1, 1)
+        self.textLabel1 = QtWidgets.QLabel(parent=SvnPropSetDialog)
+        self.textLabel1.setObjectName("textLabel1")
+        self.gridlayout.addWidget(self.textLabel1, 0, 0, 1, 1)
+        self.propNameEdit = QtWidgets.QLineEdit(parent=SvnPropSetDialog)
+        self.propNameEdit.setObjectName("propNameEdit")
+        self.gridlayout.addWidget(self.propNameEdit, 0, 1, 1, 1)
+        self.recurseCheckBox = QtWidgets.QCheckBox(parent=SvnPropSetDialog)
+        self.recurseCheckBox.setObjectName("recurseCheckBox")
+        self.gridlayout.addWidget(self.recurseCheckBox, 2, 0, 1, 2)
+        self.label = QtWidgets.QLabel(parent=SvnPropSetDialog)
+        self.label.setAlignment(QtCore.Qt.AlignmentFlag.AlignLeading|QtCore.Qt.AlignmentFlag.AlignLeft|QtCore.Qt.AlignmentFlag.AlignTop)
+        self.label.setObjectName("label")
+        self.gridlayout.addWidget(self.label, 1, 0, 1, 1)
+        self.vboxlayout.addLayout(self.gridlayout)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=SvnPropSetDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.vboxlayout.addWidget(self.buttonBox)
+        self.textLabel1.setBuddy(self.propNameEdit)
+        self.label.setBuddy(self.propTextEdit)
+
+        self.retranslateUi(SvnPropSetDialog)
+        self.buttonBox.accepted.connect(SvnPropSetDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(SvnPropSetDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(SvnPropSetDialog)
+        SvnPropSetDialog.setTabOrder(self.propNameEdit, self.propTextEdit)
+        SvnPropSetDialog.setTabOrder(self.propTextEdit, self.recurseCheckBox)
+
+    def retranslateUi(self, SvnPropSetDialog):
+        _translate = QtCore.QCoreApplication.translate
+        SvnPropSetDialog.setWindowTitle(_translate("SvnPropSetDialog", "Set Subversion Property"))
+        self.propTextEdit.setToolTip(_translate("SvnPropSetDialog", "Enter text of the property"))
+        self.textLabel1.setText(_translate("SvnPropSetDialog", "Property &Name:"))
+        self.propNameEdit.setToolTip(_translate("SvnPropSetDialog", "Enter the name of the property to be set"))
+        self.recurseCheckBox.setToolTip(_translate("SvnPropSetDialog", "Select to apply the property recursively"))
+        self.recurseCheckBox.setText(_translate("SvnPropSetDialog", "Apply &recursively"))
+        self.label.setText(_translate("SvnPropSetDialog", "Property &Value:"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsPySvn/Ui_SvnRelocateDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,59 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsPySvn/SvnRelocateDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_SvnRelocateDialog(object):
+    def setupUi(self, SvnRelocateDialog):
+        SvnRelocateDialog.setObjectName("SvnRelocateDialog")
+        SvnRelocateDialog.resize(531, 119)
+        SvnRelocateDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(SvnRelocateDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.gridlayout = QtWidgets.QGridLayout()
+        self.gridlayout.setObjectName("gridlayout")
+        self.currUrlLabel = QtWidgets.QLabel(parent=SvnRelocateDialog)
+        self.currUrlLabel.setFrameShape(QtWidgets.QFrame.Shape.StyledPanel)
+        self.currUrlLabel.setText("")
+        self.currUrlLabel.setObjectName("currUrlLabel")
+        self.gridlayout.addWidget(self.currUrlLabel, 0, 1, 1, 1)
+        self.label_2 = QtWidgets.QLabel(parent=SvnRelocateDialog)
+        self.label_2.setObjectName("label_2")
+        self.gridlayout.addWidget(self.label_2, 1, 0, 1, 1)
+        self.newUrlEdit = QtWidgets.QLineEdit(parent=SvnRelocateDialog)
+        self.newUrlEdit.setObjectName("newUrlEdit")
+        self.gridlayout.addWidget(self.newUrlEdit, 1, 1, 1, 1)
+        self.label = QtWidgets.QLabel(parent=SvnRelocateDialog)
+        self.label.setObjectName("label")
+        self.gridlayout.addWidget(self.label, 0, 0, 1, 1)
+        self.verticalLayout.addLayout(self.gridlayout)
+        self.insideCheckBox = QtWidgets.QCheckBox(parent=SvnRelocateDialog)
+        self.insideCheckBox.setObjectName("insideCheckBox")
+        self.verticalLayout.addWidget(self.insideCheckBox)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=SvnRelocateDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(SvnRelocateDialog)
+        self.buttonBox.accepted.connect(SvnRelocateDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(SvnRelocateDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(SvnRelocateDialog)
+        SvnRelocateDialog.setTabOrder(self.newUrlEdit, self.insideCheckBox)
+        SvnRelocateDialog.setTabOrder(self.insideCheckBox, self.buttonBox)
+
+    def retranslateUi(self, SvnRelocateDialog):
+        _translate = QtCore.QCoreApplication.translate
+        SvnRelocateDialog.setWindowTitle(_translate("SvnRelocateDialog", "Subversion Relocate"))
+        self.label_2.setText(_translate("SvnRelocateDialog", "New repository URL:"))
+        self.newUrlEdit.setToolTip(_translate("SvnRelocateDialog", "Enter the URL of the repository the working space should be relocated to"))
+        self.label.setText(_translate("SvnRelocateDialog", "Current repository URL:"))
+        self.insideCheckBox.setToolTip(_translate("SvnRelocateDialog", "Select, if the relocate should happen inside the repository"))
+        self.insideCheckBox.setText(_translate("SvnRelocateDialog", "Relocate inside repository (used, if the repository layout has changed)"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsPySvn/Ui_SvnRepoBrowserDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,55 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsPySvn/SvnRepoBrowserDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_SvnRepoBrowserDialog(object):
+    def setupUi(self, SvnRepoBrowserDialog):
+        SvnRepoBrowserDialog.setObjectName("SvnRepoBrowserDialog")
+        SvnRepoBrowserDialog.resize(650, 500)
+        self.gridlayout = QtWidgets.QGridLayout(SvnRepoBrowserDialog)
+        self.gridlayout.setObjectName("gridlayout")
+        self.label = QtWidgets.QLabel(parent=SvnRepoBrowserDialog)
+        self.label.setObjectName("label")
+        self.gridlayout.addWidget(self.label, 0, 0, 1, 1)
+        self.urlCombo = QtWidgets.QComboBox(parent=SvnRepoBrowserDialog)
+        self.urlCombo.setEditable(True)
+        self.urlCombo.setInsertPolicy(QtWidgets.QComboBox.InsertPolicy.InsertAtTop)
+        self.urlCombo.setObjectName("urlCombo")
+        self.gridlayout.addWidget(self.urlCombo, 0, 1, 1, 1)
+        self.repoTree = QtWidgets.QTreeWidget(parent=SvnRepoBrowserDialog)
+        self.repoTree.setAlternatingRowColors(True)
+        self.repoTree.setAllColumnsShowFocus(True)
+        self.repoTree.setColumnCount(5)
+        self.repoTree.setObjectName("repoTree")
+        self.gridlayout.addWidget(self.repoTree, 1, 0, 1, 2)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=SvnRepoBrowserDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Close|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridlayout.addWidget(self.buttonBox, 2, 1, 1, 1)
+
+        self.retranslateUi(SvnRepoBrowserDialog)
+        self.buttonBox.rejected.connect(SvnRepoBrowserDialog.reject) # type: ignore
+        self.buttonBox.accepted.connect(SvnRepoBrowserDialog.accept) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(SvnRepoBrowserDialog)
+        SvnRepoBrowserDialog.setTabOrder(self.urlCombo, self.repoTree)
+        SvnRepoBrowserDialog.setTabOrder(self.repoTree, self.buttonBox)
+
+    def retranslateUi(self, SvnRepoBrowserDialog):
+        _translate = QtCore.QCoreApplication.translate
+        SvnRepoBrowserDialog.setWindowTitle(_translate("SvnRepoBrowserDialog", "Subversion Repository Browser"))
+        self.label.setText(_translate("SvnRepoBrowserDialog", "URL:"))
+        self.urlCombo.setToolTip(_translate("SvnRepoBrowserDialog", "Enter the URL of the repository"))
+        self.repoTree.setSortingEnabled(True)
+        self.repoTree.headerItem().setText(0, _translate("SvnRepoBrowserDialog", "File"))
+        self.repoTree.headerItem().setText(1, _translate("SvnRepoBrowserDialog", "Revision"))
+        self.repoTree.headerItem().setText(2, _translate("SvnRepoBrowserDialog", "Author"))
+        self.repoTree.headerItem().setText(3, _translate("SvnRepoBrowserDialog", "Size"))
+        self.repoTree.headerItem().setText(4, _translate("SvnRepoBrowserDialog", "Date"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsPySvn/Ui_SvnRevisionSelectionDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,198 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsPySvn/SvnRevisionSelectionDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_SvnRevisionSelectionDialog(object):
+    def setupUi(self, SvnRevisionSelectionDialog):
+        SvnRevisionSelectionDialog.setObjectName("SvnRevisionSelectionDialog")
+        SvnRevisionSelectionDialog.resize(399, 519)
+        SvnRevisionSelectionDialog.setSizeGripEnabled(True)
+        self.vboxlayout = QtWidgets.QVBoxLayout(SvnRevisionSelectionDialog)
+        self.vboxlayout.setObjectName("vboxlayout")
+        self.rev1GroupBox = QtWidgets.QGroupBox(parent=SvnRevisionSelectionDialog)
+        self.rev1GroupBox.setObjectName("rev1GroupBox")
+        self.gridlayout = QtWidgets.QGridLayout(self.rev1GroupBox)
+        self.gridlayout.setObjectName("gridlayout")
+        self.prev1Button = QtWidgets.QRadioButton(parent=self.rev1GroupBox)
+        self.prev1Button.setObjectName("prev1Button")
+        self.gridlayout.addWidget(self.prev1Button, 6, 0, 1, 1)
+        self.committed1Button = QtWidgets.QRadioButton(parent=self.rev1GroupBox)
+        self.committed1Button.setObjectName("committed1Button")
+        self.gridlayout.addWidget(self.committed1Button, 5, 0, 1, 1)
+        self.base1Button = QtWidgets.QRadioButton(parent=self.rev1GroupBox)
+        self.base1Button.setObjectName("base1Button")
+        self.gridlayout.addWidget(self.base1Button, 4, 0, 1, 1)
+        self.head1Button = QtWidgets.QRadioButton(parent=self.rev1GroupBox)
+        self.head1Button.setChecked(True)
+        self.head1Button.setObjectName("head1Button")
+        self.gridlayout.addWidget(self.head1Button, 2, 0, 1, 1)
+        self.working1Button = QtWidgets.QRadioButton(parent=self.rev1GroupBox)
+        self.working1Button.setChecked(False)
+        self.working1Button.setObjectName("working1Button")
+        self.gridlayout.addWidget(self.working1Button, 3, 0, 1, 1)
+        self.number1SpinBox = QtWidgets.QSpinBox(parent=self.rev1GroupBox)
+        self.number1SpinBox.setEnabled(False)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.number1SpinBox.sizePolicy().hasHeightForWidth())
+        self.number1SpinBox.setSizePolicy(sizePolicy)
+        self.number1SpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight)
+        self.number1SpinBox.setMinimum(1)
+        self.number1SpinBox.setMaximum(999999999)
+        self.number1SpinBox.setObjectName("number1SpinBox")
+        self.gridlayout.addWidget(self.number1SpinBox, 0, 1, 1, 1)
+        self.time1Edit = QtWidgets.QTimeEdit(parent=self.rev1GroupBox)
+        self.time1Edit.setEnabled(False)
+        self.time1Edit.setObjectName("time1Edit")
+        self.gridlayout.addWidget(self.time1Edit, 1, 2, 1, 1)
+        self.date1Edit = QtWidgets.QDateEdit(parent=self.rev1GroupBox)
+        self.date1Edit.setEnabled(False)
+        self.date1Edit.setCalendarPopup(True)
+        self.date1Edit.setObjectName("date1Edit")
+        self.gridlayout.addWidget(self.date1Edit, 1, 1, 1, 1)
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridlayout.addItem(spacerItem, 0, 2, 1, 1)
+        self.number1Button = QtWidgets.QRadioButton(parent=self.rev1GroupBox)
+        self.number1Button.setObjectName("number1Button")
+        self.gridlayout.addWidget(self.number1Button, 0, 0, 1, 1)
+        self.date1Button = QtWidgets.QRadioButton(parent=self.rev1GroupBox)
+        self.date1Button.setObjectName("date1Button")
+        self.gridlayout.addWidget(self.date1Button, 1, 0, 1, 1)
+        self.vboxlayout.addWidget(self.rev1GroupBox)
+        self.rev2GroupBox = QtWidgets.QGroupBox(parent=SvnRevisionSelectionDialog)
+        self.rev2GroupBox.setObjectName("rev2GroupBox")
+        self.gridlayout1 = QtWidgets.QGridLayout(self.rev2GroupBox)
+        self.gridlayout1.setObjectName("gridlayout1")
+        self.prev2Button = QtWidgets.QRadioButton(parent=self.rev2GroupBox)
+        self.prev2Button.setObjectName("prev2Button")
+        self.gridlayout1.addWidget(self.prev2Button, 6, 0, 1, 1)
+        self.committed2Button = QtWidgets.QRadioButton(parent=self.rev2GroupBox)
+        self.committed2Button.setObjectName("committed2Button")
+        self.gridlayout1.addWidget(self.committed2Button, 5, 0, 1, 1)
+        self.base2Button = QtWidgets.QRadioButton(parent=self.rev2GroupBox)
+        self.base2Button.setObjectName("base2Button")
+        self.gridlayout1.addWidget(self.base2Button, 4, 0, 1, 1)
+        self.head2Button = QtWidgets.QRadioButton(parent=self.rev2GroupBox)
+        self.head2Button.setChecked(False)
+        self.head2Button.setObjectName("head2Button")
+        self.gridlayout1.addWidget(self.head2Button, 2, 0, 1, 1)
+        self.working2Button = QtWidgets.QRadioButton(parent=self.rev2GroupBox)
+        self.working2Button.setChecked(True)
+        self.working2Button.setObjectName("working2Button")
+        self.gridlayout1.addWidget(self.working2Button, 3, 0, 1, 1)
+        self.number2SpinBox = QtWidgets.QSpinBox(parent=self.rev2GroupBox)
+        self.number2SpinBox.setEnabled(False)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.number2SpinBox.sizePolicy().hasHeightForWidth())
+        self.number2SpinBox.setSizePolicy(sizePolicy)
+        self.number2SpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight)
+        self.number2SpinBox.setMinimum(1)
+        self.number2SpinBox.setMaximum(999999999)
+        self.number2SpinBox.setObjectName("number2SpinBox")
+        self.gridlayout1.addWidget(self.number2SpinBox, 0, 1, 1, 1)
+        self.time2Edit = QtWidgets.QTimeEdit(parent=self.rev2GroupBox)
+        self.time2Edit.setEnabled(False)
+        self.time2Edit.setObjectName("time2Edit")
+        self.gridlayout1.addWidget(self.time2Edit, 1, 2, 1, 1)
+        self.date2Edit = QtWidgets.QDateEdit(parent=self.rev2GroupBox)
+        self.date2Edit.setEnabled(False)
+        self.date2Edit.setCalendarPopup(True)
+        self.date2Edit.setObjectName("date2Edit")
+        self.gridlayout1.addWidget(self.date2Edit, 1, 1, 1, 1)
+        spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridlayout1.addItem(spacerItem1, 0, 2, 1, 1)
+        self.number2Button = QtWidgets.QRadioButton(parent=self.rev2GroupBox)
+        self.number2Button.setObjectName("number2Button")
+        self.gridlayout1.addWidget(self.number2Button, 0, 0, 1, 1)
+        self.date2Button = QtWidgets.QRadioButton(parent=self.rev2GroupBox)
+        self.date2Button.setObjectName("date2Button")
+        self.gridlayout1.addWidget(self.date2Button, 1, 0, 1, 1)
+        self.vboxlayout.addWidget(self.rev2GroupBox)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=SvnRevisionSelectionDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.vboxlayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(SvnRevisionSelectionDialog)
+        self.buttonBox.accepted.connect(SvnRevisionSelectionDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(SvnRevisionSelectionDialog.reject) # type: ignore
+        self.number1Button.toggled['bool'].connect(self.number1SpinBox.setEnabled) # type: ignore
+        self.date1Button.toggled['bool'].connect(self.date1Edit.setEnabled) # type: ignore
+        self.date1Button.toggled['bool'].connect(self.time1Edit.setEnabled) # type: ignore
+        self.number2Button.toggled['bool'].connect(self.number2SpinBox.setEnabled) # type: ignore
+        self.date2Button.toggled['bool'].connect(self.date2Edit.setEnabled) # type: ignore
+        self.date2Button.toggled['bool'].connect(self.time2Edit.setEnabled) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(SvnRevisionSelectionDialog)
+        SvnRevisionSelectionDialog.setTabOrder(self.number1Button, self.number1SpinBox)
+        SvnRevisionSelectionDialog.setTabOrder(self.number1SpinBox, self.date1Button)
+        SvnRevisionSelectionDialog.setTabOrder(self.date1Button, self.date1Edit)
+        SvnRevisionSelectionDialog.setTabOrder(self.date1Edit, self.time1Edit)
+        SvnRevisionSelectionDialog.setTabOrder(self.time1Edit, self.head1Button)
+        SvnRevisionSelectionDialog.setTabOrder(self.head1Button, self.working1Button)
+        SvnRevisionSelectionDialog.setTabOrder(self.working1Button, self.base1Button)
+        SvnRevisionSelectionDialog.setTabOrder(self.base1Button, self.committed1Button)
+        SvnRevisionSelectionDialog.setTabOrder(self.committed1Button, self.prev1Button)
+        SvnRevisionSelectionDialog.setTabOrder(self.prev1Button, self.number2Button)
+        SvnRevisionSelectionDialog.setTabOrder(self.number2Button, self.number2SpinBox)
+        SvnRevisionSelectionDialog.setTabOrder(self.number2SpinBox, self.date2Button)
+        SvnRevisionSelectionDialog.setTabOrder(self.date2Button, self.date2Edit)
+        SvnRevisionSelectionDialog.setTabOrder(self.date2Edit, self.time2Edit)
+        SvnRevisionSelectionDialog.setTabOrder(self.time2Edit, self.head2Button)
+        SvnRevisionSelectionDialog.setTabOrder(self.head2Button, self.working2Button)
+        SvnRevisionSelectionDialog.setTabOrder(self.working2Button, self.base2Button)
+        SvnRevisionSelectionDialog.setTabOrder(self.base2Button, self.committed2Button)
+        SvnRevisionSelectionDialog.setTabOrder(self.committed2Button, self.prev2Button)
+        SvnRevisionSelectionDialog.setTabOrder(self.prev2Button, self.buttonBox)
+
+    def retranslateUi(self, SvnRevisionSelectionDialog):
+        _translate = QtCore.QCoreApplication.translate
+        SvnRevisionSelectionDialog.setWindowTitle(_translate("SvnRevisionSelectionDialog", "Subversion Diff"))
+        self.rev1GroupBox.setTitle(_translate("SvnRevisionSelectionDialog", "Revision &1"))
+        self.prev1Button.setToolTip(_translate("SvnRevisionSelectionDialog", "Select revision before last commit"))
+        self.prev1Button.setText(_translate("SvnRevisionSelectionDialog", "PREV"))
+        self.committed1Button.setToolTip(_translate("SvnRevisionSelectionDialog", "Select last committed revision"))
+        self.committed1Button.setText(_translate("SvnRevisionSelectionDialog", "COMMITTED"))
+        self.base1Button.setToolTip(_translate("SvnRevisionSelectionDialog", "Select base revision"))
+        self.base1Button.setText(_translate("SvnRevisionSelectionDialog", "BASE"))
+        self.head1Button.setToolTip(_translate("SvnRevisionSelectionDialog", "Select head revision of repository"))
+        self.head1Button.setText(_translate("SvnRevisionSelectionDialog", "HEAD"))
+        self.working1Button.setToolTip(_translate("SvnRevisionSelectionDialog", "Select working revision"))
+        self.working1Button.setText(_translate("SvnRevisionSelectionDialog", "WORKING"))
+        self.number1SpinBox.setToolTip(_translate("SvnRevisionSelectionDialog", "Enter a revision number"))
+        self.time1Edit.setToolTip(_translate("SvnRevisionSelectionDialog", "Enter time of revision"))
+        self.date1Edit.setToolTip(_translate("SvnRevisionSelectionDialog", "Enter date of revision"))
+        self.date1Edit.setDisplayFormat(_translate("SvnRevisionSelectionDialog", "yyyy-MM-dd"))
+        self.number1Button.setToolTip(_translate("SvnRevisionSelectionDialog", "Select to specify a revision by number"))
+        self.number1Button.setText(_translate("SvnRevisionSelectionDialog", "Number"))
+        self.date1Button.setToolTip(_translate("SvnRevisionSelectionDialog", "Select to specify a revision by date and time"))
+        self.date1Button.setText(_translate("SvnRevisionSelectionDialog", "Date"))
+        self.rev2GroupBox.setTitle(_translate("SvnRevisionSelectionDialog", "Revision &2"))
+        self.prev2Button.setToolTip(_translate("SvnRevisionSelectionDialog", "Select revision before last commit"))
+        self.prev2Button.setText(_translate("SvnRevisionSelectionDialog", "PREV"))
+        self.committed2Button.setToolTip(_translate("SvnRevisionSelectionDialog", "Select last committed revision"))
+        self.committed2Button.setText(_translate("SvnRevisionSelectionDialog", "COMMITTED"))
+        self.base2Button.setToolTip(_translate("SvnRevisionSelectionDialog", "Select base revision"))
+        self.base2Button.setText(_translate("SvnRevisionSelectionDialog", "BASE"))
+        self.head2Button.setToolTip(_translate("SvnRevisionSelectionDialog", "Select head revision of repository"))
+        self.head2Button.setText(_translate("SvnRevisionSelectionDialog", "HEAD"))
+        self.working2Button.setToolTip(_translate("SvnRevisionSelectionDialog", "Select working revision"))
+        self.working2Button.setText(_translate("SvnRevisionSelectionDialog", "WORKING"))
+        self.number2SpinBox.setToolTip(_translate("SvnRevisionSelectionDialog", "Enter a revision number"))
+        self.time2Edit.setToolTip(_translate("SvnRevisionSelectionDialog", "Enter time of revision"))
+        self.date2Edit.setToolTip(_translate("SvnRevisionSelectionDialog", "Enter date of revision"))
+        self.date2Edit.setDisplayFormat(_translate("SvnRevisionSelectionDialog", "yyyy-MM-dd"))
+        self.number2Button.setToolTip(_translate("SvnRevisionSelectionDialog", "Select to specify a revision by number"))
+        self.number2Button.setText(_translate("SvnRevisionSelectionDialog", "Number"))
+        self.date2Button.setToolTip(_translate("SvnRevisionSelectionDialog", "Select to specify a revision by date and time"))
+        self.date2Button.setText(_translate("SvnRevisionSelectionDialog", "Date"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsPySvn/Ui_SvnStatusDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,137 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsPySvn/SvnStatusDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_SvnStatusDialog(object):
+    def setupUi(self, SvnStatusDialog):
+        SvnStatusDialog.setObjectName("SvnStatusDialog")
+        SvnStatusDialog.resize(955, 646)
+        self.verticalLayout = QtWidgets.QVBoxLayout(SvnStatusDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_2.addItem(spacerItem)
+        self.label = QtWidgets.QLabel(parent=SvnStatusDialog)
+        self.label.setObjectName("label")
+        self.horizontalLayout_2.addWidget(self.label)
+        self.statusFilterCombo = QtWidgets.QComboBox(parent=SvnStatusDialog)
+        self.statusFilterCombo.setSizeAdjustPolicy(QtWidgets.QComboBox.SizeAdjustPolicy.AdjustToContents)
+        self.statusFilterCombo.setObjectName("statusFilterCombo")
+        self.horizontalLayout_2.addWidget(self.statusFilterCombo)
+        self.verticalLayout.addLayout(self.horizontalLayout_2)
+        self.statusList = QtWidgets.QTreeWidget(parent=SvnStatusDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(4)
+        sizePolicy.setHeightForWidth(self.statusList.sizePolicy().hasHeightForWidth())
+        self.statusList.setSizePolicy(sizePolicy)
+        self.statusList.setAlternatingRowColors(True)
+        self.statusList.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.ExtendedSelection)
+        self.statusList.setRootIsDecorated(False)
+        self.statusList.setItemsExpandable(False)
+        self.statusList.setObjectName("statusList")
+        self.verticalLayout.addWidget(self.statusList)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.commitButton = QtWidgets.QPushButton(parent=SvnStatusDialog)
+        self.commitButton.setObjectName("commitButton")
+        self.horizontalLayout.addWidget(self.commitButton)
+        self.line = QtWidgets.QFrame(parent=SvnStatusDialog)
+        self.line.setFrameShape(QtWidgets.QFrame.Shape.VLine)
+        self.line.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line.setObjectName("line")
+        self.horizontalLayout.addWidget(self.line)
+        self.addButton = QtWidgets.QPushButton(parent=SvnStatusDialog)
+        self.addButton.setObjectName("addButton")
+        self.horizontalLayout.addWidget(self.addButton)
+        self.diffButton = QtWidgets.QPushButton(parent=SvnStatusDialog)
+        self.diffButton.setObjectName("diffButton")
+        self.horizontalLayout.addWidget(self.diffButton)
+        self.sbsDiffButton = QtWidgets.QPushButton(parent=SvnStatusDialog)
+        self.sbsDiffButton.setObjectName("sbsDiffButton")
+        self.horizontalLayout.addWidget(self.sbsDiffButton)
+        self.revertButton = QtWidgets.QPushButton(parent=SvnStatusDialog)
+        self.revertButton.setObjectName("revertButton")
+        self.horizontalLayout.addWidget(self.revertButton)
+        self.restoreButton = QtWidgets.QPushButton(parent=SvnStatusDialog)
+        self.restoreButton.setObjectName("restoreButton")
+        self.horizontalLayout.addWidget(self.restoreButton)
+        spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem1)
+        self.verticalLayout.addLayout(self.horizontalLayout)
+        self.errorGroup = QtWidgets.QGroupBox(parent=SvnStatusDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(1)
+        sizePolicy.setHeightForWidth(self.errorGroup.sizePolicy().hasHeightForWidth())
+        self.errorGroup.setSizePolicy(sizePolicy)
+        self.errorGroup.setObjectName("errorGroup")
+        self.vboxlayout = QtWidgets.QVBoxLayout(self.errorGroup)
+        self.vboxlayout.setObjectName("vboxlayout")
+        self.errors = QtWidgets.QTextEdit(parent=self.errorGroup)
+        self.errors.setReadOnly(True)
+        self.errors.setAcceptRichText(False)
+        self.errors.setObjectName("errors")
+        self.vboxlayout.addWidget(self.errors)
+        self.verticalLayout.addWidget(self.errorGroup)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=SvnStatusDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+        self.label.setBuddy(self.statusFilterCombo)
+
+        self.retranslateUi(SvnStatusDialog)
+        QtCore.QMetaObject.connectSlotsByName(SvnStatusDialog)
+        SvnStatusDialog.setTabOrder(self.statusFilterCombo, self.statusList)
+        SvnStatusDialog.setTabOrder(self.statusList, self.commitButton)
+        SvnStatusDialog.setTabOrder(self.commitButton, self.addButton)
+        SvnStatusDialog.setTabOrder(self.addButton, self.diffButton)
+        SvnStatusDialog.setTabOrder(self.diffButton, self.sbsDiffButton)
+        SvnStatusDialog.setTabOrder(self.sbsDiffButton, self.revertButton)
+        SvnStatusDialog.setTabOrder(self.revertButton, self.restoreButton)
+        SvnStatusDialog.setTabOrder(self.restoreButton, self.errors)
+        SvnStatusDialog.setTabOrder(self.errors, self.buttonBox)
+
+    def retranslateUi(self, SvnStatusDialog):
+        _translate = QtCore.QCoreApplication.translate
+        SvnStatusDialog.setWindowTitle(_translate("SvnStatusDialog", "Subversion Status"))
+        SvnStatusDialog.setWhatsThis(_translate("SvnStatusDialog", "<b>Subversion Status</b>\n"
+"<p>This dialog shows the status of the selected file or project.</p>"))
+        self.label.setText(_translate("SvnStatusDialog", "&Filter on Status:"))
+        self.statusFilterCombo.setToolTip(_translate("SvnStatusDialog", "Select the status of entries to be shown"))
+        self.statusList.setSortingEnabled(True)
+        self.statusList.headerItem().setText(0, _translate("SvnStatusDialog", "Commit"))
+        self.statusList.headerItem().setText(1, _translate("SvnStatusDialog", "Changelist"))
+        self.statusList.headerItem().setText(2, _translate("SvnStatusDialog", "Status"))
+        self.statusList.headerItem().setText(3, _translate("SvnStatusDialog", "Prop. Status"))
+        self.statusList.headerItem().setText(4, _translate("SvnStatusDialog", "Locked"))
+        self.statusList.headerItem().setText(5, _translate("SvnStatusDialog", "History"))
+        self.statusList.headerItem().setText(6, _translate("SvnStatusDialog", "Switched"))
+        self.statusList.headerItem().setText(7, _translate("SvnStatusDialog", "Lock Info"))
+        self.statusList.headerItem().setText(8, _translate("SvnStatusDialog", "Up to date"))
+        self.statusList.headerItem().setText(9, _translate("SvnStatusDialog", "Revision"))
+        self.statusList.headerItem().setText(10, _translate("SvnStatusDialog", "Last Change"))
+        self.statusList.headerItem().setText(11, _translate("SvnStatusDialog", "Author"))
+        self.statusList.headerItem().setText(12, _translate("SvnStatusDialog", "Path"))
+        self.commitButton.setToolTip(_translate("SvnStatusDialog", "Commit the selected changes"))
+        self.commitButton.setText(_translate("SvnStatusDialog", "&Commit"))
+        self.addButton.setToolTip(_translate("SvnStatusDialog", "Add the selected entries to the repository"))
+        self.addButton.setText(_translate("SvnStatusDialog", "&Add"))
+        self.diffButton.setToolTip(_translate("SvnStatusDialog", "Show differences of the selected entries to the repository"))
+        self.diffButton.setText(_translate("SvnStatusDialog", "&Differences"))
+        self.sbsDiffButton.setToolTip(_translate("SvnStatusDialog", "Show differences of the selected entry to the repository in a side-by-side manner"))
+        self.sbsDiffButton.setText(_translate("SvnStatusDialog", "Side-b&y-Side Diff"))
+        self.revertButton.setToolTip(_translate("SvnStatusDialog", "Revert the selected entries to the last revision in the repository"))
+        self.revertButton.setText(_translate("SvnStatusDialog", "Re&vert"))
+        self.restoreButton.setToolTip(_translate("SvnStatusDialog", "Restore the selected missing entries from the repository"))
+        self.restoreButton.setText(_translate("SvnStatusDialog", "&Restore"))
+        self.errorGroup.setTitle(_translate("SvnStatusDialog", "Errors"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsPySvn/Ui_SvnSwitchDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,73 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsPySvn/SvnSwitchDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_SvnSwitchDialog(object):
+    def setupUi(self, SvnSwitchDialog):
+        SvnSwitchDialog.setObjectName("SvnSwitchDialog")
+        SvnSwitchDialog.resize(391, 146)
+        SvnSwitchDialog.setSizeGripEnabled(True)
+        self.gridlayout = QtWidgets.QGridLayout(SvnSwitchDialog)
+        self.gridlayout.setObjectName("gridlayout")
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=SvnSwitchDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridlayout.addWidget(self.buttonBox, 2, 0, 1, 2)
+        self.TextLabel1 = QtWidgets.QLabel(parent=SvnSwitchDialog)
+        self.TextLabel1.setObjectName("TextLabel1")
+        self.gridlayout.addWidget(self.TextLabel1, 0, 0, 1, 1)
+        self.tagCombo = QtWidgets.QComboBox(parent=SvnSwitchDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.tagCombo.sizePolicy().hasHeightForWidth())
+        self.tagCombo.setSizePolicy(sizePolicy)
+        self.tagCombo.setEditable(True)
+        self.tagCombo.setDuplicatesEnabled(False)
+        self.tagCombo.setObjectName("tagCombo")
+        self.gridlayout.addWidget(self.tagCombo, 0, 1, 1, 1)
+        self.TagTypeGroup = QtWidgets.QGroupBox(parent=SvnSwitchDialog)
+        self.TagTypeGroup.setObjectName("TagTypeGroup")
+        self.vboxlayout = QtWidgets.QVBoxLayout(self.TagTypeGroup)
+        self.vboxlayout.setObjectName("vboxlayout")
+        self.regularButton = QtWidgets.QRadioButton(parent=self.TagTypeGroup)
+        self.regularButton.setChecked(True)
+        self.regularButton.setObjectName("regularButton")
+        self.vboxlayout.addWidget(self.regularButton)
+        self.branchButton = QtWidgets.QRadioButton(parent=self.TagTypeGroup)
+        self.branchButton.setObjectName("branchButton")
+        self.vboxlayout.addWidget(self.branchButton)
+        self.gridlayout.addWidget(self.TagTypeGroup, 1, 1, 1, 1)
+
+        self.retranslateUi(SvnSwitchDialog)
+        self.buttonBox.accepted.connect(SvnSwitchDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(SvnSwitchDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(SvnSwitchDialog)
+        SvnSwitchDialog.setTabOrder(self.tagCombo, self.regularButton)
+        SvnSwitchDialog.setTabOrder(self.regularButton, self.branchButton)
+
+    def retranslateUi(self, SvnSwitchDialog):
+        _translate = QtCore.QCoreApplication.translate
+        SvnSwitchDialog.setWindowTitle(_translate("SvnSwitchDialog", "Subversion Switch"))
+        self.TextLabel1.setText(_translate("SvnSwitchDialog", "Tag Name:"))
+        self.tagCombo.setToolTip(_translate("SvnSwitchDialog", "Enter the name of the tag"))
+        self.tagCombo.setWhatsThis(_translate("SvnSwitchDialog", "<b>Tag Name</b>\n"
+"<p>Enter the name of the tag to be switched to.\n"
+"In order to switch to the trunk version leave it empty.</p>"))
+        self.TagTypeGroup.setTitle(_translate("SvnSwitchDialog", "Tag Type"))
+        self.regularButton.setToolTip(_translate("SvnSwitchDialog", "Select for a regular tag"))
+        self.regularButton.setWhatsThis(_translate("SvnSwitchDialog", "<b>Regular Tag</b>\n"
+"<p>Select this entry for a regular tag.</p>"))
+        self.regularButton.setText(_translate("SvnSwitchDialog", "Regular Tag"))
+        self.branchButton.setToolTip(_translate("SvnSwitchDialog", "Select for a branch tag"))
+        self.branchButton.setWhatsThis(_translate("SvnSwitchDialog", "<b>Branch Tag</b>\n"
+"<p>Select this entry for a branch tag.</p>"))
+        self.branchButton.setText(_translate("SvnSwitchDialog", "Branch Tag"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsPySvn/Ui_SvnTagBranchListDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,68 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsPySvn/SvnTagBranchListDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_SvnTagBranchListDialog(object):
+    def setupUi(self, SvnTagBranchListDialog):
+        SvnTagBranchListDialog.setObjectName("SvnTagBranchListDialog")
+        SvnTagBranchListDialog.resize(634, 494)
+        SvnTagBranchListDialog.setSizeGripEnabled(True)
+        self.vboxlayout = QtWidgets.QVBoxLayout(SvnTagBranchListDialog)
+        self.vboxlayout.setObjectName("vboxlayout")
+        self.tagList = QtWidgets.QTreeWidget(parent=SvnTagBranchListDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(3)
+        sizePolicy.setHeightForWidth(self.tagList.sizePolicy().hasHeightForWidth())
+        self.tagList.setSizePolicy(sizePolicy)
+        self.tagList.setAlternatingRowColors(True)
+        self.tagList.setRootIsDecorated(False)
+        self.tagList.setItemsExpandable(False)
+        self.tagList.setObjectName("tagList")
+        self.vboxlayout.addWidget(self.tagList)
+        self.errorGroup = QtWidgets.QGroupBox(parent=SvnTagBranchListDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(1)
+        sizePolicy.setHeightForWidth(self.errorGroup.sizePolicy().hasHeightForWidth())
+        self.errorGroup.setSizePolicy(sizePolicy)
+        self.errorGroup.setObjectName("errorGroup")
+        self.vboxlayout1 = QtWidgets.QVBoxLayout(self.errorGroup)
+        self.vboxlayout1.setObjectName("vboxlayout1")
+        self.errors = QtWidgets.QTextEdit(parent=self.errorGroup)
+        self.errors.setReadOnly(True)
+        self.errors.setAcceptRichText(False)
+        self.errors.setObjectName("errors")
+        self.vboxlayout1.addWidget(self.errors)
+        self.vboxlayout.addWidget(self.errorGroup)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=SvnTagBranchListDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.vboxlayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(SvnTagBranchListDialog)
+        QtCore.QMetaObject.connectSlotsByName(SvnTagBranchListDialog)
+        SvnTagBranchListDialog.setTabOrder(self.tagList, self.errors)
+        SvnTagBranchListDialog.setTabOrder(self.errors, self.buttonBox)
+
+    def retranslateUi(self, SvnTagBranchListDialog):
+        _translate = QtCore.QCoreApplication.translate
+        SvnTagBranchListDialog.setWindowTitle(_translate("SvnTagBranchListDialog", "Subversion Tag List"))
+        SvnTagBranchListDialog.setWhatsThis(_translate("SvnTagBranchListDialog", "<b>Subversion Tag/Branch List</b>\n"
+"<p>This dialog shows a list of the projects tags or branches.</p>"))
+        self.tagList.setWhatsThis(_translate("SvnTagBranchListDialog", "<b>Tag/Branches List</b>\n"
+"<p>This shows a list of the projects tags or branches.</p>"))
+        self.tagList.setSortingEnabled(True)
+        self.tagList.headerItem().setText(0, _translate("SvnTagBranchListDialog", "Revision"))
+        self.tagList.headerItem().setText(1, _translate("SvnTagBranchListDialog", "Author"))
+        self.tagList.headerItem().setText(2, _translate("SvnTagBranchListDialog", "Date"))
+        self.tagList.headerItem().setText(3, _translate("SvnTagBranchListDialog", "Name"))
+        self.errorGroup.setTitle(_translate("SvnTagBranchListDialog", "Errors"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsPySvn/Ui_SvnTagDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,88 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsPySvn/SvnTagDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_SvnTagDialog(object):
+    def setupUi(self, SvnTagDialog):
+        SvnTagDialog.setObjectName("SvnTagDialog")
+        SvnTagDialog.resize(391, 197)
+        SvnTagDialog.setSizeGripEnabled(True)
+        self.gridlayout = QtWidgets.QGridLayout(SvnTagDialog)
+        self.gridlayout.setObjectName("gridlayout")
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=SvnTagDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridlayout.addWidget(self.buttonBox, 2, 0, 1, 2)
+        self.tagCombo = QtWidgets.QComboBox(parent=SvnTagDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.tagCombo.sizePolicy().hasHeightForWidth())
+        self.tagCombo.setSizePolicy(sizePolicy)
+        self.tagCombo.setEditable(True)
+        self.tagCombo.setDuplicatesEnabled(False)
+        self.tagCombo.setObjectName("tagCombo")
+        self.gridlayout.addWidget(self.tagCombo, 0, 1, 1, 1)
+        self.TextLabel1 = QtWidgets.QLabel(parent=SvnTagDialog)
+        self.TextLabel1.setObjectName("TextLabel1")
+        self.gridlayout.addWidget(self.TextLabel1, 0, 0, 1, 1)
+        self.TagActionGroup = QtWidgets.QGroupBox(parent=SvnTagDialog)
+        self.TagActionGroup.setObjectName("TagActionGroup")
+        self.vboxlayout = QtWidgets.QVBoxLayout(self.TagActionGroup)
+        self.vboxlayout.setObjectName("vboxlayout")
+        self.createRegularButton = QtWidgets.QRadioButton(parent=self.TagActionGroup)
+        self.createRegularButton.setChecked(True)
+        self.createRegularButton.setObjectName("createRegularButton")
+        self.vboxlayout.addWidget(self.createRegularButton)
+        self.createBranchButton = QtWidgets.QRadioButton(parent=self.TagActionGroup)
+        self.createBranchButton.setObjectName("createBranchButton")
+        self.vboxlayout.addWidget(self.createBranchButton)
+        self.deleteRegularButton = QtWidgets.QRadioButton(parent=self.TagActionGroup)
+        self.deleteRegularButton.setObjectName("deleteRegularButton")
+        self.vboxlayout.addWidget(self.deleteRegularButton)
+        self.deleteBranchButton = QtWidgets.QRadioButton(parent=self.TagActionGroup)
+        self.deleteBranchButton.setObjectName("deleteBranchButton")
+        self.vboxlayout.addWidget(self.deleteBranchButton)
+        self.gridlayout.addWidget(self.TagActionGroup, 1, 1, 1, 1)
+
+        self.retranslateUi(SvnTagDialog)
+        self.buttonBox.accepted.connect(SvnTagDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(SvnTagDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(SvnTagDialog)
+        SvnTagDialog.setTabOrder(self.tagCombo, self.createRegularButton)
+        SvnTagDialog.setTabOrder(self.createRegularButton, self.createBranchButton)
+        SvnTagDialog.setTabOrder(self.createBranchButton, self.deleteRegularButton)
+        SvnTagDialog.setTabOrder(self.deleteRegularButton, self.deleteBranchButton)
+
+    def retranslateUi(self, SvnTagDialog):
+        _translate = QtCore.QCoreApplication.translate
+        SvnTagDialog.setWindowTitle(_translate("SvnTagDialog", "Subversion Tag"))
+        self.tagCombo.setToolTip(_translate("SvnTagDialog", "Enter the name of the tag"))
+        self.tagCombo.setWhatsThis(_translate("SvnTagDialog", "<b>Tag Name</b>\n"
+"<p>Enter the name of the tag to be created, moved or deleted.</p>"))
+        self.TextLabel1.setText(_translate("SvnTagDialog", "Name:"))
+        self.TagActionGroup.setTitle(_translate("SvnTagDialog", "Tag Action"))
+        self.createRegularButton.setToolTip(_translate("SvnTagDialog", "Select to create a regular tag"))
+        self.createRegularButton.setWhatsThis(_translate("SvnTagDialog", "<b>Create Regular Tag</b>\n"
+"<p>Select this entry in order to create a regular tag in the repository.</p>"))
+        self.createRegularButton.setText(_translate("SvnTagDialog", "Create Regular Tag"))
+        self.createBranchButton.setToolTip(_translate("SvnTagDialog", "Select to create a branch tag"))
+        self.createBranchButton.setWhatsThis(_translate("SvnTagDialog", "<b>Create Branch Tag</b>\n"
+"<p>Select this entry in order to create a branch in the repository.</p>"))
+        self.createBranchButton.setText(_translate("SvnTagDialog", "Create Branch Tag"))
+        self.deleteRegularButton.setToolTip(_translate("SvnTagDialog", "Select to delete a regular tag"))
+        self.deleteRegularButton.setWhatsThis(_translate("SvnTagDialog", "<b>Delete Regular Tag</b>\n"
+"<p>Select this entry in order to delete the selected regular tag.</p>"))
+        self.deleteRegularButton.setText(_translate("SvnTagDialog", "Delete Regular Tag"))
+        self.deleteBranchButton.setToolTip(_translate("SvnTagDialog", "Select to delete a branch tag"))
+        self.deleteBranchButton.setWhatsThis(_translate("SvnTagDialog", "<b>Delete Branch Tag</b>\n"
+"<p>Select this entry in order to delete the selected branch tag.</p>"))
+        self.deleteBranchButton.setText(_translate("SvnTagDialog", "Delete Branch Tag"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsPySvn/Ui_SvnUrlSelectionDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,88 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsPySvn/SvnUrlSelectionDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_SvnUrlSelectionDialog(object):
+    def setupUi(self, SvnUrlSelectionDialog):
+        SvnUrlSelectionDialog.setObjectName("SvnUrlSelectionDialog")
+        SvnUrlSelectionDialog.resize(542, 195)
+        SvnUrlSelectionDialog.setSizeGripEnabled(True)
+        self.vboxlayout = QtWidgets.QVBoxLayout(SvnUrlSelectionDialog)
+        self.vboxlayout.setObjectName("vboxlayout")
+        self.urlGroup1 = QtWidgets.QGroupBox(parent=SvnUrlSelectionDialog)
+        self.urlGroup1.setObjectName("urlGroup1")
+        self.hboxlayout = QtWidgets.QHBoxLayout(self.urlGroup1)
+        self.hboxlayout.setObjectName("hboxlayout")
+        self.repoRootLabel1 = QtWidgets.QLabel(parent=self.urlGroup1)
+        self.repoRootLabel1.setObjectName("repoRootLabel1")
+        self.hboxlayout.addWidget(self.repoRootLabel1)
+        self.typeCombo1 = QtWidgets.QComboBox(parent=self.urlGroup1)
+        self.typeCombo1.setObjectName("typeCombo1")
+        self.hboxlayout.addWidget(self.typeCombo1)
+        self.labelCombo1 = QtWidgets.QComboBox(parent=self.urlGroup1)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.labelCombo1.sizePolicy().hasHeightForWidth())
+        self.labelCombo1.setSizePolicy(sizePolicy)
+        self.labelCombo1.setEditable(True)
+        self.labelCombo1.setObjectName("labelCombo1")
+        self.hboxlayout.addWidget(self.labelCombo1)
+        self.vboxlayout.addWidget(self.urlGroup1)
+        self.urlGroup2 = QtWidgets.QGroupBox(parent=SvnUrlSelectionDialog)
+        self.urlGroup2.setObjectName("urlGroup2")
+        self.hboxlayout1 = QtWidgets.QHBoxLayout(self.urlGroup2)
+        self.hboxlayout1.setObjectName("hboxlayout1")
+        self.repoRootLabel2 = QtWidgets.QLabel(parent=self.urlGroup2)
+        self.repoRootLabel2.setObjectName("repoRootLabel2")
+        self.hboxlayout1.addWidget(self.repoRootLabel2)
+        self.typeCombo2 = QtWidgets.QComboBox(parent=self.urlGroup2)
+        self.typeCombo2.setObjectName("typeCombo2")
+        self.hboxlayout1.addWidget(self.typeCombo2)
+        self.labelCombo2 = QtWidgets.QComboBox(parent=self.urlGroup2)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.labelCombo2.sizePolicy().hasHeightForWidth())
+        self.labelCombo2.setSizePolicy(sizePolicy)
+        self.labelCombo2.setEditable(True)
+        self.labelCombo2.setObjectName("labelCombo2")
+        self.hboxlayout1.addWidget(self.labelCombo2)
+        self.vboxlayout.addWidget(self.urlGroup2)
+        self.summaryCheckBox = QtWidgets.QCheckBox(parent=SvnUrlSelectionDialog)
+        self.summaryCheckBox.setObjectName("summaryCheckBox")
+        self.vboxlayout.addWidget(self.summaryCheckBox)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=SvnUrlSelectionDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.vboxlayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(SvnUrlSelectionDialog)
+        self.buttonBox.accepted.connect(SvnUrlSelectionDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(SvnUrlSelectionDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(SvnUrlSelectionDialog)
+        SvnUrlSelectionDialog.setTabOrder(self.typeCombo1, self.labelCombo1)
+        SvnUrlSelectionDialog.setTabOrder(self.labelCombo1, self.typeCombo2)
+        SvnUrlSelectionDialog.setTabOrder(self.typeCombo2, self.labelCombo2)
+        SvnUrlSelectionDialog.setTabOrder(self.labelCombo2, self.summaryCheckBox)
+        SvnUrlSelectionDialog.setTabOrder(self.summaryCheckBox, self.buttonBox)
+
+    def retranslateUi(self, SvnUrlSelectionDialog):
+        _translate = QtCore.QCoreApplication.translate
+        SvnUrlSelectionDialog.setWindowTitle(_translate("SvnUrlSelectionDialog", "Subversion Diff"))
+        self.urlGroup1.setTitle(_translate("SvnUrlSelectionDialog", "Repository URL 1"))
+        self.typeCombo1.setToolTip(_translate("SvnUrlSelectionDialog", "Select the URL type"))
+        self.labelCombo1.setToolTip(_translate("SvnUrlSelectionDialog", "Enter the label name or path"))
+        self.urlGroup2.setTitle(_translate("SvnUrlSelectionDialog", "Repository URL 2"))
+        self.typeCombo2.setToolTip(_translate("SvnUrlSelectionDialog", "Select the URL type"))
+        self.labelCombo2.setToolTip(_translate("SvnUrlSelectionDialog", "Enter the label name or path"))
+        self.summaryCheckBox.setToolTip(_translate("SvnUrlSelectionDialog", "Select to just show a summary of differences"))
+        self.summaryCheckBox.setText(_translate("SvnUrlSelectionDialog", "Summary only"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsSubversion/ConfigurationPage/Ui_SubversionPage.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,63 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsSubversion/ConfigurationPage/SubversionPage.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_SubversionPage(object):
+    def setupUi(self, SubversionPage):
+        SubversionPage.setObjectName("SubversionPage")
+        SubversionPage.resize(406, 384)
+        self.vboxlayout = QtWidgets.QVBoxLayout(SubversionPage)
+        self.vboxlayout.setObjectName("vboxlayout")
+        self.headerLabel = QtWidgets.QLabel(parent=SubversionPage)
+        self.headerLabel.setObjectName("headerLabel")
+        self.vboxlayout.addWidget(self.headerLabel)
+        self.line15 = QtWidgets.QFrame(parent=SubversionPage)
+        self.line15.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line15.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line15.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line15.setObjectName("line15")
+        self.vboxlayout.addWidget(self.line15)
+        self.groupBox = QtWidgets.QGroupBox(parent=SubversionPage)
+        self.groupBox.setObjectName("groupBox")
+        self.hboxlayout = QtWidgets.QHBoxLayout(self.groupBox)
+        self.hboxlayout.setObjectName("hboxlayout")
+        self.label = QtWidgets.QLabel(parent=self.groupBox)
+        self.label.setObjectName("label")
+        self.hboxlayout.addWidget(self.label)
+        self.logSpinBox = QtWidgets.QSpinBox(parent=self.groupBox)
+        self.logSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.logSpinBox.setMaximum(999999)
+        self.logSpinBox.setObjectName("logSpinBox")
+        self.hboxlayout.addWidget(self.logSpinBox)
+        spacerItem = QtWidgets.QSpacerItem(41, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.hboxlayout.addItem(spacerItem)
+        self.vboxlayout.addWidget(self.groupBox)
+        self.configButton = QtWidgets.QPushButton(parent=SubversionPage)
+        self.configButton.setObjectName("configButton")
+        self.vboxlayout.addWidget(self.configButton)
+        self.serversButton = QtWidgets.QPushButton(parent=SubversionPage)
+        self.serversButton.setObjectName("serversButton")
+        self.vboxlayout.addWidget(self.serversButton)
+        spacerItem1 = QtWidgets.QSpacerItem(388, 21, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.vboxlayout.addItem(spacerItem1)
+
+        self.retranslateUi(SubversionPage)
+        QtCore.QMetaObject.connectSlotsByName(SubversionPage)
+
+    def retranslateUi(self, SubversionPage):
+        _translate = QtCore.QCoreApplication.translate
+        self.headerLabel.setText(_translate("SubversionPage", "<b>Configure Subversion Interface</b>"))
+        self.groupBox.setTitle(_translate("SubversionPage", "Log"))
+        self.label.setText(_translate("SubversionPage", "No. of log messages shown:"))
+        self.logSpinBox.setToolTip(_translate("SubversionPage", "Enter the number of log messages to be shown"))
+        self.configButton.setToolTip(_translate("SubversionPage", "Edit the subversion config file"))
+        self.configButton.setText(_translate("SubversionPage", "Edit config file"))
+        self.serversButton.setToolTip(_translate("SubversionPage", "Edit the subversion servers file"))
+        self.serversButton.setText(_translate("SubversionPage", "Edit servers file"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsSubversion/Ui_SvnBlameDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,91 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsSubversion/SvnBlameDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_SvnBlameDialog(object):
+    def setupUi(self, SvnBlameDialog):
+        SvnBlameDialog.setObjectName("SvnBlameDialog")
+        SvnBlameDialog.resize(690, 750)
+        SvnBlameDialog.setSizeGripEnabled(True)
+        self.vboxlayout = QtWidgets.QVBoxLayout(SvnBlameDialog)
+        self.vboxlayout.setObjectName("vboxlayout")
+        self.blameList = QtWidgets.QTreeWidget(parent=SvnBlameDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(6)
+        sizePolicy.setHeightForWidth(self.blameList.sizePolicy().hasHeightForWidth())
+        self.blameList.setSizePolicy(sizePolicy)
+        self.blameList.setAlternatingRowColors(True)
+        self.blameList.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.NoSelection)
+        self.blameList.setRootIsDecorated(False)
+        self.blameList.setItemsExpandable(False)
+        self.blameList.setObjectName("blameList")
+        self.blameList.header().setStretchLastSection(False)
+        self.vboxlayout.addWidget(self.blameList)
+        self.errorGroup = QtWidgets.QGroupBox(parent=SvnBlameDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(1)
+        sizePolicy.setHeightForWidth(self.errorGroup.sizePolicy().hasHeightForWidth())
+        self.errorGroup.setSizePolicy(sizePolicy)
+        self.errorGroup.setObjectName("errorGroup")
+        self.vboxlayout1 = QtWidgets.QVBoxLayout(self.errorGroup)
+        self.vboxlayout1.setObjectName("vboxlayout1")
+        self.errors = QtWidgets.QTextEdit(parent=self.errorGroup)
+        self.errors.setReadOnly(True)
+        self.errors.setAcceptRichText(False)
+        self.errors.setObjectName("errors")
+        self.vboxlayout1.addWidget(self.errors)
+        self.vboxlayout.addWidget(self.errorGroup)
+        self.inputGroup = QtWidgets.QGroupBox(parent=SvnBlameDialog)
+        self.inputGroup.setObjectName("inputGroup")
+        self.gridlayout = QtWidgets.QGridLayout(self.inputGroup)
+        self.gridlayout.setObjectName("gridlayout")
+        spacerItem = QtWidgets.QSpacerItem(327, 29, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridlayout.addItem(spacerItem, 1, 1, 1, 1)
+        self.sendButton = QtWidgets.QPushButton(parent=self.inputGroup)
+        self.sendButton.setObjectName("sendButton")
+        self.gridlayout.addWidget(self.sendButton, 1, 2, 1, 1)
+        self.input = QtWidgets.QLineEdit(parent=self.inputGroup)
+        self.input.setObjectName("input")
+        self.gridlayout.addWidget(self.input, 0, 0, 1, 3)
+        self.passwordCheckBox = QtWidgets.QCheckBox(parent=self.inputGroup)
+        self.passwordCheckBox.setObjectName("passwordCheckBox")
+        self.gridlayout.addWidget(self.passwordCheckBox, 1, 0, 1, 1)
+        self.vboxlayout.addWidget(self.inputGroup)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=SvnBlameDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.vboxlayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(SvnBlameDialog)
+        QtCore.QMetaObject.connectSlotsByName(SvnBlameDialog)
+        SvnBlameDialog.setTabOrder(self.blameList, self.errors)
+        SvnBlameDialog.setTabOrder(self.errors, self.input)
+        SvnBlameDialog.setTabOrder(self.input, self.passwordCheckBox)
+        SvnBlameDialog.setTabOrder(self.passwordCheckBox, self.sendButton)
+        SvnBlameDialog.setTabOrder(self.sendButton, self.buttonBox)
+
+    def retranslateUi(self, SvnBlameDialog):
+        _translate = QtCore.QCoreApplication.translate
+        SvnBlameDialog.setWindowTitle(_translate("SvnBlameDialog", "Subversion Blame"))
+        self.blameList.headerItem().setText(0, _translate("SvnBlameDialog", "Revision"))
+        self.blameList.headerItem().setText(1, _translate("SvnBlameDialog", "Author"))
+        self.blameList.headerItem().setText(2, _translate("SvnBlameDialog", "Line"))
+        self.errorGroup.setTitle(_translate("SvnBlameDialog", "Errors"))
+        self.inputGroup.setTitle(_translate("SvnBlameDialog", "Input"))
+        self.sendButton.setToolTip(_translate("SvnBlameDialog", "Press to send the input to the subversion process"))
+        self.sendButton.setText(_translate("SvnBlameDialog", "&Send"))
+        self.sendButton.setShortcut(_translate("SvnBlameDialog", "Alt+S"))
+        self.input.setToolTip(_translate("SvnBlameDialog", "Enter data to be sent to the subversion process"))
+        self.passwordCheckBox.setToolTip(_translate("SvnBlameDialog", "Select to switch the input field to password mode"))
+        self.passwordCheckBox.setText(_translate("SvnBlameDialog", "&Password Mode"))
+        self.passwordCheckBox.setShortcut(_translate("SvnBlameDialog", "Alt+P"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsSubversion/Ui_SvnChangeListsDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,109 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsSubversion/SvnChangeListsDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_SvnChangeListsDialog(object):
+    def setupUi(self, SvnChangeListsDialog):
+        SvnChangeListsDialog.setObjectName("SvnChangeListsDialog")
+        SvnChangeListsDialog.resize(519, 494)
+        SvnChangeListsDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(SvnChangeListsDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.label = QtWidgets.QLabel(parent=SvnChangeListsDialog)
+        self.label.setObjectName("label")
+        self.verticalLayout.addWidget(self.label)
+        self.changeLists = QtWidgets.QListWidget(parent=SvnChangeListsDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(1)
+        sizePolicy.setHeightForWidth(self.changeLists.sizePolicy().hasHeightForWidth())
+        self.changeLists.setSizePolicy(sizePolicy)
+        self.changeLists.setAlternatingRowColors(True)
+        self.changeLists.setObjectName("changeLists")
+        self.verticalLayout.addWidget(self.changeLists)
+        self.filesLabel = QtWidgets.QLabel(parent=SvnChangeListsDialog)
+        self.filesLabel.setText("")
+        self.filesLabel.setWordWrap(True)
+        self.filesLabel.setObjectName("filesLabel")
+        self.verticalLayout.addWidget(self.filesLabel)
+        self.filesList = QtWidgets.QListWidget(parent=SvnChangeListsDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(2)
+        sizePolicy.setHeightForWidth(self.filesList.sizePolicy().hasHeightForWidth())
+        self.filesList.setSizePolicy(sizePolicy)
+        self.filesList.setAlternatingRowColors(True)
+        self.filesList.setObjectName("filesList")
+        self.verticalLayout.addWidget(self.filesList)
+        self.errorGroup = QtWidgets.QGroupBox(parent=SvnChangeListsDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(1)
+        sizePolicy.setHeightForWidth(self.errorGroup.sizePolicy().hasHeightForWidth())
+        self.errorGroup.setSizePolicy(sizePolicy)
+        self.errorGroup.setObjectName("errorGroup")
+        self.vboxlayout = QtWidgets.QVBoxLayout(self.errorGroup)
+        self.vboxlayout.setObjectName("vboxlayout")
+        self.errors = QtWidgets.QTextEdit(parent=self.errorGroup)
+        self.errors.setReadOnly(True)
+        self.errors.setAcceptRichText(False)
+        self.errors.setObjectName("errors")
+        self.vboxlayout.addWidget(self.errors)
+        self.verticalLayout.addWidget(self.errorGroup)
+        self.inputGroup = QtWidgets.QGroupBox(parent=SvnChangeListsDialog)
+        self.inputGroup.setObjectName("inputGroup")
+        self._2 = QtWidgets.QGridLayout(self.inputGroup)
+        self._2.setObjectName("_2")
+        spacerItem = QtWidgets.QSpacerItem(327, 29, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self._2.addItem(spacerItem, 1, 1, 1, 1)
+        self.sendButton = QtWidgets.QPushButton(parent=self.inputGroup)
+        self.sendButton.setObjectName("sendButton")
+        self._2.addWidget(self.sendButton, 1, 2, 1, 1)
+        self.input = QtWidgets.QLineEdit(parent=self.inputGroup)
+        self.input.setObjectName("input")
+        self._2.addWidget(self.input, 0, 0, 1, 3)
+        self.passwordCheckBox = QtWidgets.QCheckBox(parent=self.inputGroup)
+        self.passwordCheckBox.setObjectName("passwordCheckBox")
+        self._2.addWidget(self.passwordCheckBox, 1, 0, 1, 1)
+        self.verticalLayout.addWidget(self.inputGroup)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=SvnChangeListsDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(SvnChangeListsDialog)
+        self.buttonBox.accepted.connect(SvnChangeListsDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(SvnChangeListsDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(SvnChangeListsDialog)
+        SvnChangeListsDialog.setTabOrder(self.changeLists, self.filesList)
+        SvnChangeListsDialog.setTabOrder(self.filesList, self.errors)
+        SvnChangeListsDialog.setTabOrder(self.errors, self.input)
+        SvnChangeListsDialog.setTabOrder(self.input, self.passwordCheckBox)
+        SvnChangeListsDialog.setTabOrder(self.passwordCheckBox, self.sendButton)
+        SvnChangeListsDialog.setTabOrder(self.sendButton, self.buttonBox)
+
+    def retranslateUi(self, SvnChangeListsDialog):
+        _translate = QtCore.QCoreApplication.translate
+        SvnChangeListsDialog.setWindowTitle(_translate("SvnChangeListsDialog", "Subversion Change Lists"))
+        self.label.setText(_translate("SvnChangeListsDialog", "Change Lists:"))
+        self.changeLists.setWhatsThis(_translate("SvnChangeListsDialog", "<b>Change Lists</b>\n"
+"<p>Select a change list here to see the associated files in the list below.</p>"))
+        self.filesList.setWhatsThis(_translate("SvnChangeListsDialog", "<b>Files</b>\n"
+"<p>This shows a list of files associated with the change list selected above.</p>"))
+        self.errorGroup.setTitle(_translate("SvnChangeListsDialog", "Errors"))
+        self.inputGroup.setTitle(_translate("SvnChangeListsDialog", "Input"))
+        self.sendButton.setToolTip(_translate("SvnChangeListsDialog", "Press to send the input to the subversion process"))
+        self.sendButton.setText(_translate("SvnChangeListsDialog", "&Send"))
+        self.sendButton.setShortcut(_translate("SvnChangeListsDialog", "Alt+S"))
+        self.input.setToolTip(_translate("SvnChangeListsDialog", "Enter data to be sent to the subversion process"))
+        self.passwordCheckBox.setToolTip(_translate("SvnChangeListsDialog", "Select to switch the input field to password mode"))
+        self.passwordCheckBox.setText(_translate("SvnChangeListsDialog", "&Password Mode"))
+        self.passwordCheckBox.setShortcut(_translate("SvnChangeListsDialog", "Alt+P"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsSubversion/Ui_SvnCommandDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,92 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsSubversion/SvnCommandDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_SvnCommandDialog(object):
+    def setupUi(self, SvnCommandDialog):
+        SvnCommandDialog.setObjectName("SvnCommandDialog")
+        SvnCommandDialog.resize(628, 129)
+        self.gridLayout = QtWidgets.QGridLayout(SvnCommandDialog)
+        self.gridLayout.setObjectName("gridLayout")
+        self.textLabel1 = QtWidgets.QLabel(parent=SvnCommandDialog)
+        self.textLabel1.setToolTip("")
+        self.textLabel1.setObjectName("textLabel1")
+        self.gridLayout.addWidget(self.textLabel1, 0, 0, 1, 1)
+        self.commandCombo = QtWidgets.QComboBox(parent=SvnCommandDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.commandCombo.sizePolicy().hasHeightForWidth())
+        self.commandCombo.setSizePolicy(sizePolicy)
+        self.commandCombo.setEditable(True)
+        self.commandCombo.setInsertPolicy(QtWidgets.QComboBox.InsertPolicy.InsertAtTop)
+        self.commandCombo.setDuplicatesEnabled(False)
+        self.commandCombo.setObjectName("commandCombo")
+        self.gridLayout.addWidget(self.commandCombo, 0, 1, 1, 1)
+        self.textLabel2 = QtWidgets.QLabel(parent=SvnCommandDialog)
+        self.textLabel2.setObjectName("textLabel2")
+        self.gridLayout.addWidget(self.textLabel2, 1, 0, 1, 1)
+        self.workdirPicker = EricComboPathPicker(parent=SvnCommandDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.workdirPicker.sizePolicy().hasHeightForWidth())
+        self.workdirPicker.setSizePolicy(sizePolicy)
+        self.workdirPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.WheelFocus)
+        self.workdirPicker.setObjectName("workdirPicker")
+        self.gridLayout.addWidget(self.workdirPicker, 1, 1, 1, 1)
+        self.textLabel3 = QtWidgets.QLabel(parent=SvnCommandDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.textLabel3.sizePolicy().hasHeightForWidth())
+        self.textLabel3.setSizePolicy(sizePolicy)
+        self.textLabel3.setObjectName("textLabel3")
+        self.gridLayout.addWidget(self.textLabel3, 2, 0, 1, 1)
+        self.projectDirLabel = QtWidgets.QLabel(parent=SvnCommandDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.projectDirLabel.sizePolicy().hasHeightForWidth())
+        self.projectDirLabel.setSizePolicy(sizePolicy)
+        self.projectDirLabel.setObjectName("projectDirLabel")
+        self.gridLayout.addWidget(self.projectDirLabel, 2, 1, 1, 1)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=SvnCommandDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout.addWidget(self.buttonBox, 3, 0, 1, 2)
+
+        self.retranslateUi(SvnCommandDialog)
+        self.buttonBox.accepted.connect(SvnCommandDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(SvnCommandDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(SvnCommandDialog)
+        SvnCommandDialog.setTabOrder(self.commandCombo, self.workdirPicker)
+
+    def retranslateUi(self, SvnCommandDialog):
+        _translate = QtCore.QCoreApplication.translate
+        SvnCommandDialog.setWindowTitle(_translate("SvnCommandDialog", "Subversion Command"))
+        self.textLabel1.setText(_translate("SvnCommandDialog", "Subversion Command:"))
+        self.commandCombo.setToolTip(_translate("SvnCommandDialog", "Enter the Subversion command to be executed with all necessary parameters"))
+        self.commandCombo.setWhatsThis(_translate("SvnCommandDialog", "<b>Subversion Command</b>\n"
+"<p>Enter the Subversion command to be executed including all necessary \n"
+"parameters. If a parameter of the commandline includes a space you have to \n"
+"surround this parameter by single or double quotes. Do not include the name \n"
+"of the subversion client executable (i.e. svn).</p>"))
+        self.textLabel2.setText(_translate("SvnCommandDialog", "Working Directory:<br>(optional)"))
+        self.workdirPicker.setToolTip(_translate("SvnCommandDialog", "Enter the working directory for the Subversion command"))
+        self.workdirPicker.setWhatsThis(_translate("SvnCommandDialog", "<b>Working directory</b>\n"
+"<p>Enter the working directory for the Subversion command.\n"
+"This is an optional entry. The button to the right will open a \n"
+"directory selection dialog.</p>"))
+        self.textLabel3.setText(_translate("SvnCommandDialog", "Project Directory:"))
+        self.projectDirLabel.setToolTip(_translate("SvnCommandDialog", "This shows the root directory of the current project."))
+        self.projectDirLabel.setText(_translate("SvnCommandDialog", "project directory"))
+from eric7.EricWidgets.EricPathPicker import EricComboPathPicker
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsSubversion/Ui_SvnCommitDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,71 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsSubversion/SvnCommitDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_SvnCommitDialog(object):
+    def setupUi(self, SvnCommitDialog):
+        SvnCommitDialog.setObjectName("SvnCommitDialog")
+        SvnCommitDialog.resize(450, 384)
+        self.verticalLayout_3 = QtWidgets.QVBoxLayout(SvnCommitDialog)
+        self.verticalLayout_3.setObjectName("verticalLayout_3")
+        self.logGroup = QtWidgets.QGroupBox(parent=SvnCommitDialog)
+        self.logGroup.setObjectName("logGroup")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.logGroup)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.logEdit = EricSpellCheckedTextEdit(parent=self.logGroup)
+        self.logEdit.setTabChangesFocus(True)
+        self.logEdit.setAcceptRichText(False)
+        self.logEdit.setObjectName("logEdit")
+        self.verticalLayout.addWidget(self.logEdit)
+        self.label = QtWidgets.QLabel(parent=self.logGroup)
+        self.label.setObjectName("label")
+        self.verticalLayout.addWidget(self.label)
+        self.recentComboBox = QtWidgets.QComboBox(parent=self.logGroup)
+        self.recentComboBox.setObjectName("recentComboBox")
+        self.verticalLayout.addWidget(self.recentComboBox)
+        self.verticalLayout_3.addWidget(self.logGroup)
+        self.changeListsGroup = QtWidgets.QGroupBox(parent=SvnCommitDialog)
+        self.changeListsGroup.setObjectName("changeListsGroup")
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.changeListsGroup)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.changeLists = QtWidgets.QListWidget(parent=self.changeListsGroup)
+        self.changeLists.setObjectName("changeLists")
+        self.verticalLayout_2.addWidget(self.changeLists)
+        self.keepChangeListsCheckBox = QtWidgets.QCheckBox(parent=self.changeListsGroup)
+        self.keepChangeListsCheckBox.setObjectName("keepChangeListsCheckBox")
+        self.verticalLayout_2.addWidget(self.keepChangeListsCheckBox)
+        self.verticalLayout_3.addWidget(self.changeListsGroup)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=SvnCommitDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Close|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout_3.addWidget(self.buttonBox)
+
+        self.retranslateUi(SvnCommitDialog)
+        QtCore.QMetaObject.connectSlotsByName(SvnCommitDialog)
+        SvnCommitDialog.setTabOrder(self.logEdit, self.recentComboBox)
+        SvnCommitDialog.setTabOrder(self.recentComboBox, self.changeLists)
+        SvnCommitDialog.setTabOrder(self.changeLists, self.keepChangeListsCheckBox)
+        SvnCommitDialog.setTabOrder(self.keepChangeListsCheckBox, self.buttonBox)
+
+    def retranslateUi(self, SvnCommitDialog):
+        _translate = QtCore.QCoreApplication.translate
+        SvnCommitDialog.setWindowTitle(_translate("SvnCommitDialog", "Subversion"))
+        self.logGroup.setTitle(_translate("SvnCommitDialog", "Commit Message"))
+        self.logEdit.setToolTip(_translate("SvnCommitDialog", "Enter the log message."))
+        self.logEdit.setWhatsThis(_translate("SvnCommitDialog", "<b>Log Message</b>\n"
+"<p>Enter the log message for the commit action.</p>"))
+        self.label.setText(_translate("SvnCommitDialog", "Recent commit messages"))
+        self.recentComboBox.setToolTip(_translate("SvnCommitDialog", "Select a recent commit message to use"))
+        self.changeListsGroup.setTitle(_translate("SvnCommitDialog", "Changelists"))
+        self.changeLists.setToolTip(_translate("SvnCommitDialog", "Select the change lists to limit the commit"))
+        self.keepChangeListsCheckBox.setToolTip(_translate("SvnCommitDialog", "Select to keep the changelists"))
+        self.keepChangeListsCheckBox.setText(_translate("SvnCommitDialog", "Keep changelists"))
+from eric7.EricWidgets.EricSpellCheckedTextEdit import EricSpellCheckedTextEdit
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsSubversion/Ui_SvnCopyDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,67 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsSubversion/SvnCopyDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_SvnCopyDialog(object):
+    def setupUi(self, SvnCopyDialog):
+        SvnCopyDialog.setObjectName("SvnCopyDialog")
+        SvnCopyDialog.resize(409, 138)
+        SvnCopyDialog.setSizeGripEnabled(True)
+        self.gridLayout = QtWidgets.QGridLayout(SvnCopyDialog)
+        self.gridLayout.setObjectName("gridLayout")
+        self.textLabel1 = QtWidgets.QLabel(parent=SvnCopyDialog)
+        self.textLabel1.setObjectName("textLabel1")
+        self.gridLayout.addWidget(self.textLabel1, 0, 0, 1, 1)
+        self.sourceEdit = QtWidgets.QLineEdit(parent=SvnCopyDialog)
+        self.sourceEdit.setReadOnly(True)
+        self.sourceEdit.setObjectName("sourceEdit")
+        self.gridLayout.addWidget(self.sourceEdit, 0, 1, 1, 1)
+        self.textLabel2 = QtWidgets.QLabel(parent=SvnCopyDialog)
+        self.textLabel2.setObjectName("textLabel2")
+        self.gridLayout.addWidget(self.textLabel2, 1, 0, 1, 1)
+        self.targetPicker = EricPathPicker(parent=SvnCopyDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.targetPicker.sizePolicy().hasHeightForWidth())
+        self.targetPicker.setSizePolicy(sizePolicy)
+        self.targetPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.targetPicker.setObjectName("targetPicker")
+        self.gridLayout.addWidget(self.targetPicker, 1, 1, 1, 1)
+        self.forceCheckBox = QtWidgets.QCheckBox(parent=SvnCopyDialog)
+        self.forceCheckBox.setObjectName("forceCheckBox")
+        self.gridLayout.addWidget(self.forceCheckBox, 2, 0, 1, 2)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=SvnCopyDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout.addWidget(self.buttonBox, 3, 0, 1, 2)
+
+        self.retranslateUi(SvnCopyDialog)
+        self.buttonBox.accepted.connect(SvnCopyDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(SvnCopyDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(SvnCopyDialog)
+        SvnCopyDialog.setTabOrder(self.sourceEdit, self.targetPicker)
+        SvnCopyDialog.setTabOrder(self.targetPicker, self.forceCheckBox)
+
+    def retranslateUi(self, SvnCopyDialog):
+        _translate = QtCore.QCoreApplication.translate
+        SvnCopyDialog.setWindowTitle(_translate("SvnCopyDialog", "Subversion Copy"))
+        self.textLabel1.setText(_translate("SvnCopyDialog", "Source:"))
+        self.sourceEdit.setToolTip(_translate("SvnCopyDialog", "Shows the name of the source"))
+        self.sourceEdit.setWhatsThis(_translate("SvnCopyDialog", "<b>Source name</b>\n"
+"<p>This field shows the name of the source.</p>"))
+        self.textLabel2.setText(_translate("SvnCopyDialog", "Target:"))
+        self.targetPicker.setToolTip(_translate("SvnCopyDialog", "Enter the target name"))
+        self.targetPicker.setWhatsThis(_translate("SvnCopyDialog", "<b>Target name</b>\n"
+"<p>Enter the new name in this field. The target must be the new name or an absolute path.</p>"))
+        self.forceCheckBox.setToolTip(_translate("SvnCopyDialog", "Select to force the operation"))
+        self.forceCheckBox.setText(_translate("SvnCopyDialog", "Enforce operation"))
+from eric7.EricWidgets.EricPathPicker import EricPathPicker
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsSubversion/Ui_SvnDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,91 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsSubversion/SvnDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_SvnDialog(object):
+    def setupUi(self, SvnDialog):
+        SvnDialog.setObjectName("SvnDialog")
+        SvnDialog.resize(593, 499)
+        SvnDialog.setSizeGripEnabled(True)
+        self.vboxlayout = QtWidgets.QVBoxLayout(SvnDialog)
+        self.vboxlayout.setObjectName("vboxlayout")
+        self.outputGroup = QtWidgets.QGroupBox(parent=SvnDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(2)
+        sizePolicy.setHeightForWidth(self.outputGroup.sizePolicy().hasHeightForWidth())
+        self.outputGroup.setSizePolicy(sizePolicy)
+        self.outputGroup.setObjectName("outputGroup")
+        self.vboxlayout1 = QtWidgets.QVBoxLayout(self.outputGroup)
+        self.vboxlayout1.setObjectName("vboxlayout1")
+        self.resultbox = QtWidgets.QTextEdit(parent=self.outputGroup)
+        self.resultbox.setReadOnly(True)
+        self.resultbox.setAcceptRichText(False)
+        self.resultbox.setObjectName("resultbox")
+        self.vboxlayout1.addWidget(self.resultbox)
+        self.vboxlayout.addWidget(self.outputGroup)
+        self.errorGroup = QtWidgets.QGroupBox(parent=SvnDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(1)
+        sizePolicy.setHeightForWidth(self.errorGroup.sizePolicy().hasHeightForWidth())
+        self.errorGroup.setSizePolicy(sizePolicy)
+        self.errorGroup.setObjectName("errorGroup")
+        self.vboxlayout2 = QtWidgets.QVBoxLayout(self.errorGroup)
+        self.vboxlayout2.setObjectName("vboxlayout2")
+        self.errors = QtWidgets.QTextEdit(parent=self.errorGroup)
+        self.errors.setReadOnly(True)
+        self.errors.setAcceptRichText(False)
+        self.errors.setObjectName("errors")
+        self.vboxlayout2.addWidget(self.errors)
+        self.vboxlayout.addWidget(self.errorGroup)
+        self.inputGroup = QtWidgets.QGroupBox(parent=SvnDialog)
+        self.inputGroup.setObjectName("inputGroup")
+        self.gridlayout = QtWidgets.QGridLayout(self.inputGroup)
+        self.gridlayout.setObjectName("gridlayout")
+        spacerItem = QtWidgets.QSpacerItem(327, 29, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridlayout.addItem(spacerItem, 1, 1, 1, 1)
+        self.sendButton = QtWidgets.QPushButton(parent=self.inputGroup)
+        self.sendButton.setObjectName("sendButton")
+        self.gridlayout.addWidget(self.sendButton, 1, 2, 1, 1)
+        self.input = QtWidgets.QLineEdit(parent=self.inputGroup)
+        self.input.setObjectName("input")
+        self.gridlayout.addWidget(self.input, 0, 0, 1, 3)
+        self.passwordCheckBox = QtWidgets.QCheckBox(parent=self.inputGroup)
+        self.passwordCheckBox.setObjectName("passwordCheckBox")
+        self.gridlayout.addWidget(self.passwordCheckBox, 1, 0, 1, 1)
+        self.vboxlayout.addWidget(self.inputGroup)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=SvnDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.vboxlayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(SvnDialog)
+        QtCore.QMetaObject.connectSlotsByName(SvnDialog)
+        SvnDialog.setTabOrder(self.resultbox, self.errors)
+        SvnDialog.setTabOrder(self.errors, self.input)
+        SvnDialog.setTabOrder(self.input, self.passwordCheckBox)
+        SvnDialog.setTabOrder(self.passwordCheckBox, self.sendButton)
+        SvnDialog.setTabOrder(self.sendButton, self.buttonBox)
+
+    def retranslateUi(self, SvnDialog):
+        _translate = QtCore.QCoreApplication.translate
+        SvnDialog.setWindowTitle(_translate("SvnDialog", "Subversion"))
+        self.outputGroup.setTitle(_translate("SvnDialog", "Output"))
+        self.errorGroup.setTitle(_translate("SvnDialog", "Errors"))
+        self.inputGroup.setTitle(_translate("SvnDialog", "Input"))
+        self.sendButton.setToolTip(_translate("SvnDialog", "Press to send the input to the subversion process"))
+        self.sendButton.setText(_translate("SvnDialog", "&Send"))
+        self.sendButton.setShortcut(_translate("SvnDialog", "Alt+S"))
+        self.input.setToolTip(_translate("SvnDialog", "Enter data to be sent to the subversion process"))
+        self.passwordCheckBox.setToolTip(_translate("SvnDialog", "Select to switch the input field to password mode"))
+        self.passwordCheckBox.setText(_translate("SvnDialog", "&Password Mode"))
+        self.passwordCheckBox.setShortcut(_translate("SvnDialog", "Alt+P"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsSubversion/Ui_SvnDiffDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,102 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsSubversion/SvnDiffDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_SvnDiffDialog(object):
+    def setupUi(self, SvnDiffDialog):
+        SvnDiffDialog.setObjectName("SvnDiffDialog")
+        SvnDiffDialog.resize(749, 646)
+        self.vboxlayout = QtWidgets.QVBoxLayout(SvnDiffDialog)
+        self.vboxlayout.setObjectName("vboxlayout")
+        self.contentsGroup = QtWidgets.QGroupBox(parent=SvnDiffDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(3)
+        sizePolicy.setHeightForWidth(self.contentsGroup.sizePolicy().hasHeightForWidth())
+        self.contentsGroup.setSizePolicy(sizePolicy)
+        self.contentsGroup.setObjectName("contentsGroup")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.contentsGroup)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.filesCombo = QtWidgets.QComboBox(parent=self.contentsGroup)
+        self.filesCombo.setObjectName("filesCombo")
+        self.verticalLayout.addWidget(self.filesCombo)
+        self.searchWidget = EricTextEditSearchWidget(parent=self.contentsGroup)
+        self.searchWidget.setFocusPolicy(QtCore.Qt.FocusPolicy.WheelFocus)
+        self.searchWidget.setObjectName("searchWidget")
+        self.verticalLayout.addWidget(self.searchWidget)
+        self.contents = QtWidgets.QPlainTextEdit(parent=self.contentsGroup)
+        self.contents.setLineWrapMode(QtWidgets.QPlainTextEdit.LineWrapMode.NoWrap)
+        self.contents.setReadOnly(True)
+        self.contents.setTabStopDistance(8.0)
+        self.contents.setObjectName("contents")
+        self.verticalLayout.addWidget(self.contents)
+        self.vboxlayout.addWidget(self.contentsGroup)
+        self.errorGroup = QtWidgets.QGroupBox(parent=SvnDiffDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(1)
+        sizePolicy.setHeightForWidth(self.errorGroup.sizePolicy().hasHeightForWidth())
+        self.errorGroup.setSizePolicy(sizePolicy)
+        self.errorGroup.setObjectName("errorGroup")
+        self.vboxlayout1 = QtWidgets.QVBoxLayout(self.errorGroup)
+        self.vboxlayout1.setObjectName("vboxlayout1")
+        self.errors = QtWidgets.QTextEdit(parent=self.errorGroup)
+        self.errors.setReadOnly(True)
+        self.errors.setAcceptRichText(False)
+        self.errors.setObjectName("errors")
+        self.vboxlayout1.addWidget(self.errors)
+        self.vboxlayout.addWidget(self.errorGroup)
+        self.inputGroup = QtWidgets.QGroupBox(parent=SvnDiffDialog)
+        self.inputGroup.setObjectName("inputGroup")
+        self.gridlayout = QtWidgets.QGridLayout(self.inputGroup)
+        self.gridlayout.setObjectName("gridlayout")
+        spacerItem = QtWidgets.QSpacerItem(327, 29, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridlayout.addItem(spacerItem, 1, 1, 1, 1)
+        self.sendButton = QtWidgets.QPushButton(parent=self.inputGroup)
+        self.sendButton.setObjectName("sendButton")
+        self.gridlayout.addWidget(self.sendButton, 1, 2, 1, 1)
+        self.input = QtWidgets.QLineEdit(parent=self.inputGroup)
+        self.input.setObjectName("input")
+        self.gridlayout.addWidget(self.input, 0, 0, 1, 3)
+        self.passwordCheckBox = QtWidgets.QCheckBox(parent=self.inputGroup)
+        self.passwordCheckBox.setObjectName("passwordCheckBox")
+        self.gridlayout.addWidget(self.passwordCheckBox, 1, 0, 1, 1)
+        self.vboxlayout.addWidget(self.inputGroup)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=SvnDiffDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Close|QtWidgets.QDialogButtonBox.StandardButton.Save)
+        self.buttonBox.setObjectName("buttonBox")
+        self.vboxlayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(SvnDiffDialog)
+        self.buttonBox.rejected.connect(SvnDiffDialog.close) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(SvnDiffDialog)
+        SvnDiffDialog.setTabOrder(self.filesCombo, self.searchWidget)
+        SvnDiffDialog.setTabOrder(self.searchWidget, self.contents)
+        SvnDiffDialog.setTabOrder(self.contents, self.errors)
+        SvnDiffDialog.setTabOrder(self.errors, self.input)
+        SvnDiffDialog.setTabOrder(self.input, self.passwordCheckBox)
+        SvnDiffDialog.setTabOrder(self.passwordCheckBox, self.sendButton)
+
+    def retranslateUi(self, SvnDiffDialog):
+        _translate = QtCore.QCoreApplication.translate
+        SvnDiffDialog.setWindowTitle(_translate("SvnDiffDialog", "Subversion Diff"))
+        self.contentsGroup.setTitle(_translate("SvnDiffDialog", "Difference"))
+        self.contents.setWhatsThis(_translate("SvnDiffDialog", "<b>Subversion Diff</b><p>This shows the output of the svn diff command.</p>"))
+        self.errorGroup.setTitle(_translate("SvnDiffDialog", "Errors"))
+        self.inputGroup.setTitle(_translate("SvnDiffDialog", "Input"))
+        self.sendButton.setToolTip(_translate("SvnDiffDialog", "Press to send the input to the subversion process"))
+        self.sendButton.setText(_translate("SvnDiffDialog", "&Send"))
+        self.sendButton.setShortcut(_translate("SvnDiffDialog", "Alt+S"))
+        self.input.setToolTip(_translate("SvnDiffDialog", "Enter data to be sent to the subversion process"))
+        self.passwordCheckBox.setToolTip(_translate("SvnDiffDialog", "Select to switch the input field to password mode"))
+        self.passwordCheckBox.setText(_translate("SvnDiffDialog", "&Password Mode"))
+        self.passwordCheckBox.setShortcut(_translate("SvnDiffDialog", "Alt+P"))
+from eric7.EricWidgets.EricTextEditSearchWidget import EricTextEditSearchWidget
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsSubversion/Ui_SvnLogBrowserDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,225 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsSubversion/SvnLogBrowserDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_SvnLogBrowserDialog(object):
+    def setupUi(self, SvnLogBrowserDialog):
+        SvnLogBrowserDialog.setObjectName("SvnLogBrowserDialog")
+        SvnLogBrowserDialog.resize(700, 800)
+        self.verticalLayout = QtWidgets.QVBoxLayout(SvnLogBrowserDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.hboxlayout = QtWidgets.QHBoxLayout()
+        self.hboxlayout.setObjectName("hboxlayout")
+        self.label = QtWidgets.QLabel(parent=SvnLogBrowserDialog)
+        self.label.setObjectName("label")
+        self.hboxlayout.addWidget(self.label)
+        self.fromDate = QtWidgets.QDateEdit(parent=SvnLogBrowserDialog)
+        self.fromDate.setCalendarPopup(True)
+        self.fromDate.setObjectName("fromDate")
+        self.hboxlayout.addWidget(self.fromDate)
+        self.label_2 = QtWidgets.QLabel(parent=SvnLogBrowserDialog)
+        self.label_2.setObjectName("label_2")
+        self.hboxlayout.addWidget(self.label_2)
+        self.toDate = QtWidgets.QDateEdit(parent=SvnLogBrowserDialog)
+        self.toDate.setCalendarPopup(True)
+        self.toDate.setObjectName("toDate")
+        self.hboxlayout.addWidget(self.toDate)
+        self.fieldCombo = QtWidgets.QComboBox(parent=SvnLogBrowserDialog)
+        self.fieldCombo.setObjectName("fieldCombo")
+        self.fieldCombo.addItem("")
+        self.fieldCombo.addItem("")
+        self.fieldCombo.addItem("")
+        self.hboxlayout.addWidget(self.fieldCombo)
+        self.rxEdit = QtWidgets.QLineEdit(parent=SvnLogBrowserDialog)
+        self.rxEdit.setClearButtonEnabled(True)
+        self.rxEdit.setObjectName("rxEdit")
+        self.hboxlayout.addWidget(self.rxEdit)
+        self.verticalLayout.addLayout(self.hboxlayout)
+        self.logTree = QtWidgets.QTreeWidget(parent=SvnLogBrowserDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(5)
+        sizePolicy.setHeightForWidth(self.logTree.sizePolicy().hasHeightForWidth())
+        self.logTree.setSizePolicy(sizePolicy)
+        self.logTree.setAlternatingRowColors(True)
+        self.logTree.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.ExtendedSelection)
+        self.logTree.setRootIsDecorated(False)
+        self.logTree.setItemsExpandable(False)
+        self.logTree.setAllColumnsShowFocus(True)
+        self.logTree.setObjectName("logTree")
+        self.verticalLayout.addWidget(self.logTree)
+        self.messageEdit = QtWidgets.QTextEdit(parent=SvnLogBrowserDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(2)
+        sizePolicy.setHeightForWidth(self.messageEdit.sizePolicy().hasHeightForWidth())
+        self.messageEdit.setSizePolicy(sizePolicy)
+        self.messageEdit.setReadOnly(True)
+        self.messageEdit.setObjectName("messageEdit")
+        self.verticalLayout.addWidget(self.messageEdit)
+        self.filesTree = QtWidgets.QTreeWidget(parent=SvnLogBrowserDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(3)
+        sizePolicy.setHeightForWidth(self.filesTree.sizePolicy().hasHeightForWidth())
+        self.filesTree.setSizePolicy(sizePolicy)
+        self.filesTree.setAlternatingRowColors(True)
+        self.filesTree.setRootIsDecorated(False)
+        self.filesTree.setItemsExpandable(False)
+        self.filesTree.setAllColumnsShowFocus(True)
+        self.filesTree.setObjectName("filesTree")
+        self.verticalLayout.addWidget(self.filesTree)
+        self.gridLayout = QtWidgets.QGridLayout()
+        self.gridLayout.setObjectName("gridLayout")
+        self.nextButton = QtWidgets.QPushButton(parent=SvnLogBrowserDialog)
+        self.nextButton.setObjectName("nextButton")
+        self.gridLayout.addWidget(self.nextButton, 0, 0, 2, 1)
+        self.limitSpinBox = QtWidgets.QSpinBox(parent=SvnLogBrowserDialog)
+        self.limitSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.limitSpinBox.setMinimum(1)
+        self.limitSpinBox.setMaximum(10000)
+        self.limitSpinBox.setProperty("value", 20)
+        self.limitSpinBox.setObjectName("limitSpinBox")
+        self.gridLayout.addWidget(self.limitSpinBox, 0, 1, 2, 1)
+        self.stopCheckBox = QtWidgets.QCheckBox(parent=SvnLogBrowserDialog)
+        self.stopCheckBox.setObjectName("stopCheckBox")
+        self.gridLayout.addWidget(self.stopCheckBox, 0, 2, 2, 2)
+        self.diffPreviousButton = QtWidgets.QPushButton(parent=SvnLogBrowserDialog)
+        self.diffPreviousButton.setObjectName("diffPreviousButton")
+        self.gridLayout.addWidget(self.diffPreviousButton, 0, 5, 2, 1)
+        self.diffRevisionsButton = QtWidgets.QPushButton(parent=SvnLogBrowserDialog)
+        self.diffRevisionsButton.setObjectName("diffRevisionsButton")
+        self.gridLayout.addWidget(self.diffRevisionsButton, 0, 6, 2, 1)
+        spacerItem = QtWidgets.QSpacerItem(39, 26, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout.addItem(spacerItem, 0, 7, 2, 1)
+        self.line = QtWidgets.QFrame(parent=SvnLogBrowserDialog)
+        self.line.setFrameShape(QtWidgets.QFrame.Shape.VLine)
+        self.line.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line.setObjectName("line")
+        self.gridLayout.addWidget(self.line, 1, 3, 2, 1)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setSpacing(0)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.upButton = QtWidgets.QToolButton(parent=SvnLogBrowserDialog)
+        self.upButton.setAutoRepeat(True)
+        self.upButton.setObjectName("upButton")
+        self.horizontalLayout.addWidget(self.upButton)
+        self.downButton = QtWidgets.QToolButton(parent=SvnLogBrowserDialog)
+        self.downButton.setAutoRepeat(True)
+        self.downButton.setObjectName("downButton")
+        self.horizontalLayout.addWidget(self.downButton)
+        self.gridLayout.addLayout(self.horizontalLayout, 1, 4, 1, 1)
+        self.sbsCheckBox = QtWidgets.QCheckBox(parent=SvnLogBrowserDialog)
+        self.sbsCheckBox.setObjectName("sbsCheckBox")
+        self.gridLayout.addWidget(self.sbsCheckBox, 2, 4, 1, 3)
+        self.verticalLayout.addLayout(self.gridLayout)
+        self.errorGroup = QtWidgets.QGroupBox(parent=SvnLogBrowserDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(1)
+        sizePolicy.setHeightForWidth(self.errorGroup.sizePolicy().hasHeightForWidth())
+        self.errorGroup.setSizePolicy(sizePolicy)
+        self.errorGroup.setObjectName("errorGroup")
+        self.vboxlayout = QtWidgets.QVBoxLayout(self.errorGroup)
+        self.vboxlayout.setObjectName("vboxlayout")
+        self.errors = QtWidgets.QTextEdit(parent=self.errorGroup)
+        self.errors.setReadOnly(True)
+        self.errors.setAcceptRichText(False)
+        self.errors.setObjectName("errors")
+        self.vboxlayout.addWidget(self.errors)
+        self.verticalLayout.addWidget(self.errorGroup)
+        self.inputGroup = QtWidgets.QGroupBox(parent=SvnLogBrowserDialog)
+        self.inputGroup.setObjectName("inputGroup")
+        self.gridlayout = QtWidgets.QGridLayout(self.inputGroup)
+        self.gridlayout.setObjectName("gridlayout")
+        spacerItem1 = QtWidgets.QSpacerItem(327, 29, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridlayout.addItem(spacerItem1, 1, 1, 1, 1)
+        self.sendButton = QtWidgets.QPushButton(parent=self.inputGroup)
+        self.sendButton.setObjectName("sendButton")
+        self.gridlayout.addWidget(self.sendButton, 1, 2, 1, 1)
+        self.input = QtWidgets.QLineEdit(parent=self.inputGroup)
+        self.input.setObjectName("input")
+        self.gridlayout.addWidget(self.input, 0, 0, 1, 3)
+        self.passwordCheckBox = QtWidgets.QCheckBox(parent=self.inputGroup)
+        self.passwordCheckBox.setObjectName("passwordCheckBox")
+        self.gridlayout.addWidget(self.passwordCheckBox, 1, 0, 1, 1)
+        self.verticalLayout.addWidget(self.inputGroup)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=SvnLogBrowserDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(SvnLogBrowserDialog)
+        QtCore.QMetaObject.connectSlotsByName(SvnLogBrowserDialog)
+        SvnLogBrowserDialog.setTabOrder(self.fromDate, self.toDate)
+        SvnLogBrowserDialog.setTabOrder(self.toDate, self.fieldCombo)
+        SvnLogBrowserDialog.setTabOrder(self.fieldCombo, self.rxEdit)
+        SvnLogBrowserDialog.setTabOrder(self.rxEdit, self.logTree)
+        SvnLogBrowserDialog.setTabOrder(self.logTree, self.messageEdit)
+        SvnLogBrowserDialog.setTabOrder(self.messageEdit, self.filesTree)
+        SvnLogBrowserDialog.setTabOrder(self.filesTree, self.nextButton)
+        SvnLogBrowserDialog.setTabOrder(self.nextButton, self.limitSpinBox)
+        SvnLogBrowserDialog.setTabOrder(self.limitSpinBox, self.stopCheckBox)
+        SvnLogBrowserDialog.setTabOrder(self.stopCheckBox, self.upButton)
+        SvnLogBrowserDialog.setTabOrder(self.upButton, self.downButton)
+        SvnLogBrowserDialog.setTabOrder(self.downButton, self.diffPreviousButton)
+        SvnLogBrowserDialog.setTabOrder(self.diffPreviousButton, self.diffRevisionsButton)
+        SvnLogBrowserDialog.setTabOrder(self.diffRevisionsButton, self.sbsCheckBox)
+        SvnLogBrowserDialog.setTabOrder(self.sbsCheckBox, self.errors)
+        SvnLogBrowserDialog.setTabOrder(self.errors, self.input)
+        SvnLogBrowserDialog.setTabOrder(self.input, self.passwordCheckBox)
+        SvnLogBrowserDialog.setTabOrder(self.passwordCheckBox, self.sendButton)
+
+    def retranslateUi(self, SvnLogBrowserDialog):
+        _translate = QtCore.QCoreApplication.translate
+        SvnLogBrowserDialog.setWindowTitle(_translate("SvnLogBrowserDialog", "Subversion Log"))
+        self.label.setText(_translate("SvnLogBrowserDialog", "From:"))
+        self.fromDate.setToolTip(_translate("SvnLogBrowserDialog", "Enter the start date"))
+        self.label_2.setText(_translate("SvnLogBrowserDialog", "To:"))
+        self.toDate.setToolTip(_translate("SvnLogBrowserDialog", "Enter the end date"))
+        self.fieldCombo.setToolTip(_translate("SvnLogBrowserDialog", "Select the field to filter on"))
+        self.fieldCombo.setItemText(0, _translate("SvnLogBrowserDialog", "Revision"))
+        self.fieldCombo.setItemText(1, _translate("SvnLogBrowserDialog", "Author"))
+        self.fieldCombo.setItemText(2, _translate("SvnLogBrowserDialog", "Message"))
+        self.rxEdit.setToolTip(_translate("SvnLogBrowserDialog", "Enter the regular expression to filter on"))
+        self.logTree.setSortingEnabled(True)
+        self.logTree.headerItem().setText(0, _translate("SvnLogBrowserDialog", "Revision"))
+        self.logTree.headerItem().setText(1, _translate("SvnLogBrowserDialog", "Author"))
+        self.logTree.headerItem().setText(2, _translate("SvnLogBrowserDialog", "Date"))
+        self.logTree.headerItem().setText(3, _translate("SvnLogBrowserDialog", "Message"))
+        self.filesTree.setSortingEnabled(True)
+        self.filesTree.headerItem().setText(0, _translate("SvnLogBrowserDialog", "Action"))
+        self.filesTree.headerItem().setText(1, _translate("SvnLogBrowserDialog", "Path"))
+        self.filesTree.headerItem().setText(2, _translate("SvnLogBrowserDialog", "Copy from"))
+        self.filesTree.headerItem().setText(3, _translate("SvnLogBrowserDialog", "Copy from Rev"))
+        self.nextButton.setToolTip(_translate("SvnLogBrowserDialog", "Press to get the next bunch of log entries"))
+        self.nextButton.setText(_translate("SvnLogBrowserDialog", "&Next"))
+        self.limitSpinBox.setToolTip(_translate("SvnLogBrowserDialog", "Enter the limit of entries to fetch"))
+        self.stopCheckBox.setToolTip(_translate("SvnLogBrowserDialog", "Select to stop listing log messages at a copy or move"))
+        self.stopCheckBox.setText(_translate("SvnLogBrowserDialog", "Stop on Copy/Move"))
+        self.diffPreviousButton.setToolTip(_translate("SvnLogBrowserDialog", "Press to generate a diff to the previous revision"))
+        self.diffPreviousButton.setText(_translate("SvnLogBrowserDialog", "&Diff to Previous"))
+        self.diffRevisionsButton.setToolTip(_translate("SvnLogBrowserDialog", "Press to compare two revisions"))
+        self.diffRevisionsButton.setText(_translate("SvnLogBrowserDialog", "&Compare Revisions"))
+        self.upButton.setToolTip(_translate("SvnLogBrowserDialog", "Press to move up in the log list"))
+        self.downButton.setToolTip(_translate("SvnLogBrowserDialog", "Press to move down in the log list"))
+        self.sbsCheckBox.setToolTip(_translate("SvnLogBrowserDialog", "Select to show differences side-by-side"))
+        self.sbsCheckBox.setText(_translate("SvnLogBrowserDialog", "Show differences side-by-side"))
+        self.errorGroup.setTitle(_translate("SvnLogBrowserDialog", "Errors"))
+        self.errors.setWhatsThis(_translate("SvnLogBrowserDialog", "<b>Subversion log errors</b><p>This shows possible error messages of the svn log command.</p>"))
+        self.inputGroup.setTitle(_translate("SvnLogBrowserDialog", "Input"))
+        self.sendButton.setToolTip(_translate("SvnLogBrowserDialog", "Press to send the input to the subversion process"))
+        self.sendButton.setText(_translate("SvnLogBrowserDialog", "&Send"))
+        self.sendButton.setShortcut(_translate("SvnLogBrowserDialog", "Alt+S"))
+        self.input.setToolTip(_translate("SvnLogBrowserDialog", "Enter data to be sent to the subversion process"))
+        self.passwordCheckBox.setToolTip(_translate("SvnLogBrowserDialog", "Select to switch the input field to password mode"))
+        self.passwordCheckBox.setText(_translate("SvnLogBrowserDialog", "&Password Mode"))
+        self.passwordCheckBox.setShortcut(_translate("SvnLogBrowserDialog", "Alt+P"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsSubversion/Ui_SvnMergeDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,92 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsSubversion/SvnMergeDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_SvnMergeDialog(object):
+    def setupUi(self, SvnMergeDialog):
+        SvnMergeDialog.setObjectName("SvnMergeDialog")
+        SvnMergeDialog.resize(456, 152)
+        SvnMergeDialog.setSizeGripEnabled(True)
+        self.gridlayout = QtWidgets.QGridLayout(SvnMergeDialog)
+        self.gridlayout.setObjectName("gridlayout")
+        self.forceCheckBox = QtWidgets.QCheckBox(parent=SvnMergeDialog)
+        self.forceCheckBox.setObjectName("forceCheckBox")
+        self.gridlayout.addWidget(self.forceCheckBox, 3, 0, 1, 2)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=SvnMergeDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridlayout.addWidget(self.buttonBox, 4, 0, 1, 2)
+        self.textLabel1 = QtWidgets.QLabel(parent=SvnMergeDialog)
+        self.textLabel1.setObjectName("textLabel1")
+        self.gridlayout.addWidget(self.textLabel1, 2, 0, 1, 1)
+        self.targetCombo = QtWidgets.QComboBox(parent=SvnMergeDialog)
+        self.targetCombo.setEditable(True)
+        self.targetCombo.setInsertPolicy(QtWidgets.QComboBox.InsertPolicy.InsertAtTop)
+        self.targetCombo.setDuplicatesEnabled(False)
+        self.targetCombo.setObjectName("targetCombo")
+        self.gridlayout.addWidget(self.targetCombo, 2, 1, 1, 1)
+        self.TextLabel1 = QtWidgets.QLabel(parent=SvnMergeDialog)
+        self.TextLabel1.setObjectName("TextLabel1")
+        self.gridlayout.addWidget(self.TextLabel1, 0, 0, 1, 1)
+        self.tag2Combo = QtWidgets.QComboBox(parent=SvnMergeDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.tag2Combo.sizePolicy().hasHeightForWidth())
+        self.tag2Combo.setSizePolicy(sizePolicy)
+        self.tag2Combo.setEditable(True)
+        self.tag2Combo.setDuplicatesEnabled(False)
+        self.tag2Combo.setObjectName("tag2Combo")
+        self.gridlayout.addWidget(self.tag2Combo, 1, 1, 1, 1)
+        self.tag1Combo = QtWidgets.QComboBox(parent=SvnMergeDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.tag1Combo.sizePolicy().hasHeightForWidth())
+        self.tag1Combo.setSizePolicy(sizePolicy)
+        self.tag1Combo.setEditable(True)
+        self.tag1Combo.setDuplicatesEnabled(False)
+        self.tag1Combo.setObjectName("tag1Combo")
+        self.gridlayout.addWidget(self.tag1Combo, 0, 1, 1, 1)
+        self.TextLabel1_2 = QtWidgets.QLabel(parent=SvnMergeDialog)
+        self.TextLabel1_2.setObjectName("TextLabel1_2")
+        self.gridlayout.addWidget(self.TextLabel1_2, 1, 0, 1, 1)
+
+        self.retranslateUi(SvnMergeDialog)
+        self.buttonBox.accepted.connect(SvnMergeDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(SvnMergeDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(SvnMergeDialog)
+        SvnMergeDialog.setTabOrder(self.tag1Combo, self.tag2Combo)
+        SvnMergeDialog.setTabOrder(self.tag2Combo, self.targetCombo)
+        SvnMergeDialog.setTabOrder(self.targetCombo, self.forceCheckBox)
+        SvnMergeDialog.setTabOrder(self.forceCheckBox, self.buttonBox)
+
+    def retranslateUi(self, SvnMergeDialog):
+        _translate = QtCore.QCoreApplication.translate
+        SvnMergeDialog.setWindowTitle(_translate("SvnMergeDialog", "Subversion Merge"))
+        self.forceCheckBox.setToolTip(_translate("SvnMergeDialog", "Select to force the merge operation"))
+        self.forceCheckBox.setText(_translate("SvnMergeDialog", "Enforce merge"))
+        self.textLabel1.setText(_translate("SvnMergeDialog", "Target:"))
+        self.targetCombo.setToolTip(_translate("SvnMergeDialog", "Enter the target"))
+        self.targetCombo.setWhatsThis(_translate("SvnMergeDialog", "<b>Target</b>\n"
+"<p>Enter the target for the merge operation into this field. Leave it empty to\n"
+"get the target URL from the working copy.</p>\n"
+"<p><b>Note:</b> This entry is only needed, if you enter revision numbers above.</p>"))
+        self.TextLabel1.setText(_translate("SvnMergeDialog", "1. URL/Revision:"))
+        self.tag2Combo.setToolTip(_translate("SvnMergeDialog", "Enter an URL or a revision number"))
+        self.tag2Combo.setWhatsThis(_translate("SvnMergeDialog", "<b>URL/Revision</b>\n"
+"<p>Enter an URL or a revision number to be merged into\n"
+"the working copy.</p>"))
+        self.tag1Combo.setToolTip(_translate("SvnMergeDialog", "Enter an URL or a revision number"))
+        self.tag1Combo.setWhatsThis(_translate("SvnMergeDialog", "<b>URL/Revision</b>\n"
+"<p>Enter an URL or a revision number to be merged into\n"
+"the working copy.</p>"))
+        self.TextLabel1_2.setText(_translate("SvnMergeDialog", "2. URL/Revision:"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsSubversion/Ui_SvnNewProjectOptionsDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,101 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsSubversion/SvnNewProjectOptionsDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_SvnNewProjectOptionsDialog(object):
+    def setupUi(self, SvnNewProjectOptionsDialog):
+        SvnNewProjectOptionsDialog.setObjectName("SvnNewProjectOptionsDialog")
+        SvnNewProjectOptionsDialog.resize(562, 170)
+        SvnNewProjectOptionsDialog.setSizeGripEnabled(True)
+        self.gridLayout = QtWidgets.QGridLayout(SvnNewProjectOptionsDialog)
+        self.gridLayout.setObjectName("gridLayout")
+        self.textLabel1 = QtWidgets.QLabel(parent=SvnNewProjectOptionsDialog)
+        self.textLabel1.setObjectName("textLabel1")
+        self.gridLayout.addWidget(self.textLabel1, 0, 0, 1, 1)
+        self.protocolCombo = QtWidgets.QComboBox(parent=SvnNewProjectOptionsDialog)
+        self.protocolCombo.setObjectName("protocolCombo")
+        self.gridLayout.addWidget(self.protocolCombo, 0, 1, 1, 1)
+        self.vcsUrlLabel = QtWidgets.QLabel(parent=SvnNewProjectOptionsDialog)
+        self.vcsUrlLabel.setObjectName("vcsUrlLabel")
+        self.gridLayout.addWidget(self.vcsUrlLabel, 1, 0, 1, 1)
+        self.vcsUrlPicker = EricPathPicker(parent=SvnNewProjectOptionsDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.vcsUrlPicker.sizePolicy().hasHeightForWidth())
+        self.vcsUrlPicker.setSizePolicy(sizePolicy)
+        self.vcsUrlPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.vcsUrlPicker.setObjectName("vcsUrlPicker")
+        self.gridLayout.addWidget(self.vcsUrlPicker, 1, 1, 1, 1)
+        self.vcsTagLabel = QtWidgets.QLabel(parent=SvnNewProjectOptionsDialog)
+        self.vcsTagLabel.setObjectName("vcsTagLabel")
+        self.gridLayout.addWidget(self.vcsTagLabel, 2, 0, 1, 1)
+        self.vcsTagEdit = QtWidgets.QLineEdit(parent=SvnNewProjectOptionsDialog)
+        self.vcsTagEdit.setObjectName("vcsTagEdit")
+        self.gridLayout.addWidget(self.vcsTagEdit, 2, 1, 1, 1)
+        self.TextLabel4 = QtWidgets.QLabel(parent=SvnNewProjectOptionsDialog)
+        self.TextLabel4.setObjectName("TextLabel4")
+        self.gridLayout.addWidget(self.TextLabel4, 3, 0, 1, 1)
+        self.vcsProjectDirPicker = EricPathPicker(parent=SvnNewProjectOptionsDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.vcsProjectDirPicker.sizePolicy().hasHeightForWidth())
+        self.vcsProjectDirPicker.setSizePolicy(sizePolicy)
+        self.vcsProjectDirPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.vcsProjectDirPicker.setObjectName("vcsProjectDirPicker")
+        self.gridLayout.addWidget(self.vcsProjectDirPicker, 3, 1, 1, 1)
+        self.layoutCheckBox = QtWidgets.QCheckBox(parent=SvnNewProjectOptionsDialog)
+        self.layoutCheckBox.setChecked(True)
+        self.layoutCheckBox.setObjectName("layoutCheckBox")
+        self.gridLayout.addWidget(self.layoutCheckBox, 4, 0, 1, 2)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=SvnNewProjectOptionsDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout.addWidget(self.buttonBox, 5, 0, 1, 2)
+        self.textLabel1.setBuddy(self.protocolCombo)
+        self.vcsUrlLabel.setBuddy(self.vcsUrlPicker)
+        self.vcsTagLabel.setBuddy(self.vcsTagEdit)
+        self.TextLabel4.setBuddy(self.vcsProjectDirPicker)
+
+        self.retranslateUi(SvnNewProjectOptionsDialog)
+        self.buttonBox.accepted.connect(SvnNewProjectOptionsDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(SvnNewProjectOptionsDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(SvnNewProjectOptionsDialog)
+        SvnNewProjectOptionsDialog.setTabOrder(self.protocolCombo, self.vcsUrlPicker)
+        SvnNewProjectOptionsDialog.setTabOrder(self.vcsUrlPicker, self.vcsTagEdit)
+        SvnNewProjectOptionsDialog.setTabOrder(self.vcsTagEdit, self.vcsProjectDirPicker)
+        SvnNewProjectOptionsDialog.setTabOrder(self.vcsProjectDirPicker, self.layoutCheckBox)
+
+    def retranslateUi(self, SvnNewProjectOptionsDialog):
+        _translate = QtCore.QCoreApplication.translate
+        SvnNewProjectOptionsDialog.setWindowTitle(_translate("SvnNewProjectOptionsDialog", "New Project from Repository"))
+        SvnNewProjectOptionsDialog.setWhatsThis(_translate("SvnNewProjectOptionsDialog", "<b>New Project from Repository Dialog</b>\n"
+"<p>Enter the various repository infos into the entry fields. These values are used, when the new project is retrieved from the repository. If the checkbox is selected, the URL must end in the project name. A repository layout with project/tags, project/branches and project/trunk will be assumed. In this case, you may enter a tag or branch, which must look like tags/tagname or branches/branchname. If the checkbox is not selected, the URL must contain the complete path in the repository.</p>\n"
+"<p>For remote repositories the URL must contain the hostname.</p>"))
+        self.textLabel1.setText(_translate("SvnNewProjectOptionsDialog", "&Protocol:"))
+        self.protocolCombo.setToolTip(_translate("SvnNewProjectOptionsDialog", "Select the protocol to access the repository"))
+        self.vcsUrlLabel.setText(_translate("SvnNewProjectOptionsDialog", "&URL:"))
+        self.vcsUrlPicker.setToolTip(_translate("SvnNewProjectOptionsDialog", "Enter the url path of the module in the repository (without protocol part)"))
+        self.vcsUrlPicker.setWhatsThis(_translate("SvnNewProjectOptionsDialog", "<b>URL</b><p>Enter the URL to the module. For a repository with standard layout, this must not contain the trunk, tags or branches part.</p>"))
+        self.vcsTagLabel.setText(_translate("SvnNewProjectOptionsDialog", "&Tag:"))
+        self.vcsTagEdit.setToolTip(_translate("SvnNewProjectOptionsDialog", "Enter the tag the new project should be generated from"))
+        self.vcsTagEdit.setWhatsThis(_translate("SvnNewProjectOptionsDialog", "<b>Tag in VCS</b>\n"
+"<p>Enter the tag name the new project shall be generated from. Leave empty to retrieve the latest data from the repository.</p>"))
+        self.TextLabel4.setText(_translate("SvnNewProjectOptionsDialog", "Project &Directory:"))
+        self.vcsProjectDirPicker.setToolTip(_translate("SvnNewProjectOptionsDialog", "Enter the directory of the new project."))
+        self.vcsProjectDirPicker.setWhatsThis(_translate("SvnNewProjectOptionsDialog", "<b>Project Directory</b>\n"
+"<p>Enter the directory of the new project. It will be retrieved from \n"
+"the repository and be placed in this directory.</p>"))
+        self.layoutCheckBox.setToolTip(_translate("SvnNewProjectOptionsDialog", "Select to indicate, that the repository has a standard layout (projectdir/trunk, projectdir/tags, projectdir/branches)"))
+        self.layoutCheckBox.setText(_translate("SvnNewProjectOptionsDialog", "Repository has standard &layout"))
+        self.layoutCheckBox.setShortcut(_translate("SvnNewProjectOptionsDialog", "Alt+L"))
+from eric7.EricWidgets.EricPathPicker import EricPathPicker
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsSubversion/Ui_SvnOptionsDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,83 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsSubversion/SvnOptionsDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_SvnOptionsDialog(object):
+    def setupUi(self, SvnOptionsDialog):
+        SvnOptionsDialog.setObjectName("SvnOptionsDialog")
+        SvnOptionsDialog.resize(565, 149)
+        SvnOptionsDialog.setSizeGripEnabled(True)
+        self.gridLayout = QtWidgets.QGridLayout(SvnOptionsDialog)
+        self.gridLayout.setObjectName("gridLayout")
+        self.textLabel1 = QtWidgets.QLabel(parent=SvnOptionsDialog)
+        self.textLabel1.setObjectName("textLabel1")
+        self.gridLayout.addWidget(self.textLabel1, 0, 0, 1, 1)
+        self.protocolCombo = QtWidgets.QComboBox(parent=SvnOptionsDialog)
+        self.protocolCombo.setObjectName("protocolCombo")
+        self.gridLayout.addWidget(self.protocolCombo, 0, 1, 1, 1)
+        self.vcsUrlLabel = QtWidgets.QLabel(parent=SvnOptionsDialog)
+        self.vcsUrlLabel.setObjectName("vcsUrlLabel")
+        self.gridLayout.addWidget(self.vcsUrlLabel, 1, 0, 1, 1)
+        self.vcsUrlPicker = EricPathPicker(parent=SvnOptionsDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.vcsUrlPicker.sizePolicy().hasHeightForWidth())
+        self.vcsUrlPicker.setSizePolicy(sizePolicy)
+        self.vcsUrlPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.vcsUrlPicker.setObjectName("vcsUrlPicker")
+        self.gridLayout.addWidget(self.vcsUrlPicker, 1, 1, 1, 1)
+        self.TextLabel5 = QtWidgets.QLabel(parent=SvnOptionsDialog)
+        self.TextLabel5.setObjectName("TextLabel5")
+        self.gridLayout.addWidget(self.TextLabel5, 2, 0, 1, 1)
+        self.vcsLogEdit = QtWidgets.QLineEdit(parent=SvnOptionsDialog)
+        self.vcsLogEdit.setObjectName("vcsLogEdit")
+        self.gridLayout.addWidget(self.vcsLogEdit, 2, 1, 1, 1)
+        self.layoutCheckBox = QtWidgets.QCheckBox(parent=SvnOptionsDialog)
+        self.layoutCheckBox.setChecked(True)
+        self.layoutCheckBox.setObjectName("layoutCheckBox")
+        self.gridLayout.addWidget(self.layoutCheckBox, 3, 0, 1, 2)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=SvnOptionsDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout.addWidget(self.buttonBox, 4, 0, 1, 2)
+        self.textLabel1.setBuddy(self.protocolCombo)
+        self.vcsUrlLabel.setBuddy(self.vcsUrlPicker)
+        self.TextLabel5.setBuddy(self.vcsLogEdit)
+
+        self.retranslateUi(SvnOptionsDialog)
+        self.buttonBox.accepted.connect(SvnOptionsDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(SvnOptionsDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(SvnOptionsDialog)
+        SvnOptionsDialog.setTabOrder(self.protocolCombo, self.vcsUrlPicker)
+        SvnOptionsDialog.setTabOrder(self.vcsUrlPicker, self.vcsLogEdit)
+        SvnOptionsDialog.setTabOrder(self.vcsLogEdit, self.layoutCheckBox)
+
+    def retranslateUi(self, SvnOptionsDialog):
+        _translate = QtCore.QCoreApplication.translate
+        SvnOptionsDialog.setWindowTitle(_translate("SvnOptionsDialog", "Repository Infos"))
+        SvnOptionsDialog.setWhatsThis(_translate("SvnOptionsDialog", "<b>Repository Infos Dialog</b>\n"
+"<p>Enter the various infos into the entry fields. These values are used to generate a new project in the repository. If the checkbox is selected, the URL must end in the project name. A directory tree with project/tags, project/branches and project/trunk will be generated in the repository. If the checkbox is not selected, the URL must contain the complete path in the repository.</p>\n"
+"<p>For remote repositories the URL must contain the hostname.</p>"))
+        self.textLabel1.setText(_translate("SvnOptionsDialog", "&Protocol:"))
+        self.protocolCombo.setToolTip(_translate("SvnOptionsDialog", "Select the protocol to access the repository"))
+        self.vcsUrlLabel.setText(_translate("SvnOptionsDialog", "&URL:"))
+        self.vcsUrlPicker.setToolTip(_translate("SvnOptionsDialog", "Enter the url path of the module in the repository (without protocol part)"))
+        self.vcsUrlPicker.setWhatsThis(_translate("SvnOptionsDialog", "<b>URL</b><p>Enter the URL to the module. For a repository with standard layout, this must not contain the trunk, tags or branches part.</p>"))
+        self.TextLabel5.setText(_translate("SvnOptionsDialog", "Log &Message:"))
+        self.vcsLogEdit.setToolTip(_translate("SvnOptionsDialog", "Enter the log message for the new project."))
+        self.vcsLogEdit.setWhatsThis(_translate("SvnOptionsDialog", "<b>Log Message</b>\n"
+"<p>Enter the log message to be used for the new project.</p>"))
+        self.vcsLogEdit.setText(_translate("SvnOptionsDialog", "new project started"))
+        self.layoutCheckBox.setToolTip(_translate("SvnOptionsDialog", "Select, if the standard repository layout (projectdir/trunk, projectdir/tags, projectdir/branches) should be generated"))
+        self.layoutCheckBox.setText(_translate("SvnOptionsDialog", "Create standard repository &layout"))
+        self.layoutCheckBox.setShortcut(_translate("SvnOptionsDialog", "Alt+L"))
+from eric7.EricWidgets.EricPathPicker import EricPathPicker
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsSubversion/Ui_SvnPropListDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,66 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsSubversion/SvnPropListDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_SvnPropListDialog(object):
+    def setupUi(self, SvnPropListDialog):
+        SvnPropListDialog.setObjectName("SvnPropListDialog")
+        SvnPropListDialog.resize(826, 569)
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(SvnPropListDialog)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.propsList = QtWidgets.QTreeWidget(parent=SvnPropListDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(3)
+        sizePolicy.setHeightForWidth(self.propsList.sizePolicy().hasHeightForWidth())
+        self.propsList.setSizePolicy(sizePolicy)
+        self.propsList.setAlternatingRowColors(True)
+        self.propsList.setRootIsDecorated(False)
+        self.propsList.setItemsExpandable(False)
+        self.propsList.setObjectName("propsList")
+        self.verticalLayout_2.addWidget(self.propsList)
+        self.errorGroup = QtWidgets.QGroupBox(parent=SvnPropListDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(1)
+        sizePolicy.setHeightForWidth(self.errorGroup.sizePolicy().hasHeightForWidth())
+        self.errorGroup.setSizePolicy(sizePolicy)
+        self.errorGroup.setObjectName("errorGroup")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.errorGroup)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.errors = QtWidgets.QTextEdit(parent=self.errorGroup)
+        self.errors.setObjectName("errors")
+        self.verticalLayout.addWidget(self.errors)
+        self.verticalLayout_2.addWidget(self.errorGroup)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=SvnPropListDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout_2.addWidget(self.buttonBox)
+
+        self.retranslateUi(SvnPropListDialog)
+        QtCore.QMetaObject.connectSlotsByName(SvnPropListDialog)
+        SvnPropListDialog.setTabOrder(self.propsList, self.errors)
+        SvnPropListDialog.setTabOrder(self.errors, self.buttonBox)
+
+    def retranslateUi(self, SvnPropListDialog):
+        _translate = QtCore.QCoreApplication.translate
+        SvnPropListDialog.setWindowTitle(_translate("SvnPropListDialog", "Subversion List Properties"))
+        SvnPropListDialog.setWhatsThis(_translate("SvnPropListDialog", "<b>Subversion List Prperties</b>\n"
+"<p>This dialog shows the properties of the selected file or project.</p>"))
+        self.propsList.setWhatsThis(_translate("SvnPropListDialog", "<b>Properties List</b>\n"
+"<p>This shows the properties of the selected file or project.</p>"))
+        self.propsList.setSortingEnabled(True)
+        self.propsList.headerItem().setText(0, _translate("SvnPropListDialog", "Path"))
+        self.propsList.headerItem().setText(1, _translate("SvnPropListDialog", "Name"))
+        self.propsList.headerItem().setText(2, _translate("SvnPropListDialog", "Value"))
+        self.errorGroup.setTitle(_translate("SvnPropListDialog", "Errors"))
+        self.errors.setWhatsThis(_translate("SvnPropListDialog", "<b>Subversion proplist errors</b>\n"
+"<p>This shows possible error messages of the subversion proplist command.</p>"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsSubversion/Ui_SvnPropSetDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,82 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsSubversion/SvnPropSetDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_SvnPropSetDialog(object):
+    def setupUi(self, SvnPropSetDialog):
+        SvnPropSetDialog.setObjectName("SvnPropSetDialog")
+        SvnPropSetDialog.resize(494, 385)
+        SvnPropSetDialog.setSizeGripEnabled(True)
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(SvnPropSetDialog)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.hboxlayout = QtWidgets.QHBoxLayout()
+        self.hboxlayout.setObjectName("hboxlayout")
+        self.textLabel1 = QtWidgets.QLabel(parent=SvnPropSetDialog)
+        self.textLabel1.setObjectName("textLabel1")
+        self.hboxlayout.addWidget(self.textLabel1)
+        self.propNameEdit = QtWidgets.QLineEdit(parent=SvnPropSetDialog)
+        self.propNameEdit.setObjectName("propNameEdit")
+        self.hboxlayout.addWidget(self.propNameEdit)
+        self.verticalLayout_2.addLayout(self.hboxlayout)
+        self.groupBox = QtWidgets.QGroupBox(parent=SvnPropSetDialog)
+        self.groupBox.setObjectName("groupBox")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.groupBox)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.textRadioButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.textRadioButton.setChecked(True)
+        self.textRadioButton.setObjectName("textRadioButton")
+        self.verticalLayout.addWidget(self.textRadioButton)
+        self.propTextEdit = QtWidgets.QTextEdit(parent=self.groupBox)
+        self.propTextEdit.setTabChangesFocus(True)
+        self.propTextEdit.setAcceptRichText(False)
+        self.propTextEdit.setObjectName("propTextEdit")
+        self.verticalLayout.addWidget(self.propTextEdit)
+        self.fileRadioButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.fileRadioButton.setFocusPolicy(QtCore.Qt.FocusPolicy.NoFocus)
+        self.fileRadioButton.setObjectName("fileRadioButton")
+        self.verticalLayout.addWidget(self.fileRadioButton)
+        self.propFilePicker = EricPathPicker(parent=self.groupBox)
+        self.propFilePicker.setEnabled(False)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.propFilePicker.sizePolicy().hasHeightForWidth())
+        self.propFilePicker.setSizePolicy(sizePolicy)
+        self.propFilePicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.propFilePicker.setObjectName("propFilePicker")
+        self.verticalLayout.addWidget(self.propFilePicker)
+        self.verticalLayout_2.addWidget(self.groupBox)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=SvnPropSetDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout_2.addWidget(self.buttonBox)
+
+        self.retranslateUi(SvnPropSetDialog)
+        self.textRadioButton.toggled['bool'].connect(self.propTextEdit.setEnabled) # type: ignore
+        self.buttonBox.accepted.connect(SvnPropSetDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(SvnPropSetDialog.reject) # type: ignore
+        self.fileRadioButton.toggled['bool'].connect(self.propFilePicker.setEnabled) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(SvnPropSetDialog)
+        SvnPropSetDialog.setTabOrder(self.propNameEdit, self.textRadioButton)
+        SvnPropSetDialog.setTabOrder(self.textRadioButton, self.propTextEdit)
+        SvnPropSetDialog.setTabOrder(self.propTextEdit, self.propFilePicker)
+
+    def retranslateUi(self, SvnPropSetDialog):
+        _translate = QtCore.QCoreApplication.translate
+        SvnPropSetDialog.setWindowTitle(_translate("SvnPropSetDialog", "Set Subversion Property"))
+        self.textLabel1.setText(_translate("SvnPropSetDialog", "Property Name:"))
+        self.propNameEdit.setToolTip(_translate("SvnPropSetDialog", "Enter the name of the property to be set"))
+        self.groupBox.setTitle(_translate("SvnPropSetDialog", "Select property source"))
+        self.textRadioButton.setText(_translate("SvnPropSetDialog", "Text"))
+        self.propTextEdit.setToolTip(_translate("SvnPropSetDialog", "Enter text of the property"))
+        self.fileRadioButton.setText(_translate("SvnPropSetDialog", "File"))
+        self.propFilePicker.setToolTip(_translate("SvnPropSetDialog", "Enter the name of a file for the property"))
+from eric7.EricWidgets.EricPathPicker import EricPathPicker
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsSubversion/Ui_SvnRelocateDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,59 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsSubversion/SvnRelocateDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_SvnRelocateDialog(object):
+    def setupUi(self, SvnRelocateDialog):
+        SvnRelocateDialog.setObjectName("SvnRelocateDialog")
+        SvnRelocateDialog.resize(531, 119)
+        SvnRelocateDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(SvnRelocateDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.gridlayout = QtWidgets.QGridLayout()
+        self.gridlayout.setObjectName("gridlayout")
+        self.currUrlLabel = QtWidgets.QLabel(parent=SvnRelocateDialog)
+        self.currUrlLabel.setFrameShape(QtWidgets.QFrame.Shape.StyledPanel)
+        self.currUrlLabel.setText("")
+        self.currUrlLabel.setObjectName("currUrlLabel")
+        self.gridlayout.addWidget(self.currUrlLabel, 0, 1, 1, 1)
+        self.label_2 = QtWidgets.QLabel(parent=SvnRelocateDialog)
+        self.label_2.setObjectName("label_2")
+        self.gridlayout.addWidget(self.label_2, 1, 0, 1, 1)
+        self.newUrlEdit = QtWidgets.QLineEdit(parent=SvnRelocateDialog)
+        self.newUrlEdit.setObjectName("newUrlEdit")
+        self.gridlayout.addWidget(self.newUrlEdit, 1, 1, 1, 1)
+        self.label = QtWidgets.QLabel(parent=SvnRelocateDialog)
+        self.label.setObjectName("label")
+        self.gridlayout.addWidget(self.label, 0, 0, 1, 1)
+        self.verticalLayout.addLayout(self.gridlayout)
+        self.insideCheckBox = QtWidgets.QCheckBox(parent=SvnRelocateDialog)
+        self.insideCheckBox.setObjectName("insideCheckBox")
+        self.verticalLayout.addWidget(self.insideCheckBox)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=SvnRelocateDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(SvnRelocateDialog)
+        self.buttonBox.accepted.connect(SvnRelocateDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(SvnRelocateDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(SvnRelocateDialog)
+        SvnRelocateDialog.setTabOrder(self.newUrlEdit, self.insideCheckBox)
+        SvnRelocateDialog.setTabOrder(self.insideCheckBox, self.buttonBox)
+
+    def retranslateUi(self, SvnRelocateDialog):
+        _translate = QtCore.QCoreApplication.translate
+        SvnRelocateDialog.setWindowTitle(_translate("SvnRelocateDialog", "Subversion Relocate"))
+        self.label_2.setText(_translate("SvnRelocateDialog", "New repository URL:"))
+        self.newUrlEdit.setToolTip(_translate("SvnRelocateDialog", "Enter the URL of the repository the working space should be relocated to"))
+        self.label.setText(_translate("SvnRelocateDialog", "Current repository URL:"))
+        self.insideCheckBox.setToolTip(_translate("SvnRelocateDialog", "Select, if the relocate should happen inside the repository"))
+        self.insideCheckBox.setText(_translate("SvnRelocateDialog", "Relocate inside repository (used, if the repository layout has changed)"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsSubversion/Ui_SvnRepoBrowserDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,110 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsSubversion/SvnRepoBrowserDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_SvnRepoBrowserDialog(object):
+    def setupUi(self, SvnRepoBrowserDialog):
+        SvnRepoBrowserDialog.setObjectName("SvnRepoBrowserDialog")
+        SvnRepoBrowserDialog.resize(650, 667)
+        self.gridlayout = QtWidgets.QGridLayout(SvnRepoBrowserDialog)
+        self.gridlayout.setObjectName("gridlayout")
+        self.label = QtWidgets.QLabel(parent=SvnRepoBrowserDialog)
+        self.label.setObjectName("label")
+        self.gridlayout.addWidget(self.label, 0, 0, 1, 1)
+        self.urlCombo = QtWidgets.QComboBox(parent=SvnRepoBrowserDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.urlCombo.sizePolicy().hasHeightForWidth())
+        self.urlCombo.setSizePolicy(sizePolicy)
+        self.urlCombo.setEditable(True)
+        self.urlCombo.setInsertPolicy(QtWidgets.QComboBox.InsertPolicy.InsertAtTop)
+        self.urlCombo.setObjectName("urlCombo")
+        self.gridlayout.addWidget(self.urlCombo, 0, 1, 1, 1)
+        self.repoTree = QtWidgets.QTreeWidget(parent=SvnRepoBrowserDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(4)
+        sizePolicy.setHeightForWidth(self.repoTree.sizePolicy().hasHeightForWidth())
+        self.repoTree.setSizePolicy(sizePolicy)
+        self.repoTree.setAlternatingRowColors(True)
+        self.repoTree.setAllColumnsShowFocus(True)
+        self.repoTree.setColumnCount(5)
+        self.repoTree.setObjectName("repoTree")
+        self.gridlayout.addWidget(self.repoTree, 1, 0, 1, 2)
+        self.errorGroup = QtWidgets.QGroupBox(parent=SvnRepoBrowserDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(1)
+        sizePolicy.setHeightForWidth(self.errorGroup.sizePolicy().hasHeightForWidth())
+        self.errorGroup.setSizePolicy(sizePolicy)
+        self.errorGroup.setObjectName("errorGroup")
+        self.vboxlayout = QtWidgets.QVBoxLayout(self.errorGroup)
+        self.vboxlayout.setObjectName("vboxlayout")
+        self.errors = QtWidgets.QTextEdit(parent=self.errorGroup)
+        self.errors.setReadOnly(True)
+        self.errors.setAcceptRichText(False)
+        self.errors.setObjectName("errors")
+        self.vboxlayout.addWidget(self.errors)
+        self.gridlayout.addWidget(self.errorGroup, 2, 0, 1, 2)
+        self.inputGroup = QtWidgets.QGroupBox(parent=SvnRepoBrowserDialog)
+        self.inputGroup.setObjectName("inputGroup")
+        self.gridlayout1 = QtWidgets.QGridLayout(self.inputGroup)
+        self.gridlayout1.setObjectName("gridlayout1")
+        spacerItem = QtWidgets.QSpacerItem(327, 29, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridlayout1.addItem(spacerItem, 1, 1, 1, 1)
+        self.sendButton = QtWidgets.QPushButton(parent=self.inputGroup)
+        self.sendButton.setObjectName("sendButton")
+        self.gridlayout1.addWidget(self.sendButton, 1, 2, 1, 1)
+        self.input = QtWidgets.QLineEdit(parent=self.inputGroup)
+        self.input.setObjectName("input")
+        self.gridlayout1.addWidget(self.input, 0, 0, 1, 3)
+        self.passwordCheckBox = QtWidgets.QCheckBox(parent=self.inputGroup)
+        self.passwordCheckBox.setObjectName("passwordCheckBox")
+        self.gridlayout1.addWidget(self.passwordCheckBox, 1, 0, 1, 1)
+        self.gridlayout.addWidget(self.inputGroup, 3, 0, 1, 2)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=SvnRepoBrowserDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Close|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridlayout.addWidget(self.buttonBox, 4, 0, 1, 2)
+
+        self.retranslateUi(SvnRepoBrowserDialog)
+        self.buttonBox.rejected.connect(SvnRepoBrowserDialog.reject) # type: ignore
+        self.buttonBox.accepted.connect(SvnRepoBrowserDialog.accept) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(SvnRepoBrowserDialog)
+        SvnRepoBrowserDialog.setTabOrder(self.urlCombo, self.repoTree)
+        SvnRepoBrowserDialog.setTabOrder(self.repoTree, self.errors)
+        SvnRepoBrowserDialog.setTabOrder(self.errors, self.input)
+        SvnRepoBrowserDialog.setTabOrder(self.input, self.passwordCheckBox)
+        SvnRepoBrowserDialog.setTabOrder(self.passwordCheckBox, self.sendButton)
+        SvnRepoBrowserDialog.setTabOrder(self.sendButton, self.buttonBox)
+
+    def retranslateUi(self, SvnRepoBrowserDialog):
+        _translate = QtCore.QCoreApplication.translate
+        SvnRepoBrowserDialog.setWindowTitle(_translate("SvnRepoBrowserDialog", "Subversion Repository Browser"))
+        self.label.setText(_translate("SvnRepoBrowserDialog", "URL:"))
+        self.urlCombo.setToolTip(_translate("SvnRepoBrowserDialog", "Enter the URL of the repository"))
+        self.repoTree.setSortingEnabled(True)
+        self.repoTree.headerItem().setText(0, _translate("SvnRepoBrowserDialog", "File"))
+        self.repoTree.headerItem().setText(1, _translate("SvnRepoBrowserDialog", "Revision"))
+        self.repoTree.headerItem().setText(2, _translate("SvnRepoBrowserDialog", "Author"))
+        self.repoTree.headerItem().setText(3, _translate("SvnRepoBrowserDialog", "Size"))
+        self.repoTree.headerItem().setText(4, _translate("SvnRepoBrowserDialog", "Date"))
+        self.errorGroup.setTitle(_translate("SvnRepoBrowserDialog", "Errors"))
+        self.errors.setWhatsThis(_translate("SvnRepoBrowserDialog", "<b>Subversion errors</b><p>This shows possible error messages of the svn list and svn info commands.</p>"))
+        self.inputGroup.setTitle(_translate("SvnRepoBrowserDialog", "Input"))
+        self.sendButton.setToolTip(_translate("SvnRepoBrowserDialog", "Press to send the input to the subversion process"))
+        self.sendButton.setText(_translate("SvnRepoBrowserDialog", "&Send"))
+        self.sendButton.setShortcut(_translate("SvnRepoBrowserDialog", "Alt+S"))
+        self.input.setToolTip(_translate("SvnRepoBrowserDialog", "Enter data to be sent to the subversion process"))
+        self.passwordCheckBox.setToolTip(_translate("SvnRepoBrowserDialog", "Select to switch the input field to password mode"))
+        self.passwordCheckBox.setText(_translate("SvnRepoBrowserDialog", "&Password Mode"))
+        self.passwordCheckBox.setShortcut(_translate("SvnRepoBrowserDialog", "Alt+P"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsSubversion/Ui_SvnRevisionSelectionDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,198 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsSubversion/SvnRevisionSelectionDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_SvnRevisionSelectionDialog(object):
+    def setupUi(self, SvnRevisionSelectionDialog):
+        SvnRevisionSelectionDialog.setObjectName("SvnRevisionSelectionDialog")
+        SvnRevisionSelectionDialog.resize(399, 519)
+        SvnRevisionSelectionDialog.setSizeGripEnabled(True)
+        self.vboxlayout = QtWidgets.QVBoxLayout(SvnRevisionSelectionDialog)
+        self.vboxlayout.setObjectName("vboxlayout")
+        self.rev1GroupBox = QtWidgets.QGroupBox(parent=SvnRevisionSelectionDialog)
+        self.rev1GroupBox.setObjectName("rev1GroupBox")
+        self.gridlayout = QtWidgets.QGridLayout(self.rev1GroupBox)
+        self.gridlayout.setObjectName("gridlayout")
+        self.prev1Button = QtWidgets.QRadioButton(parent=self.rev1GroupBox)
+        self.prev1Button.setObjectName("prev1Button")
+        self.gridlayout.addWidget(self.prev1Button, 6, 0, 1, 1)
+        self.committed1Button = QtWidgets.QRadioButton(parent=self.rev1GroupBox)
+        self.committed1Button.setObjectName("committed1Button")
+        self.gridlayout.addWidget(self.committed1Button, 5, 0, 1, 1)
+        self.base1Button = QtWidgets.QRadioButton(parent=self.rev1GroupBox)
+        self.base1Button.setObjectName("base1Button")
+        self.gridlayout.addWidget(self.base1Button, 4, 0, 1, 1)
+        self.head1Button = QtWidgets.QRadioButton(parent=self.rev1GroupBox)
+        self.head1Button.setChecked(True)
+        self.head1Button.setObjectName("head1Button")
+        self.gridlayout.addWidget(self.head1Button, 2, 0, 1, 1)
+        self.working1Button = QtWidgets.QRadioButton(parent=self.rev1GroupBox)
+        self.working1Button.setChecked(False)
+        self.working1Button.setObjectName("working1Button")
+        self.gridlayout.addWidget(self.working1Button, 3, 0, 1, 1)
+        self.number1SpinBox = QtWidgets.QSpinBox(parent=self.rev1GroupBox)
+        self.number1SpinBox.setEnabled(False)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.number1SpinBox.sizePolicy().hasHeightForWidth())
+        self.number1SpinBox.setSizePolicy(sizePolicy)
+        self.number1SpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight)
+        self.number1SpinBox.setMinimum(1)
+        self.number1SpinBox.setMaximum(999999999)
+        self.number1SpinBox.setObjectName("number1SpinBox")
+        self.gridlayout.addWidget(self.number1SpinBox, 0, 1, 1, 1)
+        self.time1Edit = QtWidgets.QTimeEdit(parent=self.rev1GroupBox)
+        self.time1Edit.setEnabled(False)
+        self.time1Edit.setObjectName("time1Edit")
+        self.gridlayout.addWidget(self.time1Edit, 1, 2, 1, 1)
+        self.date1Edit = QtWidgets.QDateEdit(parent=self.rev1GroupBox)
+        self.date1Edit.setEnabled(False)
+        self.date1Edit.setCalendarPopup(True)
+        self.date1Edit.setObjectName("date1Edit")
+        self.gridlayout.addWidget(self.date1Edit, 1, 1, 1, 1)
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridlayout.addItem(spacerItem, 0, 2, 1, 1)
+        self.number1Button = QtWidgets.QRadioButton(parent=self.rev1GroupBox)
+        self.number1Button.setObjectName("number1Button")
+        self.gridlayout.addWidget(self.number1Button, 0, 0, 1, 1)
+        self.date1Button = QtWidgets.QRadioButton(parent=self.rev1GroupBox)
+        self.date1Button.setObjectName("date1Button")
+        self.gridlayout.addWidget(self.date1Button, 1, 0, 1, 1)
+        self.vboxlayout.addWidget(self.rev1GroupBox)
+        self.rev2GroupBox = QtWidgets.QGroupBox(parent=SvnRevisionSelectionDialog)
+        self.rev2GroupBox.setObjectName("rev2GroupBox")
+        self.gridlayout1 = QtWidgets.QGridLayout(self.rev2GroupBox)
+        self.gridlayout1.setObjectName("gridlayout1")
+        self.prev2Button = QtWidgets.QRadioButton(parent=self.rev2GroupBox)
+        self.prev2Button.setObjectName("prev2Button")
+        self.gridlayout1.addWidget(self.prev2Button, 6, 0, 1, 1)
+        self.committed2Button = QtWidgets.QRadioButton(parent=self.rev2GroupBox)
+        self.committed2Button.setObjectName("committed2Button")
+        self.gridlayout1.addWidget(self.committed2Button, 5, 0, 1, 1)
+        self.base2Button = QtWidgets.QRadioButton(parent=self.rev2GroupBox)
+        self.base2Button.setObjectName("base2Button")
+        self.gridlayout1.addWidget(self.base2Button, 4, 0, 1, 1)
+        self.head2Button = QtWidgets.QRadioButton(parent=self.rev2GroupBox)
+        self.head2Button.setChecked(False)
+        self.head2Button.setObjectName("head2Button")
+        self.gridlayout1.addWidget(self.head2Button, 2, 0, 1, 1)
+        self.working2Button = QtWidgets.QRadioButton(parent=self.rev2GroupBox)
+        self.working2Button.setChecked(True)
+        self.working2Button.setObjectName("working2Button")
+        self.gridlayout1.addWidget(self.working2Button, 3, 0, 1, 1)
+        self.number2SpinBox = QtWidgets.QSpinBox(parent=self.rev2GroupBox)
+        self.number2SpinBox.setEnabled(False)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.number2SpinBox.sizePolicy().hasHeightForWidth())
+        self.number2SpinBox.setSizePolicy(sizePolicy)
+        self.number2SpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight)
+        self.number2SpinBox.setMinimum(1)
+        self.number2SpinBox.setMaximum(999999999)
+        self.number2SpinBox.setObjectName("number2SpinBox")
+        self.gridlayout1.addWidget(self.number2SpinBox, 0, 1, 1, 1)
+        self.time2Edit = QtWidgets.QTimeEdit(parent=self.rev2GroupBox)
+        self.time2Edit.setEnabled(False)
+        self.time2Edit.setObjectName("time2Edit")
+        self.gridlayout1.addWidget(self.time2Edit, 1, 2, 1, 1)
+        self.date2Edit = QtWidgets.QDateEdit(parent=self.rev2GroupBox)
+        self.date2Edit.setEnabled(False)
+        self.date2Edit.setCalendarPopup(True)
+        self.date2Edit.setObjectName("date2Edit")
+        self.gridlayout1.addWidget(self.date2Edit, 1, 1, 1, 1)
+        spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridlayout1.addItem(spacerItem1, 0, 2, 1, 1)
+        self.number2Button = QtWidgets.QRadioButton(parent=self.rev2GroupBox)
+        self.number2Button.setObjectName("number2Button")
+        self.gridlayout1.addWidget(self.number2Button, 0, 0, 1, 1)
+        self.date2Button = QtWidgets.QRadioButton(parent=self.rev2GroupBox)
+        self.date2Button.setObjectName("date2Button")
+        self.gridlayout1.addWidget(self.date2Button, 1, 0, 1, 1)
+        self.vboxlayout.addWidget(self.rev2GroupBox)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=SvnRevisionSelectionDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.vboxlayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(SvnRevisionSelectionDialog)
+        self.buttonBox.accepted.connect(SvnRevisionSelectionDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(SvnRevisionSelectionDialog.reject) # type: ignore
+        self.number1Button.toggled['bool'].connect(self.number1SpinBox.setEnabled) # type: ignore
+        self.date1Button.toggled['bool'].connect(self.date1Edit.setEnabled) # type: ignore
+        self.date1Button.toggled['bool'].connect(self.time1Edit.setEnabled) # type: ignore
+        self.number2Button.toggled['bool'].connect(self.number2SpinBox.setEnabled) # type: ignore
+        self.date2Button.toggled['bool'].connect(self.date2Edit.setEnabled) # type: ignore
+        self.date2Button.toggled['bool'].connect(self.time2Edit.setEnabled) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(SvnRevisionSelectionDialog)
+        SvnRevisionSelectionDialog.setTabOrder(self.number1Button, self.number1SpinBox)
+        SvnRevisionSelectionDialog.setTabOrder(self.number1SpinBox, self.date1Button)
+        SvnRevisionSelectionDialog.setTabOrder(self.date1Button, self.date1Edit)
+        SvnRevisionSelectionDialog.setTabOrder(self.date1Edit, self.time1Edit)
+        SvnRevisionSelectionDialog.setTabOrder(self.time1Edit, self.head1Button)
+        SvnRevisionSelectionDialog.setTabOrder(self.head1Button, self.working1Button)
+        SvnRevisionSelectionDialog.setTabOrder(self.working1Button, self.base1Button)
+        SvnRevisionSelectionDialog.setTabOrder(self.base1Button, self.committed1Button)
+        SvnRevisionSelectionDialog.setTabOrder(self.committed1Button, self.prev1Button)
+        SvnRevisionSelectionDialog.setTabOrder(self.prev1Button, self.number2Button)
+        SvnRevisionSelectionDialog.setTabOrder(self.number2Button, self.number2SpinBox)
+        SvnRevisionSelectionDialog.setTabOrder(self.number2SpinBox, self.date2Button)
+        SvnRevisionSelectionDialog.setTabOrder(self.date2Button, self.date2Edit)
+        SvnRevisionSelectionDialog.setTabOrder(self.date2Edit, self.time2Edit)
+        SvnRevisionSelectionDialog.setTabOrder(self.time2Edit, self.head2Button)
+        SvnRevisionSelectionDialog.setTabOrder(self.head2Button, self.working2Button)
+        SvnRevisionSelectionDialog.setTabOrder(self.working2Button, self.base2Button)
+        SvnRevisionSelectionDialog.setTabOrder(self.base2Button, self.committed2Button)
+        SvnRevisionSelectionDialog.setTabOrder(self.committed2Button, self.prev2Button)
+        SvnRevisionSelectionDialog.setTabOrder(self.prev2Button, self.buttonBox)
+
+    def retranslateUi(self, SvnRevisionSelectionDialog):
+        _translate = QtCore.QCoreApplication.translate
+        SvnRevisionSelectionDialog.setWindowTitle(_translate("SvnRevisionSelectionDialog", "Subversion Diff"))
+        self.rev1GroupBox.setTitle(_translate("SvnRevisionSelectionDialog", "Revision &1"))
+        self.prev1Button.setToolTip(_translate("SvnRevisionSelectionDialog", "Select revision before last commit"))
+        self.prev1Button.setText(_translate("SvnRevisionSelectionDialog", "PREV"))
+        self.committed1Button.setToolTip(_translate("SvnRevisionSelectionDialog", "Select last committed revision"))
+        self.committed1Button.setText(_translate("SvnRevisionSelectionDialog", "COMMITTED"))
+        self.base1Button.setToolTip(_translate("SvnRevisionSelectionDialog", "Select base revision"))
+        self.base1Button.setText(_translate("SvnRevisionSelectionDialog", "BASE"))
+        self.head1Button.setToolTip(_translate("SvnRevisionSelectionDialog", "Select head revision of repository"))
+        self.head1Button.setText(_translate("SvnRevisionSelectionDialog", "HEAD"))
+        self.working1Button.setToolTip(_translate("SvnRevisionSelectionDialog", "Select working revision"))
+        self.working1Button.setText(_translate("SvnRevisionSelectionDialog", "WORKING"))
+        self.number1SpinBox.setToolTip(_translate("SvnRevisionSelectionDialog", "Enter a revision number"))
+        self.time1Edit.setToolTip(_translate("SvnRevisionSelectionDialog", "Enter time of revision"))
+        self.date1Edit.setToolTip(_translate("SvnRevisionSelectionDialog", "Enter date of revision"))
+        self.date1Edit.setDisplayFormat(_translate("SvnRevisionSelectionDialog", "yyyy-MM-dd"))
+        self.number1Button.setToolTip(_translate("SvnRevisionSelectionDialog", "Select to specify a revision by number"))
+        self.number1Button.setText(_translate("SvnRevisionSelectionDialog", "Number"))
+        self.date1Button.setToolTip(_translate("SvnRevisionSelectionDialog", "Select to specify a revision by date and time"))
+        self.date1Button.setText(_translate("SvnRevisionSelectionDialog", "Date"))
+        self.rev2GroupBox.setTitle(_translate("SvnRevisionSelectionDialog", "Revision &2"))
+        self.prev2Button.setToolTip(_translate("SvnRevisionSelectionDialog", "Select revision before last commit"))
+        self.prev2Button.setText(_translate("SvnRevisionSelectionDialog", "PREV"))
+        self.committed2Button.setToolTip(_translate("SvnRevisionSelectionDialog", "Select last committed revision"))
+        self.committed2Button.setText(_translate("SvnRevisionSelectionDialog", "COMMITTED"))
+        self.base2Button.setToolTip(_translate("SvnRevisionSelectionDialog", "Select base revision"))
+        self.base2Button.setText(_translate("SvnRevisionSelectionDialog", "BASE"))
+        self.head2Button.setToolTip(_translate("SvnRevisionSelectionDialog", "Select head revision of repository"))
+        self.head2Button.setText(_translate("SvnRevisionSelectionDialog", "HEAD"))
+        self.working2Button.setToolTip(_translate("SvnRevisionSelectionDialog", "Select working revision"))
+        self.working2Button.setText(_translate("SvnRevisionSelectionDialog", "WORKING"))
+        self.number2SpinBox.setToolTip(_translate("SvnRevisionSelectionDialog", "Enter a revision number"))
+        self.time2Edit.setToolTip(_translate("SvnRevisionSelectionDialog", "Enter time of revision"))
+        self.date2Edit.setToolTip(_translate("SvnRevisionSelectionDialog", "Enter date of revision"))
+        self.date2Edit.setDisplayFormat(_translate("SvnRevisionSelectionDialog", "yyyy-MM-dd"))
+        self.number2Button.setToolTip(_translate("SvnRevisionSelectionDialog", "Select to specify a revision by number"))
+        self.number2Button.setText(_translate("SvnRevisionSelectionDialog", "Number"))
+        self.date2Button.setToolTip(_translate("SvnRevisionSelectionDialog", "Select to specify a revision by date and time"))
+        self.date2Button.setText(_translate("SvnRevisionSelectionDialog", "Date"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsSubversion/Ui_SvnStatusDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,163 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsSubversion/SvnStatusDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_SvnStatusDialog(object):
+    def setupUi(self, SvnStatusDialog):
+        SvnStatusDialog.setObjectName("SvnStatusDialog")
+        SvnStatusDialog.resize(955, 646)
+        self.verticalLayout = QtWidgets.QVBoxLayout(SvnStatusDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_2.addItem(spacerItem)
+        self.label = QtWidgets.QLabel(parent=SvnStatusDialog)
+        self.label.setObjectName("label")
+        self.horizontalLayout_2.addWidget(self.label)
+        self.statusFilterCombo = QtWidgets.QComboBox(parent=SvnStatusDialog)
+        self.statusFilterCombo.setSizeAdjustPolicy(QtWidgets.QComboBox.SizeAdjustPolicy.AdjustToContents)
+        self.statusFilterCombo.setObjectName("statusFilterCombo")
+        self.horizontalLayout_2.addWidget(self.statusFilterCombo)
+        self.verticalLayout.addLayout(self.horizontalLayout_2)
+        self.statusList = QtWidgets.QTreeWidget(parent=SvnStatusDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(3)
+        sizePolicy.setHeightForWidth(self.statusList.sizePolicy().hasHeightForWidth())
+        self.statusList.setSizePolicy(sizePolicy)
+        self.statusList.setAlternatingRowColors(True)
+        self.statusList.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.ExtendedSelection)
+        self.statusList.setRootIsDecorated(False)
+        self.statusList.setObjectName("statusList")
+        self.verticalLayout.addWidget(self.statusList)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.commitButton = QtWidgets.QPushButton(parent=SvnStatusDialog)
+        self.commitButton.setObjectName("commitButton")
+        self.horizontalLayout.addWidget(self.commitButton)
+        self.line = QtWidgets.QFrame(parent=SvnStatusDialog)
+        self.line.setFrameShape(QtWidgets.QFrame.Shape.VLine)
+        self.line.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line.setObjectName("line")
+        self.horizontalLayout.addWidget(self.line)
+        self.addButton = QtWidgets.QPushButton(parent=SvnStatusDialog)
+        self.addButton.setObjectName("addButton")
+        self.horizontalLayout.addWidget(self.addButton)
+        self.diffButton = QtWidgets.QPushButton(parent=SvnStatusDialog)
+        self.diffButton.setObjectName("diffButton")
+        self.horizontalLayout.addWidget(self.diffButton)
+        self.sbsDiffButton = QtWidgets.QPushButton(parent=SvnStatusDialog)
+        self.sbsDiffButton.setObjectName("sbsDiffButton")
+        self.horizontalLayout.addWidget(self.sbsDiffButton)
+        self.revertButton = QtWidgets.QPushButton(parent=SvnStatusDialog)
+        self.revertButton.setObjectName("revertButton")
+        self.horizontalLayout.addWidget(self.revertButton)
+        self.restoreButton = QtWidgets.QPushButton(parent=SvnStatusDialog)
+        self.restoreButton.setObjectName("restoreButton")
+        self.horizontalLayout.addWidget(self.restoreButton)
+        spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem1)
+        self.verticalLayout.addLayout(self.horizontalLayout)
+        self.errorGroup = QtWidgets.QGroupBox(parent=SvnStatusDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(1)
+        sizePolicy.setHeightForWidth(self.errorGroup.sizePolicy().hasHeightForWidth())
+        self.errorGroup.setSizePolicy(sizePolicy)
+        self.errorGroup.setObjectName("errorGroup")
+        self.vboxlayout = QtWidgets.QVBoxLayout(self.errorGroup)
+        self.vboxlayout.setObjectName("vboxlayout")
+        self.errors = QtWidgets.QTextEdit(parent=self.errorGroup)
+        self.errors.setReadOnly(True)
+        self.errors.setAcceptRichText(False)
+        self.errors.setObjectName("errors")
+        self.vboxlayout.addWidget(self.errors)
+        self.verticalLayout.addWidget(self.errorGroup)
+        self.inputGroup = QtWidgets.QGroupBox(parent=SvnStatusDialog)
+        self.inputGroup.setObjectName("inputGroup")
+        self.gridlayout = QtWidgets.QGridLayout(self.inputGroup)
+        self.gridlayout.setObjectName("gridlayout")
+        spacerItem2 = QtWidgets.QSpacerItem(327, 29, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridlayout.addItem(spacerItem2, 1, 1, 1, 1)
+        self.sendButton = QtWidgets.QPushButton(parent=self.inputGroup)
+        self.sendButton.setObjectName("sendButton")
+        self.gridlayout.addWidget(self.sendButton, 1, 2, 1, 1)
+        self.input = QtWidgets.QLineEdit(parent=self.inputGroup)
+        self.input.setObjectName("input")
+        self.gridlayout.addWidget(self.input, 0, 0, 1, 3)
+        self.passwordCheckBox = QtWidgets.QCheckBox(parent=self.inputGroup)
+        self.passwordCheckBox.setObjectName("passwordCheckBox")
+        self.gridlayout.addWidget(self.passwordCheckBox, 1, 0, 1, 1)
+        self.verticalLayout.addWidget(self.inputGroup)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=SvnStatusDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+        self.label.setBuddy(self.statusFilterCombo)
+
+        self.retranslateUi(SvnStatusDialog)
+        QtCore.QMetaObject.connectSlotsByName(SvnStatusDialog)
+        SvnStatusDialog.setTabOrder(self.statusFilterCombo, self.statusList)
+        SvnStatusDialog.setTabOrder(self.statusList, self.commitButton)
+        SvnStatusDialog.setTabOrder(self.commitButton, self.addButton)
+        SvnStatusDialog.setTabOrder(self.addButton, self.diffButton)
+        SvnStatusDialog.setTabOrder(self.diffButton, self.sbsDiffButton)
+        SvnStatusDialog.setTabOrder(self.sbsDiffButton, self.revertButton)
+        SvnStatusDialog.setTabOrder(self.revertButton, self.restoreButton)
+        SvnStatusDialog.setTabOrder(self.restoreButton, self.errors)
+        SvnStatusDialog.setTabOrder(self.errors, self.input)
+        SvnStatusDialog.setTabOrder(self.input, self.passwordCheckBox)
+        SvnStatusDialog.setTabOrder(self.passwordCheckBox, self.sendButton)
+        SvnStatusDialog.setTabOrder(self.sendButton, self.buttonBox)
+
+    def retranslateUi(self, SvnStatusDialog):
+        _translate = QtCore.QCoreApplication.translate
+        SvnStatusDialog.setWindowTitle(_translate("SvnStatusDialog", "Subversion Status"))
+        SvnStatusDialog.setWhatsThis(_translate("SvnStatusDialog", "<b>Subversion Status</b>\n"
+"<p>This dialog shows the status of the selected file or project.</p>"))
+        self.label.setText(_translate("SvnStatusDialog", "&Filter on Status:"))
+        self.statusFilterCombo.setToolTip(_translate("SvnStatusDialog", "Select the status of entries to be shown"))
+        self.statusList.setSortingEnabled(True)
+        self.statusList.headerItem().setText(0, _translate("SvnStatusDialog", "Commit"))
+        self.statusList.headerItem().setText(1, _translate("SvnStatusDialog", "Changelist"))
+        self.statusList.headerItem().setText(2, _translate("SvnStatusDialog", "Status"))
+        self.statusList.headerItem().setText(3, _translate("SvnStatusDialog", "Prop. Status"))
+        self.statusList.headerItem().setText(4, _translate("SvnStatusDialog", "Locked"))
+        self.statusList.headerItem().setText(5, _translate("SvnStatusDialog", "History"))
+        self.statusList.headerItem().setText(6, _translate("SvnStatusDialog", "Switched"))
+        self.statusList.headerItem().setText(7, _translate("SvnStatusDialog", "Lock Info"))
+        self.statusList.headerItem().setText(8, _translate("SvnStatusDialog", "Up to date"))
+        self.statusList.headerItem().setText(9, _translate("SvnStatusDialog", "Revision"))
+        self.statusList.headerItem().setText(10, _translate("SvnStatusDialog", "Last Change"))
+        self.statusList.headerItem().setText(11, _translate("SvnStatusDialog", "Author"))
+        self.statusList.headerItem().setText(12, _translate("SvnStatusDialog", "Path"))
+        self.commitButton.setToolTip(_translate("SvnStatusDialog", "Commit the selected changes"))
+        self.commitButton.setText(_translate("SvnStatusDialog", "&Commit"))
+        self.addButton.setToolTip(_translate("SvnStatusDialog", "Add the selected entries to the repository"))
+        self.addButton.setText(_translate("SvnStatusDialog", "&Add"))
+        self.diffButton.setToolTip(_translate("SvnStatusDialog", "Show differences of the selected entries to the repository"))
+        self.diffButton.setText(_translate("SvnStatusDialog", "&Differences"))
+        self.sbsDiffButton.setToolTip(_translate("SvnStatusDialog", "Show differences of the selected entry to the repository in a side-by-side manner"))
+        self.sbsDiffButton.setText(_translate("SvnStatusDialog", "Side-b&y-Side Diff"))
+        self.revertButton.setToolTip(_translate("SvnStatusDialog", "Revert the selected entries to the last revision in the repository"))
+        self.revertButton.setText(_translate("SvnStatusDialog", "Re&vert"))
+        self.restoreButton.setToolTip(_translate("SvnStatusDialog", "Restore the selected missing entries from the repository"))
+        self.restoreButton.setText(_translate("SvnStatusDialog", "&Restore"))
+        self.errorGroup.setTitle(_translate("SvnStatusDialog", "Errors"))
+        self.inputGroup.setTitle(_translate("SvnStatusDialog", "Input"))
+        self.sendButton.setToolTip(_translate("SvnStatusDialog", "Press to send the input to the subversion process"))
+        self.sendButton.setText(_translate("SvnStatusDialog", "&Send"))
+        self.sendButton.setShortcut(_translate("SvnStatusDialog", "Alt+S"))
+        self.input.setToolTip(_translate("SvnStatusDialog", "Enter data to be sent to the subversion process"))
+        self.passwordCheckBox.setToolTip(_translate("SvnStatusDialog", "Select to switch the input field to password mode"))
+        self.passwordCheckBox.setText(_translate("SvnStatusDialog", "&Password Mode"))
+        self.passwordCheckBox.setShortcut(_translate("SvnStatusDialog", "Alt+P"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsSubversion/Ui_SvnSwitchDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,73 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsSubversion/SvnSwitchDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_SvnSwitchDialog(object):
+    def setupUi(self, SvnSwitchDialog):
+        SvnSwitchDialog.setObjectName("SvnSwitchDialog")
+        SvnSwitchDialog.resize(391, 146)
+        SvnSwitchDialog.setSizeGripEnabled(True)
+        self.gridlayout = QtWidgets.QGridLayout(SvnSwitchDialog)
+        self.gridlayout.setObjectName("gridlayout")
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=SvnSwitchDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridlayout.addWidget(self.buttonBox, 2, 0, 1, 2)
+        self.TextLabel1 = QtWidgets.QLabel(parent=SvnSwitchDialog)
+        self.TextLabel1.setObjectName("TextLabel1")
+        self.gridlayout.addWidget(self.TextLabel1, 0, 0, 1, 1)
+        self.tagCombo = QtWidgets.QComboBox(parent=SvnSwitchDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.tagCombo.sizePolicy().hasHeightForWidth())
+        self.tagCombo.setSizePolicy(sizePolicy)
+        self.tagCombo.setEditable(True)
+        self.tagCombo.setDuplicatesEnabled(False)
+        self.tagCombo.setObjectName("tagCombo")
+        self.gridlayout.addWidget(self.tagCombo, 0, 1, 1, 1)
+        self.TagTypeGroup = QtWidgets.QGroupBox(parent=SvnSwitchDialog)
+        self.TagTypeGroup.setObjectName("TagTypeGroup")
+        self.vboxlayout = QtWidgets.QVBoxLayout(self.TagTypeGroup)
+        self.vboxlayout.setObjectName("vboxlayout")
+        self.regularButton = QtWidgets.QRadioButton(parent=self.TagTypeGroup)
+        self.regularButton.setChecked(True)
+        self.regularButton.setObjectName("regularButton")
+        self.vboxlayout.addWidget(self.regularButton)
+        self.branchButton = QtWidgets.QRadioButton(parent=self.TagTypeGroup)
+        self.branchButton.setObjectName("branchButton")
+        self.vboxlayout.addWidget(self.branchButton)
+        self.gridlayout.addWidget(self.TagTypeGroup, 1, 1, 1, 1)
+
+        self.retranslateUi(SvnSwitchDialog)
+        self.buttonBox.accepted.connect(SvnSwitchDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(SvnSwitchDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(SvnSwitchDialog)
+        SvnSwitchDialog.setTabOrder(self.tagCombo, self.regularButton)
+        SvnSwitchDialog.setTabOrder(self.regularButton, self.branchButton)
+
+    def retranslateUi(self, SvnSwitchDialog):
+        _translate = QtCore.QCoreApplication.translate
+        SvnSwitchDialog.setWindowTitle(_translate("SvnSwitchDialog", "Subversion Switch"))
+        self.TextLabel1.setText(_translate("SvnSwitchDialog", "Tag Name:"))
+        self.tagCombo.setToolTip(_translate("SvnSwitchDialog", "Enter the name of the tag"))
+        self.tagCombo.setWhatsThis(_translate("SvnSwitchDialog", "<b>Tag Name</b>\n"
+"<p>Enter the name of the tag to be switched to.\n"
+"In order to switch to the trunk version leave it empty.</p>"))
+        self.TagTypeGroup.setTitle(_translate("SvnSwitchDialog", "Tag Type"))
+        self.regularButton.setToolTip(_translate("SvnSwitchDialog", "Select for a regular tag"))
+        self.regularButton.setWhatsThis(_translate("SvnSwitchDialog", "<b>Regular Tag</b>\n"
+"<p>Select this entry for a regular tag.</p>"))
+        self.regularButton.setText(_translate("SvnSwitchDialog", "Regular Tag"))
+        self.branchButton.setToolTip(_translate("SvnSwitchDialog", "Select for a branch tag"))
+        self.branchButton.setWhatsThis(_translate("SvnSwitchDialog", "<b>Branch Tag</b>\n"
+"<p>Select this entry for a branch tag.</p>"))
+        self.branchButton.setText(_translate("SvnSwitchDialog", "Branch Tag"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsSubversion/Ui_SvnTagBranchListDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,95 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsSubversion/SvnTagBranchListDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_SvnTagBranchListDialog(object):
+    def setupUi(self, SvnTagBranchListDialog):
+        SvnTagBranchListDialog.setObjectName("SvnTagBranchListDialog")
+        SvnTagBranchListDialog.resize(634, 494)
+        SvnTagBranchListDialog.setSizeGripEnabled(True)
+        self.vboxlayout = QtWidgets.QVBoxLayout(SvnTagBranchListDialog)
+        self.vboxlayout.setObjectName("vboxlayout")
+        self.tagList = QtWidgets.QTreeWidget(parent=SvnTagBranchListDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(2)
+        sizePolicy.setHeightForWidth(self.tagList.sizePolicy().hasHeightForWidth())
+        self.tagList.setSizePolicy(sizePolicy)
+        self.tagList.setAlternatingRowColors(True)
+        self.tagList.setRootIsDecorated(False)
+        self.tagList.setItemsExpandable(False)
+        self.tagList.setObjectName("tagList")
+        self.vboxlayout.addWidget(self.tagList)
+        self.errorGroup = QtWidgets.QGroupBox(parent=SvnTagBranchListDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(1)
+        sizePolicy.setHeightForWidth(self.errorGroup.sizePolicy().hasHeightForWidth())
+        self.errorGroup.setSizePolicy(sizePolicy)
+        self.errorGroup.setObjectName("errorGroup")
+        self.vboxlayout1 = QtWidgets.QVBoxLayout(self.errorGroup)
+        self.vboxlayout1.setObjectName("vboxlayout1")
+        self.errors = QtWidgets.QTextEdit(parent=self.errorGroup)
+        self.errors.setReadOnly(True)
+        self.errors.setAcceptRichText(False)
+        self.errors.setObjectName("errors")
+        self.vboxlayout1.addWidget(self.errors)
+        self.vboxlayout.addWidget(self.errorGroup)
+        self.inputGroup = QtWidgets.QGroupBox(parent=SvnTagBranchListDialog)
+        self.inputGroup.setObjectName("inputGroup")
+        self.gridlayout = QtWidgets.QGridLayout(self.inputGroup)
+        self.gridlayout.setObjectName("gridlayout")
+        spacerItem = QtWidgets.QSpacerItem(327, 29, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridlayout.addItem(spacerItem, 1, 1, 1, 1)
+        self.sendButton = QtWidgets.QPushButton(parent=self.inputGroup)
+        self.sendButton.setObjectName("sendButton")
+        self.gridlayout.addWidget(self.sendButton, 1, 2, 1, 1)
+        self.input = QtWidgets.QLineEdit(parent=self.inputGroup)
+        self.input.setObjectName("input")
+        self.gridlayout.addWidget(self.input, 0, 0, 1, 3)
+        self.passwordCheckBox = QtWidgets.QCheckBox(parent=self.inputGroup)
+        self.passwordCheckBox.setObjectName("passwordCheckBox")
+        self.gridlayout.addWidget(self.passwordCheckBox, 1, 0, 1, 1)
+        self.vboxlayout.addWidget(self.inputGroup)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=SvnTagBranchListDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.vboxlayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(SvnTagBranchListDialog)
+        QtCore.QMetaObject.connectSlotsByName(SvnTagBranchListDialog)
+        SvnTagBranchListDialog.setTabOrder(self.tagList, self.errors)
+        SvnTagBranchListDialog.setTabOrder(self.errors, self.input)
+        SvnTagBranchListDialog.setTabOrder(self.input, self.passwordCheckBox)
+        SvnTagBranchListDialog.setTabOrder(self.passwordCheckBox, self.sendButton)
+        SvnTagBranchListDialog.setTabOrder(self.sendButton, self.buttonBox)
+
+    def retranslateUi(self, SvnTagBranchListDialog):
+        _translate = QtCore.QCoreApplication.translate
+        SvnTagBranchListDialog.setWindowTitle(_translate("SvnTagBranchListDialog", "Subversion Tag List"))
+        SvnTagBranchListDialog.setWhatsThis(_translate("SvnTagBranchListDialog", "<b>Subversion Tag/Branch List</b>\n"
+"<p>This dialog shows a list of the projects tags or branches.</p>"))
+        self.tagList.setWhatsThis(_translate("SvnTagBranchListDialog", "<b>Tag/Branches List</b>\n"
+"<p>This shows a list of the projects tags or branches.</p>"))
+        self.tagList.setSortingEnabled(True)
+        self.tagList.headerItem().setText(0, _translate("SvnTagBranchListDialog", "Revision"))
+        self.tagList.headerItem().setText(1, _translate("SvnTagBranchListDialog", "Author"))
+        self.tagList.headerItem().setText(2, _translate("SvnTagBranchListDialog", "Date"))
+        self.tagList.headerItem().setText(3, _translate("SvnTagBranchListDialog", "Name"))
+        self.errorGroup.setTitle(_translate("SvnTagBranchListDialog", "Errors"))
+        self.inputGroup.setTitle(_translate("SvnTagBranchListDialog", "Input"))
+        self.sendButton.setToolTip(_translate("SvnTagBranchListDialog", "Press to send the input to the subversion process"))
+        self.sendButton.setText(_translate("SvnTagBranchListDialog", "&Send"))
+        self.sendButton.setShortcut(_translate("SvnTagBranchListDialog", "Alt+S"))
+        self.input.setToolTip(_translate("SvnTagBranchListDialog", "Enter data to be sent to the subversion process"))
+        self.passwordCheckBox.setToolTip(_translate("SvnTagBranchListDialog", "Select to switch the input field to password mode"))
+        self.passwordCheckBox.setText(_translate("SvnTagBranchListDialog", "&Password Mode"))
+        self.passwordCheckBox.setShortcut(_translate("SvnTagBranchListDialog", "Alt+P"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsSubversion/Ui_SvnTagDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,88 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsSubversion/SvnTagDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_SvnTagDialog(object):
+    def setupUi(self, SvnTagDialog):
+        SvnTagDialog.setObjectName("SvnTagDialog")
+        SvnTagDialog.resize(391, 216)
+        SvnTagDialog.setSizeGripEnabled(True)
+        self.gridlayout = QtWidgets.QGridLayout(SvnTagDialog)
+        self.gridlayout.setObjectName("gridlayout")
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=SvnTagDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridlayout.addWidget(self.buttonBox, 2, 0, 1, 2)
+        self.tagCombo = QtWidgets.QComboBox(parent=SvnTagDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.tagCombo.sizePolicy().hasHeightForWidth())
+        self.tagCombo.setSizePolicy(sizePolicy)
+        self.tagCombo.setEditable(True)
+        self.tagCombo.setDuplicatesEnabled(False)
+        self.tagCombo.setObjectName("tagCombo")
+        self.gridlayout.addWidget(self.tagCombo, 0, 1, 1, 1)
+        self.TextLabel1 = QtWidgets.QLabel(parent=SvnTagDialog)
+        self.TextLabel1.setObjectName("TextLabel1")
+        self.gridlayout.addWidget(self.TextLabel1, 0, 0, 1, 1)
+        self.TagActionGroup = QtWidgets.QGroupBox(parent=SvnTagDialog)
+        self.TagActionGroup.setObjectName("TagActionGroup")
+        self.vboxlayout = QtWidgets.QVBoxLayout(self.TagActionGroup)
+        self.vboxlayout.setObjectName("vboxlayout")
+        self.createRegularButton = QtWidgets.QRadioButton(parent=self.TagActionGroup)
+        self.createRegularButton.setChecked(True)
+        self.createRegularButton.setObjectName("createRegularButton")
+        self.vboxlayout.addWidget(self.createRegularButton)
+        self.createBranchButton = QtWidgets.QRadioButton(parent=self.TagActionGroup)
+        self.createBranchButton.setObjectName("createBranchButton")
+        self.vboxlayout.addWidget(self.createBranchButton)
+        self.deleteRegularButton = QtWidgets.QRadioButton(parent=self.TagActionGroup)
+        self.deleteRegularButton.setObjectName("deleteRegularButton")
+        self.vboxlayout.addWidget(self.deleteRegularButton)
+        self.deleteBranchButton = QtWidgets.QRadioButton(parent=self.TagActionGroup)
+        self.deleteBranchButton.setObjectName("deleteBranchButton")
+        self.vboxlayout.addWidget(self.deleteBranchButton)
+        self.gridlayout.addWidget(self.TagActionGroup, 1, 1, 1, 1)
+
+        self.retranslateUi(SvnTagDialog)
+        self.buttonBox.accepted.connect(SvnTagDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(SvnTagDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(SvnTagDialog)
+        SvnTagDialog.setTabOrder(self.tagCombo, self.createRegularButton)
+        SvnTagDialog.setTabOrder(self.createRegularButton, self.createBranchButton)
+        SvnTagDialog.setTabOrder(self.createBranchButton, self.deleteRegularButton)
+        SvnTagDialog.setTabOrder(self.deleteRegularButton, self.deleteBranchButton)
+
+    def retranslateUi(self, SvnTagDialog):
+        _translate = QtCore.QCoreApplication.translate
+        SvnTagDialog.setWindowTitle(_translate("SvnTagDialog", "Subversion Tag"))
+        self.tagCombo.setToolTip(_translate("SvnTagDialog", "Enter the name of the tag"))
+        self.tagCombo.setWhatsThis(_translate("SvnTagDialog", "<b>Tag Name</b>\n"
+"<p>Enter the name of the tag to be created, moved or deleted.</p>"))
+        self.TextLabel1.setText(_translate("SvnTagDialog", "Name:"))
+        self.TagActionGroup.setTitle(_translate("SvnTagDialog", "Tag Action"))
+        self.createRegularButton.setToolTip(_translate("SvnTagDialog", "Select to create a regular tag"))
+        self.createRegularButton.setWhatsThis(_translate("SvnTagDialog", "<b>Create Regular Tag</b>\n"
+"<p>Select this entry in order to create a regular tag in the repository.</p>"))
+        self.createRegularButton.setText(_translate("SvnTagDialog", "Create Regular Tag"))
+        self.createBranchButton.setToolTip(_translate("SvnTagDialog", "Select to create a branch tag"))
+        self.createBranchButton.setWhatsThis(_translate("SvnTagDialog", "<b>Create Branch Tag</b>\n"
+"<p>Select this entry in order to create a branch in the repository.</p>"))
+        self.createBranchButton.setText(_translate("SvnTagDialog", "Create Branch Tag"))
+        self.deleteRegularButton.setToolTip(_translate("SvnTagDialog", "Select to delete a regular tag"))
+        self.deleteRegularButton.setWhatsThis(_translate("SvnTagDialog", "<b>Delete Regular Tag</b>\n"
+"<p>Select this entry in order to delete the selected regular tag.</p>"))
+        self.deleteRegularButton.setText(_translate("SvnTagDialog", "Delete Regular Tag"))
+        self.deleteBranchButton.setToolTip(_translate("SvnTagDialog", "Select to delete a branch tag"))
+        self.deleteBranchButton.setWhatsThis(_translate("SvnTagDialog", "<b>Delete Branch Tag</b>\n"
+"<p>Select this entry in order to delete the selected branch tag.</p>"))
+        self.deleteBranchButton.setText(_translate("SvnTagDialog", "Delete Branch Tag"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/VcsPlugins/vcsSubversion/Ui_SvnUrlSelectionDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,88 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/VcsPlugins/vcsSubversion/SvnUrlSelectionDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_SvnUrlSelectionDialog(object):
+    def setupUi(self, SvnUrlSelectionDialog):
+        SvnUrlSelectionDialog.setObjectName("SvnUrlSelectionDialog")
+        SvnUrlSelectionDialog.resize(542, 195)
+        SvnUrlSelectionDialog.setSizeGripEnabled(True)
+        self.vboxlayout = QtWidgets.QVBoxLayout(SvnUrlSelectionDialog)
+        self.vboxlayout.setObjectName("vboxlayout")
+        self.urlGroup1 = QtWidgets.QGroupBox(parent=SvnUrlSelectionDialog)
+        self.urlGroup1.setObjectName("urlGroup1")
+        self.hboxlayout = QtWidgets.QHBoxLayout(self.urlGroup1)
+        self.hboxlayout.setObjectName("hboxlayout")
+        self.repoRootLabel1 = QtWidgets.QLabel(parent=self.urlGroup1)
+        self.repoRootLabel1.setObjectName("repoRootLabel1")
+        self.hboxlayout.addWidget(self.repoRootLabel1)
+        self.typeCombo1 = QtWidgets.QComboBox(parent=self.urlGroup1)
+        self.typeCombo1.setObjectName("typeCombo1")
+        self.hboxlayout.addWidget(self.typeCombo1)
+        self.labelCombo1 = QtWidgets.QComboBox(parent=self.urlGroup1)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.labelCombo1.sizePolicy().hasHeightForWidth())
+        self.labelCombo1.setSizePolicy(sizePolicy)
+        self.labelCombo1.setEditable(True)
+        self.labelCombo1.setObjectName("labelCombo1")
+        self.hboxlayout.addWidget(self.labelCombo1)
+        self.vboxlayout.addWidget(self.urlGroup1)
+        self.urlGroup2 = QtWidgets.QGroupBox(parent=SvnUrlSelectionDialog)
+        self.urlGroup2.setObjectName("urlGroup2")
+        self.hboxlayout1 = QtWidgets.QHBoxLayout(self.urlGroup2)
+        self.hboxlayout1.setObjectName("hboxlayout1")
+        self.repoRootLabel2 = QtWidgets.QLabel(parent=self.urlGroup2)
+        self.repoRootLabel2.setObjectName("repoRootLabel2")
+        self.hboxlayout1.addWidget(self.repoRootLabel2)
+        self.typeCombo2 = QtWidgets.QComboBox(parent=self.urlGroup2)
+        self.typeCombo2.setObjectName("typeCombo2")
+        self.hboxlayout1.addWidget(self.typeCombo2)
+        self.labelCombo2 = QtWidgets.QComboBox(parent=self.urlGroup2)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.labelCombo2.sizePolicy().hasHeightForWidth())
+        self.labelCombo2.setSizePolicy(sizePolicy)
+        self.labelCombo2.setEditable(True)
+        self.labelCombo2.setObjectName("labelCombo2")
+        self.hboxlayout1.addWidget(self.labelCombo2)
+        self.vboxlayout.addWidget(self.urlGroup2)
+        self.summaryCheckBox = QtWidgets.QCheckBox(parent=SvnUrlSelectionDialog)
+        self.summaryCheckBox.setObjectName("summaryCheckBox")
+        self.vboxlayout.addWidget(self.summaryCheckBox)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=SvnUrlSelectionDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.vboxlayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(SvnUrlSelectionDialog)
+        self.buttonBox.accepted.connect(SvnUrlSelectionDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(SvnUrlSelectionDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(SvnUrlSelectionDialog)
+        SvnUrlSelectionDialog.setTabOrder(self.typeCombo1, self.labelCombo1)
+        SvnUrlSelectionDialog.setTabOrder(self.labelCombo1, self.typeCombo2)
+        SvnUrlSelectionDialog.setTabOrder(self.typeCombo2, self.labelCombo2)
+        SvnUrlSelectionDialog.setTabOrder(self.labelCombo2, self.summaryCheckBox)
+        SvnUrlSelectionDialog.setTabOrder(self.summaryCheckBox, self.buttonBox)
+
+    def retranslateUi(self, SvnUrlSelectionDialog):
+        _translate = QtCore.QCoreApplication.translate
+        SvnUrlSelectionDialog.setWindowTitle(_translate("SvnUrlSelectionDialog", "Subversion Diff"))
+        self.urlGroup1.setTitle(_translate("SvnUrlSelectionDialog", "Repository URL 1"))
+        self.typeCombo1.setToolTip(_translate("SvnUrlSelectionDialog", "Select the URL type"))
+        self.labelCombo1.setToolTip(_translate("SvnUrlSelectionDialog", "Enter the label name or path"))
+        self.urlGroup2.setTitle(_translate("SvnUrlSelectionDialog", "Repository URL 2"))
+        self.typeCombo2.setToolTip(_translate("SvnUrlSelectionDialog", "Select the URL type"))
+        self.labelCombo2.setToolTip(_translate("SvnUrlSelectionDialog", "Enter the label name or path"))
+        self.summaryCheckBox.setToolTip(_translate("SvnUrlSelectionDialog", "Select to just show a summary of differences"))
+        self.summaryCheckBox.setText(_translate("SvnUrlSelectionDialog", "Summary only"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/WizardPlugins/ColorDialogWizard/Ui_ColorDialogWizardDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,229 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/WizardPlugins/ColorDialogWizard/ColorDialogWizardDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_ColorDialogWizardDialog(object):
+    def setupUi(self, ColorDialogWizardDialog):
+        ColorDialogWizardDialog.setObjectName("ColorDialogWizardDialog")
+        ColorDialogWizardDialog.resize(381, 481)
+        ColorDialogWizardDialog.setSizeGripEnabled(True)
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(ColorDialogWizardDialog)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.groupBox = QtWidgets.QGroupBox(parent=ColorDialogWizardDialog)
+        self.groupBox.setObjectName("groupBox")
+        self.hboxlayout = QtWidgets.QHBoxLayout(self.groupBox)
+        self.hboxlayout.setObjectName("hboxlayout")
+        self.rColor = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.rColor.setChecked(True)
+        self.rColor.setObjectName("rColor")
+        self.hboxlayout.addWidget(self.rColor)
+        self.rRGBA = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.rRGBA.setObjectName("rRGBA")
+        self.hboxlayout.addWidget(self.rRGBA)
+        self.verticalLayout_2.addWidget(self.groupBox)
+        self.groupBox_4 = QtWidgets.QGroupBox(parent=ColorDialogWizardDialog)
+        self.groupBox_4.setObjectName("groupBox_4")
+        self.horizontalLayout = QtWidgets.QHBoxLayout(self.groupBox_4)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.eResultVar = QtWidgets.QLineEdit(parent=self.groupBox_4)
+        self.eResultVar.setObjectName("eResultVar")
+        self.horizontalLayout.addWidget(self.eResultVar)
+        self.verticalLayout_2.addWidget(self.groupBox_4)
+        self.titleGroup = QtWidgets.QGroupBox(parent=ColorDialogWizardDialog)
+        self.titleGroup.setObjectName("titleGroup")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.titleGroup)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.eTitle = QtWidgets.QLineEdit(parent=self.titleGroup)
+        self.eTitle.setObjectName("eTitle")
+        self.verticalLayout.addWidget(self.eTitle)
+        self.verticalLayout_2.addWidget(self.titleGroup)
+        self.parentGroup = QtWidgets.QGroupBox(parent=ColorDialogWizardDialog)
+        self.parentGroup.setObjectName("parentGroup")
+        self.gridLayout_3 = QtWidgets.QGridLayout(self.parentGroup)
+        self.gridLayout_3.setObjectName("gridLayout_3")
+        self.parentSelf = QtWidgets.QRadioButton(parent=self.parentGroup)
+        self.parentSelf.setChecked(True)
+        self.parentSelf.setObjectName("parentSelf")
+        self.gridLayout_3.addWidget(self.parentSelf, 0, 0, 1, 1)
+        self.parentNone = QtWidgets.QRadioButton(parent=self.parentGroup)
+        self.parentNone.setObjectName("parentNone")
+        self.gridLayout_3.addWidget(self.parentNone, 0, 1, 1, 1)
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.parentOther = QtWidgets.QRadioButton(parent=self.parentGroup)
+        self.parentOther.setObjectName("parentOther")
+        self.horizontalLayout_2.addWidget(self.parentOther)
+        self.parentEdit = QtWidgets.QLineEdit(parent=self.parentGroup)
+        self.parentEdit.setEnabled(False)
+        self.parentEdit.setObjectName("parentEdit")
+        self.horizontalLayout_2.addWidget(self.parentEdit)
+        self.gridLayout_3.addLayout(self.horizontalLayout_2, 1, 0, 1, 2)
+        self.verticalLayout_2.addWidget(self.parentGroup)
+        self.groupBox_2 = QtWidgets.QGroupBox(parent=ColorDialogWizardDialog)
+        self.groupBox_2.setObjectName("groupBox_2")
+        self.vboxlayout = QtWidgets.QVBoxLayout(self.groupBox_2)
+        self.vboxlayout.setObjectName("vboxlayout")
+        self.eColor = QtWidgets.QComboBox(parent=self.groupBox_2)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.eColor.sizePolicy().hasHeightForWidth())
+        self.eColor.setSizePolicy(sizePolicy)
+        self.eColor.setEditable(True)
+        self.eColor.setObjectName("eColor")
+        self.eColor.addItem("")
+        self.eColor.setItemText(0, "")
+        self.eColor.addItem("")
+        self.eColor.setItemText(1, "Qt.GlobalColor.red")
+        self.eColor.addItem("")
+        self.eColor.setItemText(2, "Qt.GlobalColor.darkRed")
+        self.eColor.addItem("")
+        self.eColor.setItemText(3, "Qt.GlobalColor.green")
+        self.eColor.addItem("")
+        self.eColor.setItemText(4, "Qt.GlobalColor.darkGreen")
+        self.eColor.addItem("")
+        self.eColor.setItemText(5, "Qt.GlobalColor.blue")
+        self.eColor.addItem("")
+        self.eColor.setItemText(6, "Qt.GlobalColor.darkBlue")
+        self.eColor.addItem("")
+        self.eColor.setItemText(7, "Qt.GlobalColor.cyan")
+        self.eColor.addItem("")
+        self.eColor.setItemText(8, "Qt.GlobalColor.darkCyan")
+        self.eColor.addItem("")
+        self.eColor.setItemText(9, "Qt.GlobalColor.magenta")
+        self.eColor.addItem("")
+        self.eColor.setItemText(10, "Qt.GlobalColor.darkMagenta")
+        self.eColor.addItem("")
+        self.eColor.setItemText(11, "Qt.GlobalColor.yellow")
+        self.eColor.addItem("")
+        self.eColor.setItemText(12, "Qt.GlobalColor.darkYellow")
+        self.eColor.addItem("")
+        self.eColor.setItemText(13, "Qt.GlobalColor.white")
+        self.eColor.addItem("")
+        self.eColor.setItemText(14, "Qt.GlobalColor.lightGray")
+        self.eColor.addItem("")
+        self.eColor.setItemText(15, "Qt.GlobalColor.gray")
+        self.eColor.addItem("")
+        self.eColor.setItemText(16, "Qt.GlobalColor.darkGray")
+        self.eColor.addItem("")
+        self.eColor.setItemText(17, "Qt.GlobalColor.black")
+        self.eColor.addItem("")
+        self.eColor.setItemText(18, "Qt.GlobalColor.transparent")
+        self.eColor.addItem("")
+        self.eColor.setItemText(19, "Qt.GlobalColor.color0")
+        self.eColor.addItem("")
+        self.eColor.setItemText(20, "Qt.GlobalColor.color1")
+        self.vboxlayout.addWidget(self.eColor)
+        self.verticalLayout_2.addWidget(self.groupBox_2)
+        self.groupBox_3 = QtWidgets.QGroupBox(parent=ColorDialogWizardDialog)
+        self.groupBox_3.setEnabled(False)
+        self.groupBox_3.setObjectName("groupBox_3")
+        self.gridlayout = QtWidgets.QGridLayout(self.groupBox_3)
+        self.gridlayout.setVerticalSpacing(6)
+        self.gridlayout.setObjectName("gridlayout")
+        self.eRGB = QtWidgets.QLineEdit(parent=self.groupBox_3)
+        self.eRGB.setObjectName("eRGB")
+        self.gridlayout.addWidget(self.eRGB, 3, 0, 1, 4)
+        self.TextLabel2 = QtWidgets.QLabel(parent=self.groupBox_3)
+        self.TextLabel2.setObjectName("TextLabel2")
+        self.gridlayout.addWidget(self.TextLabel2, 2, 0, 1, 4)
+        self.sAlpha = QtWidgets.QSpinBox(parent=self.groupBox_3)
+        self.sAlpha.setMaximum(255)
+        self.sAlpha.setObjectName("sAlpha")
+        self.gridlayout.addWidget(self.sAlpha, 1, 3, 1, 1)
+        self.sBlue = QtWidgets.QSpinBox(parent=self.groupBox_3)
+        self.sBlue.setMaximum(255)
+        self.sBlue.setProperty("value", 128)
+        self.sBlue.setObjectName("sBlue")
+        self.gridlayout.addWidget(self.sBlue, 1, 2, 1, 1)
+        self.sGreen = QtWidgets.QSpinBox(parent=self.groupBox_3)
+        self.sGreen.setMaximum(255)
+        self.sGreen.setProperty("value", 128)
+        self.sGreen.setObjectName("sGreen")
+        self.gridlayout.addWidget(self.sGreen, 1, 1, 1, 1)
+        self.sRed = QtWidgets.QSpinBox(parent=self.groupBox_3)
+        self.sRed.setMaximum(255)
+        self.sRed.setProperty("value", 128)
+        self.sRed.setObjectName("sRed")
+        self.gridlayout.addWidget(self.sRed, 1, 0, 1, 1)
+        self.TextLabel1_4 = QtWidgets.QLabel(parent=self.groupBox_3)
+        self.TextLabel1_4.setObjectName("TextLabel1_4")
+        self.gridlayout.addWidget(self.TextLabel1_4, 0, 3, 1, 1)
+        self.TextLabel1_3 = QtWidgets.QLabel(parent=self.groupBox_3)
+        self.TextLabel1_3.setObjectName("TextLabel1_3")
+        self.gridlayout.addWidget(self.TextLabel1_3, 0, 2, 1, 1)
+        self.TextLabel1 = QtWidgets.QLabel(parent=self.groupBox_3)
+        self.TextLabel1.setObjectName("TextLabel1")
+        self.gridlayout.addWidget(self.TextLabel1, 0, 0, 1, 1)
+        self.TextLabel1_2 = QtWidgets.QLabel(parent=self.groupBox_3)
+        self.TextLabel1_2.setObjectName("TextLabel1_2")
+        self.gridlayout.addWidget(self.TextLabel1_2, 0, 1, 1, 1)
+        self.verticalLayout_2.addWidget(self.groupBox_3)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=ColorDialogWizardDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout_2.addWidget(self.buttonBox)
+
+        self.retranslateUi(ColorDialogWizardDialog)
+        self.rColor.toggled['bool'].connect(self.groupBox_2.setEnabled) # type: ignore
+        self.rRGBA.toggled['bool'].connect(self.groupBox_3.setEnabled) # type: ignore
+        self.buttonBox.accepted.connect(ColorDialogWizardDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(ColorDialogWizardDialog.reject) # type: ignore
+        self.parentOther.toggled['bool'].connect(self.parentEdit.setEnabled) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(ColorDialogWizardDialog)
+        ColorDialogWizardDialog.setTabOrder(self.rColor, self.rRGBA)
+        ColorDialogWizardDialog.setTabOrder(self.rRGBA, self.eResultVar)
+        ColorDialogWizardDialog.setTabOrder(self.eResultVar, self.eTitle)
+        ColorDialogWizardDialog.setTabOrder(self.eTitle, self.parentSelf)
+        ColorDialogWizardDialog.setTabOrder(self.parentSelf, self.parentNone)
+        ColorDialogWizardDialog.setTabOrder(self.parentNone, self.parentOther)
+        ColorDialogWizardDialog.setTabOrder(self.parentOther, self.parentEdit)
+        ColorDialogWizardDialog.setTabOrder(self.parentEdit, self.eColor)
+        ColorDialogWizardDialog.setTabOrder(self.eColor, self.sRed)
+        ColorDialogWizardDialog.setTabOrder(self.sRed, self.sGreen)
+        ColorDialogWizardDialog.setTabOrder(self.sGreen, self.sBlue)
+        ColorDialogWizardDialog.setTabOrder(self.sBlue, self.sAlpha)
+        ColorDialogWizardDialog.setTabOrder(self.sAlpha, self.eRGB)
+        ColorDialogWizardDialog.setTabOrder(self.eRGB, self.buttonBox)
+
+    def retranslateUi(self, ColorDialogWizardDialog):
+        _translate = QtCore.QCoreApplication.translate
+        ColorDialogWizardDialog.setWindowTitle(_translate("ColorDialogWizardDialog", "QColorDialog Wizard"))
+        self.groupBox.setTitle(_translate("ColorDialogWizardDialog", "Type"))
+        self.rColor.setToolTip(_translate("ColorDialogWizardDialog", "Select to generate a QColorDialog.getColor dialog"))
+        self.rColor.setText(_translate("ColorDialogWizardDialog", "Color"))
+        self.rRGBA.setToolTip(_translate("ColorDialogWizardDialog", "Select to generate a QColorDialog.getRgba dialog"))
+        self.rRGBA.setText(_translate("ColorDialogWizardDialog", "RGBA"))
+        self.groupBox_4.setTitle(_translate("ColorDialogWizardDialog", "Result"))
+        self.eResultVar.setToolTip(_translate("ColorDialogWizardDialog", "Enter the result variable name"))
+        self.titleGroup.setTitle(_translate("ColorDialogWizardDialog", "Title"))
+        self.eTitle.setToolTip(_translate("ColorDialogWizardDialog", "Enter the dialog title"))
+        self.parentGroup.setTitle(_translate("ColorDialogWizardDialog", "Parent"))
+        self.parentSelf.setToolTip(_translate("ColorDialogWizardDialog", "Select \"self\" as parent"))
+        self.parentSelf.setText(_translate("ColorDialogWizardDialog", "self"))
+        self.parentNone.setToolTip(_translate("ColorDialogWizardDialog", "Select \"None\" as parent"))
+        self.parentNone.setText(_translate("ColorDialogWizardDialog", "None"))
+        self.parentOther.setToolTip(_translate("ColorDialogWizardDialog", "Select to enter a parent expression"))
+        self.parentOther.setText(_translate("ColorDialogWizardDialog", "Expression:"))
+        self.parentEdit.setToolTip(_translate("ColorDialogWizardDialog", "Enter the parent expression"))
+        self.groupBox_2.setTitle(_translate("ColorDialogWizardDialog", "Color"))
+        self.eColor.setToolTip(_translate("ColorDialogWizardDialog", "Enter a variable name or a color"))
+        self.groupBox_3.setTitle(_translate("ColorDialogWizardDialog", "RGBA"))
+        self.eRGB.setToolTip(_translate("ColorDialogWizardDialog", "Enter a variable name"))
+        self.TextLabel2.setText(_translate("ColorDialogWizardDialog", "Color Variable"))
+        self.sAlpha.setToolTip(_translate("ColorDialogWizardDialog", "Enter the alpha value"))
+        self.sBlue.setToolTip(_translate("ColorDialogWizardDialog", "Enter the blue value"))
+        self.sGreen.setToolTip(_translate("ColorDialogWizardDialog", "Enter the green value"))
+        self.sRed.setToolTip(_translate("ColorDialogWizardDialog", "Enter the red value"))
+        self.TextLabel1_4.setText(_translate("ColorDialogWizardDialog", "Alpha"))
+        self.TextLabel1_3.setText(_translate("ColorDialogWizardDialog", "Blue"))
+        self.TextLabel1.setText(_translate("ColorDialogWizardDialog", "Red"))
+        self.TextLabel1_2.setText(_translate("ColorDialogWizardDialog", "Green"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/WizardPlugins/DotDesktopWizard/Ui_DotDesktopListSelectionDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,50 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/WizardPlugins/DotDesktopWizard/DotDesktopListSelectionDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_DotDesktopListSelectionDialog(object):
+    def setupUi(self, DotDesktopListSelectionDialog):
+        DotDesktopListSelectionDialog.setObjectName("DotDesktopListSelectionDialog")
+        DotDesktopListSelectionDialog.resize(450, 400)
+        DotDesktopListSelectionDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(DotDesktopListSelectionDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.label = QtWidgets.QLabel(parent=DotDesktopListSelectionDialog)
+        self.label.setObjectName("label")
+        self.verticalLayout.addWidget(self.label)
+        self.entriesList = QtWidgets.QListWidget(parent=DotDesktopListSelectionDialog)
+        self.entriesList.setAlternatingRowColors(True)
+        self.entriesList.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.ExtendedSelection)
+        self.entriesList.setObjectName("entriesList")
+        self.verticalLayout.addWidget(self.entriesList)
+        self.subList = QtWidgets.QListWidget(parent=DotDesktopListSelectionDialog)
+        self.subList.setAlternatingRowColors(True)
+        self.subList.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.ExtendedSelection)
+        self.subList.setObjectName("subList")
+        self.verticalLayout.addWidget(self.subList)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=DotDesktopListSelectionDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(DotDesktopListSelectionDialog)
+        self.buttonBox.accepted.connect(DotDesktopListSelectionDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(DotDesktopListSelectionDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(DotDesktopListSelectionDialog)
+        DotDesktopListSelectionDialog.setTabOrder(self.entriesList, self.subList)
+        DotDesktopListSelectionDialog.setTabOrder(self.subList, self.buttonBox)
+
+    def retranslateUi(self, DotDesktopListSelectionDialog):
+        _translate = QtCore.QCoreApplication.translate
+        DotDesktopListSelectionDialog.setWindowTitle(_translate("DotDesktopListSelectionDialog", "Select Entries"))
+        self.label.setText(_translate("DotDesktopListSelectionDialog", "Select applicable entries:"))
+        self.entriesList.setSortingEnabled(True)
+        self.subList.setSortingEnabled(True)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/WizardPlugins/DotDesktopWizard/Ui_DotDesktopWizardDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,401 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/WizardPlugins/DotDesktopWizard/DotDesktopWizardDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_DotDesktopWizardDialog(object):
+    def setupUi(self, DotDesktopWizardDialog):
+        DotDesktopWizardDialog.setObjectName("DotDesktopWizardDialog")
+        DotDesktopWizardDialog.resize(650, 612)
+        DotDesktopWizardDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(DotDesktopWizardDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.label = QtWidgets.QLabel(parent=DotDesktopWizardDialog)
+        self.label.setObjectName("label")
+        self.horizontalLayout_2.addWidget(self.label)
+        self.typeComboBox = QtWidgets.QComboBox(parent=DotDesktopWizardDialog)
+        self.typeComboBox.setObjectName("typeComboBox")
+        self.horizontalLayout_2.addWidget(self.typeComboBox)
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_2.addItem(spacerItem)
+        self.verticalLayout.addLayout(self.horizontalLayout_2)
+        self.dataTabWidget = QtWidgets.QTabWidget(parent=DotDesktopWizardDialog)
+        self.dataTabWidget.setObjectName("dataTabWidget")
+        self.basicTab = QtWidgets.QWidget()
+        self.basicTab.setObjectName("basicTab")
+        self.gridLayout = QtWidgets.QGridLayout(self.basicTab)
+        self.gridLayout.setObjectName("gridLayout")
+        self.label_3 = QtWidgets.QLabel(parent=self.basicTab)
+        self.label_3.setObjectName("label_3")
+        self.gridLayout.addWidget(self.label_3, 0, 0, 1, 1)
+        self.typeEdit = QtWidgets.QLineEdit(parent=self.basicTab)
+        self.typeEdit.setText("Application")
+        self.typeEdit.setClearButtonEnabled(True)
+        self.typeEdit.setObjectName("typeEdit")
+        self.gridLayout.addWidget(self.typeEdit, 0, 1, 1, 3)
+        self.label_2 = QtWidgets.QLabel(parent=self.basicTab)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 1, 0, 1, 1)
+        self.versionEdit = QtWidgets.QLineEdit(parent=self.basicTab)
+        self.versionEdit.setText("1.0")
+        self.versionEdit.setClearButtonEnabled(True)
+        self.versionEdit.setObjectName("versionEdit")
+        self.gridLayout.addWidget(self.versionEdit, 1, 1, 1, 3)
+        self.label_4 = QtWidgets.QLabel(parent=self.basicTab)
+        self.label_4.setObjectName("label_4")
+        self.gridLayout.addWidget(self.label_4, 2, 0, 1, 1)
+        self.nameEdit = QtWidgets.QLineEdit(parent=self.basicTab)
+        self.nameEdit.setClearButtonEnabled(True)
+        self.nameEdit.setObjectName("nameEdit")
+        self.gridLayout.addWidget(self.nameEdit, 2, 1, 1, 3)
+        self.label_5 = QtWidgets.QLabel(parent=self.basicTab)
+        self.label_5.setObjectName("label_5")
+        self.gridLayout.addWidget(self.label_5, 3, 0, 1, 1)
+        self.genericNameEdit = QtWidgets.QLineEdit(parent=self.basicTab)
+        self.genericNameEdit.setClearButtonEnabled(True)
+        self.genericNameEdit.setObjectName("genericNameEdit")
+        self.gridLayout.addWidget(self.genericNameEdit, 3, 1, 1, 3)
+        self.label_6 = QtWidgets.QLabel(parent=self.basicTab)
+        self.label_6.setObjectName("label_6")
+        self.gridLayout.addWidget(self.label_6, 4, 0, 1, 1)
+        self.commentEdit = QtWidgets.QLineEdit(parent=self.basicTab)
+        self.commentEdit.setClearButtonEnabled(True)
+        self.commentEdit.setObjectName("commentEdit")
+        self.gridLayout.addWidget(self.commentEdit, 4, 1, 1, 3)
+        self.label_7 = QtWidgets.QLabel(parent=self.basicTab)
+        self.label_7.setObjectName("label_7")
+        self.gridLayout.addWidget(self.label_7, 5, 0, 1, 1)
+        self.iconFileEdit = QtWidgets.QLineEdit(parent=self.basicTab)
+        self.iconFileEdit.setClearButtonEnabled(True)
+        self.iconFileEdit.setObjectName("iconFileEdit")
+        self.gridLayout.addWidget(self.iconFileEdit, 5, 1, 1, 3)
+        self.label_10 = QtWidgets.QLabel(parent=self.basicTab)
+        self.label_10.setObjectName("label_10")
+        self.gridLayout.addWidget(self.label_10, 6, 0, 1, 1)
+        self.tryExecEdit = QtWidgets.QLineEdit(parent=self.basicTab)
+        self.tryExecEdit.setClearButtonEnabled(True)
+        self.tryExecEdit.setObjectName("tryExecEdit")
+        self.gridLayout.addWidget(self.tryExecEdit, 6, 1, 1, 3)
+        self.label_9 = QtWidgets.QLabel(parent=self.basicTab)
+        self.label_9.setObjectName("label_9")
+        self.gridLayout.addWidget(self.label_9, 7, 0, 1, 1)
+        self.execEdit = QtWidgets.QLineEdit(parent=self.basicTab)
+        self.execEdit.setClearButtonEnabled(True)
+        self.execEdit.setObjectName("execEdit")
+        self.gridLayout.addWidget(self.execEdit, 7, 1, 1, 3)
+        self.label_30 = QtWidgets.QLabel(parent=self.basicTab)
+        self.label_30.setObjectName("label_30")
+        self.gridLayout.addWidget(self.label_30, 8, 0, 1, 1)
+        self.pathEdit = QtWidgets.QLineEdit(parent=self.basicTab)
+        self.pathEdit.setClearButtonEnabled(True)
+        self.pathEdit.setObjectName("pathEdit")
+        self.gridLayout.addWidget(self.pathEdit, 8, 1, 1, 3)
+        self.label_12 = QtWidgets.QLabel(parent=self.basicTab)
+        self.label_12.setObjectName("label_12")
+        self.gridLayout.addWidget(self.label_12, 9, 0, 1, 1)
+        self.terminalCheckBox = QtWidgets.QCheckBox(parent=self.basicTab)
+        self.terminalCheckBox.setText("")
+        self.terminalCheckBox.setObjectName("terminalCheckBox")
+        self.gridLayout.addWidget(self.terminalCheckBox, 9, 1, 1, 1)
+        spacerItem1 = QtWidgets.QSpacerItem(504, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout.addItem(spacerItem1, 9, 2, 1, 2)
+        self.label_11 = QtWidgets.QLabel(parent=self.basicTab)
+        self.label_11.setObjectName("label_11")
+        self.gridLayout.addWidget(self.label_11, 10, 0, 1, 1)
+        self.mimetypeEdit = QtWidgets.QLineEdit(parent=self.basicTab)
+        self.mimetypeEdit.setClearButtonEnabled(True)
+        self.mimetypeEdit.setObjectName("mimetypeEdit")
+        self.gridLayout.addWidget(self.mimetypeEdit, 10, 1, 1, 3)
+        self.label_8 = QtWidgets.QLabel(parent=self.basicTab)
+        self.label_8.setObjectName("label_8")
+        self.gridLayout.addWidget(self.label_8, 11, 0, 1, 1)
+        self.categoriesEdit = QtWidgets.QLineEdit(parent=self.basicTab)
+        self.categoriesEdit.setClearButtonEnabled(True)
+        self.categoriesEdit.setObjectName("categoriesEdit")
+        self.gridLayout.addWidget(self.categoriesEdit, 11, 1, 1, 2)
+        self.categoriesButton = QtWidgets.QToolButton(parent=self.basicTab)
+        self.categoriesButton.setObjectName("categoriesButton")
+        self.gridLayout.addWidget(self.categoriesButton, 11, 3, 1, 1)
+        self.label_13 = QtWidgets.QLabel(parent=self.basicTab)
+        self.label_13.setObjectName("label_13")
+        self.gridLayout.addWidget(self.label_13, 12, 0, 1, 1)
+        self.actionsEdit = QtWidgets.QLineEdit(parent=self.basicTab)
+        self.actionsEdit.setClearButtonEnabled(True)
+        self.actionsEdit.setObjectName("actionsEdit")
+        self.gridLayout.addWidget(self.actionsEdit, 12, 1, 1, 3)
+        self.label_14 = QtWidgets.QLabel(parent=self.basicTab)
+        self.label_14.setObjectName("label_14")
+        self.gridLayout.addWidget(self.label_14, 13, 0, 1, 1)
+        self.onlyShowEdit = QtWidgets.QLineEdit(parent=self.basicTab)
+        self.onlyShowEdit.setClearButtonEnabled(True)
+        self.onlyShowEdit.setObjectName("onlyShowEdit")
+        self.gridLayout.addWidget(self.onlyShowEdit, 13, 1, 1, 2)
+        self.onlyShowButton = QtWidgets.QToolButton(parent=self.basicTab)
+        self.onlyShowButton.setObjectName("onlyShowButton")
+        self.gridLayout.addWidget(self.onlyShowButton, 13, 3, 1, 1)
+        self.label_15 = QtWidgets.QLabel(parent=self.basicTab)
+        self.label_15.setObjectName("label_15")
+        self.gridLayout.addWidget(self.label_15, 14, 0, 1, 1)
+        self.notShowEdit = QtWidgets.QLineEdit(parent=self.basicTab)
+        self.notShowEdit.setClearButtonEnabled(True)
+        self.notShowEdit.setObjectName("notShowEdit")
+        self.gridLayout.addWidget(self.notShowEdit, 14, 1, 1, 2)
+        self.notShowButton = QtWidgets.QToolButton(parent=self.basicTab)
+        self.notShowButton.setObjectName("notShowButton")
+        self.gridLayout.addWidget(self.notShowButton, 14, 3, 1, 1)
+        spacerItem2 = QtWidgets.QSpacerItem(20, 4, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.gridLayout.addItem(spacerItem2, 15, 2, 1, 1)
+        self.dataTabWidget.addTab(self.basicTab, "")
+        self.kdeTab = QtWidgets.QWidget()
+        self.kdeTab.setObjectName("kdeTab")
+        self.gridLayout_2 = QtWidgets.QGridLayout(self.kdeTab)
+        self.gridLayout_2.setObjectName("gridLayout_2")
+        self.label_16 = QtWidgets.QLabel(parent=self.kdeTab)
+        self.label_16.setObjectName("label_16")
+        self.gridLayout_2.addWidget(self.label_16, 0, 0, 1, 1)
+        self.kdeEncodingComboBox = QtWidgets.QComboBox(parent=self.kdeTab)
+        self.kdeEncodingComboBox.setObjectName("kdeEncodingComboBox")
+        self.gridLayout_2.addWidget(self.kdeEncodingComboBox, 0, 1, 1, 2)
+        self.label_17 = QtWidgets.QLabel(parent=self.kdeTab)
+        self.label_17.setObjectName("label_17")
+        self.gridLayout_2.addWidget(self.label_17, 1, 0, 1, 1)
+        self.kdeApiComboBox = QtWidgets.QComboBox(parent=self.kdeTab)
+        self.kdeApiComboBox.setObjectName("kdeApiComboBox")
+        self.gridLayout_2.addWidget(self.kdeApiComboBox, 1, 1, 1, 2)
+        self.label_18 = QtWidgets.QLabel(parent=self.kdeTab)
+        self.label_18.setObjectName("label_18")
+        self.gridLayout_2.addWidget(self.label_18, 2, 0, 1, 1)
+        self.kdeServiceTypeEdit = QtWidgets.QLineEdit(parent=self.kdeTab)
+        self.kdeServiceTypeEdit.setText("Plasma/Applet")
+        self.kdeServiceTypeEdit.setClearButtonEnabled(True)
+        self.kdeServiceTypeEdit.setObjectName("kdeServiceTypeEdit")
+        self.gridLayout_2.addWidget(self.kdeServiceTypeEdit, 2, 1, 1, 2)
+        self.label_19 = QtWidgets.QLabel(parent=self.kdeTab)
+        self.label_19.setObjectName("label_19")
+        self.gridLayout_2.addWidget(self.label_19, 3, 0, 1, 1)
+        self.kdeMainScriptEdit = QtWidgets.QLineEdit(parent=self.kdeTab)
+        self.kdeMainScriptEdit.setClearButtonEnabled(True)
+        self.kdeMainScriptEdit.setObjectName("kdeMainScriptEdit")
+        self.gridLayout_2.addWidget(self.kdeMainScriptEdit, 3, 1, 1, 2)
+        self.label_20 = QtWidgets.QLabel(parent=self.kdeTab)
+        self.label_20.setObjectName("label_20")
+        self.gridLayout_2.addWidget(self.label_20, 4, 0, 1, 1)
+        self.kdeAuthorEdit = QtWidgets.QLineEdit(parent=self.kdeTab)
+        self.kdeAuthorEdit.setClearButtonEnabled(True)
+        self.kdeAuthorEdit.setObjectName("kdeAuthorEdit")
+        self.gridLayout_2.addWidget(self.kdeAuthorEdit, 4, 1, 1, 2)
+        self.label_21 = QtWidgets.QLabel(parent=self.kdeTab)
+        self.label_21.setObjectName("label_21")
+        self.gridLayout_2.addWidget(self.label_21, 5, 0, 1, 1)
+        self.kdeEmailEdit = QtWidgets.QLineEdit(parent=self.kdeTab)
+        self.kdeEmailEdit.setClearButtonEnabled(True)
+        self.kdeEmailEdit.setObjectName("kdeEmailEdit")
+        self.gridLayout_2.addWidget(self.kdeEmailEdit, 5, 1, 1, 2)
+        self.label_23 = QtWidgets.QLabel(parent=self.kdeTab)
+        self.label_23.setObjectName("label_23")
+        self.gridLayout_2.addWidget(self.label_23, 6, 0, 1, 1)
+        self.kdeNameEdit = QtWidgets.QLineEdit(parent=self.kdeTab)
+        self.kdeNameEdit.setClearButtonEnabled(True)
+        self.kdeNameEdit.setObjectName("kdeNameEdit")
+        self.gridLayout_2.addWidget(self.kdeNameEdit, 6, 1, 1, 2)
+        self.label_22 = QtWidgets.QLabel(parent=self.kdeTab)
+        self.label_22.setObjectName("label_22")
+        self.gridLayout_2.addWidget(self.label_22, 7, 0, 1, 1)
+        self.kdeVersionEdit = QtWidgets.QLineEdit(parent=self.kdeTab)
+        self.kdeVersionEdit.setClearButtonEnabled(True)
+        self.kdeVersionEdit.setObjectName("kdeVersionEdit")
+        self.gridLayout_2.addWidget(self.kdeVersionEdit, 7, 1, 1, 2)
+        self.label_24 = QtWidgets.QLabel(parent=self.kdeTab)
+        self.label_24.setObjectName("label_24")
+        self.gridLayout_2.addWidget(self.label_24, 8, 0, 1, 1)
+        self.kdeWebsiteEdit = QtWidgets.QLineEdit(parent=self.kdeTab)
+        self.kdeWebsiteEdit.setClearButtonEnabled(True)
+        self.kdeWebsiteEdit.setObjectName("kdeWebsiteEdit")
+        self.gridLayout_2.addWidget(self.kdeWebsiteEdit, 8, 1, 1, 2)
+        self.label_25 = QtWidgets.QLabel(parent=self.kdeTab)
+        self.label_25.setObjectName("label_25")
+        self.gridLayout_2.addWidget(self.label_25, 9, 0, 1, 1)
+        self.kdeCategoryComboBox = QtWidgets.QComboBox(parent=self.kdeTab)
+        self.kdeCategoryComboBox.setObjectName("kdeCategoryComboBox")
+        self.gridLayout_2.addWidget(self.kdeCategoryComboBox, 9, 1, 1, 2)
+        self.label_26 = QtWidgets.QLabel(parent=self.kdeTab)
+        self.label_26.setObjectName("label_26")
+        self.gridLayout_2.addWidget(self.label_26, 10, 0, 1, 1)
+        self.kdeDependsEdit = QtWidgets.QLineEdit(parent=self.kdeTab)
+        self.kdeDependsEdit.setClearButtonEnabled(True)
+        self.kdeDependsEdit.setObjectName("kdeDependsEdit")
+        self.gridLayout_2.addWidget(self.kdeDependsEdit, 10, 1, 1, 2)
+        self.label_27 = QtWidgets.QLabel(parent=self.kdeTab)
+        self.label_27.setObjectName("label_27")
+        self.gridLayout_2.addWidget(self.label_27, 11, 0, 1, 1)
+        self.kdeLicensEdit = QtWidgets.QLineEdit(parent=self.kdeTab)
+        self.kdeLicensEdit.setText("GPLv3")
+        self.kdeLicensEdit.setClearButtonEnabled(True)
+        self.kdeLicensEdit.setObjectName("kdeLicensEdit")
+        self.gridLayout_2.addWidget(self.kdeLicensEdit, 11, 1, 1, 2)
+        self.label_28 = QtWidgets.QLabel(parent=self.kdeTab)
+        self.label_28.setObjectName("label_28")
+        self.gridLayout_2.addWidget(self.label_28, 12, 0, 1, 1)
+        self.kdeEnabledDefaultCheckBox = QtWidgets.QCheckBox(parent=self.kdeTab)
+        self.kdeEnabledDefaultCheckBox.setText("")
+        self.kdeEnabledDefaultCheckBox.setObjectName("kdeEnabledDefaultCheckBox")
+        self.gridLayout_2.addWidget(self.kdeEnabledDefaultCheckBox, 12, 1, 1, 1)
+        spacerItem3 = QtWidgets.QSpacerItem(508, 17, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout_2.addItem(spacerItem3, 12, 2, 1, 1)
+        spacerItem4 = QtWidgets.QSpacerItem(20, 37, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.gridLayout_2.addItem(spacerItem4, 13, 0, 1, 1)
+        self.dataTabWidget.addTab(self.kdeTab, "")
+        self.unityTab = QtWidgets.QWidget()
+        self.unityTab.setObjectName("unityTab")
+        self.gridLayout_3 = QtWidgets.QGridLayout(self.unityTab)
+        self.gridLayout_3.setObjectName("gridLayout_3")
+        self.label_29 = QtWidgets.QLabel(parent=self.unityTab)
+        self.label_29.setObjectName("label_29")
+        self.gridLayout_3.addWidget(self.label_29, 0, 0, 1, 1)
+        self.unityShortcutsEdit = QtWidgets.QLineEdit(parent=self.unityTab)
+        self.unityShortcutsEdit.setText("Next;Previous")
+        self.unityShortcutsEdit.setClearButtonEnabled(True)
+        self.unityShortcutsEdit.setObjectName("unityShortcutsEdit")
+        self.gridLayout_3.addWidget(self.unityShortcutsEdit, 0, 1, 1, 1)
+        spacerItem5 = QtWidgets.QSpacerItem(20, 382, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.gridLayout_3.addItem(spacerItem5, 1, 1, 1, 1)
+        self.dataTabWidget.addTab(self.unityTab, "")
+        self.verticalLayout.addWidget(self.dataTabWidget)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.projectButton = QtWidgets.QPushButton(parent=DotDesktopWizardDialog)
+        self.projectButton.setObjectName("projectButton")
+        self.horizontalLayout.addWidget(self.projectButton)
+        spacerItem6 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem6)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=DotDesktopWizardDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.horizontalLayout.addWidget(self.buttonBox)
+        self.verticalLayout.addLayout(self.horizontalLayout)
+
+        self.retranslateUi(DotDesktopWizardDialog)
+        self.dataTabWidget.setCurrentIndex(0)
+        self.buttonBox.accepted.connect(DotDesktopWizardDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(DotDesktopWizardDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(DotDesktopWizardDialog)
+        DotDesktopWizardDialog.setTabOrder(self.typeComboBox, self.dataTabWidget)
+        DotDesktopWizardDialog.setTabOrder(self.dataTabWidget, self.typeEdit)
+        DotDesktopWizardDialog.setTabOrder(self.typeEdit, self.versionEdit)
+        DotDesktopWizardDialog.setTabOrder(self.versionEdit, self.nameEdit)
+        DotDesktopWizardDialog.setTabOrder(self.nameEdit, self.genericNameEdit)
+        DotDesktopWizardDialog.setTabOrder(self.genericNameEdit, self.commentEdit)
+        DotDesktopWizardDialog.setTabOrder(self.commentEdit, self.iconFileEdit)
+        DotDesktopWizardDialog.setTabOrder(self.iconFileEdit, self.tryExecEdit)
+        DotDesktopWizardDialog.setTabOrder(self.tryExecEdit, self.execEdit)
+        DotDesktopWizardDialog.setTabOrder(self.execEdit, self.pathEdit)
+        DotDesktopWizardDialog.setTabOrder(self.pathEdit, self.terminalCheckBox)
+        DotDesktopWizardDialog.setTabOrder(self.terminalCheckBox, self.mimetypeEdit)
+        DotDesktopWizardDialog.setTabOrder(self.mimetypeEdit, self.categoriesEdit)
+        DotDesktopWizardDialog.setTabOrder(self.categoriesEdit, self.categoriesButton)
+        DotDesktopWizardDialog.setTabOrder(self.categoriesButton, self.actionsEdit)
+        DotDesktopWizardDialog.setTabOrder(self.actionsEdit, self.onlyShowEdit)
+        DotDesktopWizardDialog.setTabOrder(self.onlyShowEdit, self.onlyShowButton)
+        DotDesktopWizardDialog.setTabOrder(self.onlyShowButton, self.notShowEdit)
+        DotDesktopWizardDialog.setTabOrder(self.notShowEdit, self.notShowButton)
+        DotDesktopWizardDialog.setTabOrder(self.notShowButton, self.kdeEncodingComboBox)
+        DotDesktopWizardDialog.setTabOrder(self.kdeEncodingComboBox, self.kdeApiComboBox)
+        DotDesktopWizardDialog.setTabOrder(self.kdeApiComboBox, self.kdeServiceTypeEdit)
+        DotDesktopWizardDialog.setTabOrder(self.kdeServiceTypeEdit, self.kdeMainScriptEdit)
+        DotDesktopWizardDialog.setTabOrder(self.kdeMainScriptEdit, self.kdeAuthorEdit)
+        DotDesktopWizardDialog.setTabOrder(self.kdeAuthorEdit, self.kdeEmailEdit)
+        DotDesktopWizardDialog.setTabOrder(self.kdeEmailEdit, self.kdeNameEdit)
+        DotDesktopWizardDialog.setTabOrder(self.kdeNameEdit, self.kdeVersionEdit)
+        DotDesktopWizardDialog.setTabOrder(self.kdeVersionEdit, self.kdeWebsiteEdit)
+        DotDesktopWizardDialog.setTabOrder(self.kdeWebsiteEdit, self.kdeCategoryComboBox)
+        DotDesktopWizardDialog.setTabOrder(self.kdeCategoryComboBox, self.kdeDependsEdit)
+        DotDesktopWizardDialog.setTabOrder(self.kdeDependsEdit, self.kdeLicensEdit)
+        DotDesktopWizardDialog.setTabOrder(self.kdeLicensEdit, self.kdeEnabledDefaultCheckBox)
+        DotDesktopWizardDialog.setTabOrder(self.kdeEnabledDefaultCheckBox, self.unityShortcutsEdit)
+        DotDesktopWizardDialog.setTabOrder(self.unityShortcutsEdit, self.projectButton)
+        DotDesktopWizardDialog.setTabOrder(self.projectButton, self.buttonBox)
+
+    def retranslateUi(self, DotDesktopWizardDialog):
+        _translate = QtCore.QCoreApplication.translate
+        DotDesktopWizardDialog.setWindowTitle(_translate("DotDesktopWizardDialog", ".desktop Wizard"))
+        self.label.setText(_translate("DotDesktopWizardDialog", ".desktop File Type:"))
+        self.typeComboBox.setToolTip(_translate("DotDesktopWizardDialog", "Select a target .desktop file format"))
+        self.label_3.setText(_translate("DotDesktopWizardDialog", "Type:"))
+        self.typeEdit.setToolTip(_translate("DotDesktopWizardDialog", "Enter the type"))
+        self.typeEdit.setPlaceholderText(_translate("DotDesktopWizardDialog", "Mandatory"))
+        self.label_2.setText(_translate("DotDesktopWizardDialog", "Version:"))
+        self.versionEdit.setToolTip(_translate("DotDesktopWizardDialog", "Enter the version of the .desktop specification"))
+        self.label_4.setText(_translate("DotDesktopWizardDialog", "Name:"))
+        self.nameEdit.setToolTip(_translate("DotDesktopWizardDialog", "Enter the application name"))
+        self.nameEdit.setPlaceholderText(_translate("DotDesktopWizardDialog", "Mandatory"))
+        self.label_5.setText(_translate("DotDesktopWizardDialog", "Generic Name:"))
+        self.genericNameEdit.setToolTip(_translate("DotDesktopWizardDialog", "Enter the generic application name"))
+        self.label_6.setText(_translate("DotDesktopWizardDialog", "Comment:"))
+        self.commentEdit.setToolTip(_translate("DotDesktopWizardDialog", "Enter a comment"))
+        self.label_7.setText(_translate("DotDesktopWizardDialog", "Icon:"))
+        self.iconFileEdit.setToolTip(_translate("DotDesktopWizardDialog", "Enter the icon file name"))
+        self.label_10.setText(_translate("DotDesktopWizardDialog", "Try Exec:"))
+        self.tryExecEdit.setToolTip(_translate("DotDesktopWizardDialog", "Enter an executable command used to determine the application\'s presence"))
+        self.label_9.setText(_translate("DotDesktopWizardDialog", "Exec:"))
+        self.execEdit.setToolTip(_translate("DotDesktopWizardDialog", "Enter the executable command"))
+        self.label_30.setText(_translate("DotDesktopWizardDialog", "Path:"))
+        self.pathEdit.setToolTip(_translate("DotDesktopWizardDialog", "Enter the working directory"))
+        self.label_12.setText(_translate("DotDesktopWizardDialog", "Execute in Terminal:"))
+        self.terminalCheckBox.setToolTip(_translate("DotDesktopWizardDialog", "Select to execute the application in a terminal"))
+        self.label_11.setText(_translate("DotDesktopWizardDialog", "Mimetype:"))
+        self.mimetypeEdit.setToolTip(_translate("DotDesktopWizardDialog", "Enter the mime type"))
+        self.label_8.setText(_translate("DotDesktopWizardDialog", "Categories:"))
+        self.categoriesEdit.setToolTip(_translate("DotDesktopWizardDialog", "Enter the list of categories separated by \';\'"))
+        self.categoriesButton.setToolTip(_translate("DotDesktopWizardDialog", "Press to select the categories via a dialog"))
+        self.label_13.setText(_translate("DotDesktopWizardDialog", "Actions:"))
+        self.actionsEdit.setToolTip(_translate("DotDesktopWizardDialog", "Enter the list of actions separated by \';\'"))
+        self.label_14.setText(_translate("DotDesktopWizardDialog", "Only Show In:"))
+        self.onlyShowEdit.setToolTip(_translate("DotDesktopWizardDialog", "Enter the list of environments to show in separated by \';\'"))
+        self.onlyShowEdit.setPlaceholderText(_translate("DotDesktopWizardDialog", "Only one of \'Only Show In\' or \'Not Show In\' allowed"))
+        self.onlyShowButton.setToolTip(_translate("DotDesktopWizardDialog", "Press to select the environments via a dialog"))
+        self.label_15.setText(_translate("DotDesktopWizardDialog", "Not Show In:"))
+        self.notShowEdit.setToolTip(_translate("DotDesktopWizardDialog", "Enter the list of environments to not show in separated by \';\'"))
+        self.notShowEdit.setPlaceholderText(_translate("DotDesktopWizardDialog", "Only one of \'Only Show In\' or \'Not Show In\' allowed"))
+        self.notShowButton.setToolTip(_translate("DotDesktopWizardDialog", "Press to select the environments via a dialog"))
+        self.dataTabWidget.setTabText(self.dataTabWidget.indexOf(self.basicTab), _translate("DotDesktopWizardDialog", "Basic"))
+        self.label_16.setText(_translate("DotDesktopWizardDialog", "Encoding:"))
+        self.kdeEncodingComboBox.setToolTip(_translate("DotDesktopWizardDialog", "Select the encoding of the file"))
+        self.label_17.setText(_translate("DotDesktopWizardDialog", "API:"))
+        self.kdeApiComboBox.setToolTip(_translate("DotDesktopWizardDialog", "Select the Plasma API"))
+        self.label_18.setText(_translate("DotDesktopWizardDialog", "Service Type:"))
+        self.kdeServiceTypeEdit.setToolTip(_translate("DotDesktopWizardDialog", "Enter the service type"))
+        self.label_19.setText(_translate("DotDesktopWizardDialog", "Main Script:"))
+        self.kdeMainScriptEdit.setToolTip(_translate("DotDesktopWizardDialog", "Enter the main script name"))
+        self.label_20.setText(_translate("DotDesktopWizardDialog", "Author:"))
+        self.kdeAuthorEdit.setToolTip(_translate("DotDesktopWizardDialog", "Enter the author\'s name"))
+        self.label_21.setText(_translate("DotDesktopWizardDialog", "Email:"))
+        self.kdeEmailEdit.setToolTip(_translate("DotDesktopWizardDialog", "Enter the auhor email"))
+        self.label_23.setText(_translate("DotDesktopWizardDialog", "Name:"))
+        self.kdeNameEdit.setToolTip(_translate("DotDesktopWizardDialog", "Enter the application name"))
+        self.label_22.setText(_translate("DotDesktopWizardDialog", "Version:"))
+        self.kdeVersionEdit.setToolTip(_translate("DotDesktopWizardDialog", "Enter the version number in the form \'major.minor[.patch[.sub]]\'"))
+        self.label_24.setText(_translate("DotDesktopWizardDialog", "Website:"))
+        self.kdeWebsiteEdit.setToolTip(_translate("DotDesktopWizardDialog", "Enter the URL of the website"))
+        self.label_25.setText(_translate("DotDesktopWizardDialog", "Category:"))
+        self.kdeCategoryComboBox.setToolTip(_translate("DotDesktopWizardDialog", "Select a category"))
+        self.label_26.setText(_translate("DotDesktopWizardDialog", "Depends:"))
+        self.kdeDependsEdit.setToolTip(_translate("DotDesktopWizardDialog", "Enter the list of dependancies separated by \';\'"))
+        self.label_27.setText(_translate("DotDesktopWizardDialog", "License:"))
+        self.kdeLicensEdit.setToolTip(_translate("DotDesktopWizardDialog", "Enter the license type"))
+        self.label_28.setText(_translate("DotDesktopWizardDialog", "Enabled by Default:"))
+        self.kdeEnabledDefaultCheckBox.setToolTip(_translate("DotDesktopWizardDialog", "Select to enable this by default"))
+        self.dataTabWidget.setTabText(self.dataTabWidget.indexOf(self.kdeTab), _translate("DotDesktopWizardDialog", "KDE Plasma"))
+        self.label_29.setText(_translate("DotDesktopWizardDialog", "X-Ayatana-Desktop-Shortcuts:"))
+        self.unityShortcutsEdit.setToolTip(_translate("DotDesktopWizardDialog", "Enter the desktop shortcuts separated by \';\'"))
+        self.dataTabWidget.setTabText(self.dataTabWidget.indexOf(self.unityTab), _translate("DotDesktopWizardDialog", "Unity"))
+        self.projectButton.setToolTip(_translate("DotDesktopWizardDialog", "Press to populate entry fields from project data"))
+        self.projectButton.setText(_translate("DotDesktopWizardDialog", "Populate from Project"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/WizardPlugins/EricMessageBoxWizard/Ui_EricMessageBoxWizardDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,347 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/WizardPlugins/EricMessageBoxWizard/EricMessageBoxWizardDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_EricMessageBoxWizardDialog(object):
+    def setupUi(self, EricMessageBoxWizardDialog):
+        EricMessageBoxWizardDialog.setObjectName("EricMessageBoxWizardDialog")
+        EricMessageBoxWizardDialog.resize(600, 851)
+        EricMessageBoxWizardDialog.setSizeGripEnabled(True)
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(EricMessageBoxWizardDialog)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.typeBox = QtWidgets.QGroupBox(parent=EricMessageBoxWizardDialog)
+        self.typeBox.setObjectName("typeBox")
+        self.gridLayout = QtWidgets.QGridLayout(self.typeBox)
+        self.gridLayout.setObjectName("gridLayout")
+        self.rInformation = QtWidgets.QRadioButton(parent=self.typeBox)
+        self.rInformation.setChecked(True)
+        self.rInformation.setObjectName("rInformation")
+        self.gridLayout.addWidget(self.rInformation, 0, 0, 1, 1)
+        self.rQuestion = QtWidgets.QRadioButton(parent=self.typeBox)
+        self.rQuestion.setFocusPolicy(QtCore.Qt.FocusPolicy.TabFocus)
+        self.rQuestion.setObjectName("rQuestion")
+        self.gridLayout.addWidget(self.rQuestion, 0, 1, 1, 1)
+        self.rWarning = QtWidgets.QRadioButton(parent=self.typeBox)
+        self.rWarning.setFocusPolicy(QtCore.Qt.FocusPolicy.TabFocus)
+        self.rWarning.setObjectName("rWarning")
+        self.gridLayout.addWidget(self.rWarning, 0, 2, 1, 1)
+        self.rCritical = QtWidgets.QRadioButton(parent=self.typeBox)
+        self.rCritical.setFocusPolicy(QtCore.Qt.FocusPolicy.TabFocus)
+        self.rCritical.setObjectName("rCritical")
+        self.gridLayout.addWidget(self.rCritical, 0, 3, 1, 1)
+        self.rYesNo = QtWidgets.QRadioButton(parent=self.typeBox)
+        self.rYesNo.setObjectName("rYesNo")
+        self.gridLayout.addWidget(self.rYesNo, 1, 0, 1, 1)
+        self.rRetryAbort = QtWidgets.QRadioButton(parent=self.typeBox)
+        self.rRetryAbort.setObjectName("rRetryAbort")
+        self.gridLayout.addWidget(self.rRetryAbort, 1, 1, 1, 1)
+        self.rOkToClearData = QtWidgets.QRadioButton(parent=self.typeBox)
+        self.rOkToClearData.setObjectName("rOkToClearData")
+        self.gridLayout.addWidget(self.rOkToClearData, 1, 2, 1, 1)
+        self.rAbout = QtWidgets.QRadioButton(parent=self.typeBox)
+        self.rAbout.setFocusPolicy(QtCore.Qt.FocusPolicy.TabFocus)
+        self.rAbout.setObjectName("rAbout")
+        self.gridLayout.addWidget(self.rAbout, 2, 0, 1, 1)
+        self.rAboutQt = QtWidgets.QRadioButton(parent=self.typeBox)
+        self.rAboutQt.setFocusPolicy(QtCore.Qt.FocusPolicy.TabFocus)
+        self.rAboutQt.setObjectName("rAboutQt")
+        self.gridLayout.addWidget(self.rAboutQt, 2, 1, 1, 1)
+        self.rStandard = QtWidgets.QRadioButton(parent=self.typeBox)
+        self.rStandard.setObjectName("rStandard")
+        self.gridLayout.addWidget(self.rStandard, 2, 2, 1, 1)
+        self.verticalLayout_2.addWidget(self.typeBox)
+        self.lResultVar = QtWidgets.QLabel(parent=EricMessageBoxWizardDialog)
+        self.lResultVar.setObjectName("lResultVar")
+        self.verticalLayout_2.addWidget(self.lResultVar)
+        self.eResultVar = QtWidgets.QLineEdit(parent=EricMessageBoxWizardDialog)
+        self.eResultVar.setObjectName("eResultVar")
+        self.verticalLayout_2.addWidget(self.eResultVar)
+        self.textLabel1 = QtWidgets.QLabel(parent=EricMessageBoxWizardDialog)
+        self.textLabel1.setObjectName("textLabel1")
+        self.verticalLayout_2.addWidget(self.textLabel1)
+        self.eCaption = QtWidgets.QLineEdit(parent=EricMessageBoxWizardDialog)
+        self.eCaption.setObjectName("eCaption")
+        self.verticalLayout_2.addWidget(self.eCaption)
+        self.textLabel2 = QtWidgets.QLabel(parent=EricMessageBoxWizardDialog)
+        self.textLabel2.setObjectName("textLabel2")
+        self.verticalLayout_2.addWidget(self.textLabel2)
+        self.eMessage = EricSpellCheckedTextEdit(parent=EricMessageBoxWizardDialog)
+        self.eMessage.setTabChangesFocus(True)
+        self.eMessage.setObjectName("eMessage")
+        self.verticalLayout_2.addWidget(self.eMessage)
+        self.parentGroup = QtWidgets.QGroupBox(parent=EricMessageBoxWizardDialog)
+        self.parentGroup.setObjectName("parentGroup")
+        self.gridLayout_3 = QtWidgets.QGridLayout(self.parentGroup)
+        self.gridLayout_3.setObjectName("gridLayout_3")
+        self.parentSelf = QtWidgets.QRadioButton(parent=self.parentGroup)
+        self.parentSelf.setChecked(True)
+        self.parentSelf.setObjectName("parentSelf")
+        self.gridLayout_3.addWidget(self.parentSelf, 0, 0, 1, 1)
+        self.parentNone = QtWidgets.QRadioButton(parent=self.parentGroup)
+        self.parentNone.setObjectName("parentNone")
+        self.gridLayout_3.addWidget(self.parentNone, 0, 1, 1, 1)
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.parentOther = QtWidgets.QRadioButton(parent=self.parentGroup)
+        self.parentOther.setObjectName("parentOther")
+        self.horizontalLayout_2.addWidget(self.parentOther)
+        self.parentEdit = QtWidgets.QLineEdit(parent=self.parentGroup)
+        self.parentEdit.setEnabled(False)
+        self.parentEdit.setObjectName("parentEdit")
+        self.horizontalLayout_2.addWidget(self.parentEdit)
+        self.gridLayout_3.addLayout(self.horizontalLayout_2, 1, 0, 1, 2)
+        self.verticalLayout_2.addWidget(self.parentGroup)
+        self.standardButtons = QtWidgets.QGroupBox(parent=EricMessageBoxWizardDialog)
+        self.standardButtons.setObjectName("standardButtons")
+        self.gridLayout_2 = QtWidgets.QGridLayout(self.standardButtons)
+        self.gridLayout_2.setObjectName("gridLayout_2")
+        self.abortCheck = QtWidgets.QCheckBox(parent=self.standardButtons)
+        self.abortCheck.setObjectName("abortCheck")
+        self.gridLayout_2.addWidget(self.abortCheck, 0, 0, 1, 1)
+        self.applyCheck = QtWidgets.QCheckBox(parent=self.standardButtons)
+        self.applyCheck.setObjectName("applyCheck")
+        self.gridLayout_2.addWidget(self.applyCheck, 0, 1, 1, 1)
+        self.cancelCheck = QtWidgets.QCheckBox(parent=self.standardButtons)
+        self.cancelCheck.setObjectName("cancelCheck")
+        self.gridLayout_2.addWidget(self.cancelCheck, 0, 2, 1, 1)
+        self.closeCheck = QtWidgets.QCheckBox(parent=self.standardButtons)
+        self.closeCheck.setObjectName("closeCheck")
+        self.gridLayout_2.addWidget(self.closeCheck, 0, 3, 1, 1)
+        self.discardCheck = QtWidgets.QCheckBox(parent=self.standardButtons)
+        self.discardCheck.setObjectName("discardCheck")
+        self.gridLayout_2.addWidget(self.discardCheck, 0, 4, 1, 1)
+        self.helpCheck = QtWidgets.QCheckBox(parent=self.standardButtons)
+        self.helpCheck.setObjectName("helpCheck")
+        self.gridLayout_2.addWidget(self.helpCheck, 1, 0, 1, 1)
+        self.ignoreCheck = QtWidgets.QCheckBox(parent=self.standardButtons)
+        self.ignoreCheck.setObjectName("ignoreCheck")
+        self.gridLayout_2.addWidget(self.ignoreCheck, 1, 1, 1, 1)
+        self.noCheck = QtWidgets.QCheckBox(parent=self.standardButtons)
+        self.noCheck.setObjectName("noCheck")
+        self.gridLayout_2.addWidget(self.noCheck, 1, 2, 1, 1)
+        self.notoallCheck = QtWidgets.QCheckBox(parent=self.standardButtons)
+        self.notoallCheck.setObjectName("notoallCheck")
+        self.gridLayout_2.addWidget(self.notoallCheck, 1, 3, 1, 1)
+        self.okCheck = QtWidgets.QCheckBox(parent=self.standardButtons)
+        self.okCheck.setObjectName("okCheck")
+        self.gridLayout_2.addWidget(self.okCheck, 1, 4, 1, 1)
+        self.openCheck = QtWidgets.QCheckBox(parent=self.standardButtons)
+        self.openCheck.setObjectName("openCheck")
+        self.gridLayout_2.addWidget(self.openCheck, 2, 0, 1, 1)
+        self.resetCheck = QtWidgets.QCheckBox(parent=self.standardButtons)
+        self.resetCheck.setObjectName("resetCheck")
+        self.gridLayout_2.addWidget(self.resetCheck, 2, 1, 1, 1)
+        self.restoreCheck = QtWidgets.QCheckBox(parent=self.standardButtons)
+        self.restoreCheck.setObjectName("restoreCheck")
+        self.gridLayout_2.addWidget(self.restoreCheck, 2, 2, 1, 1)
+        self.retryCheck = QtWidgets.QCheckBox(parent=self.standardButtons)
+        self.retryCheck.setObjectName("retryCheck")
+        self.gridLayout_2.addWidget(self.retryCheck, 2, 3, 1, 1)
+        self.saveCheck = QtWidgets.QCheckBox(parent=self.standardButtons)
+        self.saveCheck.setObjectName("saveCheck")
+        self.gridLayout_2.addWidget(self.saveCheck, 2, 4, 1, 1)
+        self.saveallCheck = QtWidgets.QCheckBox(parent=self.standardButtons)
+        self.saveallCheck.setObjectName("saveallCheck")
+        self.gridLayout_2.addWidget(self.saveallCheck, 3, 0, 1, 1)
+        self.yesCheck = QtWidgets.QCheckBox(parent=self.standardButtons)
+        self.yesCheck.setObjectName("yesCheck")
+        self.gridLayout_2.addWidget(self.yesCheck, 3, 1, 1, 1)
+        self.yestoallCheck = QtWidgets.QCheckBox(parent=self.standardButtons)
+        self.yestoallCheck.setObjectName("yestoallCheck")
+        self.gridLayout_2.addWidget(self.yestoallCheck, 3, 2, 1, 1)
+        self.verticalLayout_2.addWidget(self.standardButtons)
+        self.defaultButton = QtWidgets.QGroupBox(parent=EricMessageBoxWizardDialog)
+        self.defaultButton.setObjectName("defaultButton")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.defaultButton)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.defaultCombo = QtWidgets.QComboBox(parent=self.defaultButton)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.defaultCombo.sizePolicy().hasHeightForWidth())
+        self.defaultCombo.setSizePolicy(sizePolicy)
+        self.defaultCombo.setObjectName("defaultCombo")
+        self.verticalLayout.addWidget(self.defaultCombo)
+        self.verticalLayout_2.addWidget(self.defaultButton)
+        self.iconBox = QtWidgets.QGroupBox(parent=EricMessageBoxWizardDialog)
+        self.iconBox.setObjectName("iconBox")
+        self._2 = QtWidgets.QHBoxLayout(self.iconBox)
+        self._2.setObjectName("_2")
+        self.iconInformation = QtWidgets.QRadioButton(parent=self.iconBox)
+        self.iconInformation.setChecked(False)
+        self.iconInformation.setObjectName("iconInformation")
+        self._2.addWidget(self.iconInformation)
+        self.iconQuestion = QtWidgets.QRadioButton(parent=self.iconBox)
+        self.iconQuestion.setFocusPolicy(QtCore.Qt.FocusPolicy.TabFocus)
+        self.iconQuestion.setChecked(True)
+        self.iconQuestion.setObjectName("iconQuestion")
+        self._2.addWidget(self.iconQuestion)
+        self.iconWarning = QtWidgets.QRadioButton(parent=self.iconBox)
+        self.iconWarning.setFocusPolicy(QtCore.Qt.FocusPolicy.TabFocus)
+        self.iconWarning.setObjectName("iconWarning")
+        self._2.addWidget(self.iconWarning)
+        self.iconCritical = QtWidgets.QRadioButton(parent=self.iconBox)
+        self.iconCritical.setFocusPolicy(QtCore.Qt.FocusPolicy.TabFocus)
+        self.iconCritical.setObjectName("iconCritical")
+        self._2.addWidget(self.iconCritical)
+        self.verticalLayout_2.addWidget(self.iconBox)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.modalCheck = QtWidgets.QCheckBox(parent=EricMessageBoxWizardDialog)
+        self.modalCheck.setEnabled(False)
+        self.modalCheck.setObjectName("modalCheck")
+        self.horizontalLayout.addWidget(self.modalCheck)
+        self.yesDefaultCheck = QtWidgets.QCheckBox(parent=EricMessageBoxWizardDialog)
+        self.yesDefaultCheck.setEnabled(False)
+        self.yesDefaultCheck.setObjectName("yesDefaultCheck")
+        self.horizontalLayout.addWidget(self.yesDefaultCheck)
+        self.label = QtWidgets.QLabel(parent=EricMessageBoxWizardDialog)
+        self.label.setEnabled(False)
+        self.label.setObjectName("label")
+        self.horizontalLayout.addWidget(self.label)
+        self.saveFuncEdit = QtWidgets.QLineEdit(parent=EricMessageBoxWizardDialog)
+        self.saveFuncEdit.setEnabled(False)
+        self.saveFuncEdit.setObjectName("saveFuncEdit")
+        self.horizontalLayout.addWidget(self.saveFuncEdit)
+        self.verticalLayout_2.addLayout(self.horizontalLayout)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=EricMessageBoxWizardDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout_2.addWidget(self.buttonBox)
+
+        self.retranslateUi(EricMessageBoxWizardDialog)
+        self.buttonBox.accepted.connect(EricMessageBoxWizardDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(EricMessageBoxWizardDialog.reject) # type: ignore
+        self.rStandard.toggled['bool'].connect(self.modalCheck.setEnabled) # type: ignore
+        self.rYesNo.toggled['bool'].connect(self.yesDefaultCheck.setEnabled) # type: ignore
+        self.rOkToClearData.toggled['bool'].connect(self.label.setEnabled) # type: ignore
+        self.rOkToClearData.toggled['bool'].connect(self.saveFuncEdit.setEnabled) # type: ignore
+        self.parentOther.toggled['bool'].connect(self.parentEdit.setEnabled) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(EricMessageBoxWizardDialog)
+        EricMessageBoxWizardDialog.setTabOrder(self.rInformation, self.rQuestion)
+        EricMessageBoxWizardDialog.setTabOrder(self.rQuestion, self.rWarning)
+        EricMessageBoxWizardDialog.setTabOrder(self.rWarning, self.rCritical)
+        EricMessageBoxWizardDialog.setTabOrder(self.rCritical, self.rYesNo)
+        EricMessageBoxWizardDialog.setTabOrder(self.rYesNo, self.rRetryAbort)
+        EricMessageBoxWizardDialog.setTabOrder(self.rRetryAbort, self.rOkToClearData)
+        EricMessageBoxWizardDialog.setTabOrder(self.rOkToClearData, self.rAbout)
+        EricMessageBoxWizardDialog.setTabOrder(self.rAbout, self.rAboutQt)
+        EricMessageBoxWizardDialog.setTabOrder(self.rAboutQt, self.rStandard)
+        EricMessageBoxWizardDialog.setTabOrder(self.rStandard, self.eResultVar)
+        EricMessageBoxWizardDialog.setTabOrder(self.eResultVar, self.eCaption)
+        EricMessageBoxWizardDialog.setTabOrder(self.eCaption, self.eMessage)
+        EricMessageBoxWizardDialog.setTabOrder(self.eMessage, self.parentSelf)
+        EricMessageBoxWizardDialog.setTabOrder(self.parentSelf, self.parentNone)
+        EricMessageBoxWizardDialog.setTabOrder(self.parentNone, self.parentOther)
+        EricMessageBoxWizardDialog.setTabOrder(self.parentOther, self.parentEdit)
+        EricMessageBoxWizardDialog.setTabOrder(self.parentEdit, self.abortCheck)
+        EricMessageBoxWizardDialog.setTabOrder(self.abortCheck, self.applyCheck)
+        EricMessageBoxWizardDialog.setTabOrder(self.applyCheck, self.cancelCheck)
+        EricMessageBoxWizardDialog.setTabOrder(self.cancelCheck, self.closeCheck)
+        EricMessageBoxWizardDialog.setTabOrder(self.closeCheck, self.discardCheck)
+        EricMessageBoxWizardDialog.setTabOrder(self.discardCheck, self.helpCheck)
+        EricMessageBoxWizardDialog.setTabOrder(self.helpCheck, self.ignoreCheck)
+        EricMessageBoxWizardDialog.setTabOrder(self.ignoreCheck, self.noCheck)
+        EricMessageBoxWizardDialog.setTabOrder(self.noCheck, self.notoallCheck)
+        EricMessageBoxWizardDialog.setTabOrder(self.notoallCheck, self.okCheck)
+        EricMessageBoxWizardDialog.setTabOrder(self.okCheck, self.openCheck)
+        EricMessageBoxWizardDialog.setTabOrder(self.openCheck, self.resetCheck)
+        EricMessageBoxWizardDialog.setTabOrder(self.resetCheck, self.restoreCheck)
+        EricMessageBoxWizardDialog.setTabOrder(self.restoreCheck, self.retryCheck)
+        EricMessageBoxWizardDialog.setTabOrder(self.retryCheck, self.saveCheck)
+        EricMessageBoxWizardDialog.setTabOrder(self.saveCheck, self.saveallCheck)
+        EricMessageBoxWizardDialog.setTabOrder(self.saveallCheck, self.yesCheck)
+        EricMessageBoxWizardDialog.setTabOrder(self.yesCheck, self.yestoallCheck)
+        EricMessageBoxWizardDialog.setTabOrder(self.yestoallCheck, self.defaultCombo)
+        EricMessageBoxWizardDialog.setTabOrder(self.defaultCombo, self.iconInformation)
+        EricMessageBoxWizardDialog.setTabOrder(self.iconInformation, self.iconQuestion)
+        EricMessageBoxWizardDialog.setTabOrder(self.iconQuestion, self.iconWarning)
+        EricMessageBoxWizardDialog.setTabOrder(self.iconWarning, self.iconCritical)
+        EricMessageBoxWizardDialog.setTabOrder(self.iconCritical, self.modalCheck)
+        EricMessageBoxWizardDialog.setTabOrder(self.modalCheck, self.yesDefaultCheck)
+        EricMessageBoxWizardDialog.setTabOrder(self.yesDefaultCheck, self.saveFuncEdit)
+        EricMessageBoxWizardDialog.setTabOrder(self.saveFuncEdit, self.buttonBox)
+
+    def retranslateUi(self, EricMessageBoxWizardDialog):
+        _translate = QtCore.QCoreApplication.translate
+        EricMessageBoxWizardDialog.setWindowTitle(_translate("EricMessageBoxWizardDialog", "EricMessageBox Wizard"))
+        self.typeBox.setTitle(_translate("EricMessageBoxWizardDialog", "Type"))
+        self.rInformation.setToolTip(_translate("EricMessageBoxWizardDialog", "Generate an Information message box"))
+        self.rInformation.setText(_translate("EricMessageBoxWizardDialog", "Information"))
+        self.rQuestion.setToolTip(_translate("EricMessageBoxWizardDialog", "Generate a Question message box"))
+        self.rQuestion.setText(_translate("EricMessageBoxWizardDialog", "Question"))
+        self.rWarning.setToolTip(_translate("EricMessageBoxWizardDialog", "Generate a Warning message box"))
+        self.rWarning.setText(_translate("EricMessageBoxWizardDialog", "Warning"))
+        self.rCritical.setToolTip(_translate("EricMessageBoxWizardDialog", "Generate a Critical message box"))
+        self.rCritical.setText(_translate("EricMessageBoxWizardDialog", "Critical"))
+        self.rYesNo.setToolTip(_translate("EricMessageBoxWizardDialog", "Generate a Yes/No message box"))
+        self.rYesNo.setText(_translate("EricMessageBoxWizardDialog", "Yes/No"))
+        self.rRetryAbort.setToolTip(_translate("EricMessageBoxWizardDialog", "Generate a retry/abort message box"))
+        self.rRetryAbort.setText(_translate("EricMessageBoxWizardDialog", "Retry/Abort"))
+        self.rOkToClearData.setToolTip(_translate("EricMessageBoxWizardDialog", "Generate an \"ok to clear data\" message box"))
+        self.rOkToClearData.setText(_translate("EricMessageBoxWizardDialog", "OK to clear data"))
+        self.rAbout.setToolTip(_translate("EricMessageBoxWizardDialog", "Generate an About message box"))
+        self.rAbout.setText(_translate("EricMessageBoxWizardDialog", "About"))
+        self.rAboutQt.setToolTip(_translate("EricMessageBoxWizardDialog", "Generate an AboutQt message box"))
+        self.rAboutQt.setText(_translate("EricMessageBoxWizardDialog", "About Qt"))
+        self.rStandard.setToolTip(_translate("EricMessageBoxWizardDialog", "Generate a standard message box"))
+        self.rStandard.setText(_translate("EricMessageBoxWizardDialog", "Standard message box"))
+        self.lResultVar.setText(_translate("EricMessageBoxWizardDialog", "Result:"))
+        self.eResultVar.setToolTip(_translate("EricMessageBoxWizardDialog", "Enter the result variable name"))
+        self.textLabel1.setText(_translate("EricMessageBoxWizardDialog", "Title"))
+        self.eCaption.setToolTip(_translate("EricMessageBoxWizardDialog", "Enter the title for the message box"))
+        self.textLabel2.setText(_translate("EricMessageBoxWizardDialog", "Message"))
+        self.eMessage.setToolTip(_translate("EricMessageBoxWizardDialog", "Enter the message to be shown in the message box"))
+        self.parentGroup.setTitle(_translate("EricMessageBoxWizardDialog", "Parent"))
+        self.parentSelf.setToolTip(_translate("EricMessageBoxWizardDialog", "Select \"self\" as parent"))
+        self.parentSelf.setText(_translate("EricMessageBoxWizardDialog", "self"))
+        self.parentNone.setToolTip(_translate("EricMessageBoxWizardDialog", "Select \"None\" as parent"))
+        self.parentNone.setText(_translate("EricMessageBoxWizardDialog", "None"))
+        self.parentOther.setToolTip(_translate("EricMessageBoxWizardDialog", "Select to enter a parent expression"))
+        self.parentOther.setText(_translate("EricMessageBoxWizardDialog", "Expression:"))
+        self.parentEdit.setToolTip(_translate("EricMessageBoxWizardDialog", "Enter the parent expression"))
+        self.standardButtons.setTitle(_translate("EricMessageBoxWizardDialog", "Standard Buttons"))
+        self.abortCheck.setText(_translate("EricMessageBoxWizardDialog", "Abort"))
+        self.applyCheck.setText(_translate("EricMessageBoxWizardDialog", "Apply"))
+        self.cancelCheck.setText(_translate("EricMessageBoxWizardDialog", "Cancel"))
+        self.closeCheck.setText(_translate("EricMessageBoxWizardDialog", "Close"))
+        self.discardCheck.setText(_translate("EricMessageBoxWizardDialog", "Discard"))
+        self.helpCheck.setText(_translate("EricMessageBoxWizardDialog", "Help"))
+        self.ignoreCheck.setText(_translate("EricMessageBoxWizardDialog", "Ignore"))
+        self.noCheck.setText(_translate("EricMessageBoxWizardDialog", "No"))
+        self.notoallCheck.setText(_translate("EricMessageBoxWizardDialog", "No to all"))
+        self.okCheck.setText(_translate("EricMessageBoxWizardDialog", "Ok"))
+        self.openCheck.setText(_translate("EricMessageBoxWizardDialog", "Open"))
+        self.resetCheck.setText(_translate("EricMessageBoxWizardDialog", "Reset"))
+        self.restoreCheck.setText(_translate("EricMessageBoxWizardDialog", "Restore defaults"))
+        self.retryCheck.setText(_translate("EricMessageBoxWizardDialog", "Retry"))
+        self.saveCheck.setText(_translate("EricMessageBoxWizardDialog", "Save"))
+        self.saveallCheck.setText(_translate("EricMessageBoxWizardDialog", "Save all"))
+        self.yesCheck.setText(_translate("EricMessageBoxWizardDialog", "Yes"))
+        self.yestoallCheck.setText(_translate("EricMessageBoxWizardDialog", "Yes to all"))
+        self.defaultButton.setTitle(_translate("EricMessageBoxWizardDialog", "Default Button"))
+        self.defaultCombo.setToolTip(_translate("EricMessageBoxWizardDialog", "Select the default button"))
+        self.iconBox.setTitle(_translate("EricMessageBoxWizardDialog", "Icon"))
+        self.iconInformation.setToolTip(_translate("EricMessageBoxWizardDialog", "Show an Information icon"))
+        self.iconInformation.setText(_translate("EricMessageBoxWizardDialog", "Information"))
+        self.iconQuestion.setToolTip(_translate("EricMessageBoxWizardDialog", "Show a Question icon"))
+        self.iconQuestion.setText(_translate("EricMessageBoxWizardDialog", "Question"))
+        self.iconWarning.setToolTip(_translate("EricMessageBoxWizardDialog", "Show a Warning icon"))
+        self.iconWarning.setText(_translate("EricMessageBoxWizardDialog", "Warning"))
+        self.iconCritical.setToolTip(_translate("EricMessageBoxWizardDialog", "Show a Critical icon"))
+        self.iconCritical.setText(_translate("EricMessageBoxWizardDialog", "Critical"))
+        self.modalCheck.setToolTip(_translate("EricMessageBoxWizardDialog", "Select to generate a modal message box"))
+        self.modalCheck.setText(_translate("EricMessageBoxWizardDialog", "Modal Message Box"))
+        self.yesDefaultCheck.setToolTip(_translate("EricMessageBoxWizardDialog", "Select to make \'Yes\' the default"))
+        self.yesDefaultCheck.setText(_translate("EricMessageBoxWizardDialog", "Yes is default"))
+        self.label.setText(_translate("EricMessageBoxWizardDialog", "Save function:"))
+        self.saveFuncEdit.setToolTip(_translate("EricMessageBoxWizardDialog", "Enter the name of the save function"))
+from eric7.EricWidgets.EricSpellCheckedTextEdit import EricSpellCheckedTextEdit
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/WizardPlugins/EricPluginWizard/Ui_PluginWizardDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,281 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/WizardPlugins/EricPluginWizard/PluginWizardDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_PluginWizardDialog(object):
+    def setupUi(self, PluginWizardDialog):
+        PluginWizardDialog.setObjectName("PluginWizardDialog")
+        PluginWizardDialog.resize(700, 600)
+        PluginWizardDialog.setSizeGripEnabled(True)
+        self.verticalLayout_5 = QtWidgets.QVBoxLayout(PluginWizardDialog)
+        self.verticalLayout_5.setObjectName("verticalLayout_5")
+        self.dataTabWidget = QtWidgets.QTabWidget(parent=PluginWizardDialog)
+        self.dataTabWidget.setObjectName("dataTabWidget")
+        self.headerTab = QtWidgets.QWidget()
+        self.headerTab.setObjectName("headerTab")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.headerTab)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.gridLayout = QtWidgets.QGridLayout()
+        self.gridLayout.setObjectName("gridLayout")
+        self.label = QtWidgets.QLabel(parent=self.headerTab)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
+        self.nameEdit = QtWidgets.QLineEdit(parent=self.headerTab)
+        self.nameEdit.setMaxLength(55)
+        self.nameEdit.setObjectName("nameEdit")
+        self.gridLayout.addWidget(self.nameEdit, 0, 1, 1, 2)
+        self.label_2 = QtWidgets.QLabel(parent=self.headerTab)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 1, 0, 1, 1)
+        self.versionEdit = QtWidgets.QLineEdit(parent=self.headerTab)
+        self.versionEdit.setMaxLength(10)
+        self.versionEdit.setObjectName("versionEdit")
+        self.gridLayout.addWidget(self.versionEdit, 1, 1, 1, 2)
+        self.label_3 = QtWidgets.QLabel(parent=self.headerTab)
+        self.label_3.setObjectName("label_3")
+        self.gridLayout.addWidget(self.label_3, 2, 0, 1, 1)
+        self.authorEdit = QtWidgets.QLineEdit(parent=self.headerTab)
+        self.authorEdit.setMaxLength(55)
+        self.authorEdit.setObjectName("authorEdit")
+        self.gridLayout.addWidget(self.authorEdit, 2, 1, 1, 2)
+        self.label_4 = QtWidgets.QLabel(parent=self.headerTab)
+        self.label_4.setObjectName("label_4")
+        self.gridLayout.addWidget(self.label_4, 3, 0, 1, 1)
+        self.authorEmailEdit = QtWidgets.QLineEdit(parent=self.headerTab)
+        self.authorEmailEdit.setInputMask("")
+        self.authorEmailEdit.setMaxLength(55)
+        self.authorEmailEdit.setObjectName("authorEmailEdit")
+        self.gridLayout.addWidget(self.authorEmailEdit, 3, 1, 1, 2)
+        self.label_5 = QtWidgets.QLabel(parent=self.headerTab)
+        self.label_5.setObjectName("label_5")
+        self.gridLayout.addWidget(self.label_5, 4, 0, 1, 1)
+        self.classNameEdit = QtWidgets.QLineEdit(parent=self.headerTab)
+        self.classNameEdit.setMaxLength(55)
+        self.classNameEdit.setObjectName("classNameEdit")
+        self.gridLayout.addWidget(self.classNameEdit, 4, 1, 1, 2)
+        self.label_6 = QtWidgets.QLabel(parent=self.headerTab)
+        self.label_6.setObjectName("label_6")
+        self.gridLayout.addWidget(self.label_6, 5, 0, 1, 1)
+        self.packageNameEdit = QtWidgets.QLineEdit(parent=self.headerTab)
+        self.packageNameEdit.setMaxLength(55)
+        self.packageNameEdit.setObjectName("packageNameEdit")
+        self.gridLayout.addWidget(self.packageNameEdit, 5, 1, 1, 1)
+        self.createPackageCheckBox = QtWidgets.QCheckBox(parent=self.headerTab)
+        self.createPackageCheckBox.setChecked(True)
+        self.createPackageCheckBox.setObjectName("createPackageCheckBox")
+        self.gridLayout.addWidget(self.createPackageCheckBox, 5, 2, 1, 1)
+        self.label_7 = QtWidgets.QLabel(parent=self.headerTab)
+        self.label_7.setObjectName("label_7")
+        self.gridLayout.addWidget(self.label_7, 6, 0, 1, 1)
+        self.shortDescriptionEdit = QtWidgets.QLineEdit(parent=self.headerTab)
+        self.shortDescriptionEdit.setMaxLength(55)
+        self.shortDescriptionEdit.setObjectName("shortDescriptionEdit")
+        self.gridLayout.addWidget(self.shortDescriptionEdit, 6, 1, 1, 2)
+        self.label_8 = QtWidgets.QLabel(parent=self.headerTab)
+        self.label_8.setAlignment(QtCore.Qt.AlignmentFlag.AlignLeading|QtCore.Qt.AlignmentFlag.AlignLeft|QtCore.Qt.AlignmentFlag.AlignTop)
+        self.label_8.setObjectName("label_8")
+        self.gridLayout.addWidget(self.label_8, 7, 0, 1, 1)
+        self.longDescriptionEdit = EricSpellCheckedPlainTextEdit(parent=self.headerTab)
+        self.longDescriptionEdit.setTabChangesFocus(True)
+        self.longDescriptionEdit.setObjectName("longDescriptionEdit")
+        self.gridLayout.addWidget(self.longDescriptionEdit, 7, 1, 1, 2)
+        self.verticalLayout.addLayout(self.gridLayout)
+        self.gridLayout_2 = QtWidgets.QGridLayout()
+        self.gridLayout_2.setObjectName("gridLayout_2")
+        self.autoActivateCheckBox = QtWidgets.QCheckBox(parent=self.headerTab)
+        self.autoActivateCheckBox.setChecked(True)
+        self.autoActivateCheckBox.setObjectName("autoActivateCheckBox")
+        self.gridLayout_2.addWidget(self.autoActivateCheckBox, 0, 0, 1, 1)
+        self.deactivateableCheckBox = QtWidgets.QCheckBox(parent=self.headerTab)
+        self.deactivateableCheckBox.setChecked(True)
+        self.deactivateableCheckBox.setObjectName("deactivateableCheckBox")
+        self.gridLayout_2.addWidget(self.deactivateableCheckBox, 0, 1, 1, 1)
+        self.restartCheckBox = QtWidgets.QCheckBox(parent=self.headerTab)
+        self.restartCheckBox.setObjectName("restartCheckBox")
+        self.gridLayout_2.addWidget(self.restartCheckBox, 1, 0, 1, 1)
+        self.verticalLayout.addLayout(self.gridLayout_2)
+        self.ondemandFrame = QtWidgets.QFrame(parent=self.headerTab)
+        self.ondemandFrame.setEnabled(False)
+        self.ondemandFrame.setFrameShape(QtWidgets.QFrame.Shape.NoFrame)
+        self.ondemandFrame.setFrameShadow(QtWidgets.QFrame.Shadow.Raised)
+        self.ondemandFrame.setObjectName("ondemandFrame")
+        self.gridLayout_4 = QtWidgets.QGridLayout(self.ondemandFrame)
+        self.gridLayout_4.setObjectName("gridLayout_4")
+        self.label_10 = QtWidgets.QLabel(parent=self.ondemandFrame)
+        self.label_10.setObjectName("label_10")
+        self.gridLayout_4.addWidget(self.label_10, 0, 0, 1, 1)
+        self.pluginTypeCombo = QtWidgets.QComboBox(parent=self.ondemandFrame)
+        self.pluginTypeCombo.setObjectName("pluginTypeCombo")
+        self.gridLayout_4.addWidget(self.pluginTypeCombo, 0, 1, 1, 1)
+        spacerItem = QtWidgets.QSpacerItem(406, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout_4.addItem(spacerItem, 0, 2, 1, 1)
+        self.label_11 = QtWidgets.QLabel(parent=self.ondemandFrame)
+        self.label_11.setObjectName("label_11")
+        self.gridLayout_4.addWidget(self.label_11, 1, 0, 1, 1)
+        self.pluginTypeNameEdit = QtWidgets.QLineEdit(parent=self.ondemandFrame)
+        self.pluginTypeNameEdit.setMaxLength(55)
+        self.pluginTypeNameEdit.setObjectName("pluginTypeNameEdit")
+        self.gridLayout_4.addWidget(self.pluginTypeNameEdit, 1, 1, 1, 2)
+        self.verticalLayout.addWidget(self.ondemandFrame)
+        self.dataTabWidget.addTab(self.headerTab, "")
+        self.configTab = QtWidgets.QWidget()
+        self.configTab.setObjectName("configTab")
+        self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.configTab)
+        self.verticalLayout_3.setObjectName("verticalLayout_3")
+        self.configurationGroup = QtWidgets.QGroupBox(parent=self.configTab)
+        self.configurationGroup.setCheckable(True)
+        self.configurationGroup.setChecked(False)
+        self.configurationGroup.setObjectName("configurationGroup")
+        self.gridLayout_3 = QtWidgets.QGridLayout(self.configurationGroup)
+        self.gridLayout_3.setObjectName("gridLayout_3")
+        self.label_9 = QtWidgets.QLabel(parent=self.configurationGroup)
+        self.label_9.setObjectName("label_9")
+        self.gridLayout_3.addWidget(self.label_9, 0, 0, 1, 1)
+        self.preferencesKeyEdit = QtWidgets.QLineEdit(parent=self.configurationGroup)
+        self.preferencesKeyEdit.setMaxLength(55)
+        self.preferencesKeyEdit.setObjectName("preferencesKeyEdit")
+        self.gridLayout_3.addWidget(self.preferencesKeyEdit, 0, 1, 1, 1)
+        spacerItem1 = QtWidgets.QSpacerItem(20, 416, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.gridLayout_3.addItem(spacerItem1, 1, 1, 1, 1)
+        self.verticalLayout_3.addWidget(self.configurationGroup)
+        self.dataTabWidget.addTab(self.configTab, "")
+        self.variousTab = QtWidgets.QWidget()
+        self.variousTab.setObjectName("variousTab")
+        self.verticalLayout_4 = QtWidgets.QVBoxLayout(self.variousTab)
+        self.verticalLayout_4.setObjectName("verticalLayout_4")
+        self.pixmapCheckBox = QtWidgets.QCheckBox(parent=self.variousTab)
+        self.pixmapCheckBox.setObjectName("pixmapCheckBox")
+        self.verticalLayout_4.addWidget(self.pixmapCheckBox)
+        self.moduleSetupCheckBox = QtWidgets.QCheckBox(parent=self.variousTab)
+        self.moduleSetupCheckBox.setObjectName("moduleSetupCheckBox")
+        self.verticalLayout_4.addWidget(self.moduleSetupCheckBox)
+        self.exeGroup = QtWidgets.QGroupBox(parent=self.variousTab)
+        self.exeGroup.setCheckable(True)
+        self.exeGroup.setChecked(False)
+        self.exeGroup.setObjectName("exeGroup")
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.exeGroup)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.exeRadioButton = QtWidgets.QRadioButton(parent=self.exeGroup)
+        self.exeRadioButton.setChecked(True)
+        self.exeRadioButton.setObjectName("exeRadioButton")
+        self.verticalLayout_2.addWidget(self.exeRadioButton)
+        self.exeInfoRadioButton = QtWidgets.QRadioButton(parent=self.exeGroup)
+        self.exeInfoRadioButton.setObjectName("exeInfoRadioButton")
+        self.verticalLayout_2.addWidget(self.exeInfoRadioButton)
+        self.exeListRadioButton = QtWidgets.QRadioButton(parent=self.exeGroup)
+        self.exeListRadioButton.setObjectName("exeListRadioButton")
+        self.verticalLayout_2.addWidget(self.exeListRadioButton)
+        self.verticalLayout_4.addWidget(self.exeGroup)
+        self.apiFilesCheckBox = QtWidgets.QCheckBox(parent=self.variousTab)
+        self.apiFilesCheckBox.setObjectName("apiFilesCheckBox")
+        self.verticalLayout_4.addWidget(self.apiFilesCheckBox)
+        spacerItem2 = QtWidgets.QSpacerItem(20, 377, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout_4.addItem(spacerItem2)
+        self.dataTabWidget.addTab(self.variousTab, "")
+        self.verticalLayout_5.addWidget(self.dataTabWidget)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.projectButton = QtWidgets.QPushButton(parent=PluginWizardDialog)
+        self.projectButton.setObjectName("projectButton")
+        self.horizontalLayout.addWidget(self.projectButton)
+        spacerItem3 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem3)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=PluginWizardDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.horizontalLayout.addWidget(self.buttonBox)
+        self.verticalLayout_5.addLayout(self.horizontalLayout)
+
+        self.retranslateUi(PluginWizardDialog)
+        self.dataTabWidget.setCurrentIndex(0)
+        self.buttonBox.accepted.connect(PluginWizardDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(PluginWizardDialog.reject) # type: ignore
+        self.autoActivateCheckBox.toggled['bool'].connect(self.ondemandFrame.setDisabled) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(PluginWizardDialog)
+        PluginWizardDialog.setTabOrder(self.projectButton, self.dataTabWidget)
+        PluginWizardDialog.setTabOrder(self.dataTabWidget, self.nameEdit)
+        PluginWizardDialog.setTabOrder(self.nameEdit, self.versionEdit)
+        PluginWizardDialog.setTabOrder(self.versionEdit, self.authorEdit)
+        PluginWizardDialog.setTabOrder(self.authorEdit, self.authorEmailEdit)
+        PluginWizardDialog.setTabOrder(self.authorEmailEdit, self.classNameEdit)
+        PluginWizardDialog.setTabOrder(self.classNameEdit, self.packageNameEdit)
+        PluginWizardDialog.setTabOrder(self.packageNameEdit, self.createPackageCheckBox)
+        PluginWizardDialog.setTabOrder(self.createPackageCheckBox, self.shortDescriptionEdit)
+        PluginWizardDialog.setTabOrder(self.shortDescriptionEdit, self.longDescriptionEdit)
+        PluginWizardDialog.setTabOrder(self.longDescriptionEdit, self.autoActivateCheckBox)
+        PluginWizardDialog.setTabOrder(self.autoActivateCheckBox, self.deactivateableCheckBox)
+        PluginWizardDialog.setTabOrder(self.deactivateableCheckBox, self.restartCheckBox)
+        PluginWizardDialog.setTabOrder(self.restartCheckBox, self.pluginTypeCombo)
+        PluginWizardDialog.setTabOrder(self.pluginTypeCombo, self.pluginTypeNameEdit)
+        PluginWizardDialog.setTabOrder(self.pluginTypeNameEdit, self.configurationGroup)
+        PluginWizardDialog.setTabOrder(self.configurationGroup, self.preferencesKeyEdit)
+        PluginWizardDialog.setTabOrder(self.preferencesKeyEdit, self.pixmapCheckBox)
+        PluginWizardDialog.setTabOrder(self.pixmapCheckBox, self.moduleSetupCheckBox)
+        PluginWizardDialog.setTabOrder(self.moduleSetupCheckBox, self.exeGroup)
+        PluginWizardDialog.setTabOrder(self.exeGroup, self.exeRadioButton)
+        PluginWizardDialog.setTabOrder(self.exeRadioButton, self.exeInfoRadioButton)
+        PluginWizardDialog.setTabOrder(self.exeInfoRadioButton, self.exeListRadioButton)
+        PluginWizardDialog.setTabOrder(self.exeListRadioButton, self.apiFilesCheckBox)
+
+    def retranslateUi(self, PluginWizardDialog):
+        _translate = QtCore.QCoreApplication.translate
+        PluginWizardDialog.setWindowTitle(_translate("PluginWizardDialog", "eric Plug-in Wizard"))
+        self.label.setText(_translate("PluginWizardDialog", "Plug-in Name:"))
+        self.nameEdit.setToolTip(_translate("PluginWizardDialog", "Enter the plug-in name"))
+        self.label_2.setText(_translate("PluginWizardDialog", "Version:"))
+        self.versionEdit.setToolTip(_translate("PluginWizardDialog", "Enter the version number in the form \'major.minor[.patch[.sub]]\'"))
+        self.label_3.setText(_translate("PluginWizardDialog", "Author:"))
+        self.authorEdit.setToolTip(_translate("PluginWizardDialog", "Enter the author\'s name"))
+        self.label_4.setText(_translate("PluginWizardDialog", "Author Email:"))
+        self.authorEmailEdit.setToolTip(_translate("PluginWizardDialog", "Enter the author\'s email address"))
+        self.label_5.setText(_translate("PluginWizardDialog", "Class Name:"))
+        self.classNameEdit.setToolTip(_translate("PluginWizardDialog", "Enter the name of the plug-in class"))
+        self.label_6.setText(_translate("PluginWizardDialog", "Package Name:"))
+        self.packageNameEdit.setToolTip(_translate("PluginWizardDialog", "Enter the name of the plug-in package"))
+        self.createPackageCheckBox.setToolTip(_translate("PluginWizardDialog", "Select to create the entered package"))
+        self.createPackageCheckBox.setText(_translate("PluginWizardDialog", "Create Package"))
+        self.label_7.setText(_translate("PluginWizardDialog", "Short Description:"))
+        self.shortDescriptionEdit.setToolTip(_translate("PluginWizardDialog", "Enter the short description"))
+        self.label_8.setText(_translate("PluginWizardDialog", "Long Description:"))
+        self.longDescriptionEdit.setToolTip(_translate("PluginWizardDialog", "Enter the long description"))
+        self.autoActivateCheckBox.setToolTip(_translate("PluginWizardDialog", "Select to activate the plug-in automatically"))
+        self.autoActivateCheckBox.setText(_translate("PluginWizardDialog", "Activate Automatically"))
+        self.deactivateableCheckBox.setToolTip(_translate("PluginWizardDialog", "Select to allow the plug-in to be deactivated"))
+        self.deactivateableCheckBox.setText(_translate("PluginWizardDialog", "Can be deactivated"))
+        self.restartCheckBox.setToolTip(_translate("PluginWizardDialog", "Select to indicate a restart is needed when updated"))
+        self.restartCheckBox.setText(_translate("PluginWizardDialog", "Needs Restart"))
+        self.label_10.setText(_translate("PluginWizardDialog", "Plug-in Type:"))
+        self.pluginTypeCombo.setToolTip(_translate("PluginWizardDialog", "Select the plug-in type"))
+        self.label_11.setText(_translate("PluginWizardDialog", "Plug-in Type Name:"))
+        self.pluginTypeNameEdit.setToolTip(_translate("PluginWizardDialog", "Enter the plug-in type name"))
+        self.dataTabWidget.setTabText(self.dataTabWidget.indexOf(self.headerTab), _translate("PluginWizardDialog", "Header"))
+        self.configurationGroup.setToolTip(_translate("PluginWizardDialog", "Select to indicate that the plug-in has configurable data"))
+        self.configurationGroup.setTitle(_translate("PluginWizardDialog", "Is configurable"))
+        self.label_9.setText(_translate("PluginWizardDialog", "Preferences Key:"))
+        self.preferencesKeyEdit.setToolTip(_translate("PluginWizardDialog", "Enter the preferences key"))
+        self.dataTabWidget.setTabText(self.dataTabWidget.indexOf(self.configTab), _translate("PluginWizardDialog", "Configuration"))
+        self.pixmapCheckBox.setToolTip(_translate("PluginWizardDialog", "Select to create a \'previewPix()\' function skeleton"))
+        self.pixmapCheckBox.setText(_translate("PluginWizardDialog", "Include \'previewPix()\' function"))
+        self.moduleSetupCheckBox.setToolTip(_translate("PluginWizardDialog", "Select to create a \'moduleSetup()\' function skeleton"))
+        self.moduleSetupCheckBox.setText(_translate("PluginWizardDialog", "Include \'moduleSetup()\' function"))
+        self.exeGroup.setTitle(_translate("PluginWizardDialog", "Include an \'exeDisplayData\' function"))
+        self.exeRadioButton.setToolTip(_translate("PluginWizardDialog", "Select to create an \'exeDisplayData()\' function skeleton"))
+        self.exeRadioButton.setText(_translate("PluginWizardDialog", "\'exeDisplayData()\' function returning program data to determine version information"))
+        self.exeInfoRadioButton.setToolTip(_translate("PluginWizardDialog", "Select to create an \'exeDisplayData()\' function skeleton returning version info"))
+        self.exeInfoRadioButton.setText(_translate("PluginWizardDialog", "\'exeDisplayData()\' function returning version information"))
+        self.exeListRadioButton.setToolTip(_translate("PluginWizardDialog", "Select to create an \'exeDisplayDataList()\' function skeleton"))
+        self.exeListRadioButton.setText(_translate("PluginWizardDialog", "\'exeDisplayDataList()\' function"))
+        self.apiFilesCheckBox.setToolTip(_translate("PluginWizardDialog", "Select to create an \'apiFiles()\' function skeleton"))
+        self.apiFilesCheckBox.setText(_translate("PluginWizardDialog", "Include \'apiFiles()\' function"))
+        self.dataTabWidget.setTabText(self.dataTabWidget.indexOf(self.variousTab), _translate("PluginWizardDialog", "Various"))
+        self.projectButton.setToolTip(_translate("PluginWizardDialog", "Press to populate entry fields from project data"))
+        self.projectButton.setText(_translate("PluginWizardDialog", "Populate from Project"))
+from eric7.EricWidgets.EricSpellCheckedTextEdit import EricSpellCheckedPlainTextEdit
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/WizardPlugins/FileDialogWizard/Ui_FileDialogWizardDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,309 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/WizardPlugins/FileDialogWizard/FileDialogWizardDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_FileDialogWizardDialog(object):
+    def setupUi(self, FileDialogWizardDialog):
+        FileDialogWizardDialog.setObjectName("FileDialogWizardDialog")
+        FileDialogWizardDialog.resize(645, 946)
+        FileDialogWizardDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(FileDialogWizardDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.label = QtWidgets.QLabel(parent=FileDialogWizardDialog)
+        self.label.setObjectName("label")
+        self.horizontalLayout.addWidget(self.label)
+        self.pyqtComboBox = QtWidgets.QComboBox(parent=FileDialogWizardDialog)
+        self.pyqtComboBox.setMinimumSize(QtCore.QSize(150, 0))
+        self.pyqtComboBox.setObjectName("pyqtComboBox")
+        self.horizontalLayout.addWidget(self.pyqtComboBox)
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem)
+        self.verticalLayout.addLayout(self.horizontalLayout)
+        self.typeGroupBox = QtWidgets.QGroupBox(parent=FileDialogWizardDialog)
+        self.typeGroupBox.setObjectName("typeGroupBox")
+        self.gridLayout = QtWidgets.QGridLayout(self.typeGroupBox)
+        self.gridLayout.setObjectName("gridLayout")
+        self.rOpenFile = QtWidgets.QRadioButton(parent=self.typeGroupBox)
+        self.rOpenFile.setChecked(True)
+        self.rOpenFile.setObjectName("rOpenFile")
+        self.gridLayout.addWidget(self.rOpenFile, 0, 0, 1, 1)
+        self.rOpenFiles = QtWidgets.QRadioButton(parent=self.typeGroupBox)
+        self.rOpenFiles.setObjectName("rOpenFiles")
+        self.gridLayout.addWidget(self.rOpenFiles, 0, 1, 1, 1)
+        self.rSaveFile = QtWidgets.QRadioButton(parent=self.typeGroupBox)
+        self.rSaveFile.setObjectName("rSaveFile")
+        self.gridLayout.addWidget(self.rSaveFile, 0, 2, 1, 1)
+        self.rDirectory = QtWidgets.QRadioButton(parent=self.typeGroupBox)
+        self.rDirectory.setObjectName("rDirectory")
+        self.gridLayout.addWidget(self.rDirectory, 0, 3, 1, 1)
+        self.rfOpenFile = QtWidgets.QRadioButton(parent=self.typeGroupBox)
+        self.rfOpenFile.setChecked(False)
+        self.rfOpenFile.setObjectName("rfOpenFile")
+        self.gridLayout.addWidget(self.rfOpenFile, 1, 0, 1, 1)
+        self.rfOpenFiles = QtWidgets.QRadioButton(parent=self.typeGroupBox)
+        self.rfOpenFiles.setObjectName("rfOpenFiles")
+        self.gridLayout.addWidget(self.rfOpenFiles, 1, 1, 1, 1)
+        self.rfSaveFile = QtWidgets.QRadioButton(parent=self.typeGroupBox)
+        self.rfSaveFile.setObjectName("rfSaveFile")
+        self.gridLayout.addWidget(self.rfSaveFile, 1, 2, 1, 1)
+        self.rOpenFileUrl = QtWidgets.QRadioButton(parent=self.typeGroupBox)
+        self.rOpenFileUrl.setChecked(False)
+        self.rOpenFileUrl.setObjectName("rOpenFileUrl")
+        self.gridLayout.addWidget(self.rOpenFileUrl, 2, 0, 1, 1)
+        self.rOpenFileUrls = QtWidgets.QRadioButton(parent=self.typeGroupBox)
+        self.rOpenFileUrls.setObjectName("rOpenFileUrls")
+        self.gridLayout.addWidget(self.rOpenFileUrls, 2, 1, 1, 1)
+        self.rSaveFileUrl = QtWidgets.QRadioButton(parent=self.typeGroupBox)
+        self.rSaveFileUrl.setObjectName("rSaveFileUrl")
+        self.gridLayout.addWidget(self.rSaveFileUrl, 2, 2, 1, 1)
+        self.rDirectoryUrl = QtWidgets.QRadioButton(parent=self.typeGroupBox)
+        self.rDirectoryUrl.setObjectName("rDirectoryUrl")
+        self.gridLayout.addWidget(self.rDirectoryUrl, 2, 3, 1, 1)
+        self.verticalLayout.addWidget(self.typeGroupBox)
+        self.groupBox = QtWidgets.QGroupBox(parent=FileDialogWizardDialog)
+        self.groupBox.setObjectName("groupBox")
+        self.gridLayout_4 = QtWidgets.QGridLayout(self.groupBox)
+        self.gridLayout_4.setObjectName("gridLayout_4")
+        self.label_2 = QtWidgets.QLabel(parent=self.groupBox)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout_4.addWidget(self.label_2, 0, 0, 1, 1)
+        self.eNameVariable = QtWidgets.QLineEdit(parent=self.groupBox)
+        self.eNameVariable.setClearButtonEnabled(False)
+        self.eNameVariable.setObjectName("eNameVariable")
+        self.gridLayout_4.addWidget(self.eNameVariable, 0, 1, 1, 1)
+        self.lFilterVariable = QtWidgets.QLabel(parent=self.groupBox)
+        self.lFilterVariable.setObjectName("lFilterVariable")
+        self.gridLayout_4.addWidget(self.lFilterVariable, 1, 0, 1, 1)
+        self.eFilterVariable = QtWidgets.QLineEdit(parent=self.groupBox)
+        self.eFilterVariable.setClearButtonEnabled(False)
+        self.eFilterVariable.setObjectName("eFilterVariable")
+        self.gridLayout_4.addWidget(self.eFilterVariable, 1, 1, 1, 1)
+        self.verticalLayout.addWidget(self.groupBox)
+        self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
+        self.TextLabel1 = QtWidgets.QLabel(parent=FileDialogWizardDialog)
+        self.TextLabel1.setObjectName("TextLabel1")
+        self.horizontalLayout_3.addWidget(self.TextLabel1)
+        self.eCaption = QtWidgets.QLineEdit(parent=FileDialogWizardDialog)
+        self.eCaption.setClearButtonEnabled(True)
+        self.eCaption.setObjectName("eCaption")
+        self.horizontalLayout_3.addWidget(self.eCaption)
+        self.verticalLayout.addLayout(self.horizontalLayout_3)
+        self.cSymlinks = QtWidgets.QCheckBox(parent=FileDialogWizardDialog)
+        self.cSymlinks.setChecked(True)
+        self.cSymlinks.setObjectName("cSymlinks")
+        self.verticalLayout.addWidget(self.cSymlinks)
+        self.parentGroup = QtWidgets.QGroupBox(parent=FileDialogWizardDialog)
+        self.parentGroup.setObjectName("parentGroup")
+        self.gridLayout_3 = QtWidgets.QGridLayout(self.parentGroup)
+        self.gridLayout_3.setObjectName("gridLayout_3")
+        self.parentSelf = QtWidgets.QRadioButton(parent=self.parentGroup)
+        self.parentSelf.setChecked(True)
+        self.parentSelf.setObjectName("parentSelf")
+        self.gridLayout_3.addWidget(self.parentSelf, 0, 0, 1, 1)
+        self.parentNone = QtWidgets.QRadioButton(parent=self.parentGroup)
+        self.parentNone.setObjectName("parentNone")
+        self.gridLayout_3.addWidget(self.parentNone, 0, 1, 1, 1)
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.parentOther = QtWidgets.QRadioButton(parent=self.parentGroup)
+        self.parentOther.setObjectName("parentOther")
+        self.horizontalLayout_2.addWidget(self.parentOther)
+        self.parentEdit = QtWidgets.QLineEdit(parent=self.parentGroup)
+        self.parentEdit.setEnabled(False)
+        self.parentEdit.setClearButtonEnabled(True)
+        self.parentEdit.setObjectName("parentEdit")
+        self.horizontalLayout_2.addWidget(self.parentEdit)
+        self.gridLayout_3.addLayout(self.horizontalLayout_2, 1, 0, 1, 2)
+        self.verticalLayout.addWidget(self.parentGroup)
+        self.filePropertiesGroup = QtWidgets.QGroupBox(parent=FileDialogWizardDialog)
+        self.filePropertiesGroup.setObjectName("filePropertiesGroup")
+        self.gridLayout_2 = QtWidgets.QGridLayout(self.filePropertiesGroup)
+        self.gridLayout_2.setObjectName("gridLayout_2")
+        self.TextLabel3 = QtWidgets.QLabel(parent=self.filePropertiesGroup)
+        self.TextLabel3.setObjectName("TextLabel3")
+        self.gridLayout_2.addWidget(self.TextLabel3, 0, 0, 1, 2)
+        self.eStartWith = QtWidgets.QLineEdit(parent=self.filePropertiesGroup)
+        self.eStartWith.setClearButtonEnabled(True)
+        self.eStartWith.setObjectName("eStartWith")
+        self.gridLayout_2.addWidget(self.eStartWith, 1, 0, 1, 1)
+        self.cStartWith = QtWidgets.QCheckBox(parent=self.filePropertiesGroup)
+        self.cStartWith.setObjectName("cStartWith")
+        self.gridLayout_2.addWidget(self.cStartWith, 1, 1, 1, 1)
+        self.TextLabel2 = QtWidgets.QLabel(parent=self.filePropertiesGroup)
+        self.TextLabel2.setObjectName("TextLabel2")
+        self.gridLayout_2.addWidget(self.TextLabel2, 2, 0, 1, 2)
+        self.eFilters = QtWidgets.QLineEdit(parent=self.filePropertiesGroup)
+        self.eFilters.setClearButtonEnabled(True)
+        self.eFilters.setObjectName("eFilters")
+        self.gridLayout_2.addWidget(self.eFilters, 3, 0, 1, 1)
+        self.cFilters = QtWidgets.QCheckBox(parent=self.filePropertiesGroup)
+        self.cFilters.setObjectName("cFilters")
+        self.gridLayout_2.addWidget(self.cFilters, 3, 1, 1, 1)
+        self.lInitialFilter = QtWidgets.QLabel(parent=self.filePropertiesGroup)
+        self.lInitialFilter.setObjectName("lInitialFilter")
+        self.gridLayout_2.addWidget(self.lInitialFilter, 4, 0, 1, 2)
+        self.eInitialFilter = QtWidgets.QLineEdit(parent=self.filePropertiesGroup)
+        self.eInitialFilter.setClearButtonEnabled(True)
+        self.eInitialFilter.setObjectName("eInitialFilter")
+        self.gridLayout_2.addWidget(self.eInitialFilter, 5, 0, 1, 1)
+        self.cInitialFilter = QtWidgets.QCheckBox(parent=self.filePropertiesGroup)
+        self.cInitialFilter.setObjectName("cInitialFilter")
+        self.gridLayout_2.addWidget(self.cInitialFilter, 5, 1, 1, 1)
+        self.cConfirmOverwrite = QtWidgets.QCheckBox(parent=self.filePropertiesGroup)
+        self.cConfirmOverwrite.setEnabled(False)
+        self.cConfirmOverwrite.setObjectName("cConfirmOverwrite")
+        self.gridLayout_2.addWidget(self.cConfirmOverwrite, 6, 0, 1, 2)
+        self.verticalLayout.addWidget(self.filePropertiesGroup)
+        self.dirPropertiesGroup = QtWidgets.QGroupBox(parent=FileDialogWizardDialog)
+        self.dirPropertiesGroup.setEnabled(False)
+        self.dirPropertiesGroup.setObjectName("dirPropertiesGroup")
+        self.gridlayout = QtWidgets.QGridLayout(self.dirPropertiesGroup)
+        self.gridlayout.setObjectName("gridlayout")
+        self.eWorkDir = QtWidgets.QLineEdit(parent=self.dirPropertiesGroup)
+        self.eWorkDir.setClearButtonEnabled(True)
+        self.eWorkDir.setObjectName("eWorkDir")
+        self.gridlayout.addWidget(self.eWorkDir, 1, 0, 1, 1)
+        self.TextLabel4 = QtWidgets.QLabel(parent=self.dirPropertiesGroup)
+        self.TextLabel4.setObjectName("TextLabel4")
+        self.gridlayout.addWidget(self.TextLabel4, 0, 0, 1, 2)
+        self.cWorkDir = QtWidgets.QCheckBox(parent=self.dirPropertiesGroup)
+        self.cWorkDir.setObjectName("cWorkDir")
+        self.gridlayout.addWidget(self.cWorkDir, 1, 1, 1, 1)
+        self.cDirOnly = QtWidgets.QCheckBox(parent=self.dirPropertiesGroup)
+        self.cDirOnly.setChecked(True)
+        self.cDirOnly.setObjectName("cDirOnly")
+        self.gridlayout.addWidget(self.cDirOnly, 2, 0, 1, 2)
+        self.verticalLayout.addWidget(self.dirPropertiesGroup)
+        self.urlPropertiesGroup = QtWidgets.QGroupBox(parent=FileDialogWizardDialog)
+        self.urlPropertiesGroup.setObjectName("urlPropertiesGroup")
+        self.horizontalLayout_4 = QtWidgets.QHBoxLayout(self.urlPropertiesGroup)
+        self.horizontalLayout_4.setObjectName("horizontalLayout_4")
+        self.label_3 = QtWidgets.QLabel(parent=self.urlPropertiesGroup)
+        self.label_3.setObjectName("label_3")
+        self.horizontalLayout_4.addWidget(self.label_3)
+        self.schemesEdit = QtWidgets.QLineEdit(parent=self.urlPropertiesGroup)
+        self.schemesEdit.setClearButtonEnabled(True)
+        self.schemesEdit.setObjectName("schemesEdit")
+        self.horizontalLayout_4.addWidget(self.schemesEdit)
+        self.verticalLayout.addWidget(self.urlPropertiesGroup)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=FileDialogWizardDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(FileDialogWizardDialog)
+        self.buttonBox.accepted.connect(FileDialogWizardDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(FileDialogWizardDialog.reject) # type: ignore
+        self.parentOther.toggled['bool'].connect(self.parentEdit.setEnabled) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(FileDialogWizardDialog)
+        FileDialogWizardDialog.setTabOrder(self.pyqtComboBox, self.rOpenFile)
+        FileDialogWizardDialog.setTabOrder(self.rOpenFile, self.rOpenFiles)
+        FileDialogWizardDialog.setTabOrder(self.rOpenFiles, self.rSaveFile)
+        FileDialogWizardDialog.setTabOrder(self.rSaveFile, self.rDirectory)
+        FileDialogWizardDialog.setTabOrder(self.rDirectory, self.rfOpenFile)
+        FileDialogWizardDialog.setTabOrder(self.rfOpenFile, self.rfOpenFiles)
+        FileDialogWizardDialog.setTabOrder(self.rfOpenFiles, self.rfSaveFile)
+        FileDialogWizardDialog.setTabOrder(self.rfSaveFile, self.rOpenFileUrl)
+        FileDialogWizardDialog.setTabOrder(self.rOpenFileUrl, self.rOpenFileUrls)
+        FileDialogWizardDialog.setTabOrder(self.rOpenFileUrls, self.rSaveFileUrl)
+        FileDialogWizardDialog.setTabOrder(self.rSaveFileUrl, self.rDirectoryUrl)
+        FileDialogWizardDialog.setTabOrder(self.rDirectoryUrl, self.eNameVariable)
+        FileDialogWizardDialog.setTabOrder(self.eNameVariable, self.eFilterVariable)
+        FileDialogWizardDialog.setTabOrder(self.eFilterVariable, self.eCaption)
+        FileDialogWizardDialog.setTabOrder(self.eCaption, self.cSymlinks)
+        FileDialogWizardDialog.setTabOrder(self.cSymlinks, self.parentSelf)
+        FileDialogWizardDialog.setTabOrder(self.parentSelf, self.parentNone)
+        FileDialogWizardDialog.setTabOrder(self.parentNone, self.parentOther)
+        FileDialogWizardDialog.setTabOrder(self.parentOther, self.parentEdit)
+        FileDialogWizardDialog.setTabOrder(self.parentEdit, self.eStartWith)
+        FileDialogWizardDialog.setTabOrder(self.eStartWith, self.cStartWith)
+        FileDialogWizardDialog.setTabOrder(self.cStartWith, self.eFilters)
+        FileDialogWizardDialog.setTabOrder(self.eFilters, self.cFilters)
+        FileDialogWizardDialog.setTabOrder(self.cFilters, self.eInitialFilter)
+        FileDialogWizardDialog.setTabOrder(self.eInitialFilter, self.cInitialFilter)
+        FileDialogWizardDialog.setTabOrder(self.cInitialFilter, self.cConfirmOverwrite)
+        FileDialogWizardDialog.setTabOrder(self.cConfirmOverwrite, self.eWorkDir)
+        FileDialogWizardDialog.setTabOrder(self.eWorkDir, self.cWorkDir)
+        FileDialogWizardDialog.setTabOrder(self.cWorkDir, self.cDirOnly)
+        FileDialogWizardDialog.setTabOrder(self.cDirOnly, self.schemesEdit)
+
+    def retranslateUi(self, FileDialogWizardDialog):
+        _translate = QtCore.QCoreApplication.translate
+        FileDialogWizardDialog.setWindowTitle(_translate("FileDialogWizardDialog", "QFileDialog Wizard"))
+        self.label.setText(_translate("FileDialogWizardDialog", "Variant:"))
+        self.typeGroupBox.setTitle(_translate("FileDialogWizardDialog", "Type"))
+        self.rOpenFile.setToolTip(_translate("FileDialogWizardDialog", "Select to create an \'Open File\' dialog"))
+        self.rOpenFile.setText(_translate("FileDialogWizardDialog", "Open File"))
+        self.rOpenFiles.setToolTip(_translate("FileDialogWizardDialog", "Select to create an \'Open Files\' dialog"))
+        self.rOpenFiles.setText(_translate("FileDialogWizardDialog", "Open Files"))
+        self.rSaveFile.setToolTip(_translate("FileDialogWizardDialog", "Select to create a \'Save File\' dialog"))
+        self.rSaveFile.setText(_translate("FileDialogWizardDialog", "Save File"))
+        self.rDirectory.setToolTip(_translate("FileDialogWizardDialog", "Select to create a \'Select Directory\' dialog"))
+        self.rDirectory.setText(_translate("FileDialogWizardDialog", "Select Directory"))
+        self.rfOpenFile.setToolTip(_translate("FileDialogWizardDialog", "Select to create an \'Open File\' dialog capturing the selected filter"))
+        self.rfOpenFile.setText(_translate("FileDialogWizardDialog", "Open File and Filter"))
+        self.rfOpenFiles.setToolTip(_translate("FileDialogWizardDialog", "Select to create an \'Open Files\' dialog capturing the selected filter"))
+        self.rfOpenFiles.setText(_translate("FileDialogWizardDialog", "Open Files and Filter"))
+        self.rfSaveFile.setToolTip(_translate("FileDialogWizardDialog", "Select to create a \'Save File\' dialog capturing the selected filter"))
+        self.rfSaveFile.setText(_translate("FileDialogWizardDialog", "Save File and Filter"))
+        self.rOpenFileUrl.setToolTip(_translate("FileDialogWizardDialog", "Select to create an \'Open File\' dialog"))
+        self.rOpenFileUrl.setText(_translate("FileDialogWizardDialog", "Open File URL"))
+        self.rOpenFileUrls.setToolTip(_translate("FileDialogWizardDialog", "Select to create an \'Open Files\' dialog"))
+        self.rOpenFileUrls.setText(_translate("FileDialogWizardDialog", "Open Files URL"))
+        self.rSaveFileUrl.setToolTip(_translate("FileDialogWizardDialog", "Select to create a \'Save File\' dialog"))
+        self.rSaveFileUrl.setText(_translate("FileDialogWizardDialog", "Save File URL"))
+        self.rDirectoryUrl.setToolTip(_translate("FileDialogWizardDialog", "Select to create a \'Select Directory\' dialog"))
+        self.rDirectoryUrl.setText(_translate("FileDialogWizardDialog", "Select Directory URL"))
+        self.groupBox.setTitle(_translate("FileDialogWizardDialog", "Results"))
+        self.label_2.setText(_translate("FileDialogWizardDialog", "Name Variable:"))
+        self.eNameVariable.setToolTip(_translate("FileDialogWizardDialog", "Enter the result variable name"))
+        self.lFilterVariable.setText(_translate("FileDialogWizardDialog", "Filter Variable:"))
+        self.eFilterVariable.setToolTip(_translate("FileDialogWizardDialog", "Enter the name of the filter variable"))
+        self.TextLabel1.setText(_translate("FileDialogWizardDialog", "Title:"))
+        self.eCaption.setToolTip(_translate("FileDialogWizardDialog", "Enter the title text"))
+        self.cSymlinks.setToolTip(_translate("FileDialogWizardDialog", "Check to resolve symbolic links"))
+        self.cSymlinks.setText(_translate("FileDialogWizardDialog", "Resolve Symlinks"))
+        self.parentGroup.setTitle(_translate("FileDialogWizardDialog", "Parent"))
+        self.parentSelf.setToolTip(_translate("FileDialogWizardDialog", "Select \"self\" as parent"))
+        self.parentSelf.setText(_translate("FileDialogWizardDialog", "self"))
+        self.parentNone.setToolTip(_translate("FileDialogWizardDialog", "Select \"None\" as parent"))
+        self.parentNone.setText(_translate("FileDialogWizardDialog", "None"))
+        self.parentOther.setToolTip(_translate("FileDialogWizardDialog", "Select to enter a parent expression"))
+        self.parentOther.setText(_translate("FileDialogWizardDialog", "Expression:"))
+        self.parentEdit.setToolTip(_translate("FileDialogWizardDialog", "Enter the parent expression"))
+        self.filePropertiesGroup.setTitle(_translate("FileDialogWizardDialog", "File Dialog Properties"))
+        self.TextLabel3.setText(_translate("FileDialogWizardDialog", "Start With / Working Directory"))
+        self.eStartWith.setToolTip(_translate("FileDialogWizardDialog", "Enter the working directory or a filename"))
+        self.cStartWith.setToolTip(_translate("FileDialogWizardDialog", "Check this if the contents of the edit names a variable or variable function"))
+        self.cStartWith.setText(_translate("FileDialogWizardDialog", "Is Variable"))
+        self.TextLabel2.setText(_translate("FileDialogWizardDialog", "Filters"))
+        self.eFilters.setToolTip(_translate("FileDialogWizardDialog", "Enter the filter specifications separated by \';;\'"))
+        self.cFilters.setToolTip(_translate("FileDialogWizardDialog", "Check this if the contents of the edit names a variable or variable function"))
+        self.cFilters.setText(_translate("FileDialogWizardDialog", "Is Variable"))
+        self.lInitialFilter.setText(_translate("FileDialogWizardDialog", "Initial Filter"))
+        self.eInitialFilter.setToolTip(_translate("FileDialogWizardDialog", "Enter the initial filter"))
+        self.cInitialFilter.setToolTip(_translate("FileDialogWizardDialog", "Check this if the contents of the edit names a variable or variable function"))
+        self.cInitialFilter.setText(_translate("FileDialogWizardDialog", "Is Variable"))
+        self.cConfirmOverwrite.setToolTip(_translate("FileDialogWizardDialog", "Select to show an overwrite confirmation dialog"))
+        self.cConfirmOverwrite.setText(_translate("FileDialogWizardDialog", "Show overwrite confirmation"))
+        self.dirPropertiesGroup.setTitle(_translate("FileDialogWizardDialog", "Directory Dialog Properties"))
+        self.eWorkDir.setToolTip(_translate("FileDialogWizardDialog", "Enter the working directory"))
+        self.TextLabel4.setText(_translate("FileDialogWizardDialog", "Working Directory"))
+        self.cWorkDir.setToolTip(_translate("FileDialogWizardDialog", "Check this if the contents of the edit names a variable or variable function"))
+        self.cWorkDir.setText(_translate("FileDialogWizardDialog", "Is Variable"))
+        self.cDirOnly.setToolTip(_translate("FileDialogWizardDialog", "Check to display directories only"))
+        self.cDirOnly.setText(_translate("FileDialogWizardDialog", "Show Directories Only"))
+        self.urlPropertiesGroup.setTitle(_translate("FileDialogWizardDialog", "URL Properties"))
+        self.label_3.setText(_translate("FileDialogWizardDialog", "Supported Schemes:"))
+        self.schemesEdit.setToolTip(_translate("FileDialogWizardDialog", "Enter the list of supported schemes separated by spaces"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/WizardPlugins/FontDialogWizard/Ui_FontDialogOptionsDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,57 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/WizardPlugins/FontDialogWizard/FontDialogOptionsDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_FontDialogOptionsDialog(object):
+    def setupUi(self, FontDialogOptionsDialog):
+        FontDialogOptionsDialog.setObjectName("FontDialogOptionsDialog")
+        FontDialogOptionsDialog.resize(400, 194)
+        FontDialogOptionsDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(FontDialogOptionsDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.noNativeDialogCheckBox = QtWidgets.QCheckBox(parent=FontDialogOptionsDialog)
+        self.noNativeDialogCheckBox.setObjectName("noNativeDialogCheckBox")
+        self.verticalLayout.addWidget(self.noNativeDialogCheckBox)
+        self.scalableCheckBox = QtWidgets.QCheckBox(parent=FontDialogOptionsDialog)
+        self.scalableCheckBox.setObjectName("scalableCheckBox")
+        self.verticalLayout.addWidget(self.scalableCheckBox)
+        self.nonScalableCheckBox = QtWidgets.QCheckBox(parent=FontDialogOptionsDialog)
+        self.nonScalableCheckBox.setObjectName("nonScalableCheckBox")
+        self.verticalLayout.addWidget(self.nonScalableCheckBox)
+        self.monospacedCheckBox = QtWidgets.QCheckBox(parent=FontDialogOptionsDialog)
+        self.monospacedCheckBox.setObjectName("monospacedCheckBox")
+        self.verticalLayout.addWidget(self.monospacedCheckBox)
+        self.proportionalCheckBox = QtWidgets.QCheckBox(parent=FontDialogOptionsDialog)
+        self.proportionalCheckBox.setObjectName("proportionalCheckBox")
+        self.verticalLayout.addWidget(self.proportionalCheckBox)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=FontDialogOptionsDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(FontDialogOptionsDialog)
+        self.buttonBox.accepted.connect(FontDialogOptionsDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(FontDialogOptionsDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(FontDialogOptionsDialog)
+
+    def retranslateUi(self, FontDialogOptionsDialog):
+        _translate = QtCore.QCoreApplication.translate
+        FontDialogOptionsDialog.setWindowTitle(_translate("FontDialogOptionsDialog", "Font Dialog Options"))
+        self.noNativeDialogCheckBox.setToolTip(_translate("FontDialogOptionsDialog", "Select to not use the platform\'s native font dialog"))
+        self.noNativeDialogCheckBox.setText(_translate("FontDialogOptionsDialog", "Don\'t use native dialog"))
+        self.scalableCheckBox.setToolTip(_translate("FontDialogOptionsDialog", "Select to show scalable fonts"))
+        self.scalableCheckBox.setText(_translate("FontDialogOptionsDialog", "Scalable Fonts"))
+        self.nonScalableCheckBox.setToolTip(_translate("FontDialogOptionsDialog", "Select to show non scalable fonts"))
+        self.nonScalableCheckBox.setText(_translate("FontDialogOptionsDialog", "Non Scalable Fonts"))
+        self.monospacedCheckBox.setToolTip(_translate("FontDialogOptionsDialog", "Select to show monospaced fonts"))
+        self.monospacedCheckBox.setText(_translate("FontDialogOptionsDialog", "Monospaced Fonts"))
+        self.proportionalCheckBox.setToolTip(_translate("FontDialogOptionsDialog", "Select to show proportional fonts"))
+        self.proportionalCheckBox.setText(_translate("FontDialogOptionsDialog", "Proportional Fonts"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/WizardPlugins/FontDialogWizard/Ui_FontDialogWizardDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,112 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/WizardPlugins/FontDialogWizard/FontDialogWizardDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_FontDialogWizardDialog(object):
+    def setupUi(self, FontDialogWizardDialog):
+        FontDialogWizardDialog.setObjectName("FontDialogWizardDialog")
+        FontDialogWizardDialog.resize(377, 355)
+        FontDialogWizardDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(FontDialogWizardDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.label = QtWidgets.QLabel(parent=FontDialogWizardDialog)
+        self.label.setObjectName("label")
+        self.verticalLayout.addWidget(self.label)
+        self.eResultVar = QtWidgets.QLineEdit(parent=FontDialogWizardDialog)
+        self.eResultVar.setObjectName("eResultVar")
+        self.verticalLayout.addWidget(self.eResultVar)
+        self.textLabel1 = QtWidgets.QLabel(parent=FontDialogWizardDialog)
+        self.textLabel1.setObjectName("textLabel1")
+        self.verticalLayout.addWidget(self.textLabel1)
+        self.eCaption = QtWidgets.QLineEdit(parent=FontDialogWizardDialog)
+        self.eCaption.setObjectName("eCaption")
+        self.verticalLayout.addWidget(self.eCaption)
+        self.parentGroup = QtWidgets.QGroupBox(parent=FontDialogWizardDialog)
+        self.parentGroup.setObjectName("parentGroup")
+        self.gridLayout_3 = QtWidgets.QGridLayout(self.parentGroup)
+        self.gridLayout_3.setObjectName("gridLayout_3")
+        self.parentSelf = QtWidgets.QRadioButton(parent=self.parentGroup)
+        self.parentSelf.setChecked(True)
+        self.parentSelf.setObjectName("parentSelf")
+        self.gridLayout_3.addWidget(self.parentSelf, 0, 0, 1, 1)
+        self.parentNone = QtWidgets.QRadioButton(parent=self.parentGroup)
+        self.parentNone.setObjectName("parentNone")
+        self.gridLayout_3.addWidget(self.parentNone, 0, 1, 1, 1)
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.parentOther = QtWidgets.QRadioButton(parent=self.parentGroup)
+        self.parentOther.setObjectName("parentOther")
+        self.horizontalLayout_2.addWidget(self.parentOther)
+        self.parentEdit = QtWidgets.QLineEdit(parent=self.parentGroup)
+        self.parentEdit.setEnabled(False)
+        self.parentEdit.setObjectName("parentEdit")
+        self.horizontalLayout_2.addWidget(self.parentEdit)
+        self.gridLayout_3.addLayout(self.horizontalLayout_2, 1, 0, 1, 2)
+        self.verticalLayout.addWidget(self.parentGroup)
+        self.hboxlayout = QtWidgets.QHBoxLayout()
+        self.hboxlayout.setObjectName("hboxlayout")
+        spacerItem = QtWidgets.QSpacerItem(30, 0, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.hboxlayout.addItem(spacerItem)
+        self.fontButton = QtWidgets.QPushButton(parent=FontDialogWizardDialog)
+        self.fontButton.setObjectName("fontButton")
+        self.hboxlayout.addWidget(self.fontButton)
+        self.optionsButton = QtWidgets.QPushButton(parent=FontDialogWizardDialog)
+        self.optionsButton.setObjectName("optionsButton")
+        self.hboxlayout.addWidget(self.optionsButton)
+        spacerItem1 = QtWidgets.QSpacerItem(30, 0, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.hboxlayout.addItem(spacerItem1)
+        self.verticalLayout.addLayout(self.hboxlayout)
+        self.TextLabel1 = QtWidgets.QLabel(parent=FontDialogWizardDialog)
+        self.TextLabel1.setObjectName("TextLabel1")
+        self.verticalLayout.addWidget(self.TextLabel1)
+        self.eVariable = QtWidgets.QLineEdit(parent=FontDialogWizardDialog)
+        self.eVariable.setObjectName("eVariable")
+        self.verticalLayout.addWidget(self.eVariable)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=FontDialogWizardDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(FontDialogWizardDialog)
+        self.buttonBox.accepted.connect(FontDialogWizardDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(FontDialogWizardDialog.reject) # type: ignore
+        self.parentOther.toggled['bool'].connect(self.parentEdit.setEnabled) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(FontDialogWizardDialog)
+        FontDialogWizardDialog.setTabOrder(self.eResultVar, self.eCaption)
+        FontDialogWizardDialog.setTabOrder(self.eCaption, self.parentSelf)
+        FontDialogWizardDialog.setTabOrder(self.parentSelf, self.parentNone)
+        FontDialogWizardDialog.setTabOrder(self.parentNone, self.parentOther)
+        FontDialogWizardDialog.setTabOrder(self.parentOther, self.parentEdit)
+        FontDialogWizardDialog.setTabOrder(self.parentEdit, self.fontButton)
+        FontDialogWizardDialog.setTabOrder(self.fontButton, self.optionsButton)
+        FontDialogWizardDialog.setTabOrder(self.optionsButton, self.eVariable)
+
+    def retranslateUi(self, FontDialogWizardDialog):
+        _translate = QtCore.QCoreApplication.translate
+        FontDialogWizardDialog.setWindowTitle(_translate("FontDialogWizardDialog", "QFontDialog Wizard"))
+        self.label.setText(_translate("FontDialogWizardDialog", "Result:"))
+        self.eResultVar.setToolTip(_translate("FontDialogWizardDialog", "Enter the result variable name"))
+        self.textLabel1.setText(_translate("FontDialogWizardDialog", "Title:"))
+        self.eCaption.setToolTip(_translate("FontDialogWizardDialog", "Enter the title for the message box"))
+        self.parentGroup.setTitle(_translate("FontDialogWizardDialog", "Parent"))
+        self.parentSelf.setToolTip(_translate("FontDialogWizardDialog", "Select \"self\" as parent"))
+        self.parentSelf.setText(_translate("FontDialogWizardDialog", "self"))
+        self.parentNone.setToolTip(_translate("FontDialogWizardDialog", "Select \"None\" as parent"))
+        self.parentNone.setText(_translate("FontDialogWizardDialog", "None"))
+        self.parentOther.setToolTip(_translate("FontDialogWizardDialog", "Select to enter a parent expression"))
+        self.parentOther.setText(_translate("FontDialogWizardDialog", "Expression:"))
+        self.parentEdit.setToolTip(_translate("FontDialogWizardDialog", "Enter the parent expression"))
+        self.fontButton.setToolTip(_translate("FontDialogWizardDialog", "Press to select a font via a dialog"))
+        self.fontButton.setText(_translate("FontDialogWizardDialog", "Select Font ..."))
+        self.optionsButton.setToolTip(_translate("FontDialogWizardDialog", "Press to configure the font dialog options"))
+        self.optionsButton.setText(_translate("FontDialogWizardDialog", "Select Options..."))
+        self.TextLabel1.setText(_translate("FontDialogWizardDialog", "Font Variable:"))
+        self.eVariable.setToolTip(_translate("FontDialogWizardDialog", "Enter a variable name"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/WizardPlugins/InputDialogWizard/Ui_InputDialogWizardDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,345 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/WizardPlugins/InputDialogWizard/InputDialogWizardDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_InputDialogWizardDialog(object):
+    def setupUi(self, InputDialogWizardDialog):
+        InputDialogWizardDialog.setObjectName("InputDialogWizardDialog")
+        InputDialogWizardDialog.resize(550, 602)
+        InputDialogWizardDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(InputDialogWizardDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.groupBox = QtWidgets.QGroupBox(parent=InputDialogWizardDialog)
+        self.groupBox.setObjectName("groupBox")
+        self.hboxlayout = QtWidgets.QHBoxLayout(self.groupBox)
+        self.hboxlayout.setObjectName("hboxlayout")
+        self.rText = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.rText.setChecked(True)
+        self.rText.setObjectName("rText")
+        self.hboxlayout.addWidget(self.rText)
+        self.rMultiLineText = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.rMultiLineText.setObjectName("rMultiLineText")
+        self.hboxlayout.addWidget(self.rMultiLineText)
+        self.rInteger = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.rInteger.setObjectName("rInteger")
+        self.hboxlayout.addWidget(self.rInteger)
+        self.rDouble = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.rDouble.setObjectName("rDouble")
+        self.hboxlayout.addWidget(self.rDouble)
+        self.rItem = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.rItem.setObjectName("rItem")
+        self.hboxlayout.addWidget(self.rItem)
+        self.verticalLayout.addWidget(self.groupBox)
+        self.label = QtWidgets.QLabel(parent=InputDialogWizardDialog)
+        self.label.setObjectName("label")
+        self.verticalLayout.addWidget(self.label)
+        self.eResultVar = QtWidgets.QLineEdit(parent=InputDialogWizardDialog)
+        self.eResultVar.setObjectName("eResultVar")
+        self.verticalLayout.addWidget(self.eResultVar)
+        self.TextLabel1 = QtWidgets.QLabel(parent=InputDialogWizardDialog)
+        self.TextLabel1.setObjectName("TextLabel1")
+        self.verticalLayout.addWidget(self.TextLabel1)
+        self.eCaption = QtWidgets.QLineEdit(parent=InputDialogWizardDialog)
+        self.eCaption.setObjectName("eCaption")
+        self.verticalLayout.addWidget(self.eCaption)
+        self.TextLabel2 = QtWidgets.QLabel(parent=InputDialogWizardDialog)
+        self.TextLabel2.setObjectName("TextLabel2")
+        self.verticalLayout.addWidget(self.TextLabel2)
+        self.eLabel = QtWidgets.QLineEdit(parent=InputDialogWizardDialog)
+        self.eLabel.setObjectName("eLabel")
+        self.verticalLayout.addWidget(self.eLabel)
+        self.parentGroup = QtWidgets.QGroupBox(parent=InputDialogWizardDialog)
+        self.parentGroup.setObjectName("parentGroup")
+        self.gridLayout_3 = QtWidgets.QGridLayout(self.parentGroup)
+        self.gridLayout_3.setObjectName("gridLayout_3")
+        self.parentSelf = QtWidgets.QRadioButton(parent=self.parentGroup)
+        self.parentSelf.setChecked(True)
+        self.parentSelf.setObjectName("parentSelf")
+        self.gridLayout_3.addWidget(self.parentSelf, 0, 0, 1, 1)
+        self.parentNone = QtWidgets.QRadioButton(parent=self.parentGroup)
+        self.parentNone.setObjectName("parentNone")
+        self.gridLayout_3.addWidget(self.parentNone, 0, 1, 1, 1)
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.parentOther = QtWidgets.QRadioButton(parent=self.parentGroup)
+        self.parentOther.setObjectName("parentOther")
+        self.horizontalLayout_2.addWidget(self.parentOther)
+        self.parentEdit = QtWidgets.QLineEdit(parent=self.parentGroup)
+        self.parentEdit.setEnabled(False)
+        self.parentEdit.setObjectName("parentEdit")
+        self.horizontalLayout_2.addWidget(self.parentEdit)
+        self.gridLayout_3.addLayout(self.horizontalLayout_2, 1, 0, 1, 2)
+        self.verticalLayout.addWidget(self.parentGroup)
+        self.specificsStack = QtWidgets.QStackedWidget(parent=InputDialogWizardDialog)
+        self.specificsStack.setObjectName("specificsStack")
+        self.textPage = QtWidgets.QWidget()
+        self.textPage.setObjectName("textPage")
+        self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.textPage)
+        self.verticalLayout_3.setContentsMargins(0, 0, 0, 0)
+        self.verticalLayout_3.setObjectName("verticalLayout_3")
+        self.groupBox_2 = QtWidgets.QGroupBox(parent=self.textPage)
+        self.groupBox_2.setObjectName("groupBox_2")
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.groupBox_2)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.groupBox_3 = QtWidgets.QGroupBox(parent=self.groupBox_2)
+        self.groupBox_3.setObjectName("groupBox_3")
+        self.hboxlayout1 = QtWidgets.QHBoxLayout(self.groupBox_3)
+        self.hboxlayout1.setObjectName("hboxlayout1")
+        self.rEchoNormal = QtWidgets.QRadioButton(parent=self.groupBox_3)
+        self.rEchoNormal.setChecked(True)
+        self.rEchoNormal.setObjectName("rEchoNormal")
+        self.hboxlayout1.addWidget(self.rEchoNormal)
+        self.rEchoNoEcho = QtWidgets.QRadioButton(parent=self.groupBox_3)
+        self.rEchoNoEcho.setObjectName("rEchoNoEcho")
+        self.hboxlayout1.addWidget(self.rEchoNoEcho)
+        self.rEchoPassword = QtWidgets.QRadioButton(parent=self.groupBox_3)
+        self.rEchoPassword.setObjectName("rEchoPassword")
+        self.hboxlayout1.addWidget(self.rEchoPassword)
+        self.verticalLayout_2.addWidget(self.groupBox_3)
+        self.TextLabel3 = QtWidgets.QLabel(parent=self.groupBox_2)
+        self.TextLabel3.setObjectName("TextLabel3")
+        self.verticalLayout_2.addWidget(self.TextLabel3)
+        self.eTextDefault = QtWidgets.QLineEdit(parent=self.groupBox_2)
+        self.eTextDefault.setObjectName("eTextDefault")
+        self.verticalLayout_2.addWidget(self.eTextDefault)
+        self.cTranslateTextDefault = QtWidgets.QCheckBox(parent=self.groupBox_2)
+        self.cTranslateTextDefault.setObjectName("cTranslateTextDefault")
+        self.verticalLayout_2.addWidget(self.cTranslateTextDefault)
+        self.verticalLayout_3.addWidget(self.groupBox_2)
+        self.specificsStack.addWidget(self.textPage)
+        self.multiLineTextPage = QtWidgets.QWidget()
+        self.multiLineTextPage.setObjectName("multiLineTextPage")
+        self.verticalLayout_8 = QtWidgets.QVBoxLayout(self.multiLineTextPage)
+        self.verticalLayout_8.setContentsMargins(0, 0, 0, 0)
+        self.verticalLayout_8.setObjectName("verticalLayout_8")
+        self.groupBox_7 = QtWidgets.QGroupBox(parent=self.multiLineTextPage)
+        self.groupBox_7.setObjectName("groupBox_7")
+        self.verticalLayout_7 = QtWidgets.QVBoxLayout(self.groupBox_7)
+        self.verticalLayout_7.setObjectName("verticalLayout_7")
+        self.TextLabel3_2 = QtWidgets.QLabel(parent=self.groupBox_7)
+        self.TextLabel3_2.setObjectName("TextLabel3_2")
+        self.verticalLayout_7.addWidget(self.TextLabel3_2)
+        self.eMultiTextDefault = QtWidgets.QPlainTextEdit(parent=self.groupBox_7)
+        self.eMultiTextDefault.setTabChangesFocus(True)
+        self.eMultiTextDefault.setObjectName("eMultiTextDefault")
+        self.verticalLayout_7.addWidget(self.eMultiTextDefault)
+        self.cTranslateMultiTextDefault = QtWidgets.QCheckBox(parent=self.groupBox_7)
+        self.cTranslateMultiTextDefault.setObjectName("cTranslateMultiTextDefault")
+        self.verticalLayout_7.addWidget(self.cTranslateMultiTextDefault)
+        self.verticalLayout_8.addWidget(self.groupBox_7)
+        self.specificsStack.addWidget(self.multiLineTextPage)
+        self.integerPage = QtWidgets.QWidget()
+        self.integerPage.setObjectName("integerPage")
+        self.verticalLayout_4 = QtWidgets.QVBoxLayout(self.integerPage)
+        self.verticalLayout_4.setContentsMargins(0, 0, 0, 0)
+        self.verticalLayout_4.setObjectName("verticalLayout_4")
+        self.groupBox_4 = QtWidgets.QGroupBox(parent=self.integerPage)
+        self.groupBox_4.setObjectName("groupBox_4")
+        self.gridlayout = QtWidgets.QGridLayout(self.groupBox_4)
+        self.gridlayout.setObjectName("gridlayout")
+        self.sIntStep = QtWidgets.QSpinBox(parent=self.groupBox_4)
+        self.sIntStep.setMinimum(-2147483647)
+        self.sIntStep.setMaximum(2147483647)
+        self.sIntStep.setProperty("value", 1)
+        self.sIntStep.setObjectName("sIntStep")
+        self.gridlayout.addWidget(self.sIntStep, 1, 3, 1, 1)
+        self.sIntTo = QtWidgets.QSpinBox(parent=self.groupBox_4)
+        self.sIntTo.setMinimum(-2147483647)
+        self.sIntTo.setMaximum(2147483647)
+        self.sIntTo.setProperty("value", 2147483647)
+        self.sIntTo.setObjectName("sIntTo")
+        self.gridlayout.addWidget(self.sIntTo, 1, 2, 1, 1)
+        self.sIntFrom = QtWidgets.QSpinBox(parent=self.groupBox_4)
+        self.sIntFrom.setMinimum(-2147483647)
+        self.sIntFrom.setMaximum(2147483647)
+        self.sIntFrom.setProperty("value", -2147483647)
+        self.sIntFrom.setObjectName("sIntFrom")
+        self.gridlayout.addWidget(self.sIntFrom, 1, 1, 1, 1)
+        self.sIntDefault = QtWidgets.QSpinBox(parent=self.groupBox_4)
+        self.sIntDefault.setMinimum(-2147483647)
+        self.sIntDefault.setMaximum(2147483647)
+        self.sIntDefault.setObjectName("sIntDefault")
+        self.gridlayout.addWidget(self.sIntDefault, 1, 0, 1, 1)
+        self.TextLabel4_4 = QtWidgets.QLabel(parent=self.groupBox_4)
+        self.TextLabel4_4.setObjectName("TextLabel4_4")
+        self.gridlayout.addWidget(self.TextLabel4_4, 0, 3, 1, 1)
+        self.TextLabel4_3 = QtWidgets.QLabel(parent=self.groupBox_4)
+        self.TextLabel4_3.setObjectName("TextLabel4_3")
+        self.gridlayout.addWidget(self.TextLabel4_3, 0, 2, 1, 1)
+        self.TextLabel4_2 = QtWidgets.QLabel(parent=self.groupBox_4)
+        self.TextLabel4_2.setObjectName("TextLabel4_2")
+        self.gridlayout.addWidget(self.TextLabel4_2, 0, 1, 1, 1)
+        self.TextLabel4 = QtWidgets.QLabel(parent=self.groupBox_4)
+        self.TextLabel4.setObjectName("TextLabel4")
+        self.gridlayout.addWidget(self.TextLabel4, 0, 0, 1, 1)
+        self.verticalLayout_4.addWidget(self.groupBox_4)
+        spacerItem = QtWidgets.QSpacerItem(20, 95, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout_4.addItem(spacerItem)
+        self.specificsStack.addWidget(self.integerPage)
+        self.doublePage = QtWidgets.QWidget()
+        self.doublePage.setObjectName("doublePage")
+        self.verticalLayout_5 = QtWidgets.QVBoxLayout(self.doublePage)
+        self.verticalLayout_5.setContentsMargins(0, 0, 0, 0)
+        self.verticalLayout_5.setObjectName("verticalLayout_5")
+        self.groupBox_5 = QtWidgets.QGroupBox(parent=self.doublePage)
+        self.groupBox_5.setObjectName("groupBox_5")
+        self.gridlayout1 = QtWidgets.QGridLayout(self.groupBox_5)
+        self.gridlayout1.setObjectName("gridlayout1")
+        self.sDoubleDecimals = QtWidgets.QSpinBox(parent=self.groupBox_5)
+        self.sDoubleDecimals.setMinimum(-2147483647)
+        self.sDoubleDecimals.setMaximum(2147483647)
+        self.sDoubleDecimals.setProperty("value", 1)
+        self.sDoubleDecimals.setObjectName("sDoubleDecimals")
+        self.gridlayout1.addWidget(self.sDoubleDecimals, 1, 3, 1, 1)
+        self.eDoubleTo = QtWidgets.QLineEdit(parent=self.groupBox_5)
+        self.eDoubleTo.setObjectName("eDoubleTo")
+        self.gridlayout1.addWidget(self.eDoubleTo, 1, 2, 1, 1)
+        self.eDoubleFrom = QtWidgets.QLineEdit(parent=self.groupBox_5)
+        self.eDoubleFrom.setObjectName("eDoubleFrom")
+        self.gridlayout1.addWidget(self.eDoubleFrom, 1, 1, 1, 1)
+        self.eDoubleDefault = QtWidgets.QLineEdit(parent=self.groupBox_5)
+        self.eDoubleDefault.setObjectName("eDoubleDefault")
+        self.gridlayout1.addWidget(self.eDoubleDefault, 1, 0, 1, 1)
+        self.TextLabel5 = QtWidgets.QLabel(parent=self.groupBox_5)
+        self.TextLabel5.setObjectName("TextLabel5")
+        self.gridlayout1.addWidget(self.TextLabel5, 0, 0, 1, 1)
+        self.TextLabel6 = QtWidgets.QLabel(parent=self.groupBox_5)
+        self.TextLabel6.setObjectName("TextLabel6")
+        self.gridlayout1.addWidget(self.TextLabel6, 0, 1, 1, 1)
+        self.TextLabel7 = QtWidgets.QLabel(parent=self.groupBox_5)
+        self.TextLabel7.setObjectName("TextLabel7")
+        self.gridlayout1.addWidget(self.TextLabel7, 0, 2, 1, 1)
+        self.TextLabel8 = QtWidgets.QLabel(parent=self.groupBox_5)
+        self.TextLabel8.setObjectName("TextLabel8")
+        self.gridlayout1.addWidget(self.TextLabel8, 0, 3, 1, 1)
+        self.verticalLayout_5.addWidget(self.groupBox_5)
+        spacerItem1 = QtWidgets.QSpacerItem(20, 95, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout_5.addItem(spacerItem1)
+        self.specificsStack.addWidget(self.doublePage)
+        self.itemPage = QtWidgets.QWidget()
+        self.itemPage.setObjectName("itemPage")
+        self.verticalLayout_6 = QtWidgets.QVBoxLayout(self.itemPage)
+        self.verticalLayout_6.setContentsMargins(0, 0, 0, 0)
+        self.verticalLayout_6.setObjectName("verticalLayout_6")
+        self.groupBox_6 = QtWidgets.QGroupBox(parent=self.itemPage)
+        self.groupBox_6.setObjectName("groupBox_6")
+        self.gridlayout2 = QtWidgets.QGridLayout(self.groupBox_6)
+        self.gridlayout2.setObjectName("gridlayout2")
+        self.cEditable = QtWidgets.QCheckBox(parent=self.groupBox_6)
+        self.cEditable.setChecked(True)
+        self.cEditable.setObjectName("cEditable")
+        self.gridlayout2.addWidget(self.cEditable, 1, 2, 1, 1)
+        self.sCurrentItem = QtWidgets.QSpinBox(parent=self.groupBox_6)
+        self.sCurrentItem.setObjectName("sCurrentItem")
+        self.gridlayout2.addWidget(self.sCurrentItem, 1, 1, 1, 1)
+        self.eVariable = QtWidgets.QLineEdit(parent=self.groupBox_6)
+        self.eVariable.setObjectName("eVariable")
+        self.gridlayout2.addWidget(self.eVariable, 1, 0, 1, 1)
+        self.TextLabel10 = QtWidgets.QLabel(parent=self.groupBox_6)
+        self.TextLabel10.setObjectName("TextLabel10")
+        self.gridlayout2.addWidget(self.TextLabel10, 0, 1, 1, 1)
+        self.TextLabel9 = QtWidgets.QLabel(parent=self.groupBox_6)
+        self.TextLabel9.setObjectName("TextLabel9")
+        self.gridlayout2.addWidget(self.TextLabel9, 0, 0, 1, 1)
+        self.verticalLayout_6.addWidget(self.groupBox_6)
+        spacerItem2 = QtWidgets.QSpacerItem(20, 95, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout_6.addItem(spacerItem2)
+        self.specificsStack.addWidget(self.itemPage)
+        self.verticalLayout.addWidget(self.specificsStack)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=InputDialogWizardDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(InputDialogWizardDialog)
+        self.specificsStack.setCurrentIndex(0)
+        self.buttonBox.accepted.connect(InputDialogWizardDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(InputDialogWizardDialog.reject) # type: ignore
+        self.parentOther.toggled['bool'].connect(self.parentEdit.setEnabled) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(InputDialogWizardDialog)
+        InputDialogWizardDialog.setTabOrder(self.rText, self.rMultiLineText)
+        InputDialogWizardDialog.setTabOrder(self.rMultiLineText, self.rInteger)
+        InputDialogWizardDialog.setTabOrder(self.rInteger, self.rDouble)
+        InputDialogWizardDialog.setTabOrder(self.rDouble, self.rItem)
+        InputDialogWizardDialog.setTabOrder(self.rItem, self.eResultVar)
+        InputDialogWizardDialog.setTabOrder(self.eResultVar, self.eCaption)
+        InputDialogWizardDialog.setTabOrder(self.eCaption, self.eLabel)
+        InputDialogWizardDialog.setTabOrder(self.eLabel, self.parentSelf)
+        InputDialogWizardDialog.setTabOrder(self.parentSelf, self.parentNone)
+        InputDialogWizardDialog.setTabOrder(self.parentNone, self.parentOther)
+        InputDialogWizardDialog.setTabOrder(self.parentOther, self.parentEdit)
+        InputDialogWizardDialog.setTabOrder(self.parentEdit, self.rEchoNormal)
+        InputDialogWizardDialog.setTabOrder(self.rEchoNormal, self.rEchoNoEcho)
+        InputDialogWizardDialog.setTabOrder(self.rEchoNoEcho, self.rEchoPassword)
+        InputDialogWizardDialog.setTabOrder(self.rEchoPassword, self.eTextDefault)
+        InputDialogWizardDialog.setTabOrder(self.eTextDefault, self.cTranslateTextDefault)
+        InputDialogWizardDialog.setTabOrder(self.cTranslateTextDefault, self.eMultiTextDefault)
+        InputDialogWizardDialog.setTabOrder(self.eMultiTextDefault, self.cTranslateMultiTextDefault)
+        InputDialogWizardDialog.setTabOrder(self.cTranslateMultiTextDefault, self.sIntDefault)
+        InputDialogWizardDialog.setTabOrder(self.sIntDefault, self.sIntFrom)
+        InputDialogWizardDialog.setTabOrder(self.sIntFrom, self.sIntTo)
+        InputDialogWizardDialog.setTabOrder(self.sIntTo, self.sIntStep)
+        InputDialogWizardDialog.setTabOrder(self.sIntStep, self.eDoubleDefault)
+        InputDialogWizardDialog.setTabOrder(self.eDoubleDefault, self.eDoubleFrom)
+        InputDialogWizardDialog.setTabOrder(self.eDoubleFrom, self.eDoubleTo)
+        InputDialogWizardDialog.setTabOrder(self.eDoubleTo, self.sDoubleDecimals)
+        InputDialogWizardDialog.setTabOrder(self.sDoubleDecimals, self.eVariable)
+        InputDialogWizardDialog.setTabOrder(self.eVariable, self.sCurrentItem)
+        InputDialogWizardDialog.setTabOrder(self.sCurrentItem, self.cEditable)
+
+    def retranslateUi(self, InputDialogWizardDialog):
+        _translate = QtCore.QCoreApplication.translate
+        InputDialogWizardDialog.setWindowTitle(_translate("InputDialogWizardDialog", "QInputDialog Wizard"))
+        self.groupBox.setTitle(_translate("InputDialogWizardDialog", "Type"))
+        self.rText.setText(_translate("InputDialogWizardDialog", "Text"))
+        self.rMultiLineText.setText(_translate("InputDialogWizardDialog", "Multiline Text"))
+        self.rInteger.setText(_translate("InputDialogWizardDialog", "Integer"))
+        self.rDouble.setText(_translate("InputDialogWizardDialog", "Double"))
+        self.rItem.setText(_translate("InputDialogWizardDialog", "Item"))
+        self.label.setText(_translate("InputDialogWizardDialog", "Result:"))
+        self.eResultVar.setToolTip(_translate("InputDialogWizardDialog", "Enter the result variable name"))
+        self.TextLabel1.setText(_translate("InputDialogWizardDialog", "Title"))
+        self.TextLabel2.setText(_translate("InputDialogWizardDialog", "Label"))
+        self.parentGroup.setTitle(_translate("InputDialogWizardDialog", "Parent"))
+        self.parentSelf.setToolTip(_translate("InputDialogWizardDialog", "Select \"self\" as parent"))
+        self.parentSelf.setText(_translate("InputDialogWizardDialog", "self"))
+        self.parentNone.setToolTip(_translate("InputDialogWizardDialog", "Select \"None\" as parent"))
+        self.parentNone.setText(_translate("InputDialogWizardDialog", "None"))
+        self.parentOther.setToolTip(_translate("InputDialogWizardDialog", "Select to enter a parent expression"))
+        self.parentOther.setText(_translate("InputDialogWizardDialog", "Expression:"))
+        self.parentEdit.setToolTip(_translate("InputDialogWizardDialog", "Enter the parent expression"))
+        self.groupBox_2.setTitle(_translate("InputDialogWizardDialog", "Text"))
+        self.groupBox_3.setTitle(_translate("InputDialogWizardDialog", "Echo Mode"))
+        self.rEchoNormal.setText(_translate("InputDialogWizardDialog", "Normal"))
+        self.rEchoNoEcho.setText(_translate("InputDialogWizardDialog", "No Echo"))
+        self.rEchoPassword.setText(_translate("InputDialogWizardDialog", "Password"))
+        self.TextLabel3.setText(_translate("InputDialogWizardDialog", "Default"))
+        self.cTranslateTextDefault.setText(_translate("InputDialogWizardDialog", "Translate Default"))
+        self.groupBox_7.setTitle(_translate("InputDialogWizardDialog", "Multiline Text"))
+        self.TextLabel3_2.setText(_translate("InputDialogWizardDialog", "Default"))
+        self.cTranslateMultiTextDefault.setText(_translate("InputDialogWizardDialog", "Translate Default"))
+        self.groupBox_4.setTitle(_translate("InputDialogWizardDialog", "Integer"))
+        self.TextLabel4_4.setText(_translate("InputDialogWizardDialog", "Step"))
+        self.TextLabel4_3.setText(_translate("InputDialogWizardDialog", "To"))
+        self.TextLabel4_2.setText(_translate("InputDialogWizardDialog", "From"))
+        self.TextLabel4.setText(_translate("InputDialogWizardDialog", "Default"))
+        self.groupBox_5.setTitle(_translate("InputDialogWizardDialog", "Double"))
+        self.eDoubleTo.setText(_translate("InputDialogWizardDialog", "2147483647"))
+        self.eDoubleFrom.setText(_translate("InputDialogWizardDialog", "-2147483647"))
+        self.eDoubleDefault.setText(_translate("InputDialogWizardDialog", "0"))
+        self.TextLabel5.setText(_translate("InputDialogWizardDialog", "Default"))
+        self.TextLabel6.setText(_translate("InputDialogWizardDialog", "From"))
+        self.TextLabel7.setText(_translate("InputDialogWizardDialog", "To"))
+        self.TextLabel8.setText(_translate("InputDialogWizardDialog", "Decimals"))
+        self.groupBox_6.setTitle(_translate("InputDialogWizardDialog", "Item"))
+        self.cEditable.setText(_translate("InputDialogWizardDialog", "Editable"))
+        self.TextLabel10.setText(_translate("InputDialogWizardDialog", "Current Item"))
+        self.TextLabel9.setText(_translate("InputDialogWizardDialog", "String List Variable"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/WizardPlugins/MessageBoxWizard/Ui_MessageBoxWizardDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,260 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/WizardPlugins/MessageBoxWizard/MessageBoxWizardDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_MessageBoxWizardDialog(object):
+    def setupUi(self, MessageBoxWizardDialog):
+        MessageBoxWizardDialog.setObjectName("MessageBoxWizardDialog")
+        MessageBoxWizardDialog.resize(600, 650)
+        MessageBoxWizardDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(MessageBoxWizardDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.groupBox = QtWidgets.QGroupBox(parent=MessageBoxWizardDialog)
+        self.groupBox.setObjectName("groupBox")
+        self.hboxlayout = QtWidgets.QHBoxLayout(self.groupBox)
+        self.hboxlayout.setObjectName("hboxlayout")
+        self.rInformation = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.rInformation.setChecked(True)
+        self.rInformation.setObjectName("rInformation")
+        self.hboxlayout.addWidget(self.rInformation)
+        self.rQuestion = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.rQuestion.setFocusPolicy(QtCore.Qt.FocusPolicy.TabFocus)
+        self.rQuestion.setObjectName("rQuestion")
+        self.hboxlayout.addWidget(self.rQuestion)
+        self.rWarning = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.rWarning.setFocusPolicy(QtCore.Qt.FocusPolicy.TabFocus)
+        self.rWarning.setObjectName("rWarning")
+        self.hboxlayout.addWidget(self.rWarning)
+        self.rCritical = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.rCritical.setFocusPolicy(QtCore.Qt.FocusPolicy.TabFocus)
+        self.rCritical.setObjectName("rCritical")
+        self.hboxlayout.addWidget(self.rCritical)
+        self.rAbout = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.rAbout.setFocusPolicy(QtCore.Qt.FocusPolicy.TabFocus)
+        self.rAbout.setObjectName("rAbout")
+        self.hboxlayout.addWidget(self.rAbout)
+        self.rAboutQt = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.rAboutQt.setFocusPolicy(QtCore.Qt.FocusPolicy.TabFocus)
+        self.rAboutQt.setObjectName("rAboutQt")
+        self.hboxlayout.addWidget(self.rAboutQt)
+        self.verticalLayout.addWidget(self.groupBox)
+        self.lResultVar = QtWidgets.QLabel(parent=MessageBoxWizardDialog)
+        self.lResultVar.setObjectName("lResultVar")
+        self.verticalLayout.addWidget(self.lResultVar)
+        self.eResultVar = QtWidgets.QLineEdit(parent=MessageBoxWizardDialog)
+        self.eResultVar.setObjectName("eResultVar")
+        self.verticalLayout.addWidget(self.eResultVar)
+        self.textLabel1 = QtWidgets.QLabel(parent=MessageBoxWizardDialog)
+        self.textLabel1.setObjectName("textLabel1")
+        self.verticalLayout.addWidget(self.textLabel1)
+        self.eCaption = QtWidgets.QLineEdit(parent=MessageBoxWizardDialog)
+        self.eCaption.setObjectName("eCaption")
+        self.verticalLayout.addWidget(self.eCaption)
+        self.textLabel2 = QtWidgets.QLabel(parent=MessageBoxWizardDialog)
+        self.textLabel2.setObjectName("textLabel2")
+        self.verticalLayout.addWidget(self.textLabel2)
+        self.eMessage = EricSpellCheckedTextEdit(parent=MessageBoxWizardDialog)
+        self.eMessage.setTabChangesFocus(True)
+        self.eMessage.setObjectName("eMessage")
+        self.verticalLayout.addWidget(self.eMessage)
+        self.parentGroup = QtWidgets.QGroupBox(parent=MessageBoxWizardDialog)
+        self.parentGroup.setObjectName("parentGroup")
+        self.gridLayout_3 = QtWidgets.QGridLayout(self.parentGroup)
+        self.gridLayout_3.setObjectName("gridLayout_3")
+        self.parentSelf = QtWidgets.QRadioButton(parent=self.parentGroup)
+        self.parentSelf.setChecked(True)
+        self.parentSelf.setObjectName("parentSelf")
+        self.gridLayout_3.addWidget(self.parentSelf, 0, 0, 1, 1)
+        self.parentNone = QtWidgets.QRadioButton(parent=self.parentGroup)
+        self.parentNone.setObjectName("parentNone")
+        self.gridLayout_3.addWidget(self.parentNone, 0, 1, 1, 1)
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.parentOther = QtWidgets.QRadioButton(parent=self.parentGroup)
+        self.parentOther.setObjectName("parentOther")
+        self.horizontalLayout_2.addWidget(self.parentOther)
+        self.parentEdit = QtWidgets.QLineEdit(parent=self.parentGroup)
+        self.parentEdit.setEnabled(False)
+        self.parentEdit.setObjectName("parentEdit")
+        self.horizontalLayout_2.addWidget(self.parentEdit)
+        self.gridLayout_3.addLayout(self.horizontalLayout_2, 1, 0, 1, 2)
+        self.verticalLayout.addWidget(self.parentGroup)
+        self.standardButtons = QtWidgets.QGroupBox(parent=MessageBoxWizardDialog)
+        self.standardButtons.setObjectName("standardButtons")
+        self.vboxlayout = QtWidgets.QVBoxLayout(self.standardButtons)
+        self.vboxlayout.setObjectName("vboxlayout")
+        self.gridlayout = QtWidgets.QGridLayout()
+        self.gridlayout.setObjectName("gridlayout")
+        self.applyCheck = QtWidgets.QCheckBox(parent=self.standardButtons)
+        self.applyCheck.setObjectName("applyCheck")
+        self.gridlayout.addWidget(self.applyCheck, 0, 1, 1, 1)
+        self.abortCheck = QtWidgets.QCheckBox(parent=self.standardButtons)
+        self.abortCheck.setObjectName("abortCheck")
+        self.gridlayout.addWidget(self.abortCheck, 0, 0, 1, 1)
+        self.cancelCheck = QtWidgets.QCheckBox(parent=self.standardButtons)
+        self.cancelCheck.setObjectName("cancelCheck")
+        self.gridlayout.addWidget(self.cancelCheck, 0, 2, 1, 1)
+        self.ignoreCheck = QtWidgets.QCheckBox(parent=self.standardButtons)
+        self.ignoreCheck.setObjectName("ignoreCheck")
+        self.gridlayout.addWidget(self.ignoreCheck, 1, 1, 1, 1)
+        self.saveallCheck = QtWidgets.QCheckBox(parent=self.standardButtons)
+        self.saveallCheck.setObjectName("saveallCheck")
+        self.gridlayout.addWidget(self.saveallCheck, 3, 0, 1, 1)
+        self.saveCheck = QtWidgets.QCheckBox(parent=self.standardButtons)
+        self.saveCheck.setObjectName("saveCheck")
+        self.gridlayout.addWidget(self.saveCheck, 2, 4, 1, 1)
+        self.discardCheck = QtWidgets.QCheckBox(parent=self.standardButtons)
+        self.discardCheck.setObjectName("discardCheck")
+        self.gridlayout.addWidget(self.discardCheck, 0, 4, 1, 1)
+        self.yestoallCheck = QtWidgets.QCheckBox(parent=self.standardButtons)
+        self.yestoallCheck.setObjectName("yestoallCheck")
+        self.gridlayout.addWidget(self.yestoallCheck, 3, 2, 1, 1)
+        self.openCheck = QtWidgets.QCheckBox(parent=self.standardButtons)
+        self.openCheck.setObjectName("openCheck")
+        self.gridlayout.addWidget(self.openCheck, 2, 0, 1, 1)
+        self.resetCheck = QtWidgets.QCheckBox(parent=self.standardButtons)
+        self.resetCheck.setObjectName("resetCheck")
+        self.gridlayout.addWidget(self.resetCheck, 2, 1, 1, 1)
+        self.okCheck = QtWidgets.QCheckBox(parent=self.standardButtons)
+        self.okCheck.setObjectName("okCheck")
+        self.gridlayout.addWidget(self.okCheck, 1, 4, 1, 1)
+        self.noCheck = QtWidgets.QCheckBox(parent=self.standardButtons)
+        self.noCheck.setObjectName("noCheck")
+        self.gridlayout.addWidget(self.noCheck, 1, 2, 1, 1)
+        self.helpCheck = QtWidgets.QCheckBox(parent=self.standardButtons)
+        self.helpCheck.setObjectName("helpCheck")
+        self.gridlayout.addWidget(self.helpCheck, 1, 0, 1, 1)
+        self.notoallCheck = QtWidgets.QCheckBox(parent=self.standardButtons)
+        self.notoallCheck.setObjectName("notoallCheck")
+        self.gridlayout.addWidget(self.notoallCheck, 1, 3, 1, 1)
+        self.retryCheck = QtWidgets.QCheckBox(parent=self.standardButtons)
+        self.retryCheck.setObjectName("retryCheck")
+        self.gridlayout.addWidget(self.retryCheck, 2, 3, 1, 1)
+        self.restoreCheck = QtWidgets.QCheckBox(parent=self.standardButtons)
+        self.restoreCheck.setObjectName("restoreCheck")
+        self.gridlayout.addWidget(self.restoreCheck, 2, 2, 1, 1)
+        self.yesCheck = QtWidgets.QCheckBox(parent=self.standardButtons)
+        self.yesCheck.setObjectName("yesCheck")
+        self.gridlayout.addWidget(self.yesCheck, 3, 1, 1, 1)
+        self.closeCheck = QtWidgets.QCheckBox(parent=self.standardButtons)
+        self.closeCheck.setObjectName("closeCheck")
+        self.gridlayout.addWidget(self.closeCheck, 0, 3, 1, 1)
+        self.vboxlayout.addLayout(self.gridlayout)
+        self.hboxlayout1 = QtWidgets.QHBoxLayout()
+        self.hboxlayout1.setObjectName("hboxlayout1")
+        self.TextLabel1_2 = QtWidgets.QLabel(parent=self.standardButtons)
+        self.TextLabel1_2.setObjectName("TextLabel1_2")
+        self.hboxlayout1.addWidget(self.TextLabel1_2)
+        self.defaultCombo = QtWidgets.QComboBox(parent=self.standardButtons)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.defaultCombo.sizePolicy().hasHeightForWidth())
+        self.defaultCombo.setSizePolicy(sizePolicy)
+        self.defaultCombo.setObjectName("defaultCombo")
+        self.hboxlayout1.addWidget(self.defaultCombo)
+        self.vboxlayout.addLayout(self.hboxlayout1)
+        self.verticalLayout.addWidget(self.standardButtons)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=MessageBoxWizardDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(MessageBoxWizardDialog)
+        self.buttonBox.accepted.connect(MessageBoxWizardDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(MessageBoxWizardDialog.reject) # type: ignore
+        self.parentOther.toggled['bool'].connect(self.parentEdit.setEnabled) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(MessageBoxWizardDialog)
+        MessageBoxWizardDialog.setTabOrder(self.rInformation, self.rQuestion)
+        MessageBoxWizardDialog.setTabOrder(self.rQuestion, self.rWarning)
+        MessageBoxWizardDialog.setTabOrder(self.rWarning, self.rCritical)
+        MessageBoxWizardDialog.setTabOrder(self.rCritical, self.rAbout)
+        MessageBoxWizardDialog.setTabOrder(self.rAbout, self.rAboutQt)
+        MessageBoxWizardDialog.setTabOrder(self.rAboutQt, self.eResultVar)
+        MessageBoxWizardDialog.setTabOrder(self.eResultVar, self.eCaption)
+        MessageBoxWizardDialog.setTabOrder(self.eCaption, self.eMessage)
+        MessageBoxWizardDialog.setTabOrder(self.eMessage, self.parentSelf)
+        MessageBoxWizardDialog.setTabOrder(self.parentSelf, self.parentNone)
+        MessageBoxWizardDialog.setTabOrder(self.parentNone, self.parentOther)
+        MessageBoxWizardDialog.setTabOrder(self.parentOther, self.parentEdit)
+        MessageBoxWizardDialog.setTabOrder(self.parentEdit, self.abortCheck)
+        MessageBoxWizardDialog.setTabOrder(self.abortCheck, self.applyCheck)
+        MessageBoxWizardDialog.setTabOrder(self.applyCheck, self.cancelCheck)
+        MessageBoxWizardDialog.setTabOrder(self.cancelCheck, self.closeCheck)
+        MessageBoxWizardDialog.setTabOrder(self.closeCheck, self.discardCheck)
+        MessageBoxWizardDialog.setTabOrder(self.discardCheck, self.helpCheck)
+        MessageBoxWizardDialog.setTabOrder(self.helpCheck, self.ignoreCheck)
+        MessageBoxWizardDialog.setTabOrder(self.ignoreCheck, self.noCheck)
+        MessageBoxWizardDialog.setTabOrder(self.noCheck, self.notoallCheck)
+        MessageBoxWizardDialog.setTabOrder(self.notoallCheck, self.okCheck)
+        MessageBoxWizardDialog.setTabOrder(self.okCheck, self.openCheck)
+        MessageBoxWizardDialog.setTabOrder(self.openCheck, self.resetCheck)
+        MessageBoxWizardDialog.setTabOrder(self.resetCheck, self.restoreCheck)
+        MessageBoxWizardDialog.setTabOrder(self.restoreCheck, self.retryCheck)
+        MessageBoxWizardDialog.setTabOrder(self.retryCheck, self.saveCheck)
+        MessageBoxWizardDialog.setTabOrder(self.saveCheck, self.saveallCheck)
+        MessageBoxWizardDialog.setTabOrder(self.saveallCheck, self.yesCheck)
+        MessageBoxWizardDialog.setTabOrder(self.yesCheck, self.yestoallCheck)
+        MessageBoxWizardDialog.setTabOrder(self.yestoallCheck, self.defaultCombo)
+        MessageBoxWizardDialog.setTabOrder(self.defaultCombo, self.buttonBox)
+
+    def retranslateUi(self, MessageBoxWizardDialog):
+        _translate = QtCore.QCoreApplication.translate
+        MessageBoxWizardDialog.setWindowTitle(_translate("MessageBoxWizardDialog", "QMessageBox Wizard"))
+        self.groupBox.setTitle(_translate("MessageBoxWizardDialog", "Type"))
+        self.rInformation.setToolTip(_translate("MessageBoxWizardDialog", "Generate an Information QMessageBox"))
+        self.rInformation.setText(_translate("MessageBoxWizardDialog", "Information"))
+        self.rQuestion.setToolTip(_translate("MessageBoxWizardDialog", "Generate a Question QMessageBox"))
+        self.rQuestion.setText(_translate("MessageBoxWizardDialog", "Question"))
+        self.rWarning.setToolTip(_translate("MessageBoxWizardDialog", "Generate a Warning QMessageBox"))
+        self.rWarning.setText(_translate("MessageBoxWizardDialog", "Warning"))
+        self.rCritical.setToolTip(_translate("MessageBoxWizardDialog", "Generate a Critical QMessageBox"))
+        self.rCritical.setText(_translate("MessageBoxWizardDialog", "Critical"))
+        self.rAbout.setToolTip(_translate("MessageBoxWizardDialog", "Generate an About QMessageBox"))
+        self.rAbout.setText(_translate("MessageBoxWizardDialog", "About"))
+        self.rAboutQt.setToolTip(_translate("MessageBoxWizardDialog", "Generate an AboutQt QMessageBox"))
+        self.rAboutQt.setText(_translate("MessageBoxWizardDialog", "About Qt"))
+        self.lResultVar.setText(_translate("MessageBoxWizardDialog", "Result:"))
+        self.eResultVar.setToolTip(_translate("MessageBoxWizardDialog", "Enter the result variable name"))
+        self.textLabel1.setText(_translate("MessageBoxWizardDialog", "Title"))
+        self.eCaption.setToolTip(_translate("MessageBoxWizardDialog", "Enter the title for the QMessageBox"))
+        self.textLabel2.setText(_translate("MessageBoxWizardDialog", "Message"))
+        self.eMessage.setToolTip(_translate("MessageBoxWizardDialog", "Enter the message to be shown in the QMessageBox"))
+        self.parentGroup.setTitle(_translate("MessageBoxWizardDialog", "Parent"))
+        self.parentSelf.setToolTip(_translate("MessageBoxWizardDialog", "Select \"self\" as parent"))
+        self.parentSelf.setText(_translate("MessageBoxWizardDialog", "self"))
+        self.parentNone.setToolTip(_translate("MessageBoxWizardDialog", "Select \"None\" as parent"))
+        self.parentNone.setText(_translate("MessageBoxWizardDialog", "None"))
+        self.parentOther.setToolTip(_translate("MessageBoxWizardDialog", "Select to enter a parent expression"))
+        self.parentOther.setText(_translate("MessageBoxWizardDialog", "Expression:"))
+        self.parentEdit.setToolTip(_translate("MessageBoxWizardDialog", "Enter the parent expression"))
+        self.standardButtons.setTitle(_translate("MessageBoxWizardDialog", "Standard Buttons"))
+        self.applyCheck.setText(_translate("MessageBoxWizardDialog", "Apply"))
+        self.abortCheck.setText(_translate("MessageBoxWizardDialog", "Abort"))
+        self.cancelCheck.setText(_translate("MessageBoxWizardDialog", "Cancel"))
+        self.ignoreCheck.setText(_translate("MessageBoxWizardDialog", "Ignore"))
+        self.saveallCheck.setText(_translate("MessageBoxWizardDialog", "Save all"))
+        self.saveCheck.setText(_translate("MessageBoxWizardDialog", "Save"))
+        self.discardCheck.setText(_translate("MessageBoxWizardDialog", "Discard"))
+        self.yestoallCheck.setText(_translate("MessageBoxWizardDialog", "Yes to all"))
+        self.openCheck.setText(_translate("MessageBoxWizardDialog", "Open"))
+        self.resetCheck.setText(_translate("MessageBoxWizardDialog", "Reset"))
+        self.okCheck.setText(_translate("MessageBoxWizardDialog", "Ok"))
+        self.noCheck.setText(_translate("MessageBoxWizardDialog", "No"))
+        self.helpCheck.setText(_translate("MessageBoxWizardDialog", "Help"))
+        self.notoallCheck.setText(_translate("MessageBoxWizardDialog", "No to all"))
+        self.retryCheck.setText(_translate("MessageBoxWizardDialog", "Retry"))
+        self.restoreCheck.setText(_translate("MessageBoxWizardDialog", "Restore defaults"))
+        self.yesCheck.setText(_translate("MessageBoxWizardDialog", "Yes"))
+        self.closeCheck.setText(_translate("MessageBoxWizardDialog", "Close"))
+        self.TextLabel1_2.setText(_translate("MessageBoxWizardDialog", "Default Button:"))
+        self.defaultCombo.setToolTip(_translate("MessageBoxWizardDialog", "Select the default button"))
+from eric7.EricWidgets.EricSpellCheckedTextEdit import EricSpellCheckedTextEdit
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/WizardPlugins/PyRegExpWizard/Ui_PyRegExpWizardCharactersDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,90 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/WizardPlugins/PyRegExpWizard/PyRegExpWizardCharactersDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_PyRegExpWizardCharactersDialog(object):
+    def setupUi(self, PyRegExpWizardCharactersDialog):
+        PyRegExpWizardCharactersDialog.setObjectName("PyRegExpWizardCharactersDialog")
+        PyRegExpWizardCharactersDialog.resize(800, 500)
+        PyRegExpWizardCharactersDialog.setSizeGripEnabled(True)
+        self.vboxlayout = QtWidgets.QVBoxLayout(PyRegExpWizardCharactersDialog)
+        self.vboxlayout.setObjectName("vboxlayout")
+        self.negativeCheckBox = QtWidgets.QCheckBox(parent=PyRegExpWizardCharactersDialog)
+        self.negativeCheckBox.setObjectName("negativeCheckBox")
+        self.vboxlayout.addWidget(self.negativeCheckBox)
+        self.groupBox = QtWidgets.QGroupBox(parent=PyRegExpWizardCharactersDialog)
+        self.groupBox.setObjectName("groupBox")
+        self.gridlayout = QtWidgets.QGridLayout(self.groupBox)
+        self.gridlayout.setObjectName("gridlayout")
+        self.nonWhitespaceCheckBox = QtWidgets.QCheckBox(parent=self.groupBox)
+        self.nonWhitespaceCheckBox.setObjectName("nonWhitespaceCheckBox")
+        self.gridlayout.addWidget(self.nonWhitespaceCheckBox, 1, 2, 1, 1)
+        self.nonDigitsCheckBox = QtWidgets.QCheckBox(parent=self.groupBox)
+        self.nonDigitsCheckBox.setObjectName("nonDigitsCheckBox")
+        self.gridlayout.addWidget(self.nonDigitsCheckBox, 1, 1, 1, 1)
+        self.whitespaceCheckBox = QtWidgets.QCheckBox(parent=self.groupBox)
+        self.whitespaceCheckBox.setObjectName("whitespaceCheckBox")
+        self.gridlayout.addWidget(self.whitespaceCheckBox, 0, 2, 1, 1)
+        self.digitsCheckBox = QtWidgets.QCheckBox(parent=self.groupBox)
+        self.digitsCheckBox.setObjectName("digitsCheckBox")
+        self.gridlayout.addWidget(self.digitsCheckBox, 0, 1, 1, 1)
+        self.nonWordCharCheckBox = QtWidgets.QCheckBox(parent=self.groupBox)
+        self.nonWordCharCheckBox.setObjectName("nonWordCharCheckBox")
+        self.gridlayout.addWidget(self.nonWordCharCheckBox, 1, 0, 1, 1)
+        self.wordCharCheckBox = QtWidgets.QCheckBox(parent=self.groupBox)
+        self.wordCharCheckBox.setObjectName("wordCharCheckBox")
+        self.gridlayout.addWidget(self.wordCharCheckBox, 0, 0, 1, 1)
+        self.vboxlayout.addWidget(self.groupBox)
+        self.singlesBox = QtWidgets.QGroupBox(parent=PyRegExpWizardCharactersDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.singlesBox.sizePolicy().hasHeightForWidth())
+        self.singlesBox.setSizePolicy(sizePolicy)
+        self.singlesBox.setObjectName("singlesBox")
+        self.vboxlayout.addWidget(self.singlesBox)
+        self.rangesBox = QtWidgets.QGroupBox(parent=PyRegExpWizardCharactersDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.rangesBox.sizePolicy().hasHeightForWidth())
+        self.rangesBox.setSizePolicy(sizePolicy)
+        self.rangesBox.setObjectName("rangesBox")
+        self.vboxlayout.addWidget(self.rangesBox)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=PyRegExpWizardCharactersDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.vboxlayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(PyRegExpWizardCharactersDialog)
+        self.buttonBox.accepted.connect(PyRegExpWizardCharactersDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(PyRegExpWizardCharactersDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(PyRegExpWizardCharactersDialog)
+        PyRegExpWizardCharactersDialog.setTabOrder(self.negativeCheckBox, self.wordCharCheckBox)
+        PyRegExpWizardCharactersDialog.setTabOrder(self.wordCharCheckBox, self.nonWordCharCheckBox)
+        PyRegExpWizardCharactersDialog.setTabOrder(self.nonWordCharCheckBox, self.digitsCheckBox)
+        PyRegExpWizardCharactersDialog.setTabOrder(self.digitsCheckBox, self.nonDigitsCheckBox)
+        PyRegExpWizardCharactersDialog.setTabOrder(self.nonDigitsCheckBox, self.whitespaceCheckBox)
+        PyRegExpWizardCharactersDialog.setTabOrder(self.whitespaceCheckBox, self.nonWhitespaceCheckBox)
+
+    def retranslateUi(self, PyRegExpWizardCharactersDialog):
+        _translate = QtCore.QCoreApplication.translate
+        PyRegExpWizardCharactersDialog.setWindowTitle(_translate("PyRegExpWizardCharactersDialog", "Editor for character sets"))
+        self.negativeCheckBox.setText(_translate("PyRegExpWizardCharactersDialog", "The defined characters should not match"))
+        self.groupBox.setTitle(_translate("PyRegExpWizardCharactersDialog", "Predefined character ranges"))
+        self.nonWhitespaceCheckBox.setText(_translate("PyRegExpWizardCharactersDialog", "Non-whitespace characters"))
+        self.nonDigitsCheckBox.setText(_translate("PyRegExpWizardCharactersDialog", "Non-digits"))
+        self.whitespaceCheckBox.setText(_translate("PyRegExpWizardCharactersDialog", "Whitespace characters"))
+        self.digitsCheckBox.setText(_translate("PyRegExpWizardCharactersDialog", "Digits"))
+        self.nonWordCharCheckBox.setText(_translate("PyRegExpWizardCharactersDialog", "Non-word characters"))
+        self.wordCharCheckBox.setText(_translate("PyRegExpWizardCharactersDialog", "Word character"))
+        self.singlesBox.setTitle(_translate("PyRegExpWizardCharactersDialog", "Single character"))
+        self.rangesBox.setTitle(_translate("PyRegExpWizardCharactersDialog", "Character ranges"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/WizardPlugins/PyRegExpWizard/Ui_PyRegExpWizardDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,314 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/WizardPlugins/PyRegExpWizard/PyRegExpWizardDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_PyRegExpWizardDialog(object):
+    def setupUi(self, PyRegExpWizardDialog):
+        PyRegExpWizardDialog.setObjectName("PyRegExpWizardDialog")
+        PyRegExpWizardDialog.resize(750, 700)
+        PyRegExpWizardDialog.setProperty("sizeGripEnabled", True)
+        self.verticalLayout_4 = QtWidgets.QVBoxLayout(PyRegExpWizardDialog)
+        self.verticalLayout_4.setObjectName("verticalLayout_4")
+        self.hboxlayout = QtWidgets.QHBoxLayout()
+        self.hboxlayout.setObjectName("hboxlayout")
+        self.variableLabel = QtWidgets.QLabel(parent=PyRegExpWizardDialog)
+        self.variableLabel.setObjectName("variableLabel")
+        self.hboxlayout.addWidget(self.variableLabel)
+        self.variableLineEdit = QtWidgets.QLineEdit(parent=PyRegExpWizardDialog)
+        self.variableLineEdit.setObjectName("variableLineEdit")
+        self.hboxlayout.addWidget(self.variableLineEdit)
+        self.verticalLayout_4.addLayout(self.hboxlayout)
+        self.importCheckBox = QtWidgets.QCheckBox(parent=PyRegExpWizardDialog)
+        self.importCheckBox.setObjectName("importCheckBox")
+        self.verticalLayout_4.addWidget(self.importCheckBox)
+        self.variableLine = QtWidgets.QFrame(parent=PyRegExpWizardDialog)
+        self.variableLine.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.variableLine.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.variableLine.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.variableLine.setObjectName("variableLine")
+        self.verticalLayout_4.addWidget(self.variableLine)
+        self.hboxlayout1 = QtWidgets.QHBoxLayout()
+        self.hboxlayout1.setObjectName("hboxlayout1")
+        self.commentButton = QtWidgets.QToolButton(parent=PyRegExpWizardDialog)
+        self.commentButton.setObjectName("commentButton")
+        self.hboxlayout1.addWidget(self.commentButton)
+        self.charButton = QtWidgets.QToolButton(parent=PyRegExpWizardDialog)
+        self.charButton.setObjectName("charButton")
+        self.hboxlayout1.addWidget(self.charButton)
+        self.anycharButton = QtWidgets.QToolButton(parent=PyRegExpWizardDialog)
+        self.anycharButton.setObjectName("anycharButton")
+        self.hboxlayout1.addWidget(self.anycharButton)
+        self.repeatButton = QtWidgets.QToolButton(parent=PyRegExpWizardDialog)
+        self.repeatButton.setObjectName("repeatButton")
+        self.hboxlayout1.addWidget(self.repeatButton)
+        self.nonGroupButton = QtWidgets.QToolButton(parent=PyRegExpWizardDialog)
+        self.nonGroupButton.setObjectName("nonGroupButton")
+        self.hboxlayout1.addWidget(self.nonGroupButton)
+        self.groupButton = QtWidgets.QToolButton(parent=PyRegExpWizardDialog)
+        self.groupButton.setObjectName("groupButton")
+        self.hboxlayout1.addWidget(self.groupButton)
+        self.namedGroupButton = QtWidgets.QToolButton(parent=PyRegExpWizardDialog)
+        self.namedGroupButton.setObjectName("namedGroupButton")
+        self.hboxlayout1.addWidget(self.namedGroupButton)
+        self.namedReferenceButton = QtWidgets.QToolButton(parent=PyRegExpWizardDialog)
+        self.namedReferenceButton.setObjectName("namedReferenceButton")
+        self.hboxlayout1.addWidget(self.namedReferenceButton)
+        self.altnButton = QtWidgets.QToolButton(parent=PyRegExpWizardDialog)
+        self.altnButton.setObjectName("altnButton")
+        self.hboxlayout1.addWidget(self.altnButton)
+        self.beglineButton = QtWidgets.QToolButton(parent=PyRegExpWizardDialog)
+        self.beglineButton.setObjectName("beglineButton")
+        self.hboxlayout1.addWidget(self.beglineButton)
+        self.endlineButton = QtWidgets.QToolButton(parent=PyRegExpWizardDialog)
+        self.endlineButton.setObjectName("endlineButton")
+        self.hboxlayout1.addWidget(self.endlineButton)
+        self.wordboundButton = QtWidgets.QToolButton(parent=PyRegExpWizardDialog)
+        self.wordboundButton.setObjectName("wordboundButton")
+        self.hboxlayout1.addWidget(self.wordboundButton)
+        self.nonwordboundButton = QtWidgets.QToolButton(parent=PyRegExpWizardDialog)
+        self.nonwordboundButton.setObjectName("nonwordboundButton")
+        self.hboxlayout1.addWidget(self.nonwordboundButton)
+        self.poslookaheadButton = QtWidgets.QToolButton(parent=PyRegExpWizardDialog)
+        self.poslookaheadButton.setObjectName("poslookaheadButton")
+        self.hboxlayout1.addWidget(self.poslookaheadButton)
+        self.neglookaheadButton = QtWidgets.QToolButton(parent=PyRegExpWizardDialog)
+        self.neglookaheadButton.setObjectName("neglookaheadButton")
+        self.hboxlayout1.addWidget(self.neglookaheadButton)
+        self.poslookbehindButton = QtWidgets.QToolButton(parent=PyRegExpWizardDialog)
+        self.poslookbehindButton.setObjectName("poslookbehindButton")
+        self.hboxlayout1.addWidget(self.poslookbehindButton)
+        self.neglookbehindButton = QtWidgets.QToolButton(parent=PyRegExpWizardDialog)
+        self.neglookbehindButton.setObjectName("neglookbehindButton")
+        self.hboxlayout1.addWidget(self.neglookbehindButton)
+        spacerItem = QtWidgets.QSpacerItem(16, 20, QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.hboxlayout1.addItem(spacerItem)
+        self.undoButton = QtWidgets.QToolButton(parent=PyRegExpWizardDialog)
+        self.undoButton.setObjectName("undoButton")
+        self.hboxlayout1.addWidget(self.undoButton)
+        self.redoButton = QtWidgets.QToolButton(parent=PyRegExpWizardDialog)
+        self.redoButton.setObjectName("redoButton")
+        self.hboxlayout1.addWidget(self.redoButton)
+        spacerItem1 = QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.hboxlayout1.addItem(spacerItem1)
+        self.verticalLayout_4.addLayout(self.hboxlayout1)
+        self.splitter_2 = QtWidgets.QSplitter(parent=PyRegExpWizardDialog)
+        self.splitter_2.setOrientation(QtCore.Qt.Orientation.Vertical)
+        self.splitter_2.setChildrenCollapsible(False)
+        self.splitter_2.setObjectName("splitter_2")
+        self.widget = QtWidgets.QWidget(parent=self.splitter_2)
+        self.widget.setObjectName("widget")
+        self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.widget)
+        self.verticalLayout_3.setContentsMargins(0, 0, 0, 0)
+        self.verticalLayout_3.setObjectName("verticalLayout_3")
+        self.splitter = QtWidgets.QSplitter(parent=self.widget)
+        self.splitter.setOrientation(QtCore.Qt.Orientation.Vertical)
+        self.splitter.setChildrenCollapsible(False)
+        self.splitter.setObjectName("splitter")
+        self.widget1 = QtWidgets.QWidget(parent=self.splitter)
+        self.widget1.setObjectName("widget1")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.widget1)
+        self.verticalLayout.setContentsMargins(0, 0, 0, 0)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.textLabel1 = QtWidgets.QLabel(parent=self.widget1)
+        self.textLabel1.setAlignment(QtCore.Qt.AlignmentFlag.AlignTop)
+        self.textLabel1.setObjectName("textLabel1")
+        self.verticalLayout.addWidget(self.textLabel1)
+        self.regexpTextEdit = QtWidgets.QTextEdit(parent=self.widget1)
+        self.regexpTextEdit.setAcceptRichText(False)
+        self.regexpTextEdit.setObjectName("regexpTextEdit")
+        self.verticalLayout.addWidget(self.regexpTextEdit)
+        self.widget2 = QtWidgets.QWidget(parent=self.splitter)
+        self.widget2.setObjectName("widget2")
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.widget2)
+        self.verticalLayout_2.setContentsMargins(0, 0, 0, 0)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.textLabel2 = QtWidgets.QLabel(parent=self.widget2)
+        self.textLabel2.setAlignment(QtCore.Qt.AlignmentFlag.AlignTop)
+        self.textLabel2.setObjectName("textLabel2")
+        self.verticalLayout_2.addWidget(self.textLabel2)
+        self.textTextEdit = QtWidgets.QTextEdit(parent=self.widget2)
+        self.textTextEdit.setAcceptRichText(False)
+        self.textTextEdit.setObjectName("textTextEdit")
+        self.verticalLayout_2.addWidget(self.textTextEdit)
+        self.verticalLayout_3.addWidget(self.splitter)
+        self.gridlayout = QtWidgets.QGridLayout()
+        self.gridlayout.setObjectName("gridlayout")
+        self.multilineCheckBox = QtWidgets.QCheckBox(parent=self.widget)
+        self.multilineCheckBox.setObjectName("multilineCheckBox")
+        self.gridlayout.addWidget(self.multilineCheckBox, 0, 1, 1, 1)
+        self.verboseCheckBox = QtWidgets.QCheckBox(parent=self.widget)
+        self.verboseCheckBox.setObjectName("verboseCheckBox")
+        self.gridlayout.addWidget(self.verboseCheckBox, 1, 0, 1, 1)
+        self.caseSensitiveCheckBox = QtWidgets.QCheckBox(parent=self.widget)
+        self.caseSensitiveCheckBox.setChecked(True)
+        self.caseSensitiveCheckBox.setObjectName("caseSensitiveCheckBox")
+        self.gridlayout.addWidget(self.caseSensitiveCheckBox, 0, 0, 1, 1)
+        self.unicodeCheckBox = QtWidgets.QCheckBox(parent=self.widget)
+        self.unicodeCheckBox.setObjectName("unicodeCheckBox")
+        self.gridlayout.addWidget(self.unicodeCheckBox, 1, 1, 1, 1)
+        self.dotallCheckBox = QtWidgets.QCheckBox(parent=self.widget)
+        self.dotallCheckBox.setObjectName("dotallCheckBox")
+        self.gridlayout.addWidget(self.dotallCheckBox, 0, 2, 1, 1)
+        self.verticalLayout_3.addLayout(self.gridlayout)
+        self.resultTable = QtWidgets.QTableWidget(parent=self.splitter_2)
+        self.resultTable.setEditTriggers(QtWidgets.QAbstractItemView.EditTrigger.NoEditTriggers)
+        self.resultTable.setObjectName("resultTable")
+        self.resultTable.setColumnCount(0)
+        self.resultTable.setRowCount(0)
+        self.verticalLayout_4.addWidget(self.splitter_2)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=PyRegExpWizardDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Close|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout_4.addWidget(self.buttonBox)
+
+        self.retranslateUi(PyRegExpWizardDialog)
+        QtCore.QMetaObject.connectSlotsByName(PyRegExpWizardDialog)
+        PyRegExpWizardDialog.setTabOrder(self.variableLineEdit, self.importCheckBox)
+        PyRegExpWizardDialog.setTabOrder(self.importCheckBox, self.commentButton)
+        PyRegExpWizardDialog.setTabOrder(self.commentButton, self.charButton)
+        PyRegExpWizardDialog.setTabOrder(self.charButton, self.anycharButton)
+        PyRegExpWizardDialog.setTabOrder(self.anycharButton, self.repeatButton)
+        PyRegExpWizardDialog.setTabOrder(self.repeatButton, self.nonGroupButton)
+        PyRegExpWizardDialog.setTabOrder(self.nonGroupButton, self.groupButton)
+        PyRegExpWizardDialog.setTabOrder(self.groupButton, self.namedGroupButton)
+        PyRegExpWizardDialog.setTabOrder(self.namedGroupButton, self.namedReferenceButton)
+        PyRegExpWizardDialog.setTabOrder(self.namedReferenceButton, self.altnButton)
+        PyRegExpWizardDialog.setTabOrder(self.altnButton, self.beglineButton)
+        PyRegExpWizardDialog.setTabOrder(self.beglineButton, self.endlineButton)
+        PyRegExpWizardDialog.setTabOrder(self.endlineButton, self.wordboundButton)
+        PyRegExpWizardDialog.setTabOrder(self.wordboundButton, self.nonwordboundButton)
+        PyRegExpWizardDialog.setTabOrder(self.nonwordboundButton, self.poslookaheadButton)
+        PyRegExpWizardDialog.setTabOrder(self.poslookaheadButton, self.neglookaheadButton)
+        PyRegExpWizardDialog.setTabOrder(self.neglookaheadButton, self.poslookbehindButton)
+        PyRegExpWizardDialog.setTabOrder(self.poslookbehindButton, self.neglookbehindButton)
+        PyRegExpWizardDialog.setTabOrder(self.neglookbehindButton, self.undoButton)
+        PyRegExpWizardDialog.setTabOrder(self.undoButton, self.redoButton)
+        PyRegExpWizardDialog.setTabOrder(self.redoButton, self.regexpTextEdit)
+        PyRegExpWizardDialog.setTabOrder(self.regexpTextEdit, self.textTextEdit)
+        PyRegExpWizardDialog.setTabOrder(self.textTextEdit, self.caseSensitiveCheckBox)
+        PyRegExpWizardDialog.setTabOrder(self.caseSensitiveCheckBox, self.multilineCheckBox)
+        PyRegExpWizardDialog.setTabOrder(self.multilineCheckBox, self.dotallCheckBox)
+        PyRegExpWizardDialog.setTabOrder(self.dotallCheckBox, self.verboseCheckBox)
+        PyRegExpWizardDialog.setTabOrder(self.verboseCheckBox, self.unicodeCheckBox)
+        PyRegExpWizardDialog.setTabOrder(self.unicodeCheckBox, self.resultTable)
+
+    def retranslateUi(self, PyRegExpWizardDialog):
+        _translate = QtCore.QCoreApplication.translate
+        PyRegExpWizardDialog.setWindowTitle(_translate("PyRegExpWizardDialog", "Python re Wizard"))
+        self.variableLabel.setText(_translate("PyRegExpWizardDialog", "Variable Name:"))
+        self.importCheckBox.setText(_translate("PyRegExpWizardDialog", "Include import statement"))
+        self.commentButton.setToolTip(_translate("PyRegExpWizardDialog", "<b>Comment: (?#)</b>\n"
+"<p>Insert some comment inside your regexp.</p>"))
+        self.commentButton.setWhatsThis(_translate("PyRegExpWizardDialog", "<b>Comment: (?#)</b>\n"
+"<p>Insert some comment inside your regexp.The regex engine ignores everything after the (?# until the first closing round bracket. \n"
+"The following example could clarify the regexp which match a valid date: </p>\n"
+"<p>(?#year)(19|20)\\d\\d[- /.](?#month)(0[1-9]|1[012])[- /.](?#day)(0[1-9]|[12][0-9]|3[01])</p>"))
+        self.charButton.setToolTip(_translate("PyRegExpWizardDialog", "<b>Single character of a range (e.g. [abcd])</b><p>Select a single character of a range via a specific dialog.</p>"))
+        self.charButton.setWhatsThis(_translate("PyRegExpWizardDialog", "<b>Single character of a range (e.g. [abcd])</b><p>Select a single character of a range via a specific dialog. This dialog will help to edit the range of characters and add some specific conditions.</p>s"))
+        self.anycharButton.setToolTip(_translate("PyRegExpWizardDialog", "<b>Any character: \'.\'</b>\n"
+"<p>Select to insert a dot (.) in your regexp.</p>"))
+        self.anycharButton.setWhatsThis(_translate("PyRegExpWizardDialog", "<b>Any character: \'.\'</b>\n"
+"<p>Select to insert a dot (.) in your regexp. The dot matches a single character, except line break characters (by default). \n"
+"E.g. \'gr.y\' matches \'gray\', \'grey\', \'gr%y\', etc. Use the dot sparingly. Often, a character class or negated\n"
+"character class is faster and more precise.</p>"))
+        self.repeatButton.setToolTip(_translate("PyRegExpWizardDialog", "<b>Repeat contents</b>\n"
+"<p>Select a repetition condition via a specific dialog. This dialog will help to specify the allowed range for repetitions.</p>"))
+        self.repeatButton.setWhatsThis(_translate("PyRegExpWizardDialog", "<b>Repeat contents</b>\n"
+"<p>Select a repetition condition via a specific dialog. This dialog will help to specify the allowed range for repetitions.</p>"))
+        self.nonGroupButton.setToolTip(_translate("PyRegExpWizardDialog", "<b>Non capturing parentheses: (?:)</b>\n"
+"<p>Select to insert some non capturing brackets.</p>"))
+        self.nonGroupButton.setWhatsThis(_translate("PyRegExpWizardDialog", "<b>Non capturing parentheses: (?:)</b>\n"
+"<p>Select to insert some non capturing brackets. It can be used to apply a regexp quantifier (eg. \'?\' or \'+\') to the entire\n"
+"group of characters inside the brakets. E.g. the regex \'Set(?:Value)?\' matches \'Set\' or \'SetValue\'. The \'?:\' inside the brakets\n"
+"means that the content of the match (called the backreference) is not stored for further use.</p>"))
+        self.groupButton.setToolTip(_translate("PyRegExpWizardDialog", "<b>Group: ()</b>\n"
+"<p>Select to insert some capturing brackets.</p>"))
+        self.groupButton.setWhatsThis(_translate("PyRegExpWizardDialog", "<b>Group: ()</b>\n"
+"<p>Select to insert some capturing brackets. They can be used to apply a regexp quantifier (e.g. \'?\' or \'+\') to the entire group of \n"
+"characters inside the brakets. E.g. the regex \'Set(Value)?\' matches \'Set\' or \'SetValue\'. Contrary to non-capturing parentheses, \n"
+"the backreference matched inside the brakets is stored for further use (i.e. \'Value\' in the second example above). \n"
+"One can access the backereference with the \'\\1\' expression. </p>\n"
+"<p>E.g. \'([a-c])x\\1x\\1\' will match \'axaxa\', \'bxbxb\' and \'cxcxc\'.</p>"))
+        self.namedGroupButton.setToolTip(_translate("PyRegExpWizardDialog", "<b>Named group: (?P&lt;<i>groupname</i>&gt;)</b>\n"
+"<p>Select to insert some named group brackets.</p>"))
+        self.namedGroupButton.setWhatsThis(_translate("PyRegExpWizardDialog", "<b>Named group: (?P&lt;<i>groupname</i>&gt;)</b>\n"
+"<p>Select to insert some named group brackets. Usage is similar to standard group parentheses as the matched \n"
+"backreference is also stored for further usage. The difference is that a name is given to the match. This is useful when \n"
+"the work to do on the match becomes a bit complicated. One can access the backreference via the group name (i.e (?P=<i>groupname</i>)).\n"
+"E.g. (?P<foo>[abc])x(?P=foo)x(?P=foo)x matches \'axaxax\',\'bxbxbx\' or \'cxcxcx\' (\'foo\' is the group name)</p>"))
+        self.namedReferenceButton.setToolTip(_translate("PyRegExpWizardDialog", "<b>Reference named group: (?P=<i>groupname</i>)</b>\n"
+"<p>Select to insert a reference to named group previously declared.</p>"))
+        self.namedReferenceButton.setWhatsThis(_translate("PyRegExpWizardDialog", "<b>Reference named group: (?P=<i>groupname</i>)</b>\n"
+"<p>Select to insert a reference to named group previously declared. Each reference group refers to the match\n"
+" found by the corresponding named group. In the following example, (?P=foo) may refer to the charaters \'a\',\'b\' or \'c\'.</p>\n"
+"<p>E.g. (?P<foo>[abc])x(?P=foo)x(?P=foo)x matches \'axaxax\',\'bxbxbx\' or \'cxcxcx\'.</p>"))
+        self.altnButton.setToolTip(_translate("PyRegExpWizardDialog", "<b>Alternatives: \'|\'</b>\n"
+"<p>Select to insert the alternation symbol \'|\'. </p>"))
+        self.altnButton.setWhatsThis(_translate("PyRegExpWizardDialog", "<b>Alternatives: \'|\'</b>\n"
+"<p>Select to insert the alternation symbol \'|\'. The alternation is used to match a single regular expression out of \n"
+"several possible regular expressions. E.g. \'cat|dog|mouse|fish\' matches words containing the word \'cat\', \'dog\',\'mouse\' or \'fish\'.\n"
+"Be aware that in the above example, the alternatives refer to whole or part of words. If you want to match exactly the\n"
+" words \'cat\', \'dog\', ... you should express the fact that you only want to match complete words: \'\\b(cat|dog|mouse|fish)\\b\'</p>"))
+        self.beglineButton.setToolTip(_translate("PyRegExpWizardDialog", "<b>Begin of line: \'^\'</b>\n"
+"<p>Select to insert the start line character (^).</p>"))
+        self.beglineButton.setWhatsThis(_translate("PyRegExpWizardDialog", "<b>Begin of line: \'^\'</b>\n"
+"<p>Select to insert the start line character (^). It is used to find some expressions at the begining of lines.\n"
+"E.g. \'^[A-Z]\' match lines starting with a capitalized character. </p>"))
+        self.endlineButton.setToolTip(_translate("PyRegExpWizardDialog", "<b>End of line: \'$\'</b>\n"
+"<p>Select to insert the end of line character ($).</p>"))
+        self.endlineButton.setWhatsThis(_translate("PyRegExpWizardDialog", "<b>End of line: \'$\'</b>\n"
+"<p>Select to insert the end of line character ($). It is used to find some expressions at the end of lines.</p>"))
+        self.wordboundButton.setToolTip(_translate("PyRegExpWizardDialog", "<b>Word boundary</b>\n"
+"<p>Select to insert the word boudary character (\\b).</p>"))
+        self.wordboundButton.setWhatsThis(_translate("PyRegExpWizardDialog", "<b>Word boundary</b>\n"
+"<p>Select to insert the word boudary character (\\b). This character is used to express the fact that word \n"
+"must begin or end at this position. E.g. \'\\bcat\\b\' matches exactly the word \'cat\' while \'concatenation\' is ignored.</p>"))
+        self.nonwordboundButton.setToolTip(_translate("PyRegExpWizardDialog", "<b>Non word boundary</b>\n"
+"<p>Select to insert the word boudary character (\\B). \\B is the negated version of \\b.</p>"))
+        self.nonwordboundButton.setWhatsThis(_translate("PyRegExpWizardDialog", "<b>Non word boundary</b>\n"
+"<p>Select to insert the word boudary character (\\B). \\B is the negated version of \\b. \\B matches at every position where \\b \n"
+"does not. Effectively, \\B matches at any position between two word characters as well as at any position between two non-word characters.</p>"))
+        self.poslookaheadButton.setToolTip(_translate("PyRegExpWizardDialog", "<b>Positive lookahead: (?=<i>regexpr</i>)</b>\n"
+"<p>Select to insert the positive lookhead brackets.</p>"))
+        self.poslookaheadButton.setWhatsThis(_translate("PyRegExpWizardDialog", "<b>Positive lookahead: (?=<i>regexpr</i>)</b>\n"
+"<p>Select to insert the positive lookhead brackets. Basically, positive lookhead is used to match a character only if followed by another one.\n"
+"Writting \'q(?=u)\' means that you want to match the \'q\' character only if it is followed by \'u\'. In this statement \'u\' is a trivial \n"
+"regexp which may be replaced by a more complex expression; q(?=[abc])\' will match a \'q\' if followed by either \'a\', \'b\' or \'c\'.</p>"))
+        self.neglookaheadButton.setToolTip(_translate("PyRegExpWizardDialog", "<b>Negative lookahead: (?!<i>regexpr</i>)</b>\n"
+"<p>Select to insert the negative lookhead brackets.</p>"))
+        self.neglookaheadButton.setWhatsThis(_translate("PyRegExpWizardDialog", "<b>Negative lookahead: (?!<i>regexpr</i>)</b>\n"
+"<p>Select to insert the negative lookhead brackets. Basically, negative lookhead is used to match a character only if it is not\n"
+"followed by a another one. Writting \'q(?!u)\' means that you want to match \'q\' only if it is not followed by \'u\'. In this statement, \'u\' is a\n"
+"trivial regexp which may be replaced by a more complex expression; \'q(?![abc])\' will match a \'q\' if it is followed by anything else than \'a\', \'b\' or \'c\'.</p>"))
+        self.poslookbehindButton.setToolTip(_translate("PyRegExpWizardDialog", "<b>Positive lookbehind: (?&lt;=<i>regexpr</i>)</b>\n"
+"<p>Select to insert the positive lookbehind brackets.</p>"))
+        self.poslookbehindButton.setWhatsThis(_translate("PyRegExpWizardDialog", "<b>Positive lookbehind: (?&lt;=<i>regexpr</i>)</b>\n"
+"<p>Select to insert the positive lookbehind brackets. Lookbehind has the same effect as lookahead, but works backwards. \n"
+"It is used to match a character only if preceded by another one. Writting \'(?&lt;=u)q\' means that you want to match the \'q\' character \n"
+"only if it is preceded by \'u\'. As with lookhead, \'u\' may be replaced by a more complex expression; \'(?&lt;=[abc])q\' will match a \'q\' if preceded by either \'a\', \'b\' or \'c\'.</p>"))
+        self.neglookbehindButton.setToolTip(_translate("PyRegExpWizardDialog", "<b>Negative lookbehind (?&lt;!<i>regexpr</i>)</b>\n"
+"<p>Select to insert the negative lookbehind brackets.</p>"))
+        self.neglookbehindButton.setWhatsThis(_translate("PyRegExpWizardDialog", "<b>Negative lookbehind (?&lt;!<i>regexpr</i>)</b>\n"
+"<p>Select to insert the negative lookbehind brackets. Lookbehind has the same effect as lookahead, \n"
+"but works backwards. It is used to match a character only if not preceded by another one. Writting \'(?&lt;!u)q\' means that you want to match the \'q\' \n"
+"character only if it is not preceded by \'u\'. As other lookaround, \'u\' may be replaced by a more complex \n"
+"expression; \'(?&lt;![abc])q\' will match a \'q\' only if not preceded by either \'a\', \'b\' nor \'c\'.</p>"))
+        self.undoButton.setToolTip(_translate("PyRegExpWizardDialog", "<b>Undo last edit</b>"))
+        self.redoButton.setToolTip(_translate("PyRegExpWizardDialog", "<b>Redo last edit</b>"))
+        self.textLabel1.setText(_translate("PyRegExpWizardDialog", "Regexp:"))
+        self.textLabel2.setText(_translate("PyRegExpWizardDialog", "Text:"))
+        self.multilineCheckBox.setToolTip(_translate("PyRegExpWizardDialog", "\"^\" matches beginning of line, \"$\" matches end of line"))
+        self.multilineCheckBox.setText(_translate("PyRegExpWizardDialog", "Match Linebreaks"))
+        self.verboseCheckBox.setText(_translate("PyRegExpWizardDialog", "Verbose Regexp"))
+        self.caseSensitiveCheckBox.setText(_translate("PyRegExpWizardDialog", "Case Sensitive"))
+        self.unicodeCheckBox.setText(_translate("PyRegExpWizardDialog", "ASCII"))
+        self.dotallCheckBox.setToolTip(_translate("PyRegExpWizardDialog", "\".\" matches linebreaks as well"))
+        self.dotallCheckBox.setText(_translate("PyRegExpWizardDialog", "Dot matches Linebreak"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/WizardPlugins/PyRegExpWizard/Ui_PyRegExpWizardRepeatDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,125 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/WizardPlugins/PyRegExpWizard/PyRegExpWizardRepeatDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_PyRegExpWizardRepeatDialog(object):
+    def setupUi(self, PyRegExpWizardRepeatDialog):
+        PyRegExpWizardRepeatDialog.setObjectName("PyRegExpWizardRepeatDialog")
+        PyRegExpWizardRepeatDialog.resize(331, 223)
+        PyRegExpWizardRepeatDialog.setSizeGripEnabled(True)
+        self.vboxlayout = QtWidgets.QVBoxLayout(PyRegExpWizardRepeatDialog)
+        self.vboxlayout.setObjectName("vboxlayout")
+        self.groupBox = QtWidgets.QGroupBox(parent=PyRegExpWizardRepeatDialog)
+        self.groupBox.setTitle("")
+        self.groupBox.setFlat(True)
+        self.groupBox.setObjectName("groupBox")
+        self.gridlayout = QtWidgets.QGridLayout(self.groupBox)
+        self.gridlayout.setContentsMargins(0, 0, 0, 0)
+        self.gridlayout.setObjectName("gridlayout")
+        self.textLabel1_6 = QtWidgets.QLabel(parent=self.groupBox)
+        self.textLabel1_6.setObjectName("textLabel1_6")
+        self.gridlayout.addWidget(self.textLabel1_6, 2, 2, 1, 1)
+        self.textLabel1_7 = QtWidgets.QLabel(parent=self.groupBox)
+        self.textLabel1_7.setObjectName("textLabel1_7")
+        self.gridlayout.addWidget(self.textLabel1_7, 3, 2, 1, 1)
+        self.textLabel1_5 = QtWidgets.QLabel(parent=self.groupBox)
+        self.textLabel1_5.setObjectName("textLabel1_5")
+        self.gridlayout.addWidget(self.textLabel1_5, 1, 2, 1, 1)
+        self.lowerSpin = QtWidgets.QSpinBox(parent=self.groupBox)
+        self.lowerSpin.setEnabled(False)
+        self.lowerSpin.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight)
+        self.lowerSpin.setProperty("value", 1)
+        self.lowerSpin.setObjectName("lowerSpin")
+        self.gridlayout.addWidget(self.lowerSpin, 4, 1, 1, 1)
+        self.upperSpin = QtWidgets.QSpinBox(parent=self.groupBox)
+        self.upperSpin.setEnabled(False)
+        self.upperSpin.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight)
+        self.upperSpin.setProperty("value", 1)
+        self.upperSpin.setObjectName("upperSpin")
+        self.gridlayout.addWidget(self.upperSpin, 4, 3, 1, 1)
+        self.textLabel6 = QtWidgets.QLabel(parent=self.groupBox)
+        self.textLabel6.setObjectName("textLabel6")
+        self.gridlayout.addWidget(self.textLabel6, 4, 2, 1, 1)
+        self.betweenButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.betweenButton.setObjectName("betweenButton")
+        self.gridlayout.addWidget(self.betweenButton, 4, 0, 1, 1)
+        self.exactSpin = QtWidgets.QSpinBox(parent=self.groupBox)
+        self.exactSpin.setEnabled(False)
+        self.exactSpin.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight)
+        self.exactSpin.setProperty("value", 1)
+        self.exactSpin.setObjectName("exactSpin")
+        self.gridlayout.addWidget(self.exactSpin, 3, 1, 1, 1)
+        self.exactButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.exactButton.setObjectName("exactButton")
+        self.gridlayout.addWidget(self.exactButton, 3, 0, 1, 1)
+        self.maxSpin = QtWidgets.QSpinBox(parent=self.groupBox)
+        self.maxSpin.setEnabled(False)
+        self.maxSpin.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight)
+        self.maxSpin.setProperty("value", 1)
+        self.maxSpin.setObjectName("maxSpin")
+        self.gridlayout.addWidget(self.maxSpin, 2, 1, 1, 1)
+        self.maxButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.maxButton.setObjectName("maxButton")
+        self.gridlayout.addWidget(self.maxButton, 2, 0, 1, 1)
+        self.minButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.minButton.setObjectName("minButton")
+        self.gridlayout.addWidget(self.minButton, 1, 0, 1, 1)
+        self.minSpin = QtWidgets.QSpinBox(parent=self.groupBox)
+        self.minSpin.setEnabled(False)
+        self.minSpin.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight)
+        self.minSpin.setProperty("value", 1)
+        self.minSpin.setObjectName("minSpin")
+        self.gridlayout.addWidget(self.minSpin, 1, 1, 1, 1)
+        self.unlimitedButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.unlimitedButton.setObjectName("unlimitedButton")
+        self.gridlayout.addWidget(self.unlimitedButton, 0, 0, 1, 4)
+        self.vboxlayout.addWidget(self.groupBox)
+        self.minimalCheckBox = QtWidgets.QCheckBox(parent=PyRegExpWizardRepeatDialog)
+        self.minimalCheckBox.setObjectName("minimalCheckBox")
+        self.vboxlayout.addWidget(self.minimalCheckBox)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=PyRegExpWizardRepeatDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.vboxlayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(PyRegExpWizardRepeatDialog)
+        self.minButton.toggled['bool'].connect(self.minSpin.setEnabled) # type: ignore
+        self.maxButton.toggled['bool'].connect(self.maxSpin.setEnabled) # type: ignore
+        self.exactButton.toggled['bool'].connect(self.exactSpin.setEnabled) # type: ignore
+        self.betweenButton.toggled['bool'].connect(self.lowerSpin.setEnabled) # type: ignore
+        self.betweenButton.toggled['bool'].connect(self.upperSpin.setEnabled) # type: ignore
+        self.buttonBox.accepted.connect(PyRegExpWizardRepeatDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(PyRegExpWizardRepeatDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(PyRegExpWizardRepeatDialog)
+        PyRegExpWizardRepeatDialog.setTabOrder(self.unlimitedButton, self.minButton)
+        PyRegExpWizardRepeatDialog.setTabOrder(self.minButton, self.minSpin)
+        PyRegExpWizardRepeatDialog.setTabOrder(self.minSpin, self.maxButton)
+        PyRegExpWizardRepeatDialog.setTabOrder(self.maxButton, self.maxSpin)
+        PyRegExpWizardRepeatDialog.setTabOrder(self.maxSpin, self.exactButton)
+        PyRegExpWizardRepeatDialog.setTabOrder(self.exactButton, self.exactSpin)
+        PyRegExpWizardRepeatDialog.setTabOrder(self.exactSpin, self.betweenButton)
+        PyRegExpWizardRepeatDialog.setTabOrder(self.betweenButton, self.lowerSpin)
+        PyRegExpWizardRepeatDialog.setTabOrder(self.lowerSpin, self.upperSpin)
+        PyRegExpWizardRepeatDialog.setTabOrder(self.upperSpin, self.minimalCheckBox)
+
+    def retranslateUi(self, PyRegExpWizardRepeatDialog):
+        _translate = QtCore.QCoreApplication.translate
+        PyRegExpWizardRepeatDialog.setWindowTitle(_translate("PyRegExpWizardRepeatDialog", "Number of repetitions"))
+        self.textLabel1_6.setText(_translate("PyRegExpWizardRepeatDialog", "times"))
+        self.textLabel1_7.setText(_translate("PyRegExpWizardRepeatDialog", "times"))
+        self.textLabel1_5.setText(_translate("PyRegExpWizardRepeatDialog", "times"))
+        self.textLabel6.setText(_translate("PyRegExpWizardRepeatDialog", "and"))
+        self.betweenButton.setText(_translate("PyRegExpWizardRepeatDialog", "Between"))
+        self.exactButton.setText(_translate("PyRegExpWizardRepeatDialog", "Exactly"))
+        self.maxButton.setText(_translate("PyRegExpWizardRepeatDialog", "Maximum"))
+        self.minButton.setText(_translate("PyRegExpWizardRepeatDialog", "Minimum"))
+        self.unlimitedButton.setText(_translate("PyRegExpWizardRepeatDialog", "Unlimited (incl. zero times)"))
+        self.minimalCheckBox.setText(_translate("PyRegExpWizardRepeatDialog", "Minimal match"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/WizardPlugins/QRegularExpressionWizard/Ui_QRegularExpressionWizardCharactersDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,121 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/WizardPlugins/QRegularExpressionWizard/QRegularExpressionWizardCharactersDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_QRegularExpressionWizardCharactersDialog(object):
+    def setupUi(self, QRegularExpressionWizardCharactersDialog):
+        QRegularExpressionWizardCharactersDialog.setObjectName("QRegularExpressionWizardCharactersDialog")
+        QRegularExpressionWizardCharactersDialog.resize(850, 500)
+        QRegularExpressionWizardCharactersDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(QRegularExpressionWizardCharactersDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.negativeCheckBox = QtWidgets.QCheckBox(parent=QRegularExpressionWizardCharactersDialog)
+        self.negativeCheckBox.setObjectName("negativeCheckBox")
+        self.verticalLayout.addWidget(self.negativeCheckBox)
+        self.groupBox = QtWidgets.QGroupBox(parent=QRegularExpressionWizardCharactersDialog)
+        self.groupBox.setObjectName("groupBox")
+        self.gridLayout = QtWidgets.QGridLayout(self.groupBox)
+        self.gridLayout.setObjectName("gridLayout")
+        self.wordCharCheckBox = QtWidgets.QCheckBox(parent=self.groupBox)
+        self.wordCharCheckBox.setObjectName("wordCharCheckBox")
+        self.gridLayout.addWidget(self.wordCharCheckBox, 0, 0, 1, 1)
+        self.digitsCheckBox = QtWidgets.QCheckBox(parent=self.groupBox)
+        self.digitsCheckBox.setObjectName("digitsCheckBox")
+        self.gridLayout.addWidget(self.digitsCheckBox, 0, 1, 1, 1)
+        self.newlineCheckBox = QtWidgets.QCheckBox(parent=self.groupBox)
+        self.newlineCheckBox.setObjectName("newlineCheckBox")
+        self.gridLayout.addWidget(self.newlineCheckBox, 0, 2, 1, 1)
+        self.nonWordCharCheckBox = QtWidgets.QCheckBox(parent=self.groupBox)
+        self.nonWordCharCheckBox.setObjectName("nonWordCharCheckBox")
+        self.gridLayout.addWidget(self.nonWordCharCheckBox, 1, 0, 1, 1)
+        self.nonDigitsCheckBox = QtWidgets.QCheckBox(parent=self.groupBox)
+        self.nonDigitsCheckBox.setObjectName("nonDigitsCheckBox")
+        self.gridLayout.addWidget(self.nonDigitsCheckBox, 1, 1, 1, 1)
+        self.nonNewlineCheckBox = QtWidgets.QCheckBox(parent=self.groupBox)
+        self.nonNewlineCheckBox.setObjectName("nonNewlineCheckBox")
+        self.gridLayout.addWidget(self.nonNewlineCheckBox, 1, 2, 1, 1)
+        self.whitespaceCheckBox = QtWidgets.QCheckBox(parent=self.groupBox)
+        self.whitespaceCheckBox.setObjectName("whitespaceCheckBox")
+        self.gridLayout.addWidget(self.whitespaceCheckBox, 2, 0, 1, 1)
+        self.horizontalWhitespaceCheckBox = QtWidgets.QCheckBox(parent=self.groupBox)
+        self.horizontalWhitespaceCheckBox.setObjectName("horizontalWhitespaceCheckBox")
+        self.gridLayout.addWidget(self.horizontalWhitespaceCheckBox, 2, 1, 1, 1)
+        self.verticalWhitespaceCheckBox = QtWidgets.QCheckBox(parent=self.groupBox)
+        self.verticalWhitespaceCheckBox.setObjectName("verticalWhitespaceCheckBox")
+        self.gridLayout.addWidget(self.verticalWhitespaceCheckBox, 2, 2, 1, 1)
+        self.nonWhitespaceCheckBox = QtWidgets.QCheckBox(parent=self.groupBox)
+        self.nonWhitespaceCheckBox.setObjectName("nonWhitespaceCheckBox")
+        self.gridLayout.addWidget(self.nonWhitespaceCheckBox, 3, 0, 1, 1)
+        self.nonHorizontalWhitespaceCheckBox = QtWidgets.QCheckBox(parent=self.groupBox)
+        self.nonHorizontalWhitespaceCheckBox.setObjectName("nonHorizontalWhitespaceCheckBox")
+        self.gridLayout.addWidget(self.nonHorizontalWhitespaceCheckBox, 3, 1, 1, 1)
+        self.nonVerticalWhitespaceCheckBox = QtWidgets.QCheckBox(parent=self.groupBox)
+        self.nonVerticalWhitespaceCheckBox.setObjectName("nonVerticalWhitespaceCheckBox")
+        self.gridLayout.addWidget(self.nonVerticalWhitespaceCheckBox, 3, 2, 1, 1)
+        self.verticalLayout.addWidget(self.groupBox)
+        self.singlesBox = QtWidgets.QGroupBox(parent=QRegularExpressionWizardCharactersDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.singlesBox.sizePolicy().hasHeightForWidth())
+        self.singlesBox.setSizePolicy(sizePolicy)
+        self.singlesBox.setObjectName("singlesBox")
+        self.verticalLayout.addWidget(self.singlesBox)
+        self.rangesBox = QtWidgets.QGroupBox(parent=QRegularExpressionWizardCharactersDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.rangesBox.sizePolicy().hasHeightForWidth())
+        self.rangesBox.setSizePolicy(sizePolicy)
+        self.rangesBox.setObjectName("rangesBox")
+        self.verticalLayout.addWidget(self.rangesBox)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=QRegularExpressionWizardCharactersDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(QRegularExpressionWizardCharactersDialog)
+        self.buttonBox.accepted.connect(QRegularExpressionWizardCharactersDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(QRegularExpressionWizardCharactersDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(QRegularExpressionWizardCharactersDialog)
+        QRegularExpressionWizardCharactersDialog.setTabOrder(self.negativeCheckBox, self.wordCharCheckBox)
+        QRegularExpressionWizardCharactersDialog.setTabOrder(self.wordCharCheckBox, self.nonWordCharCheckBox)
+        QRegularExpressionWizardCharactersDialog.setTabOrder(self.nonWordCharCheckBox, self.digitsCheckBox)
+        QRegularExpressionWizardCharactersDialog.setTabOrder(self.digitsCheckBox, self.nonDigitsCheckBox)
+        QRegularExpressionWizardCharactersDialog.setTabOrder(self.nonDigitsCheckBox, self.newlineCheckBox)
+        QRegularExpressionWizardCharactersDialog.setTabOrder(self.newlineCheckBox, self.nonNewlineCheckBox)
+        QRegularExpressionWizardCharactersDialog.setTabOrder(self.nonNewlineCheckBox, self.whitespaceCheckBox)
+        QRegularExpressionWizardCharactersDialog.setTabOrder(self.whitespaceCheckBox, self.nonWhitespaceCheckBox)
+        QRegularExpressionWizardCharactersDialog.setTabOrder(self.nonWhitespaceCheckBox, self.horizontalWhitespaceCheckBox)
+        QRegularExpressionWizardCharactersDialog.setTabOrder(self.horizontalWhitespaceCheckBox, self.nonHorizontalWhitespaceCheckBox)
+        QRegularExpressionWizardCharactersDialog.setTabOrder(self.nonHorizontalWhitespaceCheckBox, self.verticalWhitespaceCheckBox)
+        QRegularExpressionWizardCharactersDialog.setTabOrder(self.verticalWhitespaceCheckBox, self.nonVerticalWhitespaceCheckBox)
+        QRegularExpressionWizardCharactersDialog.setTabOrder(self.nonVerticalWhitespaceCheckBox, self.buttonBox)
+
+    def retranslateUi(self, QRegularExpressionWizardCharactersDialog):
+        _translate = QtCore.QCoreApplication.translate
+        QRegularExpressionWizardCharactersDialog.setWindowTitle(_translate("QRegularExpressionWizardCharactersDialog", "Editor for character sets"))
+        self.negativeCheckBox.setText(_translate("QRegularExpressionWizardCharactersDialog", "The defined characters should not match"))
+        self.groupBox.setTitle(_translate("QRegularExpressionWizardCharactersDialog", "Predefined character ranges"))
+        self.wordCharCheckBox.setText(_translate("QRegularExpressionWizardCharactersDialog", "Word character"))
+        self.digitsCheckBox.setText(_translate("QRegularExpressionWizardCharactersDialog", "Digit"))
+        self.newlineCheckBox.setText(_translate("QRegularExpressionWizardCharactersDialog", "Newline"))
+        self.nonWordCharCheckBox.setText(_translate("QRegularExpressionWizardCharactersDialog", "Non-word character"))
+        self.nonDigitsCheckBox.setText(_translate("QRegularExpressionWizardCharactersDialog", "Non-digit"))
+        self.nonNewlineCheckBox.setText(_translate("QRegularExpressionWizardCharactersDialog", "Non-newline"))
+        self.whitespaceCheckBox.setText(_translate("QRegularExpressionWizardCharactersDialog", "Whitespace character"))
+        self.horizontalWhitespaceCheckBox.setText(_translate("QRegularExpressionWizardCharactersDialog", "Horizontal whitespace character"))
+        self.verticalWhitespaceCheckBox.setText(_translate("QRegularExpressionWizardCharactersDialog", "Vertical whitespace character"))
+        self.nonWhitespaceCheckBox.setText(_translate("QRegularExpressionWizardCharactersDialog", "Non-whitespace character"))
+        self.nonHorizontalWhitespaceCheckBox.setText(_translate("QRegularExpressionWizardCharactersDialog", "Non-horizontal whitespace character"))
+        self.nonVerticalWhitespaceCheckBox.setText(_translate("QRegularExpressionWizardCharactersDialog", "Non-vertical whitespace character"))
+        self.singlesBox.setTitle(_translate("QRegularExpressionWizardCharactersDialog", "Single character"))
+        self.rangesBox.setTitle(_translate("QRegularExpressionWizardCharactersDialog", "Character ranges"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/WizardPlugins/QRegularExpressionWizard/Ui_QRegularExpressionWizardDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,330 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/WizardPlugins/QRegularExpressionWizard/QRegularExpressionWizardDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_QRegularExpressionWizardDialog(object):
+    def setupUi(self, QRegularExpressionWizardDialog):
+        QRegularExpressionWizardDialog.setObjectName("QRegularExpressionWizardDialog")
+        QRegularExpressionWizardDialog.resize(800, 700)
+        QRegularExpressionWizardDialog.setProperty("sizeGripEnabled", True)
+        self.verticalLayout_4 = QtWidgets.QVBoxLayout(QRegularExpressionWizardDialog)
+        self.verticalLayout_4.setObjectName("verticalLayout_4")
+        self.hboxlayout = QtWidgets.QHBoxLayout()
+        self.hboxlayout.setObjectName("hboxlayout")
+        self.variableLabel = QtWidgets.QLabel(parent=QRegularExpressionWizardDialog)
+        self.variableLabel.setObjectName("variableLabel")
+        self.hboxlayout.addWidget(self.variableLabel)
+        self.variableLineEdit = QtWidgets.QLineEdit(parent=QRegularExpressionWizardDialog)
+        self.variableLineEdit.setObjectName("variableLineEdit")
+        self.hboxlayout.addWidget(self.variableLineEdit)
+        self.verticalLayout_4.addLayout(self.hboxlayout)
+        self.variableLine = QtWidgets.QFrame(parent=QRegularExpressionWizardDialog)
+        self.variableLine.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.variableLine.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.variableLine.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.variableLine.setObjectName("variableLine")
+        self.verticalLayout_4.addWidget(self.variableLine)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.commentButton = QtWidgets.QToolButton(parent=QRegularExpressionWizardDialog)
+        self.commentButton.setObjectName("commentButton")
+        self.horizontalLayout.addWidget(self.commentButton)
+        self.charButton = QtWidgets.QToolButton(parent=QRegularExpressionWizardDialog)
+        self.charButton.setObjectName("charButton")
+        self.horizontalLayout.addWidget(self.charButton)
+        self.anycharButton = QtWidgets.QToolButton(parent=QRegularExpressionWizardDialog)
+        self.anycharButton.setObjectName("anycharButton")
+        self.horizontalLayout.addWidget(self.anycharButton)
+        self.repeatButton = QtWidgets.QToolButton(parent=QRegularExpressionWizardDialog)
+        self.repeatButton.setObjectName("repeatButton")
+        self.horizontalLayout.addWidget(self.repeatButton)
+        self.nonGroupButton = QtWidgets.QToolButton(parent=QRegularExpressionWizardDialog)
+        self.nonGroupButton.setObjectName("nonGroupButton")
+        self.horizontalLayout.addWidget(self.nonGroupButton)
+        self.atomicGroupButton = QtWidgets.QToolButton(parent=QRegularExpressionWizardDialog)
+        self.atomicGroupButton.setObjectName("atomicGroupButton")
+        self.horizontalLayout.addWidget(self.atomicGroupButton)
+        self.groupButton = QtWidgets.QToolButton(parent=QRegularExpressionWizardDialog)
+        self.groupButton.setObjectName("groupButton")
+        self.horizontalLayout.addWidget(self.groupButton)
+        self.namedGroupButton = QtWidgets.QToolButton(parent=QRegularExpressionWizardDialog)
+        self.namedGroupButton.setObjectName("namedGroupButton")
+        self.horizontalLayout.addWidget(self.namedGroupButton)
+        self.namedReferenceButton = QtWidgets.QToolButton(parent=QRegularExpressionWizardDialog)
+        self.namedReferenceButton.setObjectName("namedReferenceButton")
+        self.horizontalLayout.addWidget(self.namedReferenceButton)
+        self.altnButton = QtWidgets.QToolButton(parent=QRegularExpressionWizardDialog)
+        self.altnButton.setObjectName("altnButton")
+        self.horizontalLayout.addWidget(self.altnButton)
+        self.beglineButton = QtWidgets.QToolButton(parent=QRegularExpressionWizardDialog)
+        self.beglineButton.setObjectName("beglineButton")
+        self.horizontalLayout.addWidget(self.beglineButton)
+        self.endlineButton = QtWidgets.QToolButton(parent=QRegularExpressionWizardDialog)
+        self.endlineButton.setObjectName("endlineButton")
+        self.horizontalLayout.addWidget(self.endlineButton)
+        self.wordboundButton = QtWidgets.QToolButton(parent=QRegularExpressionWizardDialog)
+        self.wordboundButton.setObjectName("wordboundButton")
+        self.horizontalLayout.addWidget(self.wordboundButton)
+        self.nonwordboundButton = QtWidgets.QToolButton(parent=QRegularExpressionWizardDialog)
+        self.nonwordboundButton.setObjectName("nonwordboundButton")
+        self.horizontalLayout.addWidget(self.nonwordboundButton)
+        self.poslookaheadButton = QtWidgets.QToolButton(parent=QRegularExpressionWizardDialog)
+        self.poslookaheadButton.setObjectName("poslookaheadButton")
+        self.horizontalLayout.addWidget(self.poslookaheadButton)
+        self.neglookaheadButton = QtWidgets.QToolButton(parent=QRegularExpressionWizardDialog)
+        self.neglookaheadButton.setObjectName("neglookaheadButton")
+        self.horizontalLayout.addWidget(self.neglookaheadButton)
+        self.poslookbehindButton = QtWidgets.QToolButton(parent=QRegularExpressionWizardDialog)
+        self.poslookbehindButton.setObjectName("poslookbehindButton")
+        self.horizontalLayout.addWidget(self.poslookbehindButton)
+        self.neglookbehindButton = QtWidgets.QToolButton(parent=QRegularExpressionWizardDialog)
+        self.neglookbehindButton.setObjectName("neglookbehindButton")
+        self.horizontalLayout.addWidget(self.neglookbehindButton)
+        spacerItem = QtWidgets.QSpacerItem(16, 20, QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem)
+        self.undoButton = QtWidgets.QToolButton(parent=QRegularExpressionWizardDialog)
+        self.undoButton.setObjectName("undoButton")
+        self.horizontalLayout.addWidget(self.undoButton)
+        self.redoButton = QtWidgets.QToolButton(parent=QRegularExpressionWizardDialog)
+        self.redoButton.setObjectName("redoButton")
+        self.horizontalLayout.addWidget(self.redoButton)
+        spacerItem1 = QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem1)
+        self.verticalLayout_4.addLayout(self.horizontalLayout)
+        self.splitter_2 = QtWidgets.QSplitter(parent=QRegularExpressionWizardDialog)
+        self.splitter_2.setOrientation(QtCore.Qt.Orientation.Vertical)
+        self.splitter_2.setChildrenCollapsible(False)
+        self.splitter_2.setObjectName("splitter_2")
+        self.widget = QtWidgets.QWidget(parent=self.splitter_2)
+        self.widget.setObjectName("widget")
+        self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.widget)
+        self.verticalLayout_3.setContentsMargins(0, 0, 0, 0)
+        self.verticalLayout_3.setObjectName("verticalLayout_3")
+        self.splitter = QtWidgets.QSplitter(parent=self.widget)
+        self.splitter.setOrientation(QtCore.Qt.Orientation.Vertical)
+        self.splitter.setChildrenCollapsible(False)
+        self.splitter.setObjectName("splitter")
+        self.widget1 = QtWidgets.QWidget(parent=self.splitter)
+        self.widget1.setObjectName("widget1")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.widget1)
+        self.verticalLayout.setContentsMargins(0, 0, 0, 0)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.textLabel1 = QtWidgets.QLabel(parent=self.widget1)
+        self.textLabel1.setAlignment(QtCore.Qt.AlignmentFlag.AlignTop)
+        self.textLabel1.setObjectName("textLabel1")
+        self.verticalLayout.addWidget(self.textLabel1)
+        self.regexpTextEdit = QtWidgets.QTextEdit(parent=self.widget1)
+        self.regexpTextEdit.setAcceptRichText(False)
+        self.regexpTextEdit.setObjectName("regexpTextEdit")
+        self.verticalLayout.addWidget(self.regexpTextEdit)
+        self.widget2 = QtWidgets.QWidget(parent=self.splitter)
+        self.widget2.setObjectName("widget2")
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.widget2)
+        self.verticalLayout_2.setContentsMargins(0, 0, 0, 0)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.textLabel2 = QtWidgets.QLabel(parent=self.widget2)
+        self.textLabel2.setAlignment(QtCore.Qt.AlignmentFlag.AlignTop)
+        self.textLabel2.setObjectName("textLabel2")
+        self.verticalLayout_2.addWidget(self.textLabel2)
+        self.textTextEdit = QtWidgets.QTextEdit(parent=self.widget2)
+        self.textTextEdit.setAcceptRichText(False)
+        self.textTextEdit.setObjectName("textTextEdit")
+        self.verticalLayout_2.addWidget(self.textTextEdit)
+        self.verticalLayout_3.addWidget(self.splitter)
+        self.gridLayout = QtWidgets.QGridLayout()
+        self.gridLayout.setObjectName("gridLayout")
+        self.caseInsensitiveCheckBox = QtWidgets.QCheckBox(parent=self.widget)
+        self.caseInsensitiveCheckBox.setObjectName("caseInsensitiveCheckBox")
+        self.gridLayout.addWidget(self.caseInsensitiveCheckBox, 0, 0, 1, 1)
+        self.multilineCheckBox = QtWidgets.QCheckBox(parent=self.widget)
+        self.multilineCheckBox.setObjectName("multilineCheckBox")
+        self.gridLayout.addWidget(self.multilineCheckBox, 0, 1, 1, 1)
+        self.dotallCheckBox = QtWidgets.QCheckBox(parent=self.widget)
+        self.dotallCheckBox.setObjectName("dotallCheckBox")
+        self.gridLayout.addWidget(self.dotallCheckBox, 0, 2, 1, 1)
+        self.extendedCheckBox = QtWidgets.QCheckBox(parent=self.widget)
+        self.extendedCheckBox.setObjectName("extendedCheckBox")
+        self.gridLayout.addWidget(self.extendedCheckBox, 1, 0, 1, 1)
+        self.greedinessCheckBox = QtWidgets.QCheckBox(parent=self.widget)
+        self.greedinessCheckBox.setObjectName("greedinessCheckBox")
+        self.gridLayout.addWidget(self.greedinessCheckBox, 1, 1, 1, 1)
+        self.unicodeCheckBox = QtWidgets.QCheckBox(parent=self.widget)
+        self.unicodeCheckBox.setObjectName("unicodeCheckBox")
+        self.gridLayout.addWidget(self.unicodeCheckBox, 1, 2, 1, 1)
+        self.captureCheckBox = QtWidgets.QCheckBox(parent=self.widget)
+        self.captureCheckBox.setObjectName("captureCheckBox")
+        self.gridLayout.addWidget(self.captureCheckBox, 2, 0, 1, 1)
+        self.verticalLayout_3.addLayout(self.gridLayout)
+        self.resultTable = QtWidgets.QTableWidget(parent=self.splitter_2)
+        self.resultTable.setEditTriggers(QtWidgets.QAbstractItemView.EditTrigger.NoEditTriggers)
+        self.resultTable.setObjectName("resultTable")
+        self.resultTable.setColumnCount(0)
+        self.resultTable.setRowCount(0)
+        self.verticalLayout_4.addWidget(self.splitter_2)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=QRegularExpressionWizardDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Close|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout_4.addWidget(self.buttonBox)
+
+        self.retranslateUi(QRegularExpressionWizardDialog)
+        QtCore.QMetaObject.connectSlotsByName(QRegularExpressionWizardDialog)
+        QRegularExpressionWizardDialog.setTabOrder(self.variableLineEdit, self.commentButton)
+        QRegularExpressionWizardDialog.setTabOrder(self.commentButton, self.charButton)
+        QRegularExpressionWizardDialog.setTabOrder(self.charButton, self.anycharButton)
+        QRegularExpressionWizardDialog.setTabOrder(self.anycharButton, self.repeatButton)
+        QRegularExpressionWizardDialog.setTabOrder(self.repeatButton, self.nonGroupButton)
+        QRegularExpressionWizardDialog.setTabOrder(self.nonGroupButton, self.atomicGroupButton)
+        QRegularExpressionWizardDialog.setTabOrder(self.atomicGroupButton, self.groupButton)
+        QRegularExpressionWizardDialog.setTabOrder(self.groupButton, self.namedGroupButton)
+        QRegularExpressionWizardDialog.setTabOrder(self.namedGroupButton, self.namedReferenceButton)
+        QRegularExpressionWizardDialog.setTabOrder(self.namedReferenceButton, self.altnButton)
+        QRegularExpressionWizardDialog.setTabOrder(self.altnButton, self.beglineButton)
+        QRegularExpressionWizardDialog.setTabOrder(self.beglineButton, self.endlineButton)
+        QRegularExpressionWizardDialog.setTabOrder(self.endlineButton, self.wordboundButton)
+        QRegularExpressionWizardDialog.setTabOrder(self.wordboundButton, self.nonwordboundButton)
+        QRegularExpressionWizardDialog.setTabOrder(self.nonwordboundButton, self.poslookaheadButton)
+        QRegularExpressionWizardDialog.setTabOrder(self.poslookaheadButton, self.neglookaheadButton)
+        QRegularExpressionWizardDialog.setTabOrder(self.neglookaheadButton, self.poslookbehindButton)
+        QRegularExpressionWizardDialog.setTabOrder(self.poslookbehindButton, self.neglookbehindButton)
+        QRegularExpressionWizardDialog.setTabOrder(self.neglookbehindButton, self.undoButton)
+        QRegularExpressionWizardDialog.setTabOrder(self.undoButton, self.redoButton)
+        QRegularExpressionWizardDialog.setTabOrder(self.redoButton, self.regexpTextEdit)
+        QRegularExpressionWizardDialog.setTabOrder(self.regexpTextEdit, self.textTextEdit)
+        QRegularExpressionWizardDialog.setTabOrder(self.textTextEdit, self.caseInsensitiveCheckBox)
+        QRegularExpressionWizardDialog.setTabOrder(self.caseInsensitiveCheckBox, self.multilineCheckBox)
+        QRegularExpressionWizardDialog.setTabOrder(self.multilineCheckBox, self.dotallCheckBox)
+        QRegularExpressionWizardDialog.setTabOrder(self.dotallCheckBox, self.extendedCheckBox)
+        QRegularExpressionWizardDialog.setTabOrder(self.extendedCheckBox, self.greedinessCheckBox)
+        QRegularExpressionWizardDialog.setTabOrder(self.greedinessCheckBox, self.unicodeCheckBox)
+        QRegularExpressionWizardDialog.setTabOrder(self.unicodeCheckBox, self.captureCheckBox)
+        QRegularExpressionWizardDialog.setTabOrder(self.captureCheckBox, self.resultTable)
+        QRegularExpressionWizardDialog.setTabOrder(self.resultTable, self.buttonBox)
+
+    def retranslateUi(self, QRegularExpressionWizardDialog):
+        _translate = QtCore.QCoreApplication.translate
+        QRegularExpressionWizardDialog.setWindowTitle(_translate("QRegularExpressionWizardDialog", "QRegularExpression Wizard"))
+        self.variableLabel.setText(_translate("QRegularExpressionWizardDialog", "Variable Name:"))
+        self.commentButton.setToolTip(_translate("QRegularExpressionWizardDialog", "<b>Comment: (?#)</b>\n"
+"<p>Insert some comment inside your regexp.</p>"))
+        self.commentButton.setWhatsThis(_translate("QRegularExpressionWizardDialog", "<b>Comment: (?#)</b>\n"
+"<p>Insert some comment inside your regexp.The regex engine ignores everything after the (?# until the first closing round bracket. \n"
+"The following example could clarify the regexp which match a valid date: </p>\n"
+"<p>(?#year)(19|20)\\d\\d[- /.](?#month)(0[1-9]|1[012])[- /.](?#day)(0[1-9]|[12][0-9]|3[01])</p>"))
+        self.charButton.setToolTip(_translate("QRegularExpressionWizardDialog", "<b>Single character of a range (e.g. [abcd])</b><p>Select a single character of a range via a specific dialog.</p>"))
+        self.charButton.setWhatsThis(_translate("QRegularExpressionWizardDialog", "<b>Single character of a range (e.g. [abcd])</b><p>Select a single character of a range via a specific dialog. This dialog will help to edit the range of characters and add some specific conditions.</p>s"))
+        self.anycharButton.setToolTip(_translate("QRegularExpressionWizardDialog", "<b>Any character: \'.\'</b>\n"
+"<p>Select to insert a dot (.) in your regexp.</p>"))
+        self.anycharButton.setWhatsThis(_translate("QRegularExpressionWizardDialog", "<b>Any character: \'.\'</b>\n"
+"<p>Select to insert a dot (.) in your regexp. The dot matches a single character, except line break characters (by default). \n"
+"E.g. \'gr.y\' matches \'gray\', \'grey\', \'gr%y\', etc. Use the dot sparingly. Often, a character class or negated\n"
+"character class is faster and more precise.</p>"))
+        self.repeatButton.setToolTip(_translate("QRegularExpressionWizardDialog", "<b>Repeat contents</b>\n"
+"<p>Select a repetition condition via a specific dialog. This dialog will help to specify the allowed range for repetitions.</p>"))
+        self.repeatButton.setWhatsThis(_translate("QRegularExpressionWizardDialog", "<b>Repeat contents</b>\n"
+"<p>Select a repetition condition via a specific dialog. This dialog will help to specify the allowed range for repetitions.</p>"))
+        self.nonGroupButton.setToolTip(_translate("QRegularExpressionWizardDialog", "<b>Non capturing parentheses: (?:)</b>\n"
+"<p>Select to insert some non capturing brackets.</p>"))
+        self.nonGroupButton.setWhatsThis(_translate("QRegularExpressionWizardDialog", "<b>Non capturing parentheses: (?:)</b>\n"
+"<p>Select to insert some non capturing brackets. It can be used to apply a regexp quantifier (eg. \'?\' or \'+\') to the entire\n"
+"group of characters inside the brakets. E.g. the regex \'Set(?:Value)?\' matches \'Set\' or \'SetValue\'. The \'?:\' inside the brakets\n"
+"means that the content of the match (called the backreference) is not stored for further use.</p>"))
+        self.atomicGroupButton.setToolTip(_translate("QRegularExpressionWizardDialog", "<b>Atomic non capturing parentheses: (?>)</b>\n"
+"<p>Select to insert some atomic non capturing brackets.</p>"))
+        self.atomicGroupButton.setWhatsThis(_translate("QRegularExpressionWizardDialog", "<b>Atomic non capturing parentheses: (?>)</b>\n"
+"<p>Select to insert some atomic non capturing brackets. It can be used to apply a regexp quantifier (eg. \'?\' or \'+\') to the entire\n"
+"group of characters inside the brakets. E.g. the regex \'Set(?>Value)?\' matches \'Set\' or \'SetValue\'. The \'?>\' inside the brakets\n"
+"means that the content of the match (called the backreference) is not stored for further use.</p>"))
+        self.groupButton.setToolTip(_translate("QRegularExpressionWizardDialog", "<b>Group: ()</b>\n"
+"<p>Select to insert some capturing brackets.</p>"))
+        self.groupButton.setWhatsThis(_translate("QRegularExpressionWizardDialog", "<b>Group: ()</b>\n"
+"<p>Select to insert some capturing brackets. They can be used to apply a regexp quantifier (e.g. \'?\' or \'+\') to the entire group of \n"
+"characters inside the brakets. E.g. the regex \'Set(Value)?\' matches \'Set\' or \'SetValue\'. Contrary to non-capturing parentheses, \n"
+"the backreference matched inside the brakets is stored for further use (i.e. \'Value\' in the second example above). \n"
+"One can access the backereference with the \'\\1\' expression. </p>\n"
+"<p>E.g. \'([a-c])x\\1x\\1\' will match \'axaxa\', \'bxbxb\' and \'cxcxc\'.</p>"))
+        self.namedGroupButton.setToolTip(_translate("QRegularExpressionWizardDialog", "<b>Named group: (?P&lt;<i>groupname</i>&gt;)</b>\n"
+"<p>Select to insert some named group brackets.</p>"))
+        self.namedGroupButton.setWhatsThis(_translate("QRegularExpressionWizardDialog", "<b>Named group: (?P&lt;<i>groupname</i>&gt;)</b>\n"
+"<p>Select to insert some named group brackets. Usage is similar to standard group parentheses as the matched \n"
+"backreference is also stored for further usage. The difference is that a name is given to the match. This is useful when \n"
+"the work to do on the match becomes a bit complicated. One can access the backreference via the group name (i.e (?P=<i>groupname</i>)).\n"
+"E.g. (?P<foo>[abc])x(?P=foo)x(?P=foo)x matches \'axaxax\',\'bxbxbx\' or \'cxcxcx\' (\'foo\' is the group name)</p>"))
+        self.namedReferenceButton.setToolTip(_translate("QRegularExpressionWizardDialog", "<b>Reference named group: (?P=<i>groupname</i>)</b>\n"
+"<p>Select to insert a reference to named group previously declared.</p>"))
+        self.namedReferenceButton.setWhatsThis(_translate("QRegularExpressionWizardDialog", "<b>Reference named group: (?P=<i>groupname</i>)</b>\n"
+"<p>Select to insert a reference to named group previously declared. Each reference group refers to the match\n"
+" found by the corresponding named group. In the following example, (?P=foo) may refer to the charaters \'a\',\'b\' or \'c\'.</p>\n"
+"<p>E.g. (?P<foo>[abc])x(?P=foo)x(?P=foo)x matches \'axaxax\',\'bxbxbx\' or \'cxcxcx\'.</p>"))
+        self.altnButton.setToolTip(_translate("QRegularExpressionWizardDialog", "<b>Alternatives: \'|\'</b>\n"
+"<p>Select to insert the alternation symbol \'|\'. </p>"))
+        self.altnButton.setWhatsThis(_translate("QRegularExpressionWizardDialog", "<b>Alternatives: \'|\'</b>\n"
+"<p>Select to insert the alternation symbol \'|\'. The alternation is used to match a single regular expression out of \n"
+"several possible regular expressions. E.g. \'cat|dog|mouse|fish\' matches words containing the word \'cat\', \'dog\',\'mouse\' or \'fish\'.\n"
+"Be aware that in the above example, the alternatives refer to whole or part of words. If you want to match exactly the\n"
+" words \'cat\', \'dog\', ... you should express the fact that you only want to match complete words: \'\\b(cat|dog|mouse|fish)\\b\'</p>"))
+        self.beglineButton.setToolTip(_translate("QRegularExpressionWizardDialog", "<b>Begin of line: \'^\'</b>\n"
+"<p>Select to insert the start line character (^).</p>"))
+        self.beglineButton.setWhatsThis(_translate("QRegularExpressionWizardDialog", "<b>Begin of line: \'^\'</b>\n"
+"<p>Select to insert the start line character (^). It is used to find some expressions at the begining of lines.\n"
+"E.g. \'^[A-Z]\' match lines starting with a capitalized character. </p>"))
+        self.endlineButton.setToolTip(_translate("QRegularExpressionWizardDialog", "<b>End of line: \'$\'</b>\n"
+"<p>Select to insert the end of line character ($).</p>"))
+        self.endlineButton.setWhatsThis(_translate("QRegularExpressionWizardDialog", "<b>End of line: \'$\'</b>\n"
+"<p>Select to insert the end of line character ($). It is used to find some expressions at the end of lines.</p>"))
+        self.wordboundButton.setToolTip(_translate("QRegularExpressionWizardDialog", "<b>Word boundary</b>\n"
+"<p>Select to insert the word boudary character (\\b).</p>"))
+        self.wordboundButton.setWhatsThis(_translate("QRegularExpressionWizardDialog", "<b>Word boundary</b>\n"
+"<p>Select to insert the word boudary character (\\b). This character is used to express the fact that word \n"
+"must begin or end at this position. E.g. \'\\bcat\\b\' matches exactly the word \'cat\' while \'concatenation\' is ignored.</p>"))
+        self.nonwordboundButton.setToolTip(_translate("QRegularExpressionWizardDialog", "<b>Non word boundary</b>\n"
+"<p>Select to insert the word boudary character (\\B). \\B is the negated version of \\b.</p>"))
+        self.nonwordboundButton.setWhatsThis(_translate("QRegularExpressionWizardDialog", "<b>Non word boundary</b>\n"
+"<p>Select to insert the word boudary character (\\B). \\B is the negated version of \\b. \\B matches at every position where \\b \n"
+"does not. Effectively, \\B matches at any position between two word characters as well as at any position between two non-word characters.</p>"))
+        self.poslookaheadButton.setToolTip(_translate("QRegularExpressionWizardDialog", "<b>Positive lookahead: (?=<i>regexpr</i>)</b>\n"
+"<p>Select to insert the positive lookhead brackets.</p>"))
+        self.poslookaheadButton.setWhatsThis(_translate("QRegularExpressionWizardDialog", "<b>Positive lookahead: (?=<i>regexpr</i>)</b>\n"
+"<p>Select to insert the positive lookhead brackets. Basically, positive lookhead is used to match a character only if followed by another one.\n"
+"Writting \'q(?=u)\' means that you want to match the \'q\' character only if it is followed by \'u\'. In this statement \'u\' is a trivial \n"
+"regexp which may be replaced by a more complex expression; q(?=[abc])\' will match a \'q\' if followed by either \'a\', \'b\' or \'c\'.</p>"))
+        self.neglookaheadButton.setToolTip(_translate("QRegularExpressionWizardDialog", "<b>Negative lookahead: (?!<i>regexpr</i>)</b>\n"
+"<p>Select to insert the negative lookhead brackets.</p>"))
+        self.neglookaheadButton.setWhatsThis(_translate("QRegularExpressionWizardDialog", "<b>Negative lookahead: (?!<i>regexpr</i>)</b>\n"
+"<p>Select to insert the negative lookhead brackets. Basically, negative lookhead is used to match a character only if it is not\n"
+"followed by a another one. Writting \'q(?!u)\' means that you want to match \'q\' only if it is not followed by \'u\'. In this statement, \'u\' is a\n"
+"trivial regexp which may be replaced by a more complex expression; \'q(?![abc])\' will match a \'q\' if it is followed by anything else than \'a\', \'b\' or \'c\'.</p>"))
+        self.poslookbehindButton.setToolTip(_translate("QRegularExpressionWizardDialog", "<b>Positive lookbehind: (?&lt;=<i>regexpr</i>)</b>\n"
+"<p>Select to insert the positive lookbehind brackets.</p>"))
+        self.poslookbehindButton.setWhatsThis(_translate("QRegularExpressionWizardDialog", "<b>Positive lookbehind: (?&lt;=<i>regexpr</i>)</b>\n"
+"<p>Select to insert the positive lookbehind brackets. Lookbehind has the same effect as lookahead, but works backwards. \n"
+"It is used to match a character only if preceded by another one. Writting \'(?&lt;=u)q\' means that you want to match the \'q\' character \n"
+"only if it is preceded by \'u\'. As with lookhead, \'u\' may be replaced by a more complex expression; \'(?&lt;=[abc])q\' will match a \'q\' if preceded by either \'a\', \'b\' or \'c\'.</p>"))
+        self.neglookbehindButton.setToolTip(_translate("QRegularExpressionWizardDialog", "<b>Negative lookbehind (?&lt;!<i>regexpr</i>)</b>\n"
+"<p>Select to insert the negative lookbehind brackets.</p>"))
+        self.neglookbehindButton.setWhatsThis(_translate("QRegularExpressionWizardDialog", "<b>Negative lookbehind (?&lt;!<i>regexpr</i>)</b>\n"
+"<p>Select to insert the negative lookbehind brackets. Lookbehind has the same effect as lookahead, \n"
+"but works backwards. It is used to match a character only if not preceded by another one. Writting \'(?&lt;!u)q\' means that you want to match the \'q\' \n"
+"character only if it is not preceded by \'u\'. As other lookaround, \'u\' may be replaced by a more complex \n"
+"expression; \'(?&lt;![abc])q\' will match a \'q\' only if not preceded by either \'a\', \'b\' nor \'c\'.</p>"))
+        self.undoButton.setToolTip(_translate("QRegularExpressionWizardDialog", "<b>Undo last edit</b>"))
+        self.redoButton.setToolTip(_translate("QRegularExpressionWizardDialog", "<b>Redo last edit</b>"))
+        self.textLabel1.setText(_translate("QRegularExpressionWizardDialog", "Regexp:"))
+        self.textLabel2.setText(_translate("QRegularExpressionWizardDialog", "Text:"))
+        self.caseInsensitiveCheckBox.setText(_translate("QRegularExpressionWizardDialog", "Case Insensitive"))
+        self.multilineCheckBox.setToolTip(_translate("QRegularExpressionWizardDialog", "\"^\" matches beginning of line, \"$\" matches end of line"))
+        self.multilineCheckBox.setText(_translate("QRegularExpressionWizardDialog", "Match Linebreaks"))
+        self.dotallCheckBox.setToolTip(_translate("QRegularExpressionWizardDialog", "\".\" matches everything including linebreaks"))
+        self.dotallCheckBox.setText(_translate("QRegularExpressionWizardDialog", "Dot matches everything"))
+        self.extendedCheckBox.setText(_translate("QRegularExpressionWizardDialog", "Extended Pattern Syntax"))
+        self.greedinessCheckBox.setText(_translate("QRegularExpressionWizardDialog", "Inverted Greediness"))
+        self.unicodeCheckBox.setText(_translate("QRegularExpressionWizardDialog", "Unicode"))
+        self.captureCheckBox.setToolTip(_translate("QRegularExpressionWizardDialog", "Non-named capturing groups do not capture substrings"))
+        self.captureCheckBox.setText(_translate("QRegularExpressionWizardDialog", "Don\'t Capture"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/WizardPlugins/QRegularExpressionWizard/Ui_QRegularExpressionWizardRepeatDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,140 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/WizardPlugins/QRegularExpressionWizard/QRegularExpressionWizardRepeatDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_QRegularExpressionWizardRepeatDialog(object):
+    def setupUi(self, QRegularExpressionWizardRepeatDialog):
+        QRegularExpressionWizardRepeatDialog.setObjectName("QRegularExpressionWizardRepeatDialog")
+        QRegularExpressionWizardRepeatDialog.resize(331, 370)
+        QRegularExpressionWizardRepeatDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(QRegularExpressionWizardRepeatDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.groupBox = QtWidgets.QGroupBox(parent=QRegularExpressionWizardRepeatDialog)
+        self.groupBox.setObjectName("groupBox")
+        self.gridlayout = QtWidgets.QGridLayout(self.groupBox)
+        self.gridlayout.setObjectName("gridlayout")
+        self.textLabel1_6 = QtWidgets.QLabel(parent=self.groupBox)
+        self.textLabel1_6.setObjectName("textLabel1_6")
+        self.gridlayout.addWidget(self.textLabel1_6, 2, 2, 1, 1)
+        self.textLabel1_7 = QtWidgets.QLabel(parent=self.groupBox)
+        self.textLabel1_7.setObjectName("textLabel1_7")
+        self.gridlayout.addWidget(self.textLabel1_7, 3, 2, 1, 1)
+        self.textLabel1_5 = QtWidgets.QLabel(parent=self.groupBox)
+        self.textLabel1_5.setObjectName("textLabel1_5")
+        self.gridlayout.addWidget(self.textLabel1_5, 1, 2, 1, 1)
+        self.lowerSpin = QtWidgets.QSpinBox(parent=self.groupBox)
+        self.lowerSpin.setEnabled(False)
+        self.lowerSpin.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight)
+        self.lowerSpin.setProperty("value", 1)
+        self.lowerSpin.setObjectName("lowerSpin")
+        self.gridlayout.addWidget(self.lowerSpin, 4, 1, 1, 1)
+        self.upperSpin = QtWidgets.QSpinBox(parent=self.groupBox)
+        self.upperSpin.setEnabled(False)
+        self.upperSpin.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight)
+        self.upperSpin.setProperty("value", 1)
+        self.upperSpin.setObjectName("upperSpin")
+        self.gridlayout.addWidget(self.upperSpin, 4, 3, 1, 1)
+        self.textLabel6 = QtWidgets.QLabel(parent=self.groupBox)
+        self.textLabel6.setObjectName("textLabel6")
+        self.gridlayout.addWidget(self.textLabel6, 4, 2, 1, 1)
+        self.betweenButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.betweenButton.setObjectName("betweenButton")
+        self.gridlayout.addWidget(self.betweenButton, 4, 0, 1, 1)
+        self.exactSpin = QtWidgets.QSpinBox(parent=self.groupBox)
+        self.exactSpin.setEnabled(False)
+        self.exactSpin.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight)
+        self.exactSpin.setProperty("value", 1)
+        self.exactSpin.setObjectName("exactSpin")
+        self.gridlayout.addWidget(self.exactSpin, 3, 1, 1, 1)
+        self.exactButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.exactButton.setObjectName("exactButton")
+        self.gridlayout.addWidget(self.exactButton, 3, 0, 1, 1)
+        self.maxSpin = QtWidgets.QSpinBox(parent=self.groupBox)
+        self.maxSpin.setEnabled(False)
+        self.maxSpin.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight)
+        self.maxSpin.setProperty("value", 1)
+        self.maxSpin.setObjectName("maxSpin")
+        self.gridlayout.addWidget(self.maxSpin, 2, 1, 1, 1)
+        self.maxButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.maxButton.setObjectName("maxButton")
+        self.gridlayout.addWidget(self.maxButton, 2, 0, 1, 1)
+        self.minButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.minButton.setObjectName("minButton")
+        self.gridlayout.addWidget(self.minButton, 1, 0, 1, 1)
+        self.minSpin = QtWidgets.QSpinBox(parent=self.groupBox)
+        self.minSpin.setEnabled(False)
+        self.minSpin.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight)
+        self.minSpin.setProperty("value", 1)
+        self.minSpin.setObjectName("minSpin")
+        self.gridlayout.addWidget(self.minSpin, 1, 1, 1, 1)
+        self.unlimitedButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.unlimitedButton.setObjectName("unlimitedButton")
+        self.gridlayout.addWidget(self.unlimitedButton, 0, 0, 1, 4)
+        self.verticalLayout.addWidget(self.groupBox)
+        self.groupBox_2 = QtWidgets.QGroupBox(parent=QRegularExpressionWizardRepeatDialog)
+        self.groupBox_2.setObjectName("groupBox_2")
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.groupBox_2)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.greedyButton = QtWidgets.QRadioButton(parent=self.groupBox_2)
+        self.greedyButton.setObjectName("greedyButton")
+        self.verticalLayout_2.addWidget(self.greedyButton)
+        self.possessiveButton = QtWidgets.QRadioButton(parent=self.groupBox_2)
+        self.possessiveButton.setObjectName("possessiveButton")
+        self.verticalLayout_2.addWidget(self.possessiveButton)
+        self.lazyButton = QtWidgets.QRadioButton(parent=self.groupBox_2)
+        self.lazyButton.setObjectName("lazyButton")
+        self.verticalLayout_2.addWidget(self.lazyButton)
+        self.verticalLayout.addWidget(self.groupBox_2)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=QRegularExpressionWizardRepeatDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(QRegularExpressionWizardRepeatDialog)
+        self.minButton.toggled['bool'].connect(self.minSpin.setEnabled) # type: ignore
+        self.maxButton.toggled['bool'].connect(self.maxSpin.setEnabled) # type: ignore
+        self.exactButton.toggled['bool'].connect(self.exactSpin.setEnabled) # type: ignore
+        self.betweenButton.toggled['bool'].connect(self.lowerSpin.setEnabled) # type: ignore
+        self.betweenButton.toggled['bool'].connect(self.upperSpin.setEnabled) # type: ignore
+        self.buttonBox.accepted.connect(QRegularExpressionWizardRepeatDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(QRegularExpressionWizardRepeatDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(QRegularExpressionWizardRepeatDialog)
+        QRegularExpressionWizardRepeatDialog.setTabOrder(self.unlimitedButton, self.minButton)
+        QRegularExpressionWizardRepeatDialog.setTabOrder(self.minButton, self.minSpin)
+        QRegularExpressionWizardRepeatDialog.setTabOrder(self.minSpin, self.maxButton)
+        QRegularExpressionWizardRepeatDialog.setTabOrder(self.maxButton, self.maxSpin)
+        QRegularExpressionWizardRepeatDialog.setTabOrder(self.maxSpin, self.exactButton)
+        QRegularExpressionWizardRepeatDialog.setTabOrder(self.exactButton, self.exactSpin)
+        QRegularExpressionWizardRepeatDialog.setTabOrder(self.exactSpin, self.betweenButton)
+        QRegularExpressionWizardRepeatDialog.setTabOrder(self.betweenButton, self.lowerSpin)
+        QRegularExpressionWizardRepeatDialog.setTabOrder(self.lowerSpin, self.upperSpin)
+        QRegularExpressionWizardRepeatDialog.setTabOrder(self.upperSpin, self.greedyButton)
+        QRegularExpressionWizardRepeatDialog.setTabOrder(self.greedyButton, self.possessiveButton)
+        QRegularExpressionWizardRepeatDialog.setTabOrder(self.possessiveButton, self.lazyButton)
+        QRegularExpressionWizardRepeatDialog.setTabOrder(self.lazyButton, self.buttonBox)
+
+    def retranslateUi(self, QRegularExpressionWizardRepeatDialog):
+        _translate = QtCore.QCoreApplication.translate
+        QRegularExpressionWizardRepeatDialog.setWindowTitle(_translate("QRegularExpressionWizardRepeatDialog", "Number of repetitions"))
+        self.groupBox.setTitle(_translate("QRegularExpressionWizardRepeatDialog", "Quantifier"))
+        self.textLabel1_6.setText(_translate("QRegularExpressionWizardRepeatDialog", "times"))
+        self.textLabel1_7.setText(_translate("QRegularExpressionWizardRepeatDialog", "times"))
+        self.textLabel1_5.setText(_translate("QRegularExpressionWizardRepeatDialog", "times"))
+        self.textLabel6.setText(_translate("QRegularExpressionWizardRepeatDialog", "and"))
+        self.betweenButton.setText(_translate("QRegularExpressionWizardRepeatDialog", "Between"))
+        self.exactButton.setText(_translate("QRegularExpressionWizardRepeatDialog", "Exactly"))
+        self.maxButton.setText(_translate("QRegularExpressionWizardRepeatDialog", "Maximum"))
+        self.minButton.setText(_translate("QRegularExpressionWizardRepeatDialog", "Minimum"))
+        self.unlimitedButton.setText(_translate("QRegularExpressionWizardRepeatDialog", "Unlimited (incl. zero times)"))
+        self.groupBox_2.setTitle(_translate("QRegularExpressionWizardRepeatDialog", "Greediness"))
+        self.greedyButton.setText(_translate("QRegularExpressionWizardRepeatDialog", "Greedy"))
+        self.possessiveButton.setText(_translate("QRegularExpressionWizardRepeatDialog", "Possessive"))
+        self.lazyButton.setText(_translate("QRegularExpressionWizardRepeatDialog", "Lazy"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/WizardPlugins/SetupWizard/Ui_AddEntryPointDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,68 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/WizardPlugins/SetupWizard/AddEntryPointDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_AddEntryPointDialog(object):
+    def setupUi(self, AddEntryPointDialog):
+        AddEntryPointDialog.setObjectName("AddEntryPointDialog")
+        AddEntryPointDialog.resize(500, 214)
+        AddEntryPointDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(AddEntryPointDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.label_3 = QtWidgets.QLabel(parent=AddEntryPointDialog)
+        self.label_3.setObjectName("label_3")
+        self.verticalLayout.addWidget(self.label_3)
+        self.typeComboBox = QtWidgets.QComboBox(parent=AddEntryPointDialog)
+        self.typeComboBox.setObjectName("typeComboBox")
+        self.verticalLayout.addWidget(self.typeComboBox)
+        self.label = QtWidgets.QLabel(parent=AddEntryPointDialog)
+        self.label.setObjectName("label")
+        self.verticalLayout.addWidget(self.label)
+        self.nameEdit = QtWidgets.QLineEdit(parent=AddEntryPointDialog)
+        self.nameEdit.setClearButtonEnabled(True)
+        self.nameEdit.setObjectName("nameEdit")
+        self.verticalLayout.addWidget(self.nameEdit)
+        self.label_2 = QtWidgets.QLabel(parent=AddEntryPointDialog)
+        self.label_2.setObjectName("label_2")
+        self.verticalLayout.addWidget(self.label_2)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.scriptEdit = QtWidgets.QLineEdit(parent=AddEntryPointDialog)
+        self.scriptEdit.setClearButtonEnabled(True)
+        self.scriptEdit.setObjectName("scriptEdit")
+        self.horizontalLayout.addWidget(self.scriptEdit)
+        self.scriptButton = QtWidgets.QToolButton(parent=AddEntryPointDialog)
+        self.scriptButton.setObjectName("scriptButton")
+        self.horizontalLayout.addWidget(self.scriptButton)
+        self.verticalLayout.addLayout(self.horizontalLayout)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=AddEntryPointDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(AddEntryPointDialog)
+        self.buttonBox.accepted.connect(AddEntryPointDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(AddEntryPointDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(AddEntryPointDialog)
+        AddEntryPointDialog.setTabOrder(self.typeComboBox, self.nameEdit)
+        AddEntryPointDialog.setTabOrder(self.nameEdit, self.scriptEdit)
+        AddEntryPointDialog.setTabOrder(self.scriptEdit, self.scriptButton)
+
+    def retranslateUi(self, AddEntryPointDialog):
+        _translate = QtCore.QCoreApplication.translate
+        AddEntryPointDialog.setWindowTitle(_translate("AddEntryPointDialog", "Add Entry Point"))
+        self.label_3.setText(_translate("AddEntryPointDialog", "Script Type:"))
+        self.typeComboBox.setToolTip(_translate("AddEntryPointDialog", "Select the script type"))
+        self.label.setText(_translate("AddEntryPointDialog", "Name:"))
+        self.nameEdit.setToolTip(_translate("AddEntryPointDialog", "Enter a name for the entry point"))
+        self.label_2.setText(_translate("AddEntryPointDialog", "Script Function:"))
+        self.scriptEdit.setToolTip(_translate("AddEntryPointDialog", "Enter the script and function"))
+        self.scriptButton.setToolTip(_translate("AddEntryPointDialog", "Press to select the script via a file selection dialog"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/WizardPlugins/SetupWizard/Ui_AddProjectUrlDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,51 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/WizardPlugins/SetupWizard/AddProjectUrlDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_AddProjectUrlDialog(object):
+    def setupUi(self, AddProjectUrlDialog):
+        AddProjectUrlDialog.setObjectName("AddProjectUrlDialog")
+        AddProjectUrlDialog.resize(500, 156)
+        AddProjectUrlDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(AddProjectUrlDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.label = QtWidgets.QLabel(parent=AddProjectUrlDialog)
+        self.label.setObjectName("label")
+        self.verticalLayout.addWidget(self.label)
+        self.nameComboBox = QtWidgets.QComboBox(parent=AddProjectUrlDialog)
+        self.nameComboBox.setEditable(True)
+        self.nameComboBox.setObjectName("nameComboBox")
+        self.verticalLayout.addWidget(self.nameComboBox)
+        self.label_2 = QtWidgets.QLabel(parent=AddProjectUrlDialog)
+        self.label_2.setObjectName("label_2")
+        self.verticalLayout.addWidget(self.label_2)
+        self.urlEdit = QtWidgets.QLineEdit(parent=AddProjectUrlDialog)
+        self.urlEdit.setClearButtonEnabled(True)
+        self.urlEdit.setObjectName("urlEdit")
+        self.verticalLayout.addWidget(self.urlEdit)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=AddProjectUrlDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(AddProjectUrlDialog)
+        self.buttonBox.accepted.connect(AddProjectUrlDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(AddProjectUrlDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(AddProjectUrlDialog)
+        AddProjectUrlDialog.setTabOrder(self.nameComboBox, self.urlEdit)
+
+    def retranslateUi(self, AddProjectUrlDialog):
+        _translate = QtCore.QCoreApplication.translate
+        AddProjectUrlDialog.setWindowTitle(_translate("AddProjectUrlDialog", "Add Project URL"))
+        self.label.setText(_translate("AddProjectUrlDialog", "Name:"))
+        self.nameComboBox.setToolTip(_translate("AddProjectUrlDialog", "Enter a name for the URL"))
+        self.label_2.setText(_translate("AddProjectUrlDialog", "URL:"))
+        self.urlEdit.setToolTip(_translate("AddProjectUrlDialog", "Enter the URL"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Plugins/WizardPlugins/SetupWizard/Ui_SetupWizardDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,500 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Plugins/WizardPlugins/SetupWizard/SetupWizardDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_SetupWizardDialog(object):
+    def setupUi(self, SetupWizardDialog):
+        SetupWizardDialog.setObjectName("SetupWizardDialog")
+        SetupWizardDialog.resize(750, 550)
+        SetupWizardDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(SetupWizardDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.horizontalLayout_9 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_9.setObjectName("horizontalLayout_9")
+        self.introCheckBox = QtWidgets.QCheckBox(parent=SetupWizardDialog)
+        self.introCheckBox.setChecked(True)
+        self.introCheckBox.setObjectName("introCheckBox")
+        self.horizontalLayout_9.addWidget(self.introCheckBox)
+        self.importCheckBox = QtWidgets.QCheckBox(parent=SetupWizardDialog)
+        self.importCheckBox.setChecked(True)
+        self.importCheckBox.setObjectName("importCheckBox")
+        self.horizontalLayout_9.addWidget(self.importCheckBox)
+        self.metaDataCheckBox = QtWidgets.QCheckBox(parent=SetupWizardDialog)
+        self.metaDataCheckBox.setObjectName("metaDataCheckBox")
+        self.horizontalLayout_9.addWidget(self.metaDataCheckBox)
+        self.verticalLayout.addLayout(self.horizontalLayout_9)
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.label_15 = QtWidgets.QLabel(parent=SetupWizardDialog)
+        self.label_15.setObjectName("label_15")
+        self.horizontalLayout_2.addWidget(self.label_15)
+        self.packageRootPicker = EricPathPicker(parent=SetupWizardDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.packageRootPicker.sizePolicy().hasHeightForWidth())
+        self.packageRootPicker.setSizePolicy(sizePolicy)
+        self.packageRootPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.packageRootPicker.setObjectName("packageRootPicker")
+        self.horizontalLayout_2.addWidget(self.packageRootPicker)
+        self.verticalLayout.addLayout(self.horizontalLayout_2)
+        self.dataTabWidget = QtWidgets.QTabWidget(parent=SetupWizardDialog)
+        self.dataTabWidget.setObjectName("dataTabWidget")
+        self.basicTab = QtWidgets.QWidget()
+        self.basicTab.setObjectName("basicTab")
+        self.gridLayout = QtWidgets.QGridLayout(self.basicTab)
+        self.gridLayout.setObjectName("gridLayout")
+        self.label = QtWidgets.QLabel(parent=self.basicTab)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
+        self.nameEdit = QtWidgets.QLineEdit(parent=self.basicTab)
+        self.nameEdit.setMaxLength(200)
+        self.nameEdit.setObjectName("nameEdit")
+        self.gridLayout.addWidget(self.nameEdit, 0, 2, 1, 1)
+        self.label_2 = QtWidgets.QLabel(parent=self.basicTab)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 1, 0, 1, 1)
+        self.versionEdit = QtWidgets.QLineEdit(parent=self.basicTab)
+        self.versionEdit.setMaxLength(200)
+        self.versionEdit.setObjectName("versionEdit")
+        self.gridLayout.addWidget(self.versionEdit, 1, 2, 1, 1)
+        self.label_3 = QtWidgets.QLabel(parent=self.basicTab)
+        self.label_3.setObjectName("label_3")
+        self.gridLayout.addWidget(self.label_3, 2, 0, 1, 1)
+        self.authorEdit = QtWidgets.QLineEdit(parent=self.basicTab)
+        self.authorEdit.setMaxLength(200)
+        self.authorEdit.setObjectName("authorEdit")
+        self.gridLayout.addWidget(self.authorEdit, 2, 2, 1, 1)
+        self.label_4 = QtWidgets.QLabel(parent=self.basicTab)
+        self.label_4.setObjectName("label_4")
+        self.gridLayout.addWidget(self.label_4, 3, 0, 1, 1)
+        self.authorEmailEdit = QtWidgets.QLineEdit(parent=self.basicTab)
+        self.authorEmailEdit.setInputMask("")
+        self.authorEmailEdit.setMaxLength(200)
+        self.authorEmailEdit.setObjectName("authorEmailEdit")
+        self.gridLayout.addWidget(self.authorEmailEdit, 3, 2, 1, 1)
+        self.label_5 = QtWidgets.QLabel(parent=self.basicTab)
+        self.label_5.setObjectName("label_5")
+        self.gridLayout.addWidget(self.label_5, 4, 0, 1, 1)
+        self.maintainerEdit = QtWidgets.QLineEdit(parent=self.basicTab)
+        self.maintainerEdit.setMaxLength(200)
+        self.maintainerEdit.setObjectName("maintainerEdit")
+        self.gridLayout.addWidget(self.maintainerEdit, 4, 2, 1, 1)
+        self.label_6 = QtWidgets.QLabel(parent=self.basicTab)
+        self.label_6.setObjectName("label_6")
+        self.gridLayout.addWidget(self.label_6, 5, 0, 1, 1)
+        self.maintainerEmailEdit = QtWidgets.QLineEdit(parent=self.basicTab)
+        self.maintainerEmailEdit.setMaxLength(200)
+        self.maintainerEmailEdit.setObjectName("maintainerEmailEdit")
+        self.gridLayout.addWidget(self.maintainerEmailEdit, 5, 2, 1, 1)
+        self.label_8 = QtWidgets.QLabel(parent=self.basicTab)
+        self.label_8.setObjectName("label_8")
+        self.gridLayout.addWidget(self.label_8, 6, 0, 1, 2)
+        self.pyVersionEdit = QtWidgets.QLineEdit(parent=self.basicTab)
+        self.pyVersionEdit.setMaxLength(200)
+        self.pyVersionEdit.setObjectName("pyVersionEdit")
+        self.gridLayout.addWidget(self.pyVersionEdit, 6, 2, 1, 1)
+        spacerItem = QtWidgets.QSpacerItem(20, 223, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.gridLayout.addItem(spacerItem, 7, 1, 1, 2)
+        self.dataTabWidget.addTab(self.basicTab, "")
+        self.descriptionTab = QtWidgets.QWidget()
+        self.descriptionTab.setObjectName("descriptionTab")
+        self.gridLayout_2 = QtWidgets.QGridLayout(self.descriptionTab)
+        self.gridLayout_2.setObjectName("gridLayout_2")
+        self.label_7 = QtWidgets.QLabel(parent=self.descriptionTab)
+        self.label_7.setObjectName("label_7")
+        self.gridLayout_2.addWidget(self.label_7, 0, 0, 1, 1)
+        self.summaryEdit = QtWidgets.QLineEdit(parent=self.descriptionTab)
+        self.summaryEdit.setMaxLength(200)
+        self.summaryEdit.setObjectName("summaryEdit")
+        self.gridLayout_2.addWidget(self.summaryEdit, 0, 1, 1, 1)
+        self.groupBox = QtWidgets.QGroupBox(parent=self.descriptionTab)
+        self.groupBox.setObjectName("groupBox")
+        self.verticalLayout_6 = QtWidgets.QVBoxLayout(self.groupBox)
+        self.verticalLayout_6.setObjectName("verticalLayout_6")
+        self.descriptionEdit = EricSpellCheckedPlainTextEdit(parent=self.groupBox)
+        self.descriptionEdit.setObjectName("descriptionEdit")
+        self.verticalLayout_6.addWidget(self.descriptionEdit)
+        self.descriptionFromFilesCheckBox = QtWidgets.QCheckBox(parent=self.groupBox)
+        self.descriptionFromFilesCheckBox.setObjectName("descriptionFromFilesCheckBox")
+        self.verticalLayout_6.addWidget(self.descriptionFromFilesCheckBox)
+        self.horizontalLayout_5 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_5.setObjectName("horizontalLayout_5")
+        self.label_19 = QtWidgets.QLabel(parent=self.groupBox)
+        self.label_19.setObjectName("label_19")
+        self.horizontalLayout_5.addWidget(self.label_19)
+        self.descriptionContentTypeComboBox = QtWidgets.QComboBox(parent=self.groupBox)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.descriptionContentTypeComboBox.sizePolicy().hasHeightForWidth())
+        self.descriptionContentTypeComboBox.setSizePolicy(sizePolicy)
+        self.descriptionContentTypeComboBox.setObjectName("descriptionContentTypeComboBox")
+        self.horizontalLayout_5.addWidget(self.descriptionContentTypeComboBox)
+        self.verticalLayout_6.addLayout(self.horizontalLayout_5)
+        self.gridLayout_2.addWidget(self.groupBox, 1, 0, 1, 2)
+        self.label_16 = QtWidgets.QLabel(parent=self.descriptionTab)
+        self.label_16.setObjectName("label_16")
+        self.gridLayout_2.addWidget(self.label_16, 2, 0, 1, 1)
+        self.keywordsEdit = QtWidgets.QLineEdit(parent=self.descriptionTab)
+        self.keywordsEdit.setObjectName("keywordsEdit")
+        self.gridLayout_2.addWidget(self.keywordsEdit, 2, 1, 1, 1)
+        self.dataTabWidget.addTab(self.descriptionTab, "")
+        self.urlTab = QtWidgets.QWidget()
+        self.urlTab.setObjectName("urlTab")
+        self.gridLayout_3 = QtWidgets.QGridLayout(self.urlTab)
+        self.gridLayout_3.setObjectName("gridLayout_3")
+        self.label_9 = QtWidgets.QLabel(parent=self.urlTab)
+        self.label_9.setObjectName("label_9")
+        self.gridLayout_3.addWidget(self.label_9, 0, 0, 1, 1)
+        self.homePageUrlEdit = QtWidgets.QLineEdit(parent=self.urlTab)
+        self.homePageUrlEdit.setObjectName("homePageUrlEdit")
+        self.gridLayout_3.addWidget(self.homePageUrlEdit, 0, 1, 1, 1)
+        self.label_13 = QtWidgets.QLabel(parent=self.urlTab)
+        self.label_13.setObjectName("label_13")
+        self.gridLayout_3.addWidget(self.label_13, 1, 0, 1, 1)
+        self.downloadUrlEdit = QtWidgets.QLineEdit(parent=self.urlTab)
+        self.downloadUrlEdit.setObjectName("downloadUrlEdit")
+        self.gridLayout_3.addWidget(self.downloadUrlEdit, 1, 1, 1, 1)
+        self.label_10 = QtWidgets.QLabel(parent=self.urlTab)
+        self.label_10.setAlignment(QtCore.Qt.AlignmentFlag.AlignLeading|QtCore.Qt.AlignmentFlag.AlignLeft|QtCore.Qt.AlignmentFlag.AlignTop)
+        self.label_10.setObjectName("label_10")
+        self.gridLayout_3.addWidget(self.label_10, 2, 0, 1, 1)
+        self.projectUrlsList = QtWidgets.QTreeWidget(parent=self.urlTab)
+        self.projectUrlsList.setAlternatingRowColors(True)
+        self.projectUrlsList.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.ExtendedSelection)
+        self.projectUrlsList.setRootIsDecorated(False)
+        self.projectUrlsList.setItemsExpandable(False)
+        self.projectUrlsList.setObjectName("projectUrlsList")
+        self.gridLayout_3.addWidget(self.projectUrlsList, 2, 1, 1, 1)
+        self.horizontalLayout_4 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_4.setObjectName("horizontalLayout_4")
+        self.urlDeleteButton = QtWidgets.QPushButton(parent=self.urlTab)
+        self.urlDeleteButton.setEnabled(False)
+        self.urlDeleteButton.setObjectName("urlDeleteButton")
+        self.horizontalLayout_4.addWidget(self.urlDeleteButton)
+        self.urlAddButton = QtWidgets.QPushButton(parent=self.urlTab)
+        self.urlAddButton.setObjectName("urlAddButton")
+        self.horizontalLayout_4.addWidget(self.urlAddButton)
+        self.urlEditButton = QtWidgets.QPushButton(parent=self.urlTab)
+        self.urlEditButton.setEnabled(False)
+        self.urlEditButton.setObjectName("urlEditButton")
+        self.horizontalLayout_4.addWidget(self.urlEditButton)
+        spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_4.addItem(spacerItem1)
+        self.gridLayout_3.addLayout(self.horizontalLayout_4, 3, 1, 1, 1)
+        self.dataTabWidget.addTab(self.urlTab, "")
+        self.licenseTab = QtWidgets.QWidget()
+        self.licenseTab.setObjectName("licenseTab")
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.licenseTab)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.licenseClassifierCheckBox = QtWidgets.QCheckBox(parent=self.licenseTab)
+        self.licenseClassifierCheckBox.setChecked(True)
+        self.licenseClassifierCheckBox.setObjectName("licenseClassifierCheckBox")
+        self.verticalLayout_2.addWidget(self.licenseClassifierCheckBox)
+        self.licenseClassifierComboBox = QtWidgets.QComboBox(parent=self.licenseTab)
+        self.licenseClassifierComboBox.setObjectName("licenseClassifierComboBox")
+        self.verticalLayout_2.addWidget(self.licenseClassifierComboBox)
+        self.licenseEdit = QtWidgets.QLineEdit(parent=self.licenseTab)
+        self.licenseEdit.setEnabled(False)
+        self.licenseEdit.setObjectName("licenseEdit")
+        self.verticalLayout_2.addWidget(self.licenseEdit)
+        spacerItem2 = QtWidgets.QSpacerItem(20, 311, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout_2.addItem(spacerItem2)
+        self.dataTabWidget.addTab(self.licenseTab, "")
+        self.platformsTab = QtWidgets.QWidget()
+        self.platformsTab.setObjectName("platformsTab")
+        self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.platformsTab)
+        self.verticalLayout_3.setObjectName("verticalLayout_3")
+        self.label_11 = QtWidgets.QLabel(parent=self.platformsTab)
+        self.label_11.setObjectName("label_11")
+        self.verticalLayout_3.addWidget(self.label_11)
+        self.platformsEdit = QtWidgets.QPlainTextEdit(parent=self.platformsTab)
+        self.platformsEdit.setObjectName("platformsEdit")
+        self.verticalLayout_3.addWidget(self.platformsEdit)
+        self.dataTabWidget.addTab(self.platformsTab, "")
+        self.classifiersTab = QtWidgets.QWidget()
+        self.classifiersTab.setObjectName("classifiersTab")
+        self.verticalLayout_4 = QtWidgets.QVBoxLayout(self.classifiersTab)
+        self.verticalLayout_4.setObjectName("verticalLayout_4")
+        self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
+        self.label_14 = QtWidgets.QLabel(parent=self.classifiersTab)
+        self.label_14.setObjectName("label_14")
+        self.horizontalLayout_3.addWidget(self.label_14)
+        self.developmentStatusComboBox = QtWidgets.QComboBox(parent=self.classifiersTab)
+        self.developmentStatusComboBox.setObjectName("developmentStatusComboBox")
+        self.horizontalLayout_3.addWidget(self.developmentStatusComboBox)
+        spacerItem3 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_3.addItem(spacerItem3)
+        self.verticalLayout_4.addLayout(self.horizontalLayout_3)
+        self.label_12 = QtWidgets.QLabel(parent=self.classifiersTab)
+        self.label_12.setObjectName("label_12")
+        self.verticalLayout_4.addWidget(self.label_12)
+        self.classifiersList = QtWidgets.QTreeWidget(parent=self.classifiersTab)
+        self.classifiersList.setAlternatingRowColors(True)
+        self.classifiersList.setObjectName("classifiersList")
+        self.classifiersList.headerItem().setText(0, "1")
+        self.classifiersList.header().setVisible(False)
+        self.verticalLayout_4.addWidget(self.classifiersList)
+        self.dataTabWidget.addTab(self.classifiersTab, "")
+        self.packagesTab = QtWidgets.QWidget()
+        self.packagesTab.setObjectName("packagesTab")
+        self.gridLayout_5 = QtWidgets.QGridLayout(self.packagesTab)
+        self.gridLayout_5.setObjectName("gridLayout_5")
+        self.label_17 = QtWidgets.QLabel(parent=self.packagesTab)
+        self.label_17.setObjectName("label_17")
+        self.gridLayout_5.addWidget(self.label_17, 0, 0, 1, 1)
+        self.sourceDirectoryPicker = EricPathPicker(parent=self.packagesTab)
+        self.sourceDirectoryPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.sourceDirectoryPicker.setObjectName("sourceDirectoryPicker")
+        self.gridLayout_5.addWidget(self.sourceDirectoryPicker, 0, 1, 1, 1)
+        self.label_18 = QtWidgets.QLabel(parent=self.packagesTab)
+        self.label_18.setAlignment(QtCore.Qt.AlignmentFlag.AlignLeading|QtCore.Qt.AlignmentFlag.AlignLeft|QtCore.Qt.AlignmentFlag.AlignTop)
+        self.label_18.setObjectName("label_18")
+        self.gridLayout_5.addWidget(self.label_18, 1, 0, 1, 1)
+        self.excludePatternList = QtWidgets.QListWidget(parent=self.packagesTab)
+        self.excludePatternList.setAlternatingRowColors(True)
+        self.excludePatternList.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.ExtendedSelection)
+        self.excludePatternList.setObjectName("excludePatternList")
+        self.gridLayout_5.addWidget(self.excludePatternList, 1, 1, 1, 1)
+        self.horizontalLayout_8 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_8.setObjectName("horizontalLayout_8")
+        self.deleteExcludePatternButton = QtWidgets.QPushButton(parent=self.packagesTab)
+        self.deleteExcludePatternButton.setEnabled(False)
+        self.deleteExcludePatternButton.setObjectName("deleteExcludePatternButton")
+        self.horizontalLayout_8.addWidget(self.deleteExcludePatternButton)
+        self.addExludePatternButton = QtWidgets.QPushButton(parent=self.packagesTab)
+        self.addExludePatternButton.setEnabled(False)
+        self.addExludePatternButton.setObjectName("addExludePatternButton")
+        self.horizontalLayout_8.addWidget(self.addExludePatternButton)
+        self.excludePatternEdit = QtWidgets.QLineEdit(parent=self.packagesTab)
+        self.excludePatternEdit.setObjectName("excludePatternEdit")
+        self.horizontalLayout_8.addWidget(self.excludePatternEdit)
+        self.gridLayout_5.addLayout(self.horizontalLayout_8, 2, 1, 1, 1)
+        self.includePackageDataCheckBox = QtWidgets.QCheckBox(parent=self.packagesTab)
+        self.includePackageDataCheckBox.setObjectName("includePackageDataCheckBox")
+        self.gridLayout_5.addWidget(self.includePackageDataCheckBox, 3, 0, 1, 2)
+        self.dataTabWidget.addTab(self.packagesTab, "")
+        self.modulesTab = QtWidgets.QWidget()
+        self.modulesTab.setObjectName("modulesTab")
+        self.verticalLayout_7 = QtWidgets.QVBoxLayout(self.modulesTab)
+        self.verticalLayout_7.setObjectName("verticalLayout_7")
+        self.modulesList = QtWidgets.QListWidget(parent=self.modulesTab)
+        self.modulesList.setAlternatingRowColors(True)
+        self.modulesList.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.ExtendedSelection)
+        self.modulesList.setObjectName("modulesList")
+        self.verticalLayout_7.addWidget(self.modulesList)
+        self.horizontalLayout_7 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_7.setObjectName("horizontalLayout_7")
+        self.deleteModuleButton = QtWidgets.QPushButton(parent=self.modulesTab)
+        self.deleteModuleButton.setEnabled(False)
+        self.deleteModuleButton.setObjectName("deleteModuleButton")
+        self.horizontalLayout_7.addWidget(self.deleteModuleButton)
+        self.addModuleButton = QtWidgets.QPushButton(parent=self.modulesTab)
+        self.addModuleButton.setObjectName("addModuleButton")
+        self.horizontalLayout_7.addWidget(self.addModuleButton)
+        spacerItem4 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_7.addItem(spacerItem4)
+        self.verticalLayout_7.addLayout(self.horizontalLayout_7)
+        self.dataTabWidget.addTab(self.modulesTab, "")
+        self.entryPointsTab = QtWidgets.QWidget()
+        self.entryPointsTab.setObjectName("entryPointsTab")
+        self.verticalLayout_5 = QtWidgets.QVBoxLayout(self.entryPointsTab)
+        self.verticalLayout_5.setObjectName("verticalLayout_5")
+        self.entryPointsList = QtWidgets.QTreeWidget(parent=self.entryPointsTab)
+        self.entryPointsList.setAlternatingRowColors(True)
+        self.entryPointsList.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.ExtendedSelection)
+        self.entryPointsList.setRootIsDecorated(False)
+        self.entryPointsList.setItemsExpandable(False)
+        self.entryPointsList.setObjectName("entryPointsList")
+        self.verticalLayout_5.addWidget(self.entryPointsList)
+        self.horizontalLayout_6 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_6.setObjectName("horizontalLayout_6")
+        self.deleteEntryPointButton = QtWidgets.QPushButton(parent=self.entryPointsTab)
+        self.deleteEntryPointButton.setEnabled(False)
+        self.deleteEntryPointButton.setObjectName("deleteEntryPointButton")
+        self.horizontalLayout_6.addWidget(self.deleteEntryPointButton)
+        self.addEntryPointButton = QtWidgets.QPushButton(parent=self.entryPointsTab)
+        self.addEntryPointButton.setObjectName("addEntryPointButton")
+        self.horizontalLayout_6.addWidget(self.addEntryPointButton)
+        self.editEntryPointButton = QtWidgets.QPushButton(parent=self.entryPointsTab)
+        self.editEntryPointButton.setEnabled(False)
+        self.editEntryPointButton.setObjectName("editEntryPointButton")
+        self.horizontalLayout_6.addWidget(self.editEntryPointButton)
+        spacerItem5 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_6.addItem(spacerItem5)
+        self.verticalLayout_5.addLayout(self.horizontalLayout_6)
+        self.dataTabWidget.addTab(self.entryPointsTab, "")
+        self.verticalLayout.addWidget(self.dataTabWidget)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.projectButton = QtWidgets.QPushButton(parent=SetupWizardDialog)
+        self.projectButton.setObjectName("projectButton")
+        self.horizontalLayout.addWidget(self.projectButton)
+        spacerItem6 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem6)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=SetupWizardDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.horizontalLayout.addWidget(self.buttonBox)
+        self.verticalLayout.addLayout(self.horizontalLayout)
+
+        self.retranslateUi(SetupWizardDialog)
+        self.dataTabWidget.setCurrentIndex(8)
+        self.buttonBox.accepted.connect(SetupWizardDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(SetupWizardDialog.reject) # type: ignore
+        self.licenseClassifierCheckBox.toggled['bool'].connect(self.licenseClassifierComboBox.setEnabled) # type: ignore
+        self.licenseClassifierCheckBox.toggled['bool'].connect(self.licenseEdit.setDisabled) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(SetupWizardDialog)
+        SetupWizardDialog.setTabOrder(self.introCheckBox, self.importCheckBox)
+        SetupWizardDialog.setTabOrder(self.importCheckBox, self.metaDataCheckBox)
+        SetupWizardDialog.setTabOrder(self.metaDataCheckBox, self.packageRootPicker)
+        SetupWizardDialog.setTabOrder(self.packageRootPicker, self.dataTabWidget)
+        SetupWizardDialog.setTabOrder(self.dataTabWidget, self.nameEdit)
+        SetupWizardDialog.setTabOrder(self.nameEdit, self.versionEdit)
+        SetupWizardDialog.setTabOrder(self.versionEdit, self.authorEdit)
+        SetupWizardDialog.setTabOrder(self.authorEdit, self.authorEmailEdit)
+        SetupWizardDialog.setTabOrder(self.authorEmailEdit, self.maintainerEdit)
+        SetupWizardDialog.setTabOrder(self.maintainerEdit, self.maintainerEmailEdit)
+        SetupWizardDialog.setTabOrder(self.maintainerEmailEdit, self.pyVersionEdit)
+        SetupWizardDialog.setTabOrder(self.pyVersionEdit, self.summaryEdit)
+        SetupWizardDialog.setTabOrder(self.summaryEdit, self.descriptionEdit)
+        SetupWizardDialog.setTabOrder(self.descriptionEdit, self.descriptionFromFilesCheckBox)
+        SetupWizardDialog.setTabOrder(self.descriptionFromFilesCheckBox, self.descriptionContentTypeComboBox)
+        SetupWizardDialog.setTabOrder(self.descriptionContentTypeComboBox, self.keywordsEdit)
+        SetupWizardDialog.setTabOrder(self.keywordsEdit, self.homePageUrlEdit)
+        SetupWizardDialog.setTabOrder(self.homePageUrlEdit, self.downloadUrlEdit)
+        SetupWizardDialog.setTabOrder(self.downloadUrlEdit, self.projectUrlsList)
+        SetupWizardDialog.setTabOrder(self.projectUrlsList, self.urlDeleteButton)
+        SetupWizardDialog.setTabOrder(self.urlDeleteButton, self.urlAddButton)
+        SetupWizardDialog.setTabOrder(self.urlAddButton, self.urlEditButton)
+        SetupWizardDialog.setTabOrder(self.urlEditButton, self.licenseClassifierCheckBox)
+        SetupWizardDialog.setTabOrder(self.licenseClassifierCheckBox, self.licenseClassifierComboBox)
+        SetupWizardDialog.setTabOrder(self.licenseClassifierComboBox, self.licenseEdit)
+        SetupWizardDialog.setTabOrder(self.licenseEdit, self.platformsEdit)
+        SetupWizardDialog.setTabOrder(self.platformsEdit, self.developmentStatusComboBox)
+        SetupWizardDialog.setTabOrder(self.developmentStatusComboBox, self.classifiersList)
+        SetupWizardDialog.setTabOrder(self.classifiersList, self.sourceDirectoryPicker)
+        SetupWizardDialog.setTabOrder(self.sourceDirectoryPicker, self.excludePatternList)
+        SetupWizardDialog.setTabOrder(self.excludePatternList, self.deleteExcludePatternButton)
+        SetupWizardDialog.setTabOrder(self.deleteExcludePatternButton, self.excludePatternEdit)
+        SetupWizardDialog.setTabOrder(self.excludePatternEdit, self.addExludePatternButton)
+        SetupWizardDialog.setTabOrder(self.addExludePatternButton, self.includePackageDataCheckBox)
+        SetupWizardDialog.setTabOrder(self.includePackageDataCheckBox, self.modulesList)
+        SetupWizardDialog.setTabOrder(self.modulesList, self.deleteModuleButton)
+        SetupWizardDialog.setTabOrder(self.deleteModuleButton, self.addModuleButton)
+        SetupWizardDialog.setTabOrder(self.addModuleButton, self.entryPointsList)
+        SetupWizardDialog.setTabOrder(self.entryPointsList, self.deleteEntryPointButton)
+        SetupWizardDialog.setTabOrder(self.deleteEntryPointButton, self.addEntryPointButton)
+        SetupWizardDialog.setTabOrder(self.addEntryPointButton, self.editEntryPointButton)
+        SetupWizardDialog.setTabOrder(self.editEntryPointButton, self.projectButton)
+
+    def retranslateUi(self, SetupWizardDialog):
+        _translate = QtCore.QCoreApplication.translate
+        self.introCheckBox.setToolTip(_translate("SetupWizardDialog", "Select to include the introductory part of the setup.py code"))
+        self.introCheckBox.setText(_translate("SetupWizardDialog", "Include Introductory Code"))
+        self.importCheckBox.setToolTip(_translate("SetupWizardDialog", "Select to include the import statement"))
+        self.importCheckBox.setText(_translate("SetupWizardDialog", "Include Import Statement"))
+        self.metaDataCheckBox.setToolTip(_translate("SetupWizardDialog", "Select to include code for the meta data section"))
+        self.metaDataCheckBox.setText(_translate("SetupWizardDialog", "Include Meta Data"))
+        self.label_15.setText(_translate("SetupWizardDialog", "Root Directory:"))
+        self.packageRootPicker.setToolTip(_translate("SetupWizardDialog", "Enter the root directory"))
+        self.label.setText(_translate("SetupWizardDialog", "Name:"))
+        self.nameEdit.setToolTip(_translate("SetupWizardDialog", "Enter the package name"))
+        self.nameEdit.setPlaceholderText(_translate("SetupWizardDialog", "Mandatory"))
+        self.label_2.setText(_translate("SetupWizardDialog", "Version:"))
+        self.versionEdit.setToolTip(_translate("SetupWizardDialog", "Enter the version number in the form \'major.minor[.patch[.sub]]\'"))
+        self.versionEdit.setPlaceholderText(_translate("SetupWizardDialog", "Mandatory"))
+        self.label_3.setText(_translate("SetupWizardDialog", "Author:"))
+        self.authorEdit.setToolTip(_translate("SetupWizardDialog", "Enter the author\'s name"))
+        self.authorEdit.setPlaceholderText(_translate("SetupWizardDialog", "Mandatory (or Maintainer)"))
+        self.label_4.setText(_translate("SetupWizardDialog", "Author Email:"))
+        self.authorEmailEdit.setToolTip(_translate("SetupWizardDialog", "Enter the author\'s email address"))
+        self.authorEmailEdit.setPlaceholderText(_translate("SetupWizardDialog", "Mandatory (or Maintainer Email)"))
+        self.label_5.setText(_translate("SetupWizardDialog", "Maintainer:"))
+        self.maintainerEdit.setToolTip(_translate("SetupWizardDialog", "Enter the maintainer\'s name"))
+        self.maintainerEdit.setPlaceholderText(_translate("SetupWizardDialog", "Mandatory (or Author)"))
+        self.label_6.setText(_translate("SetupWizardDialog", "Maintainer Email:"))
+        self.maintainerEmailEdit.setToolTip(_translate("SetupWizardDialog", "Enter the maintainer\'s email address"))
+        self.maintainerEmailEdit.setPlaceholderText(_translate("SetupWizardDialog", "Mandatory (or Author Email)"))
+        self.label_8.setText(_translate("SetupWizardDialog", "Python Version:"))
+        self.pyVersionEdit.setToolTip(_translate("SetupWizardDialog", "Enter the Python version specifier"))
+        self.dataTabWidget.setTabText(self.dataTabWidget.indexOf(self.basicTab), _translate("SetupWizardDialog", "Basic"))
+        self.label_7.setText(_translate("SetupWizardDialog", "Summary:"))
+        self.summaryEdit.setToolTip(_translate("SetupWizardDialog", "Enter the summary description of the package"))
+        self.groupBox.setTitle(_translate("SetupWizardDialog", "Description"))
+        self.descriptionEdit.setToolTip(_translate("SetupWizardDialog", "Enter the description of the package or files (one per line) to get it from."))
+        self.descriptionFromFilesCheckBox.setToolTip(_translate("SetupWizardDialog", "Select to get the description from files"))
+        self.descriptionFromFilesCheckBox.setText(_translate("SetupWizardDialog", "Get description from files"))
+        self.label_19.setText(_translate("SetupWizardDialog", "Content Type:"))
+        self.label_16.setText(_translate("SetupWizardDialog", "Keywords:"))
+        self.keywordsEdit.setToolTip(_translate("SetupWizardDialog", "Enter the keywords separated by comma"))
+        self.dataTabWidget.setTabText(self.dataTabWidget.indexOf(self.descriptionTab), _translate("SetupWizardDialog", "Description"))
+        self.label_9.setText(_translate("SetupWizardDialog", "Home Page URL:"))
+        self.homePageUrlEdit.setToolTip(_translate("SetupWizardDialog", "Enter the URL of the home page"))
+        self.homePageUrlEdit.setPlaceholderText(_translate("SetupWizardDialog", "Mandatory"))
+        self.label_13.setText(_translate("SetupWizardDialog", "Download URL:"))
+        self.downloadUrlEdit.setToolTip(_translate("SetupWizardDialog", "Enter the download URL"))
+        self.label_10.setText(_translate("SetupWizardDialog", "Project URLs:"))
+        self.projectUrlsList.setSortingEnabled(True)
+        self.projectUrlsList.headerItem().setText(0, _translate("SetupWizardDialog", "Name"))
+        self.projectUrlsList.headerItem().setText(1, _translate("SetupWizardDialog", "URL"))
+        self.urlDeleteButton.setToolTip(_translate("SetupWizardDialog", "Press to delete the selected URLs"))
+        self.urlDeleteButton.setText(_translate("SetupWizardDialog", "Delete"))
+        self.urlAddButton.setToolTip(_translate("SetupWizardDialog", "Press to open a dialog to add a project URL"))
+        self.urlAddButton.setText(_translate("SetupWizardDialog", "Add..."))
+        self.urlEditButton.setToolTip(_translate("SetupWizardDialog", "Press to open a dialog to edit the selected project URL"))
+        self.urlEditButton.setText(_translate("SetupWizardDialog", "Edit..."))
+        self.dataTabWidget.setTabText(self.dataTabWidget.indexOf(self.urlTab), _translate("SetupWizardDialog", "URLs"))
+        self.licenseClassifierCheckBox.setText(_translate("SetupWizardDialog", "Select From Trove License Classifiers"))
+        self.licenseClassifierComboBox.setToolTip(_translate("SetupWizardDialog", "Select the license from the list of Trove Classifiers"))
+        self.licenseEdit.setToolTip(_translate("SetupWizardDialog", "Enter a license if none of the above are suitable"))
+        self.dataTabWidget.setTabText(self.dataTabWidget.indexOf(self.licenseTab), _translate("SetupWizardDialog", "License"))
+        self.label_11.setText(_translate("SetupWizardDialog", "Enter supported platforms (one per line):"))
+        self.dataTabWidget.setTabText(self.dataTabWidget.indexOf(self.platformsTab), _translate("SetupWizardDialog", "Platforms"))
+        self.label_14.setText(_translate("SetupWizardDialog", "Development Status:"))
+        self.developmentStatusComboBox.setToolTip(_translate("SetupWizardDialog", "Select the development status"))
+        self.label_12.setText(_translate("SetupWizardDialog", "Select the applicable classifiers:"))
+        self.dataTabWidget.setTabText(self.dataTabWidget.indexOf(self.classifiersTab), _translate("SetupWizardDialog", "Classifiers"))
+        self.label_17.setText(_translate("SetupWizardDialog", "Source Directory:"))
+        self.sourceDirectoryPicker.setToolTip(_translate("SetupWizardDialog", "Enter the source directory for the \'find_packages()\' call"))
+        self.label_18.setText(_translate("SetupWizardDialog", "Exclude Patterns:"))
+        self.excludePatternList.setSortingEnabled(True)
+        self.deleteExcludePatternButton.setToolTip(_translate("SetupWizardDialog", "Press to delete the selected entries"))
+        self.deleteExcludePatternButton.setText(_translate("SetupWizardDialog", "Delete"))
+        self.addExludePatternButton.setToolTip(_translate("SetupWizardDialog", "Press to add the pattern"))
+        self.addExludePatternButton.setText(_translate("SetupWizardDialog", "Add"))
+        self.excludePatternEdit.setToolTip(_translate("SetupWizardDialog", "Enter an exclude pattern for the \'find_packages()\' call"))
+        self.includePackageDataCheckBox.setToolTip(_translate("SetupWizardDialog", "Select to add the \'include_package_data\' statement"))
+        self.includePackageDataCheckBox.setText(_translate("SetupWizardDialog", "Add \'include_package_data\' Statement"))
+        self.dataTabWidget.setTabText(self.dataTabWidget.indexOf(self.packagesTab), _translate("SetupWizardDialog", "Packages"))
+        self.modulesList.setSortingEnabled(True)
+        self.deleteModuleButton.setToolTip(_translate("SetupWizardDialog", "Press to delete the selected entries"))
+        self.deleteModuleButton.setText(_translate("SetupWizardDialog", "Delete"))
+        self.addModuleButton.setToolTip(_translate("SetupWizardDialog", "Add modules via a files selection dialog"))
+        self.addModuleButton.setText(_translate("SetupWizardDialog", "Add..."))
+        self.dataTabWidget.setTabText(self.dataTabWidget.indexOf(self.modulesTab), _translate("SetupWizardDialog", "Modules"))
+        self.entryPointsList.setSortingEnabled(True)
+        self.entryPointsList.headerItem().setText(0, _translate("SetupWizardDialog", "Type"))
+        self.entryPointsList.headerItem().setText(1, _translate("SetupWizardDialog", "Name"))
+        self.entryPointsList.headerItem().setText(2, _translate("SetupWizardDialog", "Script Function"))
+        self.deleteEntryPointButton.setToolTip(_translate("SetupWizardDialog", "Press to delete the selected entries"))
+        self.deleteEntryPointButton.setText(_translate("SetupWizardDialog", "Delete"))
+        self.addEntryPointButton.setToolTip(_translate("SetupWizardDialog", "Press to open a dialog to add an entry point"))
+        self.addEntryPointButton.setText(_translate("SetupWizardDialog", "Add..."))
+        self.editEntryPointButton.setToolTip(_translate("SetupWizardDialog", "Press to open a dialog to edit the selected entry point"))
+        self.editEntryPointButton.setText(_translate("SetupWizardDialog", "Edit..."))
+        self.dataTabWidget.setTabText(self.dataTabWidget.indexOf(self.entryPointsTab), _translate("SetupWizardDialog", "Entry Points"))
+        self.projectButton.setToolTip(_translate("SetupWizardDialog", "Press to populate entry fields from project data"))
+        self.projectButton.setText(_translate("SetupWizardDialog", "Populate from Project"))
+from eric7.EricWidgets.EricPathPicker import EricPathPicker
+from eric7.EricWidgets.EricSpellCheckedTextEdit import EricSpellCheckedPlainTextEdit
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Preferences/ConfigurationPages/Ui_ApplicationPage.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,245 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Preferences/ConfigurationPages/ApplicationPage.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_ApplicationPage(object):
+    def setupUi(self, ApplicationPage):
+        ApplicationPage.setObjectName("ApplicationPage")
+        ApplicationPage.resize(589, 748)
+        self.verticalLayout_4 = QtWidgets.QVBoxLayout(ApplicationPage)
+        self.verticalLayout_4.setObjectName("verticalLayout_4")
+        self.headerLabel = QtWidgets.QLabel(parent=ApplicationPage)
+        self.headerLabel.setObjectName("headerLabel")
+        self.verticalLayout_4.addWidget(self.headerLabel)
+        self.line9_3 = QtWidgets.QFrame(parent=ApplicationPage)
+        self.line9_3.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line9_3.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line9_3.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line9_3.setObjectName("line9_3")
+        self.verticalLayout_4.addWidget(self.line9_3)
+        self.singleApplicationCheckBox = QtWidgets.QCheckBox(parent=ApplicationPage)
+        self.singleApplicationCheckBox.setObjectName("singleApplicationCheckBox")
+        self.verticalLayout_4.addWidget(self.singleApplicationCheckBox)
+        self.splashScreenCheckBox = QtWidgets.QCheckBox(parent=ApplicationPage)
+        self.splashScreenCheckBox.setObjectName("splashScreenCheckBox")
+        self.verticalLayout_4.addWidget(self.splashScreenCheckBox)
+        self.crashSessionEnabledCheckBox = QtWidgets.QCheckBox(parent=ApplicationPage)
+        self.crashSessionEnabledCheckBox.setObjectName("crashSessionEnabledCheckBox")
+        self.verticalLayout_4.addWidget(self.crashSessionEnabledCheckBox)
+        self.globalMenuCheckBox = QtWidgets.QCheckBox(parent=ApplicationPage)
+        self.globalMenuCheckBox.setObjectName("globalMenuCheckBox")
+        self.verticalLayout_4.addWidget(self.globalMenuCheckBox)
+        self.groupBox_3 = QtWidgets.QGroupBox(parent=ApplicationPage)
+        self.groupBox_3.setObjectName("groupBox_3")
+        self.gridlayout = QtWidgets.QGridLayout(self.groupBox_3)
+        self.gridlayout.setObjectName("gridlayout")
+        self.noOpenRadioButton = QtWidgets.QRadioButton(parent=self.groupBox_3)
+        self.noOpenRadioButton.setObjectName("noOpenRadioButton")
+        self.gridlayout.addWidget(self.noOpenRadioButton, 0, 0, 1, 1)
+        self.lastFileRadioButton = QtWidgets.QRadioButton(parent=self.groupBox_3)
+        self.lastFileRadioButton.setObjectName("lastFileRadioButton")
+        self.gridlayout.addWidget(self.lastFileRadioButton, 0, 1, 1, 1)
+        self.lastProjectRadioButton = QtWidgets.QRadioButton(parent=self.groupBox_3)
+        self.lastProjectRadioButton.setObjectName("lastProjectRadioButton")
+        self.gridlayout.addWidget(self.lastProjectRadioButton, 1, 0, 1, 1)
+        self.lastMultiprojectRadioButton = QtWidgets.QRadioButton(parent=self.groupBox_3)
+        self.lastMultiprojectRadioButton.setObjectName("lastMultiprojectRadioButton")
+        self.gridlayout.addWidget(self.lastMultiprojectRadioButton, 1, 1, 1, 1)
+        self.globalSessionRadioButton = QtWidgets.QRadioButton(parent=self.groupBox_3)
+        self.globalSessionRadioButton.setObjectName("globalSessionRadioButton")
+        self.gridlayout.addWidget(self.globalSessionRadioButton, 2, 0, 1, 1)
+        self.openCrashSessionCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_3)
+        self.openCrashSessionCheckBox.setEnabled(False)
+        self.openCrashSessionCheckBox.setObjectName("openCrashSessionCheckBox")
+        self.gridlayout.addWidget(self.openCrashSessionCheckBox, 3, 0, 1, 2)
+        self.verticalLayout_4.addWidget(self.groupBox_3)
+        self.groupBox_2 = QtWidgets.QGroupBox(parent=ApplicationPage)
+        self.groupBox_2.setObjectName("groupBox_2")
+        self.hboxlayout = QtWidgets.QHBoxLayout(self.groupBox_2)
+        self.hboxlayout.setObjectName("hboxlayout")
+        self.noCheckRadioButton = QtWidgets.QRadioButton(parent=self.groupBox_2)
+        self.noCheckRadioButton.setObjectName("noCheckRadioButton")
+        self.hboxlayout.addWidget(self.noCheckRadioButton)
+        self.alwaysCheckRadioButton = QtWidgets.QRadioButton(parent=self.groupBox_2)
+        self.alwaysCheckRadioButton.setObjectName("alwaysCheckRadioButton")
+        self.hboxlayout.addWidget(self.alwaysCheckRadioButton)
+        self.dailyCheckRadioButton = QtWidgets.QRadioButton(parent=self.groupBox_2)
+        self.dailyCheckRadioButton.setObjectName("dailyCheckRadioButton")
+        self.hboxlayout.addWidget(self.dailyCheckRadioButton)
+        self.weeklyCheckRadioButton = QtWidgets.QRadioButton(parent=self.groupBox_2)
+        self.weeklyCheckRadioButton.setObjectName("weeklyCheckRadioButton")
+        self.hboxlayout.addWidget(self.weeklyCheckRadioButton)
+        self.monthlyCheckRadioButton = QtWidgets.QRadioButton(parent=self.groupBox_2)
+        self.monthlyCheckRadioButton.setObjectName("monthlyCheckRadioButton")
+        self.hboxlayout.addWidget(self.monthlyCheckRadioButton)
+        self.verticalLayout_4.addWidget(self.groupBox_2)
+        self.groupBox_7 = QtWidgets.QGroupBox(parent=ApplicationPage)
+        self.groupBox_7.setObjectName("groupBox_7")
+        self.horizontalLayout_3 = QtWidgets.QHBoxLayout(self.groupBox_7)
+        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
+        self.label_3 = QtWidgets.QLabel(parent=self.groupBox_7)
+        self.label_3.setObjectName("label_3")
+        self.horizontalLayout_3.addWidget(self.label_3)
+        self.upgraderDelaySpinBox = QtWidgets.QSpinBox(parent=self.groupBox_7)
+        self.upgraderDelaySpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.upgraderDelaySpinBox.setMinimum(1)
+        self.upgraderDelaySpinBox.setMaximum(30)
+        self.upgraderDelaySpinBox.setObjectName("upgraderDelaySpinBox")
+        self.horizontalLayout_3.addWidget(self.upgraderDelaySpinBox)
+        spacerItem = QtWidgets.QSpacerItem(411, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_3.addItem(spacerItem)
+        self.verticalLayout_4.addWidget(self.groupBox_7)
+        self.groupBox_4 = QtWidgets.QGroupBox(parent=ApplicationPage)
+        self.groupBox_4.setObjectName("groupBox_4")
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.groupBox_4)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.systemEmailClientCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_4)
+        self.systemEmailClientCheckBox.setObjectName("systemEmailClientCheckBox")
+        self.verticalLayout_2.addWidget(self.systemEmailClientCheckBox)
+        self.verticalLayout_4.addWidget(self.groupBox_4)
+        self.groupBox = QtWidgets.QGroupBox(parent=ApplicationPage)
+        self.groupBox.setObjectName("groupBox")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.groupBox)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.errorlogCheckBox = QtWidgets.QCheckBox(parent=self.groupBox)
+        self.errorlogCheckBox.setObjectName("errorlogCheckBox")
+        self.verticalLayout.addWidget(self.errorlogCheckBox)
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.label_2 = QtWidgets.QLabel(parent=self.groupBox)
+        self.label_2.setObjectName("label_2")
+        self.horizontalLayout_2.addWidget(self.label_2)
+        self.msgSeverityComboBox = QtWidgets.QComboBox(parent=self.groupBox)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.msgSeverityComboBox.sizePolicy().hasHeightForWidth())
+        self.msgSeverityComboBox.setSizePolicy(sizePolicy)
+        self.msgSeverityComboBox.setObjectName("msgSeverityComboBox")
+        self.horizontalLayout_2.addWidget(self.msgSeverityComboBox)
+        self.verticalLayout.addLayout(self.horizontalLayout_2)
+        self.verticalLayout_4.addWidget(self.groupBox)
+        self.groupBox_5 = QtWidgets.QGroupBox(parent=ApplicationPage)
+        self.groupBox_5.setObjectName("groupBox_5")
+        self.gridLayout = QtWidgets.QGridLayout(self.groupBox_5)
+        self.gridLayout.setObjectName("gridLayout")
+        self.intervalSpinBox = QtWidgets.QSpinBox(parent=self.groupBox_5)
+        self.intervalSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.intervalSpinBox.setMaximum(2000)
+        self.intervalSpinBox.setSingleStep(100)
+        self.intervalSpinBox.setObjectName("intervalSpinBox")
+        self.gridLayout.addWidget(self.intervalSpinBox, 0, 0, 1, 1)
+        spacerItem1 = QtWidgets.QSpacerItem(453, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout.addItem(spacerItem1, 0, 1, 1, 1)
+        self.verticalLayout_4.addWidget(self.groupBox_5)
+        self.groupBox_6 = QtWidgets.QGroupBox(parent=ApplicationPage)
+        self.groupBox_6.setObjectName("groupBox_6")
+        self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.groupBox_6)
+        self.verticalLayout_3.setObjectName("verticalLayout_3")
+        self.backgroundServicesLabel = QtWidgets.QLabel(parent=self.groupBox_6)
+        self.backgroundServicesLabel.setText("")
+        self.backgroundServicesLabel.setWordWrap(True)
+        self.backgroundServicesLabel.setObjectName("backgroundServicesLabel")
+        self.verticalLayout_3.addWidget(self.backgroundServicesLabel)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.label = QtWidgets.QLabel(parent=self.groupBox_6)
+        self.label.setObjectName("label")
+        self.horizontalLayout.addWidget(self.label)
+        self.backgroundServicesSpinBox = QtWidgets.QSpinBox(parent=self.groupBox_6)
+        self.backgroundServicesSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.backgroundServicesSpinBox.setObjectName("backgroundServicesSpinBox")
+        self.horizontalLayout.addWidget(self.backgroundServicesSpinBox)
+        spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem2)
+        self.verticalLayout_3.addLayout(self.horizontalLayout)
+        self.verticalLayout_4.addWidget(self.groupBox_6)
+        spacerItem3 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout_4.addItem(spacerItem3)
+
+        self.retranslateUi(ApplicationPage)
+        self.crashSessionEnabledCheckBox.toggled['bool'].connect(self.openCrashSessionCheckBox.setEnabled) # type: ignore
+        self.crashSessionEnabledCheckBox.toggled['bool'].connect(self.openCrashSessionCheckBox.setChecked) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(ApplicationPage)
+        ApplicationPage.setTabOrder(self.singleApplicationCheckBox, self.splashScreenCheckBox)
+        ApplicationPage.setTabOrder(self.splashScreenCheckBox, self.crashSessionEnabledCheckBox)
+        ApplicationPage.setTabOrder(self.crashSessionEnabledCheckBox, self.globalMenuCheckBox)
+        ApplicationPage.setTabOrder(self.globalMenuCheckBox, self.noOpenRadioButton)
+        ApplicationPage.setTabOrder(self.noOpenRadioButton, self.lastFileRadioButton)
+        ApplicationPage.setTabOrder(self.lastFileRadioButton, self.lastProjectRadioButton)
+        ApplicationPage.setTabOrder(self.lastProjectRadioButton, self.lastMultiprojectRadioButton)
+        ApplicationPage.setTabOrder(self.lastMultiprojectRadioButton, self.globalSessionRadioButton)
+        ApplicationPage.setTabOrder(self.globalSessionRadioButton, self.openCrashSessionCheckBox)
+        ApplicationPage.setTabOrder(self.openCrashSessionCheckBox, self.noCheckRadioButton)
+        ApplicationPage.setTabOrder(self.noCheckRadioButton, self.alwaysCheckRadioButton)
+        ApplicationPage.setTabOrder(self.alwaysCheckRadioButton, self.dailyCheckRadioButton)
+        ApplicationPage.setTabOrder(self.dailyCheckRadioButton, self.weeklyCheckRadioButton)
+        ApplicationPage.setTabOrder(self.weeklyCheckRadioButton, self.monthlyCheckRadioButton)
+        ApplicationPage.setTabOrder(self.monthlyCheckRadioButton, self.upgraderDelaySpinBox)
+        ApplicationPage.setTabOrder(self.upgraderDelaySpinBox, self.systemEmailClientCheckBox)
+        ApplicationPage.setTabOrder(self.systemEmailClientCheckBox, self.errorlogCheckBox)
+        ApplicationPage.setTabOrder(self.errorlogCheckBox, self.msgSeverityComboBox)
+        ApplicationPage.setTabOrder(self.msgSeverityComboBox, self.intervalSpinBox)
+        ApplicationPage.setTabOrder(self.intervalSpinBox, self.backgroundServicesSpinBox)
+
+    def retranslateUi(self, ApplicationPage):
+        _translate = QtCore.QCoreApplication.translate
+        self.headerLabel.setText(_translate("ApplicationPage", "<b>Configure the application</b>"))
+        self.singleApplicationCheckBox.setToolTip(_translate("ApplicationPage", "Select, if only one instance of the application should be running"))
+        self.singleApplicationCheckBox.setText(_translate("ApplicationPage", "Single Application Mode"))
+        self.splashScreenCheckBox.setToolTip(_translate("ApplicationPage", "Select to show the startup splash screen"))
+        self.splashScreenCheckBox.setText(_translate("ApplicationPage", "Show Splash Screen at startup"))
+        self.crashSessionEnabledCheckBox.setToolTip(_translate("ApplicationPage", "Select to enable the generation of a crash session file"))
+        self.crashSessionEnabledCheckBox.setText(_translate("ApplicationPage", "Enable Crash Session"))
+        self.globalMenuCheckBox.setToolTip(_translate("ApplicationPage", "Select to use the global application menu bar"))
+        self.globalMenuCheckBox.setText(_translate("ApplicationPage", "Use Global Menu Bar"))
+        self.groupBox_3.setTitle(_translate("ApplicationPage", "Open at startup"))
+        self.noOpenRadioButton.setToolTip(_translate("ApplicationPage", "Select to not open anything"))
+        self.noOpenRadioButton.setText(_translate("ApplicationPage", "None"))
+        self.lastFileRadioButton.setToolTip(_translate("ApplicationPage", "Select to open the most recently opened file"))
+        self.lastFileRadioButton.setText(_translate("ApplicationPage", "Last File"))
+        self.lastProjectRadioButton.setToolTip(_translate("ApplicationPage", "Select to open the most recently opened project"))
+        self.lastProjectRadioButton.setText(_translate("ApplicationPage", "Last Project"))
+        self.lastMultiprojectRadioButton.setToolTip(_translate("ApplicationPage", "Select to open the most recently opened multiproject"))
+        self.lastMultiprojectRadioButton.setText(_translate("ApplicationPage", "Last Multiproject"))
+        self.globalSessionRadioButton.setToolTip(_translate("ApplicationPage", "Select to restore the global session"))
+        self.globalSessionRadioButton.setText(_translate("ApplicationPage", "Global Session"))
+        self.openCrashSessionCheckBox.setToolTip(_translate("ApplicationPage", "Select to look for a crash session file first"))
+        self.openCrashSessionCheckBox.setText(_translate("ApplicationPage", "Load Crash Session"))
+        self.groupBox_2.setTitle(_translate("ApplicationPage", "Check for updates"))
+        self.noCheckRadioButton.setToolTip(_translate("ApplicationPage", "Select to disable update checking"))
+        self.noCheckRadioButton.setText(_translate("ApplicationPage", "Never"))
+        self.alwaysCheckRadioButton.setToolTip(_translate("ApplicationPage", "Select to check for updates at every startup"))
+        self.alwaysCheckRadioButton.setText(_translate("ApplicationPage", "Always"))
+        self.dailyCheckRadioButton.setToolTip(_translate("ApplicationPage", "Select to check for updates once a day"))
+        self.dailyCheckRadioButton.setText(_translate("ApplicationPage", "Daily"))
+        self.weeklyCheckRadioButton.setToolTip(_translate("ApplicationPage", "Select to check for updates once a week"))
+        self.weeklyCheckRadioButton.setText(_translate("ApplicationPage", "Weekly"))
+        self.monthlyCheckRadioButton.setToolTip(_translate("ApplicationPage", "Select to check for updates once a month"))
+        self.monthlyCheckRadioButton.setText(_translate("ApplicationPage", "Monthly"))
+        self.groupBox_7.setTitle(_translate("ApplicationPage", "Upgrader"))
+        self.label_3.setText(_translate("ApplicationPage", "Upgrader Delay:"))
+        self.upgraderDelaySpinBox.setToolTip(_translate("ApplicationPage", "Enter the time the upgrader process should wait for eric to exit"))
+        self.upgraderDelaySpinBox.setSuffix(_translate("ApplicationPage", " s"))
+        self.groupBox_4.setTitle(_translate("ApplicationPage", "Reporting"))
+        self.systemEmailClientCheckBox.setToolTip(_translate("ApplicationPage", "Select to use the system email client to send reports"))
+        self.systemEmailClientCheckBox.setText(_translate("ApplicationPage", "Use System Email Client"))
+        self.groupBox.setTitle(_translate("ApplicationPage", "Error Log"))
+        self.errorlogCheckBox.setToolTip(_translate("ApplicationPage", "Select to check the existence of an error log upon startup"))
+        self.errorlogCheckBox.setText(_translate("ApplicationPage", "Check for Error Log at Startup"))
+        self.label_2.setText(_translate("ApplicationPage", "Minimum Severity for message dialog:"))
+        self.msgSeverityComboBox.setToolTip(_translate("ApplicationPage", "Select the minimum message severity shown"))
+        self.groupBox_5.setTitle(_translate("ApplicationPage", "Keyboard Input Interval"))
+        self.intervalSpinBox.setToolTip(_translate("ApplicationPage", "Enter the keyboard input interval, \'0\' for default"))
+        self.intervalSpinBox.setSpecialValueText(_translate("ApplicationPage", "System Default"))
+        self.intervalSpinBox.setSuffix(_translate("ApplicationPage", " ms"))
+        self.groupBox_6.setTitle(_translate("ApplicationPage", "Background Services"))
+        self.label.setText(_translate("ApplicationPage", "max. Processes:"))
+        self.backgroundServicesSpinBox.setSpecialValueText(_translate("ApplicationPage", "Automatic"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Preferences/ConfigurationPages/Ui_CondaPage.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,51 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Preferences/ConfigurationPages/CondaPage.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_CondaPage(object):
+    def setupUi(self, CondaPage):
+        CondaPage.setObjectName("CondaPage")
+        CondaPage.resize(585, 165)
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(CondaPage)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.headerLabel = QtWidgets.QLabel(parent=CondaPage)
+        self.headerLabel.setObjectName("headerLabel")
+        self.verticalLayout_2.addWidget(self.headerLabel)
+        self.line13 = QtWidgets.QFrame(parent=CondaPage)
+        self.line13.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line13.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line13.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line13.setObjectName("line13")
+        self.verticalLayout_2.addWidget(self.line13)
+        self.groupBox = QtWidgets.QGroupBox(parent=CondaPage)
+        self.groupBox.setObjectName("groupBox")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.groupBox)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.condaExePicker = EricPathPicker(parent=self.groupBox)
+        self.condaExePicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.condaExePicker.setObjectName("condaExePicker")
+        self.verticalLayout.addWidget(self.condaExePicker)
+        self.textLabel1_4 = QtWidgets.QLabel(parent=self.groupBox)
+        self.textLabel1_4.setObjectName("textLabel1_4")
+        self.verticalLayout.addWidget(self.textLabel1_4)
+        self.verticalLayout_2.addWidget(self.groupBox)
+        spacerItem = QtWidgets.QSpacerItem(20, 292, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout_2.addItem(spacerItem)
+
+        self.retranslateUi(CondaPage)
+        QtCore.QMetaObject.connectSlotsByName(CondaPage)
+
+    def retranslateUi(self, CondaPage):
+        _translate = QtCore.QCoreApplication.translate
+        self.headerLabel.setText(_translate("CondaPage", "<b>Configure \"conda\" support</b>"))
+        self.groupBox.setTitle(_translate("CondaPage", "conda Executable"))
+        self.condaExePicker.setToolTip(_translate("CondaPage", "Enter the path to the conda executable."))
+        self.textLabel1_4.setText(_translate("CondaPage", "<b>Note:</b> Leave this entry empty to use the default value (conda or conda.exe)."))
+from eric7.EricWidgets.EricPathPicker import EricPathPicker
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Preferences/ConfigurationPages/Ui_CooperationPage.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,126 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Preferences/ConfigurationPages/CooperationPage.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_CooperationPage(object):
+    def setupUi(self, CooperationPage):
+        CooperationPage.setObjectName("CooperationPage")
+        CooperationPage.resize(508, 540)
+        CooperationPage.setWindowTitle("")
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(CooperationPage)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.headerLabel = QtWidgets.QLabel(parent=CooperationPage)
+        self.headerLabel.setObjectName("headerLabel")
+        self.verticalLayout_2.addWidget(self.headerLabel)
+        self.line11 = QtWidgets.QFrame(parent=CooperationPage)
+        self.line11.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line11.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line11.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line11.setObjectName("line11")
+        self.verticalLayout_2.addWidget(self.line11)
+        self.serverGroup = QtWidgets.QGroupBox(parent=CooperationPage)
+        self.serverGroup.setObjectName("serverGroup")
+        self.gridLayout = QtWidgets.QGridLayout(self.serverGroup)
+        self.gridLayout.setObjectName("gridLayout")
+        self.autostartCheckBox = QtWidgets.QCheckBox(parent=self.serverGroup)
+        self.autostartCheckBox.setObjectName("autostartCheckBox")
+        self.gridLayout.addWidget(self.autostartCheckBox, 0, 0, 1, 3)
+        self.label = QtWidgets.QLabel(parent=self.serverGroup)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 1, 0, 1, 1)
+        self.serverPortSpin = QtWidgets.QSpinBox(parent=self.serverGroup)
+        self.serverPortSpin.setMinimum(1025)
+        self.serverPortSpin.setMaximum(65535)
+        self.serverPortSpin.setSingleStep(1)
+        self.serverPortSpin.setProperty("value", 42000)
+        self.serverPortSpin.setObjectName("serverPortSpin")
+        self.gridLayout.addWidget(self.serverPortSpin, 1, 1, 1, 1)
+        spacerItem = QtWidgets.QSpacerItem(326, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout.addItem(spacerItem, 1, 2, 1, 1)
+        self.otherPortsCheckBox = QtWidgets.QCheckBox(parent=self.serverGroup)
+        self.otherPortsCheckBox.setObjectName("otherPortsCheckBox")
+        self.gridLayout.addWidget(self.otherPortsCheckBox, 2, 0, 1, 3)
+        self.label_2 = QtWidgets.QLabel(parent=self.serverGroup)
+        self.label_2.setEnabled(False)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 3, 0, 1, 1)
+        self.portToTrySpin = QtWidgets.QSpinBox(parent=self.serverGroup)
+        self.portToTrySpin.setEnabled(False)
+        self.portToTrySpin.setMinimum(10)
+        self.portToTrySpin.setMaximum(1000)
+        self.portToTrySpin.setObjectName("portToTrySpin")
+        self.gridLayout.addWidget(self.portToTrySpin, 3, 1, 1, 1)
+        spacerItem1 = QtWidgets.QSpacerItem(326, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout.addItem(spacerItem1, 3, 2, 1, 1)
+        self.verticalLayout_2.addWidget(self.serverGroup)
+        self.connectionsGroup = QtWidgets.QGroupBox(parent=CooperationPage)
+        self.connectionsGroup.setObjectName("connectionsGroup")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.connectionsGroup)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.autoAcceptCheckBox = QtWidgets.QCheckBox(parent=self.connectionsGroup)
+        self.autoAcceptCheckBox.setObjectName("autoAcceptCheckBox")
+        self.verticalLayout.addWidget(self.autoAcceptCheckBox)
+        self.verticalLayout_2.addWidget(self.connectionsGroup)
+        self.bannedUsersGroup = QtWidgets.QGroupBox(parent=CooperationPage)
+        self.bannedUsersGroup.setObjectName("bannedUsersGroup")
+        self.gridLayout_2 = QtWidgets.QGridLayout(self.bannedUsersGroup)
+        self.gridLayout_2.setObjectName("gridLayout_2")
+        self.bannedUsersList = QtWidgets.QListWidget(parent=self.bannedUsersGroup)
+        self.bannedUsersList.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.ExtendedSelection)
+        self.bannedUsersList.setObjectName("bannedUsersList")
+        self.gridLayout_2.addWidget(self.bannedUsersList, 0, 0, 1, 3)
+        self.deleteBannedUsersButton = QtWidgets.QPushButton(parent=self.bannedUsersGroup)
+        self.deleteBannedUsersButton.setEnabled(False)
+        self.deleteBannedUsersButton.setObjectName("deleteBannedUsersButton")
+        self.gridLayout_2.addWidget(self.deleteBannedUsersButton, 1, 0, 1, 1)
+        self.bannedUserEdit = QtWidgets.QLineEdit(parent=self.bannedUsersGroup)
+        self.bannedUserEdit.setObjectName("bannedUserEdit")
+        self.gridLayout_2.addWidget(self.bannedUserEdit, 1, 1, 1, 1)
+        self.addBannedUserButton = QtWidgets.QPushButton(parent=self.bannedUsersGroup)
+        self.addBannedUserButton.setEnabled(False)
+        self.addBannedUserButton.setObjectName("addBannedUserButton")
+        self.gridLayout_2.addWidget(self.addBannedUserButton, 1, 2, 1, 1)
+        self.verticalLayout_2.addWidget(self.bannedUsersGroup)
+
+        self.retranslateUi(CooperationPage)
+        self.otherPortsCheckBox.toggled['bool'].connect(self.label_2.setEnabled) # type: ignore
+        self.otherPortsCheckBox.toggled['bool'].connect(self.portToTrySpin.setEnabled) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(CooperationPage)
+        CooperationPage.setTabOrder(self.autostartCheckBox, self.serverPortSpin)
+        CooperationPage.setTabOrder(self.serverPortSpin, self.otherPortsCheckBox)
+        CooperationPage.setTabOrder(self.otherPortsCheckBox, self.portToTrySpin)
+        CooperationPage.setTabOrder(self.portToTrySpin, self.autoAcceptCheckBox)
+        CooperationPage.setTabOrder(self.autoAcceptCheckBox, self.bannedUsersList)
+        CooperationPage.setTabOrder(self.bannedUsersList, self.deleteBannedUsersButton)
+        CooperationPage.setTabOrder(self.deleteBannedUsersButton, self.bannedUserEdit)
+        CooperationPage.setTabOrder(self.bannedUserEdit, self.addBannedUserButton)
+
+    def retranslateUi(self, CooperationPage):
+        _translate = QtCore.QCoreApplication.translate
+        self.headerLabel.setText(_translate("CooperationPage", "<b>Configure cooperation settings</b>"))
+        self.serverGroup.setTitle(_translate("CooperationPage", "Server"))
+        self.autostartCheckBox.setToolTip(_translate("CooperationPage", "Select to start the server automatically"))
+        self.autostartCheckBox.setText(_translate("CooperationPage", "Start server automatically"))
+        self.label.setText(_translate("CooperationPage", "Server Port:"))
+        self.serverPortSpin.setToolTip(_translate("CooperationPage", "Enter the port number to listen on"))
+        self.otherPortsCheckBox.setToolTip(_translate("CooperationPage", "Select to incrementally try other ports for the server"))
+        self.otherPortsCheckBox.setText(_translate("CooperationPage", "Try other ports for server"))
+        self.label_2.setText(_translate("CooperationPage", "No. ports to try:"))
+        self.portToTrySpin.setToolTip(_translate("CooperationPage", "Enter the maximum number of additional ports to try"))
+        self.connectionsGroup.setTitle(_translate("CooperationPage", "Connections"))
+        self.autoAcceptCheckBox.setToolTip(_translate("CooperationPage", "Select to accept incomming connections automatically"))
+        self.autoAcceptCheckBox.setText(_translate("CooperationPage", "Accept connections automatically"))
+        self.bannedUsersGroup.setTitle(_translate("CooperationPage", "Banned Users"))
+        self.bannedUsersList.setSortingEnabled(True)
+        self.deleteBannedUsersButton.setToolTip(_translate("CooperationPage", "Delete the selected entries from the list of banned users"))
+        self.deleteBannedUsersButton.setText(_translate("CooperationPage", "Delete"))
+        self.bannedUserEdit.setToolTip(_translate("CooperationPage", "Enter the user and host of the banned user"))
+        self.addBannedUserButton.setToolTip(_translate("CooperationPage", "Add the user to the list of banned users"))
+        self.addBannedUserButton.setText(_translate("CooperationPage", "Add"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Preferences/ConfigurationPages/Ui_DebuggerGeneralPage.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,485 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Preferences/ConfigurationPages/DebuggerGeneralPage.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_DebuggerGeneralPage(object):
+    def setupUi(self, DebuggerGeneralPage):
+        DebuggerGeneralPage.setObjectName("DebuggerGeneralPage")
+        DebuggerGeneralPage.resize(550, 1900)
+        self.verticalLayout_9 = QtWidgets.QVBoxLayout(DebuggerGeneralPage)
+        self.verticalLayout_9.setObjectName("verticalLayout_9")
+        self.headerLabel = QtWidgets.QLabel(parent=DebuggerGeneralPage)
+        self.headerLabel.setObjectName("headerLabel")
+        self.verticalLayout_9.addWidget(self.headerLabel)
+        self.line11 = QtWidgets.QFrame(parent=DebuggerGeneralPage)
+        self.line11.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line11.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line11.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line11.setObjectName("line11")
+        self.verticalLayout_9.addWidget(self.line11)
+        self.groupBox_3 = QtWidgets.QGroupBox(parent=DebuggerGeneralPage)
+        self.groupBox_3.setObjectName("groupBox_3")
+        self.verticalLayout_7 = QtWidgets.QVBoxLayout(self.groupBox_3)
+        self.verticalLayout_7.setObjectName("verticalLayout_7")
+        self.TextLabel1_2_3 = QtWidgets.QLabel(parent=self.groupBox_3)
+        self.TextLabel1_2_3.setWordWrap(True)
+        self.TextLabel1_2_3.setObjectName("TextLabel1_2_3")
+        self.verticalLayout_7.addWidget(self.TextLabel1_2_3)
+        self.interfaceSelectorComboBox = QtWidgets.QComboBox(parent=self.groupBox_3)
+        self.interfaceSelectorComboBox.setObjectName("interfaceSelectorComboBox")
+        self.verticalLayout_7.addWidget(self.interfaceSelectorComboBox)
+        self.interfacesCombo = QtWidgets.QComboBox(parent=self.groupBox_3)
+        self.interfacesCombo.setEnabled(False)
+        self.interfacesCombo.setObjectName("interfacesCombo")
+        self.verticalLayout_7.addWidget(self.interfacesCombo)
+        self.serverPortStaticGroup = QtWidgets.QGroupBox(parent=self.groupBox_3)
+        self.serverPortStaticGroup.setCheckable(True)
+        self.serverPortStaticGroup.setChecked(False)
+        self.serverPortStaticGroup.setObjectName("serverPortStaticGroup")
+        self.gridLayout_5 = QtWidgets.QGridLayout(self.serverPortStaticGroup)
+        self.gridLayout_5.setObjectName("gridLayout_5")
+        self.label_5 = QtWidgets.QLabel(parent=self.serverPortStaticGroup)
+        self.label_5.setObjectName("label_5")
+        self.gridLayout_5.addWidget(self.label_5, 0, 0, 1, 1)
+        self.serverPortSpinBox = QtWidgets.QSpinBox(parent=self.serverPortStaticGroup)
+        self.serverPortSpinBox.setMinimum(1025)
+        self.serverPortSpinBox.setMaximum(65535)
+        self.serverPortSpinBox.setSingleStep(1)
+        self.serverPortSpinBox.setProperty("value", 35000)
+        self.serverPortSpinBox.setObjectName("serverPortSpinBox")
+        self.gridLayout_5.addWidget(self.serverPortSpinBox, 0, 1, 1, 1)
+        spacerItem = QtWidgets.QSpacerItem(333, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout_5.addItem(spacerItem, 0, 2, 1, 1)
+        self.serverPortIncrementCheckBox = QtWidgets.QCheckBox(parent=self.serverPortStaticGroup)
+        self.serverPortIncrementCheckBox.setObjectName("serverPortIncrementCheckBox")
+        self.gridLayout_5.addWidget(self.serverPortIncrementCheckBox, 1, 0, 1, 3)
+        self.verticalLayout_7.addWidget(self.serverPortStaticGroup)
+        self.verticalLayout_9.addWidget(self.groupBox_3)
+        self.groupBox_4 = QtWidgets.QGroupBox(parent=DebuggerGeneralPage)
+        self.groupBox_4.setObjectName("groupBox_4")
+        self.gridlayout = QtWidgets.QGridLayout(self.groupBox_4)
+        self.gridlayout.setObjectName("gridlayout")
+        spacerItem1 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.gridlayout.addItem(spacerItem1, 3, 1, 1, 1)
+        self.deleteAllowedHostButton = QtWidgets.QPushButton(parent=self.groupBox_4)
+        self.deleteAllowedHostButton.setEnabled(False)
+        self.deleteAllowedHostButton.setObjectName("deleteAllowedHostButton")
+        self.gridlayout.addWidget(self.deleteAllowedHostButton, 2, 1, 1, 1)
+        self.editAllowedHostButton = QtWidgets.QPushButton(parent=self.groupBox_4)
+        self.editAllowedHostButton.setEnabled(False)
+        self.editAllowedHostButton.setObjectName("editAllowedHostButton")
+        self.gridlayout.addWidget(self.editAllowedHostButton, 1, 1, 1, 1)
+        self.addAllowedHostButton = QtWidgets.QPushButton(parent=self.groupBox_4)
+        self.addAllowedHostButton.setObjectName("addAllowedHostButton")
+        self.gridlayout.addWidget(self.addAllowedHostButton, 0, 1, 1, 1)
+        self.allowedHostsList = QtWidgets.QListWidget(parent=self.groupBox_4)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.allowedHostsList.sizePolicy().hasHeightForWidth())
+        self.allowedHostsList.setSizePolicy(sizePolicy)
+        self.allowedHostsList.setObjectName("allowedHostsList")
+        self.gridlayout.addWidget(self.allowedHostsList, 0, 0, 4, 1)
+        self.verticalLayout_9.addWidget(self.groupBox_4)
+        self.groupBox_12 = QtWidgets.QGroupBox(parent=DebuggerGeneralPage)
+        self.groupBox_12.setObjectName("groupBox_12")
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.groupBox_12)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.label_3 = QtWidgets.QLabel(parent=self.groupBox_12)
+        self.label_3.setWordWrap(True)
+        self.label_3.setObjectName("label_3")
+        self.verticalLayout_2.addWidget(self.label_3)
+        self.passiveDbgGroup = QtWidgets.QGroupBox(parent=self.groupBox_12)
+        self.passiveDbgGroup.setCheckable(True)
+        self.passiveDbgGroup.setChecked(False)
+        self.passiveDbgGroup.setObjectName("passiveDbgGroup")
+        self.gridLayout = QtWidgets.QGridLayout(self.passiveDbgGroup)
+        self.gridLayout.setObjectName("gridLayout")
+        self.TextLabel1_2_2 = QtWidgets.QLabel(parent=self.passiveDbgGroup)
+        self.TextLabel1_2_2.setWordWrap(True)
+        self.TextLabel1_2_2.setObjectName("TextLabel1_2_2")
+        self.gridLayout.addWidget(self.TextLabel1_2_2, 0, 0, 1, 4)
+        self.passiveDbgCheckBox = QtWidgets.QCheckBox(parent=self.passiveDbgGroup)
+        self.passiveDbgCheckBox.setObjectName("passiveDbgCheckBox")
+        self.gridLayout.addWidget(self.passiveDbgCheckBox, 1, 0, 1, 4)
+        self.passiveDbgPortLabel = QtWidgets.QLabel(parent=self.passiveDbgGroup)
+        self.passiveDbgPortLabel.setEnabled(False)
+        self.passiveDbgPortLabel.setObjectName("passiveDbgPortLabel")
+        self.gridLayout.addWidget(self.passiveDbgPortLabel, 2, 0, 1, 1)
+        self.passiveDbgPortSpinBox = QtWidgets.QSpinBox(parent=self.passiveDbgGroup)
+        self.passiveDbgPortSpinBox.setEnabled(False)
+        self.passiveDbgPortSpinBox.setMinimum(1024)
+        self.passiveDbgPortSpinBox.setMaximum(65535)
+        self.passiveDbgPortSpinBox.setProperty("value", 42424)
+        self.passiveDbgPortSpinBox.setObjectName("passiveDbgPortSpinBox")
+        self.gridLayout.addWidget(self.passiveDbgPortSpinBox, 2, 1, 1, 1)
+        spacerItem2 = QtWidgets.QSpacerItem(91, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout.addItem(spacerItem2, 2, 2, 1, 2)
+        self.label = QtWidgets.QLabel(parent=self.passiveDbgGroup)
+        self.label.setEnabled(False)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 3, 0, 1, 1)
+        self.passiveDbgBackendCombo = QtWidgets.QComboBox(parent=self.passiveDbgGroup)
+        self.passiveDbgBackendCombo.setEnabled(False)
+        self.passiveDbgBackendCombo.setObjectName("passiveDbgBackendCombo")
+        self.gridLayout.addWidget(self.passiveDbgBackendCombo, 3, 1, 1, 2)
+        spacerItem3 = QtWidgets.QSpacerItem(91, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout.addItem(spacerItem3, 3, 3, 1, 1)
+        self.verticalLayout_2.addWidget(self.passiveDbgGroup)
+        self.remoteDebuggerGroup = QtWidgets.QGroupBox(parent=self.groupBox_12)
+        self.remoteDebuggerGroup.setCheckable(True)
+        self.remoteDebuggerGroup.setChecked(False)
+        self.remoteDebuggerGroup.setObjectName("remoteDebuggerGroup")
+        self.gridLayout_2 = QtWidgets.QGridLayout(self.remoteDebuggerGroup)
+        self.gridLayout_2.setObjectName("gridLayout_2")
+        self.hostLabel = QtWidgets.QLabel(parent=self.remoteDebuggerGroup)
+        self.hostLabel.setObjectName("hostLabel")
+        self.gridLayout_2.addWidget(self.hostLabel, 0, 0, 1, 1)
+        self.hostLineEdit = QtWidgets.QLineEdit(parent=self.remoteDebuggerGroup)
+        self.hostLineEdit.setObjectName("hostLineEdit")
+        self.gridLayout_2.addWidget(self.hostLineEdit, 0, 1, 2, 1)
+        self.execLabel = QtWidgets.QLabel(parent=self.remoteDebuggerGroup)
+        self.execLabel.setObjectName("execLabel")
+        self.gridLayout_2.addWidget(self.execLabel, 1, 0, 2, 1)
+        self.execLineEdit = QtWidgets.QLineEdit(parent=self.remoteDebuggerGroup)
+        self.execLineEdit.setObjectName("execLineEdit")
+        self.gridLayout_2.addWidget(self.execLineEdit, 2, 1, 1, 1)
+        self.label_6 = QtWidgets.QLabel(parent=self.remoteDebuggerGroup)
+        self.label_6.setObjectName("label_6")
+        self.gridLayout_2.addWidget(self.label_6, 3, 0, 1, 1)
+        self.remoteDebugClientEdit = QtWidgets.QLineEdit(parent=self.remoteDebuggerGroup)
+        self.remoteDebugClientEdit.setClearButtonEnabled(True)
+        self.remoteDebugClientEdit.setObjectName("remoteDebugClientEdit")
+        self.gridLayout_2.addWidget(self.remoteDebugClientEdit, 3, 1, 1, 1)
+        self.verticalLayout_2.addWidget(self.remoteDebuggerGroup)
+        self.dbgPathTranslationGroup = QtWidgets.QGroupBox(parent=self.groupBox_12)
+        self.dbgPathTranslationGroup.setCheckable(True)
+        self.dbgPathTranslationGroup.setChecked(False)
+        self.dbgPathTranslationGroup.setObjectName("dbgPathTranslationGroup")
+        self._2 = QtWidgets.QGridLayout(self.dbgPathTranslationGroup)
+        self._2.setObjectName("_2")
+        self.textLabel2_9 = QtWidgets.QLabel(parent=self.dbgPathTranslationGroup)
+        self.textLabel2_9.setObjectName("textLabel2_9")
+        self._2.addWidget(self.textLabel2_9, 1, 0, 1, 1)
+        self.dbgTranslationLocalEdit = QtWidgets.QLineEdit(parent=self.dbgPathTranslationGroup)
+        self.dbgTranslationLocalEdit.setObjectName("dbgTranslationLocalEdit")
+        self._2.addWidget(self.dbgTranslationLocalEdit, 1, 1, 1, 1)
+        self.dbgTranslationRemoteEdit = QtWidgets.QLineEdit(parent=self.dbgPathTranslationGroup)
+        self.dbgTranslationRemoteEdit.setObjectName("dbgTranslationRemoteEdit")
+        self._2.addWidget(self.dbgTranslationRemoteEdit, 0, 1, 1, 1)
+        self.textLabel1_18 = QtWidgets.QLabel(parent=self.dbgPathTranslationGroup)
+        self.textLabel1_18.setObjectName("textLabel1_18")
+        self._2.addWidget(self.textLabel1_18, 0, 0, 1, 1)
+        self.verticalLayout_2.addWidget(self.dbgPathTranslationGroup)
+        self.verticalLayout_9.addWidget(self.groupBox_12)
+        self.consoleDebuggerGroup = QtWidgets.QGroupBox(parent=DebuggerGeneralPage)
+        self.consoleDebuggerGroup.setCheckable(True)
+        self.consoleDebuggerGroup.setObjectName("consoleDebuggerGroup")
+        self._4 = QtWidgets.QGridLayout(self.consoleDebuggerGroup)
+        self._4.setObjectName("_4")
+        self.consoleDbgEdit = QtWidgets.QLineEdit(parent=self.consoleDebuggerGroup)
+        self.consoleDbgEdit.setObjectName("consoleDbgEdit")
+        self._4.addWidget(self.consoleDbgEdit, 0, 1, 1, 1)
+        self.textLabel1_17 = QtWidgets.QLabel(parent=self.consoleDebuggerGroup)
+        self.textLabel1_17.setObjectName("textLabel1_17")
+        self._4.addWidget(self.textLabel1_17, 0, 0, 1, 1)
+        self.verticalLayout_9.addWidget(self.consoleDebuggerGroup)
+        self.groupBox_5 = QtWidgets.QGroupBox(parent=DebuggerGeneralPage)
+        self.groupBox_5.setObjectName("groupBox_5")
+        self._3 = QtWidgets.QGridLayout(self.groupBox_5)
+        self._3.setObjectName("_3")
+        self.debugEnvironReplaceCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_5)
+        self.debugEnvironReplaceCheckBox.setObjectName("debugEnvironReplaceCheckBox")
+        self._3.addWidget(self.debugEnvironReplaceCheckBox, 0, 0, 1, 2)
+        self.textLabel1_16 = QtWidgets.QLabel(parent=self.groupBox_5)
+        self.textLabel1_16.setObjectName("textLabel1_16")
+        self._3.addWidget(self.textLabel1_16, 1, 0, 1, 1)
+        self.debugEnvironEdit = QtWidgets.QLineEdit(parent=self.groupBox_5)
+        self.debugEnvironEdit.setObjectName("debugEnvironEdit")
+        self._3.addWidget(self.debugEnvironEdit, 1, 1, 1, 1)
+        self.verticalLayout_9.addWidget(self.groupBox_5)
+        self.groupBox = QtWidgets.QGroupBox(parent=DebuggerGeneralPage)
+        self.groupBox.setObjectName("groupBox")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.groupBox)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.debugAutoSaveScriptsCheckBox = QtWidgets.QCheckBox(parent=self.groupBox)
+        self.debugAutoSaveScriptsCheckBox.setObjectName("debugAutoSaveScriptsCheckBox")
+        self.verticalLayout.addWidget(self.debugAutoSaveScriptsCheckBox)
+        self.verticalLayout_9.addWidget(self.groupBox)
+        self.groupBox_7 = QtWidgets.QGroupBox(parent=DebuggerGeneralPage)
+        self.groupBox_7.setObjectName("groupBox_7")
+        self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.groupBox_7)
+        self.verticalLayout_3.setObjectName("verticalLayout_3")
+        self.automaticResetCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_7)
+        self.automaticResetCheckBox.setObjectName("automaticResetCheckBox")
+        self.verticalLayout_3.addWidget(self.automaticResetCheckBox)
+        self.verticalLayout_9.addWidget(self.groupBox_7)
+        self.groupBox_6 = QtWidgets.QGroupBox(parent=DebuggerGeneralPage)
+        self.groupBox_6.setObjectName("groupBox_6")
+        self.verticalLayout_8 = QtWidgets.QVBoxLayout(self.groupBox_6)
+        self.verticalLayout_8.setObjectName("verticalLayout_8")
+        self.multiprocessCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_6)
+        self.multiprocessCheckBox.setObjectName("multiprocessCheckBox")
+        self.verticalLayout_8.addWidget(self.multiprocessCheckBox)
+        self.verticalLayout_9.addWidget(self.groupBox_6)
+        self.groupBox_8 = QtWidgets.QGroupBox(parent=DebuggerGeneralPage)
+        self.groupBox_8.setObjectName("groupBox_8")
+        self.gridLayout_4 = QtWidgets.QGridLayout(self.groupBox_8)
+        self.gridLayout_4.setObjectName("gridLayout_4")
+        self.debugThreeStateBreakPoint = QtWidgets.QCheckBox(parent=self.groupBox_8)
+        self.debugThreeStateBreakPoint.setObjectName("debugThreeStateBreakPoint")
+        self.gridLayout_4.addWidget(self.debugThreeStateBreakPoint, 0, 0, 1, 1)
+        self.intelligentBreakPointCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_8)
+        self.intelligentBreakPointCheckBox.setObjectName("intelligentBreakPointCheckBox")
+        self.gridLayout_4.addWidget(self.intelligentBreakPointCheckBox, 0, 1, 1, 1)
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.label_4 = QtWidgets.QLabel(parent=self.groupBox_8)
+        self.label_4.setObjectName("label_4")
+        self.horizontalLayout_2.addWidget(self.label_4)
+        self.recentFilesSpinBox = QtWidgets.QSpinBox(parent=self.groupBox_8)
+        self.recentFilesSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.recentFilesSpinBox.setMinimum(5)
+        self.recentFilesSpinBox.setMaximum(50)
+        self.recentFilesSpinBox.setObjectName("recentFilesSpinBox")
+        self.horizontalLayout_2.addWidget(self.recentFilesSpinBox)
+        spacerItem4 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_2.addItem(spacerItem4)
+        self.gridLayout_4.addLayout(self.horizontalLayout_2, 1, 0, 1, 2)
+        self.verticalLayout_9.addWidget(self.groupBox_8)
+        self.groupBox_9 = QtWidgets.QGroupBox(parent=DebuggerGeneralPage)
+        self.groupBox_9.setObjectName("groupBox_9")
+        self.verticalLayout_4 = QtWidgets.QVBoxLayout(self.groupBox_9)
+        self.verticalLayout_4.setObjectName("verticalLayout_4")
+        self.exceptionBreakCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_9)
+        self.exceptionBreakCheckBox.setObjectName("exceptionBreakCheckBox")
+        self.verticalLayout_4.addWidget(self.exceptionBreakCheckBox)
+        self.exceptionShellCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_9)
+        self.exceptionShellCheckBox.setObjectName("exceptionShellCheckBox")
+        self.verticalLayout_4.addWidget(self.exceptionShellCheckBox)
+        self.verticalLayout_9.addWidget(self.groupBox_9)
+        self.groupBox_11 = QtWidgets.QGroupBox(parent=DebuggerGeneralPage)
+        self.groupBox_11.setObjectName("groupBox_11")
+        self.verticalLayout_6 = QtWidgets.QVBoxLayout(self.groupBox_11)
+        self.verticalLayout_6.setSpacing(9)
+        self.verticalLayout_6.setObjectName("verticalLayout_6")
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.label_2 = QtWidgets.QLabel(parent=self.groupBox_11)
+        self.label_2.setObjectName("label_2")
+        self.horizontalLayout.addWidget(self.label_2)
+        self.maxSizeSpinBox = QtWidgets.QSpinBox(parent=self.groupBox_11)
+        self.maxSizeSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.maxSizeSpinBox.setProperty("showGroupSeparator", True)
+        self.maxSizeSpinBox.setMaximum(1063256064)
+        self.maxSizeSpinBox.setSingleStep(16384)
+        self.maxSizeSpinBox.setObjectName("maxSizeSpinBox")
+        self.horizontalLayout.addWidget(self.maxSizeSpinBox)
+        spacerItem5 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem5)
+        self.verticalLayout_6.addLayout(self.horizontalLayout)
+        self.groupBox_2 = QtWidgets.QGroupBox(parent=self.groupBox_11)
+        self.groupBox_2.setObjectName("groupBox_2")
+        self.horizontalLayout_3 = QtWidgets.QHBoxLayout(self.groupBox_2)
+        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
+        self.gridLayout_3 = QtWidgets.QGridLayout()
+        self.gridLayout_3.setContentsMargins(-1, 8, -1, 8)
+        self.gridLayout_3.setVerticalSpacing(16)
+        self.gridLayout_3.setObjectName("gridLayout_3")
+        self.backgroundChangedButton = QtWidgets.QPushButton(parent=self.groupBox_2)
+        self.backgroundChangedButton.setMinimumSize(QtCore.QSize(100, 0))
+        self.backgroundChangedButton.setMaximumSize(QtCore.QSize(100, 16777215))
+        self.backgroundChangedButton.setText("")
+        self.backgroundChangedButton.setObjectName("backgroundChangedButton")
+        self.gridLayout_3.addWidget(self.backgroundChangedButton, 1, 1, 1, 1)
+        self.label_bgChangedItems = QtWidgets.QLabel(parent=self.groupBox_2)
+        self.label_bgChangedItems.setObjectName("label_bgChangedItems")
+        self.gridLayout_3.addWidget(self.label_bgChangedItems, 1, 0, 1, 1)
+        self.label_bgFirstLoaded = QtWidgets.QLabel(parent=self.groupBox_2)
+        self.label_bgFirstLoaded.setObjectName("label_bgFirstLoaded")
+        self.gridLayout_3.addWidget(self.label_bgFirstLoaded, 0, 0, 1, 1)
+        self.backgroundNewButton = QtWidgets.QPushButton(parent=self.groupBox_2)
+        self.backgroundNewButton.setMinimumSize(QtCore.QSize(100, 0))
+        self.backgroundNewButton.setMaximumSize(QtCore.QSize(100, 16777215))
+        self.backgroundNewButton.setText("")
+        self.backgroundNewButton.setObjectName("backgroundNewButton")
+        self.gridLayout_3.addWidget(self.backgroundNewButton, 0, 1, 1, 1)
+        spacerItem6 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout_3.addItem(spacerItem6, 0, 2, 1, 1)
+        self.horizontalLayout_3.addLayout(self.gridLayout_3)
+        self.preView = QtWidgets.QListView(parent=self.groupBox_2)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Ignored)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.preView.sizePolicy().hasHeightForWidth())
+        self.preView.setSizePolicy(sizePolicy)
+        self.preView.setFocusPolicy(QtCore.Qt.FocusPolicy.NoFocus)
+        self.preView.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarPolicy.ScrollBarAlwaysOff)
+        self.preView.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarPolicy.ScrollBarAlwaysOff)
+        self.preView.setEditTriggers(QtWidgets.QAbstractItemView.EditTrigger.NoEditTriggers)
+        self.preView.setAlternatingRowColors(True)
+        self.preView.setObjectName("preView")
+        self.horizontalLayout_3.addWidget(self.preView)
+        self.horizontalLayout_3.setStretch(0, 2)
+        self.horizontalLayout_3.setStretch(1, 1)
+        self.verticalLayout_6.addWidget(self.groupBox_2)
+        self.groupBox_10 = QtWidgets.QGroupBox(parent=self.groupBox_11)
+        self.groupBox_10.setObjectName("groupBox_10")
+        self.verticalLayout_5 = QtWidgets.QVBoxLayout(self.groupBox_10)
+        self.verticalLayout_5.setObjectName("verticalLayout_5")
+        self.autoViewSourcecodeCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_10)
+        self.autoViewSourcecodeCheckBox.setObjectName("autoViewSourcecodeCheckBox")
+        self.verticalLayout_5.addWidget(self.autoViewSourcecodeCheckBox)
+        self.verticalLayout_6.addWidget(self.groupBox_10)
+        self.verticalLayout_9.addWidget(self.groupBox_11)
+        self.hostLabel.setBuddy(self.hostLineEdit)
+        self.execLabel.setBuddy(self.execLineEdit)
+
+        self.retranslateUi(DebuggerGeneralPage)
+        self.passiveDbgCheckBox.toggled['bool'].connect(self.passiveDbgPortLabel.setEnabled) # type: ignore
+        self.passiveDbgCheckBox.toggled['bool'].connect(self.passiveDbgPortSpinBox.setEnabled) # type: ignore
+        self.passiveDbgCheckBox.toggled['bool'].connect(self.label.setEnabled) # type: ignore
+        self.passiveDbgCheckBox.toggled['bool'].connect(self.passiveDbgBackendCombo.setEnabled) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(DebuggerGeneralPage)
+        DebuggerGeneralPage.setTabOrder(self.interfaceSelectorComboBox, self.interfacesCombo)
+        DebuggerGeneralPage.setTabOrder(self.interfacesCombo, self.serverPortStaticGroup)
+        DebuggerGeneralPage.setTabOrder(self.serverPortStaticGroup, self.serverPortSpinBox)
+        DebuggerGeneralPage.setTabOrder(self.serverPortSpinBox, self.serverPortIncrementCheckBox)
+        DebuggerGeneralPage.setTabOrder(self.serverPortIncrementCheckBox, self.allowedHostsList)
+        DebuggerGeneralPage.setTabOrder(self.allowedHostsList, self.addAllowedHostButton)
+        DebuggerGeneralPage.setTabOrder(self.addAllowedHostButton, self.editAllowedHostButton)
+        DebuggerGeneralPage.setTabOrder(self.editAllowedHostButton, self.deleteAllowedHostButton)
+        DebuggerGeneralPage.setTabOrder(self.deleteAllowedHostButton, self.passiveDbgGroup)
+        DebuggerGeneralPage.setTabOrder(self.passiveDbgGroup, self.passiveDbgCheckBox)
+        DebuggerGeneralPage.setTabOrder(self.passiveDbgCheckBox, self.passiveDbgPortSpinBox)
+        DebuggerGeneralPage.setTabOrder(self.passiveDbgPortSpinBox, self.passiveDbgBackendCombo)
+        DebuggerGeneralPage.setTabOrder(self.passiveDbgBackendCombo, self.remoteDebuggerGroup)
+        DebuggerGeneralPage.setTabOrder(self.remoteDebuggerGroup, self.hostLineEdit)
+        DebuggerGeneralPage.setTabOrder(self.hostLineEdit, self.execLineEdit)
+        DebuggerGeneralPage.setTabOrder(self.execLineEdit, self.remoteDebugClientEdit)
+        DebuggerGeneralPage.setTabOrder(self.remoteDebugClientEdit, self.dbgPathTranslationGroup)
+        DebuggerGeneralPage.setTabOrder(self.dbgPathTranslationGroup, self.dbgTranslationRemoteEdit)
+        DebuggerGeneralPage.setTabOrder(self.dbgTranslationRemoteEdit, self.dbgTranslationLocalEdit)
+        DebuggerGeneralPage.setTabOrder(self.dbgTranslationLocalEdit, self.consoleDebuggerGroup)
+        DebuggerGeneralPage.setTabOrder(self.consoleDebuggerGroup, self.consoleDbgEdit)
+        DebuggerGeneralPage.setTabOrder(self.consoleDbgEdit, self.debugEnvironReplaceCheckBox)
+        DebuggerGeneralPage.setTabOrder(self.debugEnvironReplaceCheckBox, self.debugEnvironEdit)
+        DebuggerGeneralPage.setTabOrder(self.debugEnvironEdit, self.debugAutoSaveScriptsCheckBox)
+        DebuggerGeneralPage.setTabOrder(self.debugAutoSaveScriptsCheckBox, self.automaticResetCheckBox)
+        DebuggerGeneralPage.setTabOrder(self.automaticResetCheckBox, self.multiprocessCheckBox)
+        DebuggerGeneralPage.setTabOrder(self.multiprocessCheckBox, self.debugThreeStateBreakPoint)
+        DebuggerGeneralPage.setTabOrder(self.debugThreeStateBreakPoint, self.intelligentBreakPointCheckBox)
+        DebuggerGeneralPage.setTabOrder(self.intelligentBreakPointCheckBox, self.recentFilesSpinBox)
+        DebuggerGeneralPage.setTabOrder(self.recentFilesSpinBox, self.exceptionBreakCheckBox)
+        DebuggerGeneralPage.setTabOrder(self.exceptionBreakCheckBox, self.exceptionShellCheckBox)
+        DebuggerGeneralPage.setTabOrder(self.exceptionShellCheckBox, self.maxSizeSpinBox)
+        DebuggerGeneralPage.setTabOrder(self.maxSizeSpinBox, self.backgroundNewButton)
+        DebuggerGeneralPage.setTabOrder(self.backgroundNewButton, self.backgroundChangedButton)
+        DebuggerGeneralPage.setTabOrder(self.backgroundChangedButton, self.autoViewSourcecodeCheckBox)
+
+    def retranslateUi(self, DebuggerGeneralPage):
+        _translate = QtCore.QCoreApplication.translate
+        self.headerLabel.setText(_translate("DebuggerGeneralPage", "<b>Configure general debugger settings</b>"))
+        self.groupBox_3.setTitle(_translate("DebuggerGeneralPage", "Network Interface"))
+        self.TextLabel1_2_3.setText(_translate("DebuggerGeneralPage", "<font color=\"#FF0000\"><b>Note:</b> These settings are activated at the next startup of the application.</font>"))
+        self.interfaceSelectorComboBox.setToolTip(_translate("DebuggerGeneralPage", "Select the interface(s) to listen on"))
+        self.interfacesCombo.setToolTip(_translate("DebuggerGeneralPage", "Select the network interface to listen on"))
+        self.serverPortStaticGroup.setToolTip(_translate("DebuggerGeneralPage", "Select to listen on a fixed network port"))
+        self.serverPortStaticGroup.setTitle(_translate("DebuggerGeneralPage", "Static Server Port"))
+        self.label_5.setText(_translate("DebuggerGeneralPage", "Server Port:"))
+        self.serverPortSpinBox.setToolTip(_translate("DebuggerGeneralPage", "Enter the port number to listen on"))
+        self.serverPortIncrementCheckBox.setToolTip(_translate("DebuggerGeneralPage", "Select to increment the server port to listen on if the configured one is unavailable"))
+        self.serverPortIncrementCheckBox.setText(_translate("DebuggerGeneralPage", "Increment server port if unavailable"))
+        self.groupBox_4.setTitle(_translate("DebuggerGeneralPage", "Allowed hosts"))
+        self.deleteAllowedHostButton.setText(_translate("DebuggerGeneralPage", "Delete"))
+        self.editAllowedHostButton.setText(_translate("DebuggerGeneralPage", "Edit..."))
+        self.addAllowedHostButton.setText(_translate("DebuggerGeneralPage", "Add..."))
+        self.groupBox_12.setTitle(_translate("DebuggerGeneralPage", "Remote Debugging"))
+        self.label_3.setText(_translate("DebuggerGeneralPage", "<font color=\"#FF0000\"><b>Note:</b> Only one or none of \'Passive\' or \'Remote Debugger must be activated.</font>"))
+        self.passiveDbgGroup.setTitle(_translate("DebuggerGeneralPage", "Passive Debugger"))
+        self.TextLabel1_2_2.setText(_translate("DebuggerGeneralPage", "<font color=\"#FF0000\"><b>Note:</b> These settings are activated at the next startup of the application.</font>"))
+        self.passiveDbgCheckBox.setToolTip(_translate("DebuggerGeneralPage", "Enables the passive debug mode"))
+        self.passiveDbgCheckBox.setWhatsThis(_translate("DebuggerGeneralPage", "<b>Passive Debugger Enabled</b>\n"
+"<p>This enables the passive debugging mode. In this mode the debug client (the script) connects to the debug server (the IDE). The script is started outside the IDE. This way mod_python or Zope scripts can be debugged.</p>"))
+        self.passiveDbgCheckBox.setText(_translate("DebuggerGeneralPage", "Passive Debugger Enabled"))
+        self.passiveDbgPortLabel.setText(_translate("DebuggerGeneralPage", "Debug Server Port:"))
+        self.passiveDbgPortSpinBox.setToolTip(_translate("DebuggerGeneralPage", "Enter the port the debugger should listen on"))
+        self.passiveDbgPortSpinBox.setWhatsThis(_translate("DebuggerGeneralPage", "<b>Debug Server Port</b>\n"
+"<p>Enter the port the debugger should listen on.</p>"))
+        self.label.setText(_translate("DebuggerGeneralPage", "Debugger Type:"))
+        self.passiveDbgBackendCombo.setToolTip(_translate("DebuggerGeneralPage", "Select the debugger type of the backend"))
+        self.remoteDebuggerGroup.setToolTip(_translate("DebuggerGeneralPage", "Select, if the debugger should be run remotely"))
+        self.remoteDebuggerGroup.setTitle(_translate("DebuggerGeneralPage", "Remote Debugger"))
+        self.hostLabel.setText(_translate("DebuggerGeneralPage", "Remote Host:"))
+        self.hostLineEdit.setToolTip(_translate("DebuggerGeneralPage", "Enter the hostname of the remote machine."))
+        self.hostLineEdit.setWhatsThis(_translate("DebuggerGeneralPage", "<b>Remote Host</b>\n"
+"<p>Enter the hostname of the remote machine.</p>"))
+        self.execLabel.setText(_translate("DebuggerGeneralPage", "Remote Execution:"))
+        self.execLineEdit.setToolTip(_translate("DebuggerGeneralPage", "Enter the remote execution command."))
+        self.execLineEdit.setWhatsThis(_translate("DebuggerGeneralPage", "<b>Remote Execution</b>\n"
+"<p>Enter the remote execution command (e.g. ssh). This command is used to log into the remote host and execute the remote debugger.</p>"))
+        self.label_6.setText(_translate("DebuggerGeneralPage", "Remote Debug Client:"))
+        self.remoteDebugClientEdit.setToolTip(_translate("DebuggerGeneralPage", "Enter the absolute path of the debug client of the remote host."))
+        self.dbgPathTranslationGroup.setToolTip(_translate("DebuggerGeneralPage", "Select, if path translation for remote debugging should be done"))
+        self.dbgPathTranslationGroup.setTitle(_translate("DebuggerGeneralPage", "Perform Path Translation"))
+        self.textLabel2_9.setText(_translate("DebuggerGeneralPage", "Local Path:"))
+        self.dbgTranslationLocalEdit.setToolTip(_translate("DebuggerGeneralPage", "Enter the local path"))
+        self.dbgTranslationRemoteEdit.setToolTip(_translate("DebuggerGeneralPage", "Enter the remote path"))
+        self.textLabel1_18.setText(_translate("DebuggerGeneralPage", "Remote Path:"))
+        self.consoleDebuggerGroup.setToolTip(_translate("DebuggerGeneralPage", "Select, if the debugger should be executed in a console window"))
+        self.consoleDebuggerGroup.setTitle(_translate("DebuggerGeneralPage", "Console Debugger"))
+        self.consoleDbgEdit.setToolTip(_translate("DebuggerGeneralPage", "Enter the console command (e.g. xterm -e)"))
+        self.consoleDbgEdit.setWhatsThis(_translate("DebuggerGeneralPage", "<b>Console Command</b>\n"
+"<p>Enter the console command (e.g. xterm -e). This command is used to open a command window for the debugger.</p>"))
+        self.textLabel1_17.setText(_translate("DebuggerGeneralPage", "Console Command:"))
+        self.groupBox_5.setTitle(_translate("DebuggerGeneralPage", "Environment Variables for Debug Client"))
+        self.debugEnvironReplaceCheckBox.setToolTip(_translate("DebuggerGeneralPage", "Select, if the environment should be replaced."))
+        self.debugEnvironReplaceCheckBox.setWhatsThis(_translate("DebuggerGeneralPage", "<b>Replace Environment</b>\n"
+"<p>If this entry is checked, the environment of the debugger will be replaced by the entries of the environment variables field. If it is unchecked, the environment will be ammended by these settings.</p>"))
+        self.debugEnvironReplaceCheckBox.setText(_translate("DebuggerGeneralPage", "Replace Environment Variables"))
+        self.textLabel1_16.setText(_translate("DebuggerGeneralPage", "Environment Variables:"))
+        self.debugEnvironEdit.setToolTip(_translate("DebuggerGeneralPage", "Enter the environment variables to be set."))
+        self.debugEnvironEdit.setWhatsThis(_translate("DebuggerGeneralPage", "<b>Environment Variables</b>\n"
+"<p>Enter the environment variables to be set for the debugger. The individual settings must be separated by whitespace and be given in the form \'var=value\'.</p>\n"
+"<p>Example: var1=1 var2=\"hello world\"</p>"))
+        self.groupBox.setTitle(_translate("DebuggerGeneralPage", "Start Debugging"))
+        self.debugAutoSaveScriptsCheckBox.setToolTip(_translate("DebuggerGeneralPage", "Select, whether changed scripts should be saved upon a debug, run, ... action."))
+        self.debugAutoSaveScriptsCheckBox.setText(_translate("DebuggerGeneralPage", "Autosave changed scripts"))
+        self.groupBox_7.setTitle(_translate("DebuggerGeneralPage", "Debug Client Exit"))
+        self.automaticResetCheckBox.setToolTip(_translate("DebuggerGeneralPage", "Select, whether a reset of the debug client should be performed after a client exit"))
+        self.automaticResetCheckBox.setText(_translate("DebuggerGeneralPage", "Automatic Reset after Client Exit"))
+        self.groupBox_6.setTitle(_translate("DebuggerGeneralPage", "Multi Process Debugging"))
+        self.multiprocessCheckBox.setToolTip(_translate("DebuggerGeneralPage", "Select to enable multiprocess debugging support globally"))
+        self.multiprocessCheckBox.setText(_translate("DebuggerGeneralPage", "Enable Multi Process Debugging Support"))
+        self.groupBox_8.setTitle(_translate("DebuggerGeneralPage", "Breakpoints"))
+        self.debugThreeStateBreakPoint.setToolTip(_translate("DebuggerGeneralPage", "Select to change the breakpoint toggle order from Off->On->Off to Off->On (permanent)->On (temporary)->Off"))
+        self.debugThreeStateBreakPoint.setText(_translate("DebuggerGeneralPage", "Three state breakpoint"))
+        self.intelligentBreakPointCheckBox.setToolTip(_translate("DebuggerGeneralPage", "Select to move a breakpoint to a line generating executable code"))
+        self.intelligentBreakPointCheckBox.setText(_translate("DebuggerGeneralPage", "Intelligent breakpoint"))
+        self.label_4.setText(_translate("DebuggerGeneralPage", "Number of recent files and conditions:"))
+        self.recentFilesSpinBox.setToolTip(_translate("DebuggerGeneralPage", "Enter the number of recent files and breakpoint conditions to remember"))
+        self.groupBox_9.setTitle(_translate("DebuggerGeneralPage", "Exceptions"))
+        self.exceptionBreakCheckBox.setToolTip(_translate("DebuggerGeneralPage", "Select to always break at exceptions"))
+        self.exceptionBreakCheckBox.setText(_translate("DebuggerGeneralPage", "Always break at exceptions"))
+        self.exceptionShellCheckBox.setToolTip(_translate("DebuggerGeneralPage", "Select to show exception information in the shell window"))
+        self.exceptionShellCheckBox.setText(_translate("DebuggerGeneralPage", "Show exceptions in Shell"))
+        self.groupBox_11.setTitle(_translate("DebuggerGeneralPage", "Variables Viewer"))
+        self.label_2.setText(_translate("DebuggerGeneralPage", "Max. Variable Size:"))
+        self.maxSizeSpinBox.setToolTip(_translate("DebuggerGeneralPage", "Enter the maximum size of a variable to be shown (0 = no limit)"))
+        self.maxSizeSpinBox.setSpecialValueText(_translate("DebuggerGeneralPage", "no limit"))
+        self.maxSizeSpinBox.setSuffix(_translate("DebuggerGeneralPage", " Bytes"))
+        self.groupBox_2.setTitle(_translate("DebuggerGeneralPage", "Background Colors"))
+        self.backgroundChangedButton.setToolTip(_translate("DebuggerGeneralPage", "Select the background color for changed items."))
+        self.label_bgChangedItems.setText(_translate("DebuggerGeneralPage", "Changed elements:"))
+        self.label_bgFirstLoaded.setText(_translate("DebuggerGeneralPage", "First time opened elements:"))
+        self.backgroundNewButton.setToolTip(_translate("DebuggerGeneralPage", "Select the background color for elements which are loaded for the first time."))
+        self.groupBox_10.setTitle(_translate("DebuggerGeneralPage", "Local Variables Viewer"))
+        self.autoViewSourcecodeCheckBox.setToolTip(_translate("DebuggerGeneralPage", "Automatically view source code when user changes the callstack frame in the callstack viewer."))
+        self.autoViewSourcecodeCheckBox.setText(_translate("DebuggerGeneralPage", "Automatically view source code"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Preferences/ConfigurationPages/Ui_DebuggerPython3Page.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,142 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Preferences/ConfigurationPages/DebuggerPython3Page.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_DebuggerPython3Page(object):
+    def setupUi(self, DebuggerPython3Page):
+        DebuggerPython3Page.setObjectName("DebuggerPython3Page")
+        DebuggerPython3Page.resize(455, 682)
+        self.verticalLayout_3 = QtWidgets.QVBoxLayout(DebuggerPython3Page)
+        self.verticalLayout_3.setObjectName("verticalLayout_3")
+        self.headerLabel = QtWidgets.QLabel(parent=DebuggerPython3Page)
+        self.headerLabel.setObjectName("headerLabel")
+        self.verticalLayout_3.addWidget(self.headerLabel)
+        self.line11_2 = QtWidgets.QFrame(parent=DebuggerPython3Page)
+        self.line11_2.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line11_2.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line11_2.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line11_2.setObjectName("line11_2")
+        self.verticalLayout_3.addWidget(self.line11_2)
+        self.groupBox_4 = QtWidgets.QGroupBox(parent=DebuggerPython3Page)
+        self.groupBox_4.setObjectName("groupBox_4")
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.groupBox_4)
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.venvComboBox = QtWidgets.QComboBox(parent=self.groupBox_4)
+        self.venvComboBox.setObjectName("venvComboBox")
+        self.horizontalLayout_2.addWidget(self.venvComboBox)
+        self.venvDlgButton = QtWidgets.QToolButton(parent=self.groupBox_4)
+        self.venvDlgButton.setText("")
+        self.venvDlgButton.setObjectName("venvDlgButton")
+        self.horizontalLayout_2.addWidget(self.venvDlgButton)
+        self.venvRefreshButton = QtWidgets.QToolButton(parent=self.groupBox_4)
+        self.venvRefreshButton.setText("")
+        self.venvRefreshButton.setObjectName("venvRefreshButton")
+        self.horizontalLayout_2.addWidget(self.venvRefreshButton)
+        self.verticalLayout_3.addWidget(self.groupBox_4)
+        self.groupBox_2 = QtWidgets.QGroupBox(parent=DebuggerPython3Page)
+        self.groupBox_2.setObjectName("groupBox_2")
+        self.gridLayout = QtWidgets.QGridLayout(self.groupBox_2)
+        self.gridLayout.setObjectName("gridLayout")
+        self.debugClientPicker = EricPathPicker(parent=self.groupBox_2)
+        self.debugClientPicker.setEnabled(False)
+        self.debugClientPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.debugClientPicker.setObjectName("debugClientPicker")
+        self.gridLayout.addWidget(self.debugClientPicker, 1, 0, 1, 2)
+        self.standardButton = QtWidgets.QRadioButton(parent=self.groupBox_2)
+        self.standardButton.setObjectName("standardButton")
+        self.gridLayout.addWidget(self.standardButton, 0, 0, 1, 1)
+        self.customButton = QtWidgets.QRadioButton(parent=self.groupBox_2)
+        self.customButton.setObjectName("customButton")
+        self.gridLayout.addWidget(self.customButton, 0, 1, 1, 1)
+        self.verticalLayout_3.addWidget(self.groupBox_2)
+        self.groupBox_3 = QtWidgets.QGroupBox(parent=DebuggerPython3Page)
+        self.groupBox_3.setObjectName("groupBox_3")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.groupBox_3)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.label = QtWidgets.QLabel(parent=self.groupBox_3)
+        self.label.setWordWrap(True)
+        self.label.setObjectName("label")
+        self.verticalLayout.addWidget(self.label)
+        self.sourceExtensionsEdit = QtWidgets.QLineEdit(parent=self.groupBox_3)
+        self.sourceExtensionsEdit.setReadOnly(True)
+        self.sourceExtensionsEdit.setObjectName("sourceExtensionsEdit")
+        self.verticalLayout.addWidget(self.sourceExtensionsEdit)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem)
+        self.refreshButton = QtWidgets.QPushButton(parent=self.groupBox_3)
+        self.refreshButton.setObjectName("refreshButton")
+        self.horizontalLayout.addWidget(self.refreshButton)
+        spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem1)
+        self.verticalLayout.addLayout(self.horizontalLayout)
+        self.verticalLayout_3.addWidget(self.groupBox_3)
+        self.pyRedirectCheckBox = QtWidgets.QCheckBox(parent=DebuggerPython3Page)
+        self.pyRedirectCheckBox.setObjectName("pyRedirectCheckBox")
+        self.verticalLayout_3.addWidget(self.pyRedirectCheckBox)
+        self.pyNoEncodingCheckBox = QtWidgets.QCheckBox(parent=DebuggerPython3Page)
+        self.pyNoEncodingCheckBox.setObjectName("pyNoEncodingCheckBox")
+        self.verticalLayout_3.addWidget(self.pyNoEncodingCheckBox)
+        self.callTraceGroupBox = QtWidgets.QGroupBox(parent=DebuggerPython3Page)
+        self.callTraceGroupBox.setCheckable(False)
+        self.callTraceGroupBox.setObjectName("callTraceGroupBox")
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.callTraceGroupBox)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.callTraceCheckBox = QtWidgets.QCheckBox(parent=self.callTraceGroupBox)
+        self.callTraceCheckBox.setObjectName("callTraceCheckBox")
+        self.verticalLayout_2.addWidget(self.callTraceCheckBox)
+        self.label_2 = QtWidgets.QLabel(parent=self.callTraceGroupBox)
+        self.label_2.setWordWrap(True)
+        self.label_2.setObjectName("label_2")
+        self.verticalLayout_2.addWidget(self.label_2)
+        self.verticalLayout_3.addWidget(self.callTraceGroupBox)
+        spacerItem2 = QtWidgets.QSpacerItem(435, 21, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout_3.addItem(spacerItem2)
+
+        self.retranslateUi(DebuggerPython3Page)
+        self.customButton.toggled['bool'].connect(self.debugClientPicker.setEnabled) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(DebuggerPython3Page)
+        DebuggerPython3Page.setTabOrder(self.venvComboBox, self.venvDlgButton)
+        DebuggerPython3Page.setTabOrder(self.venvDlgButton, self.venvRefreshButton)
+        DebuggerPython3Page.setTabOrder(self.venvRefreshButton, self.standardButton)
+        DebuggerPython3Page.setTabOrder(self.standardButton, self.customButton)
+        DebuggerPython3Page.setTabOrder(self.customButton, self.debugClientPicker)
+        DebuggerPython3Page.setTabOrder(self.debugClientPicker, self.sourceExtensionsEdit)
+        DebuggerPython3Page.setTabOrder(self.sourceExtensionsEdit, self.refreshButton)
+        DebuggerPython3Page.setTabOrder(self.refreshButton, self.pyRedirectCheckBox)
+        DebuggerPython3Page.setTabOrder(self.pyRedirectCheckBox, self.pyNoEncodingCheckBox)
+
+    def retranslateUi(self, DebuggerPython3Page):
+        _translate = QtCore.QCoreApplication.translate
+        self.headerLabel.setText(_translate("DebuggerPython3Page", "<b>Configure Python3 Debugger</b>"))
+        self.groupBox_4.setTitle(_translate("DebuggerPython3Page", "Python3 Virtual Environment"))
+        self.venvComboBox.setToolTip(_translate("DebuggerPython3Page", "Select the virtual environment to be used"))
+        self.venvDlgButton.setToolTip(_translate("DebuggerPython3Page", "Press to open the virtual environment manager dialog"))
+        self.venvRefreshButton.setToolTip(_translate("DebuggerPython3Page", "Press to refresh the list of vitual environments"))
+        self.groupBox_2.setTitle(_translate("DebuggerPython3Page", "Debug Client Type"))
+        self.debugClientPicker.setToolTip(_translate("DebuggerPython3Page", "Enter the path of the Debug Client to be used.  Leave empty to use the default."))
+        self.standardButton.setToolTip(_translate("DebuggerPython3Page", "Select the standard debug client"))
+        self.standardButton.setText(_translate("DebuggerPython3Page", "Standard"))
+        self.customButton.setToolTip(_translate("DebuggerPython3Page", "Select the custom selected debug client"))
+        self.customButton.setText(_translate("DebuggerPython3Page", "Custom"))
+        self.groupBox_3.setTitle(_translate("DebuggerPython3Page", "Source association"))
+        self.label.setText(_translate("DebuggerPython3Page", "Please configure the associated file extensions on the \'Python\' page."))
+        self.refreshButton.setToolTip(_translate("DebuggerPython3Page", "Press to update the display of the source associations"))
+        self.refreshButton.setText(_translate("DebuggerPython3Page", "Refresh"))
+        self.pyRedirectCheckBox.setToolTip(_translate("DebuggerPython3Page", "Select, to redirect stdin, stdout and stderr of the program being debugged to the eric IDE"))
+        self.pyRedirectCheckBox.setText(_translate("DebuggerPython3Page", "Redirect stdin/stdout/stderr"))
+        self.pyNoEncodingCheckBox.setToolTip(_translate("DebuggerPython3Page", "Select to not set the debug client encoding"))
+        self.pyNoEncodingCheckBox.setText(_translate("DebuggerPython3Page", "Don\'t set the encoding of the debug client"))
+        self.callTraceGroupBox.setTitle(_translate("DebuggerPython3Page", "Call Trace Optimization"))
+        self.callTraceCheckBox.setToolTip(_translate("DebuggerPython3Page", "Select to enable the call trace speed optimization."))
+        self.callTraceCheckBox.setText(_translate("DebuggerPython3Page", "Enable Call Trace Speed Optimization"))
+        self.label_2.setText(_translate("DebuggerPython3Page", "This option improves the speed of call tracing by tracing into functions and methods containing a breakpoint only. Please note that functions and methods must not be defined on the very first line of a module for this option to work."))
+from eric7.EricWidgets.EricPathPicker import EricPathPicker
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Preferences/ConfigurationPages/Ui_DiffColoursPage.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,121 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Preferences/ConfigurationPages/DiffColoursPage.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_DiffColoursPage(object):
+    def setupUi(self, DiffColoursPage):
+        DiffColoursPage.setObjectName("DiffColoursPage")
+        DiffColoursPage.resize(400, 286)
+        self.verticalLayout = QtWidgets.QVBoxLayout(DiffColoursPage)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.headerLabel = QtWidgets.QLabel(parent=DiffColoursPage)
+        self.headerLabel.setObjectName("headerLabel")
+        self.verticalLayout.addWidget(self.headerLabel)
+        self.line1 = QtWidgets.QFrame(parent=DiffColoursPage)
+        self.line1.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line1.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line1.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line1.setObjectName("line1")
+        self.verticalLayout.addWidget(self.line1)
+        self.gridLayout = QtWidgets.QGridLayout()
+        self.gridLayout.setObjectName("gridLayout")
+        self.headerButton = QtWidgets.QPushButton(parent=DiffColoursPage)
+        self.headerButton.setObjectName("headerButton")
+        self.gridLayout.addWidget(self.headerButton, 5, 0, 1, 1)
+        self.headerSample = QtWidgets.QLineEdit(parent=DiffColoursPage)
+        self.headerSample.setFocusPolicy(QtCore.Qt.FocusPolicy.NoFocus)
+        self.headerSample.setAlignment(QtCore.Qt.AlignmentFlag.AlignHCenter)
+        self.headerSample.setReadOnly(True)
+        self.headerSample.setObjectName("headerSample")
+        self.gridLayout.addWidget(self.headerSample, 5, 1, 1, 1)
+        self.whitespaceButton = QtWidgets.QPushButton(parent=DiffColoursPage)
+        self.whitespaceButton.setObjectName("whitespaceButton")
+        self.gridLayout.addWidget(self.whitespaceButton, 6, 0, 1, 1)
+        self.whitespaceSample = QtWidgets.QLineEdit(parent=DiffColoursPage)
+        self.whitespaceSample.setFocusPolicy(QtCore.Qt.FocusPolicy.NoFocus)
+        self.whitespaceSample.setAlignment(QtCore.Qt.AlignmentFlag.AlignHCenter)
+        self.whitespaceSample.setReadOnly(True)
+        self.whitespaceSample.setObjectName("whitespaceSample")
+        self.gridLayout.addWidget(self.whitespaceSample, 6, 1, 1, 1)
+        self.textButton = QtWidgets.QPushButton(parent=DiffColoursPage)
+        self.textButton.setObjectName("textButton")
+        self.gridLayout.addWidget(self.textButton, 0, 0, 1, 1)
+        self.textSample = QtWidgets.QLineEdit(parent=DiffColoursPage)
+        self.textSample.setFocusPolicy(QtCore.Qt.FocusPolicy.NoFocus)
+        self.textSample.setAlignment(QtCore.Qt.AlignmentFlag.AlignHCenter)
+        self.textSample.setReadOnly(True)
+        self.textSample.setObjectName("textSample")
+        self.gridLayout.addWidget(self.textSample, 0, 1, 1, 1)
+        self.addedButton = QtWidgets.QPushButton(parent=DiffColoursPage)
+        self.addedButton.setObjectName("addedButton")
+        self.gridLayout.addWidget(self.addedButton, 1, 0, 1, 1)
+        self.addedSample = QtWidgets.QLineEdit(parent=DiffColoursPage)
+        self.addedSample.setFocusPolicy(QtCore.Qt.FocusPolicy.NoFocus)
+        self.addedSample.setAlignment(QtCore.Qt.AlignmentFlag.AlignHCenter)
+        self.addedSample.setReadOnly(True)
+        self.addedSample.setObjectName("addedSample")
+        self.gridLayout.addWidget(self.addedSample, 1, 1, 1, 1)
+        self.removedButton = QtWidgets.QPushButton(parent=DiffColoursPage)
+        self.removedButton.setObjectName("removedButton")
+        self.gridLayout.addWidget(self.removedButton, 2, 0, 1, 1)
+        self.removedSample = QtWidgets.QLineEdit(parent=DiffColoursPage)
+        self.removedSample.setFocusPolicy(QtCore.Qt.FocusPolicy.NoFocus)
+        self.removedSample.setAlignment(QtCore.Qt.AlignmentFlag.AlignHCenter)
+        self.removedSample.setReadOnly(True)
+        self.removedSample.setObjectName("removedSample")
+        self.gridLayout.addWidget(self.removedSample, 2, 1, 1, 1)
+        self.replacedButton = QtWidgets.QPushButton(parent=DiffColoursPage)
+        self.replacedButton.setObjectName("replacedButton")
+        self.gridLayout.addWidget(self.replacedButton, 3, 0, 1, 1)
+        self.replacedSample = QtWidgets.QLineEdit(parent=DiffColoursPage)
+        self.replacedSample.setFocusPolicy(QtCore.Qt.FocusPolicy.NoFocus)
+        self.replacedSample.setAlignment(QtCore.Qt.AlignmentFlag.AlignHCenter)
+        self.replacedSample.setReadOnly(True)
+        self.replacedSample.setObjectName("replacedSample")
+        self.gridLayout.addWidget(self.replacedSample, 3, 1, 1, 1)
+        self.contextButton = QtWidgets.QPushButton(parent=DiffColoursPage)
+        self.contextButton.setObjectName("contextButton")
+        self.gridLayout.addWidget(self.contextButton, 4, 0, 1, 1)
+        self.contextSample = QtWidgets.QLineEdit(parent=DiffColoursPage)
+        self.contextSample.setFocusPolicy(QtCore.Qt.FocusPolicy.NoFocus)
+        self.contextSample.setAlignment(QtCore.Qt.AlignmentFlag.AlignHCenter)
+        self.contextSample.setReadOnly(True)
+        self.contextSample.setObjectName("contextSample")
+        self.gridLayout.addWidget(self.contextSample, 4, 1, 1, 1)
+        self.verticalLayout.addLayout(self.gridLayout)
+        spacerItem = QtWidgets.QSpacerItem(20, 46, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout.addItem(spacerItem)
+
+        self.retranslateUi(DiffColoursPage)
+        QtCore.QMetaObject.connectSlotsByName(DiffColoursPage)
+
+    def retranslateUi(self, DiffColoursPage):
+        _translate = QtCore.QCoreApplication.translate
+        self.headerLabel.setText(_translate("DiffColoursPage", "<b>Configure Diff colors</b>"))
+        self.headerButton.setToolTip(_translate("DiffColoursPage", "Select the background color for header lines"))
+        self.headerButton.setText(_translate("DiffColoursPage", "Header Color"))
+        self.headerSample.setText(_translate("DiffColoursPage", "Header Line"))
+        self.whitespaceButton.setToolTip(_translate("DiffColoursPage", "Select the background color for bad whitespace"))
+        self.whitespaceButton.setText(_translate("DiffColoursPage", "Whitespace Color"))
+        self.textButton.setToolTip(_translate("DiffColoursPage", "Select the text foreground color"))
+        self.textButton.setText(_translate("DiffColoursPage", "Text Color"))
+        self.textSample.setText(_translate("DiffColoursPage", "Normal Text"))
+        self.addedButton.setToolTip(_translate("DiffColoursPage", "Select the background color for additions"))
+        self.addedButton.setText(_translate("DiffColoursPage", "Added Color"))
+        self.addedSample.setText(_translate("DiffColoursPage", "Added Text"))
+        self.removedButton.setToolTip(_translate("DiffColoursPage", "Select the background color for removed text"))
+        self.removedButton.setText(_translate("DiffColoursPage", "Removed Color"))
+        self.removedSample.setText(_translate("DiffColoursPage", "Removed Text"))
+        self.replacedButton.setToolTip(_translate("DiffColoursPage", "Select the background color for replaced text"))
+        self.replacedButton.setText(_translate("DiffColoursPage", "Replaced Color"))
+        self.replacedSample.setText(_translate("DiffColoursPage", "Replaced Text"))
+        self.contextButton.setToolTip(_translate("DiffColoursPage", "Select the background color for context lines"))
+        self.contextButton.setText(_translate("DiffColoursPage", "Context Color"))
+        self.contextSample.setText(_translate("DiffColoursPage", "Context Line"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Preferences/ConfigurationPages/Ui_EditorAPIsPage.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,130 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Preferences/ConfigurationPages/EditorAPIsPage.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_EditorAPIsPage(object):
+    def setupUi(self, EditorAPIsPage):
+        EditorAPIsPage.setObjectName("EditorAPIsPage")
+        EditorAPIsPage.resize(462, 539)
+        self.verticalLayout = QtWidgets.QVBoxLayout(EditorAPIsPage)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.headerLabel = QtWidgets.QLabel(parent=EditorAPIsPage)
+        self.headerLabel.setObjectName("headerLabel")
+        self.verticalLayout.addWidget(self.headerLabel)
+        self.line5 = QtWidgets.QFrame(parent=EditorAPIsPage)
+        self.line5.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line5.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line5.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line5.setObjectName("line5")
+        self.verticalLayout.addWidget(self.line5)
+        self.apiAutoPrepareCheckBox = QtWidgets.QCheckBox(parent=EditorAPIsPage)
+        self.apiAutoPrepareCheckBox.setObjectName("apiAutoPrepareCheckBox")
+        self.verticalLayout.addWidget(self.apiAutoPrepareCheckBox)
+        self.gridLayout_2 = QtWidgets.QGridLayout()
+        self.gridLayout_2.setObjectName("gridLayout_2")
+        self.TextLabel1_3_3 = QtWidgets.QLabel(parent=EditorAPIsPage)
+        self.TextLabel1_3_3.setToolTip("")
+        self.TextLabel1_3_3.setObjectName("TextLabel1_3_3")
+        self.gridLayout_2.addWidget(self.TextLabel1_3_3, 0, 0, 1, 1)
+        self.apiLanguageComboBox = QtWidgets.QComboBox(parent=EditorAPIsPage)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.apiLanguageComboBox.sizePolicy().hasHeightForWidth())
+        self.apiLanguageComboBox.setSizePolicy(sizePolicy)
+        self.apiLanguageComboBox.setObjectName("apiLanguageComboBox")
+        self.gridLayout_2.addWidget(self.apiLanguageComboBox, 0, 1, 1, 1)
+        self.label = QtWidgets.QLabel(parent=EditorAPIsPage)
+        self.label.setObjectName("label")
+        self.gridLayout_2.addWidget(self.label, 1, 0, 1, 1)
+        self.projectTypeComboBox = QtWidgets.QComboBox(parent=EditorAPIsPage)
+        self.projectTypeComboBox.setObjectName("projectTypeComboBox")
+        self.gridLayout_2.addWidget(self.projectTypeComboBox, 1, 1, 1, 1)
+        self.verticalLayout.addLayout(self.gridLayout_2)
+        self.apiGroup = QtWidgets.QGroupBox(parent=EditorAPIsPage)
+        self.apiGroup.setEnabled(False)
+        self.apiGroup.setObjectName("apiGroup")
+        self.gridLayout = QtWidgets.QGridLayout(self.apiGroup)
+        self.gridLayout.setObjectName("gridLayout")
+        self.apiList = QtWidgets.QListWidget(parent=self.apiGroup)
+        self.apiList.setAlternatingRowColors(True)
+        self.apiList.setObjectName("apiList")
+        self.gridLayout.addWidget(self.apiList, 0, 0, 1, 3)
+        self.deleteApiFileButton = QtWidgets.QPushButton(parent=self.apiGroup)
+        self.deleteApiFileButton.setObjectName("deleteApiFileButton")
+        self.gridLayout.addWidget(self.deleteApiFileButton, 1, 0, 1, 1)
+        self.addApiFileButton = QtWidgets.QPushButton(parent=self.apiGroup)
+        self.addApiFileButton.setObjectName("addApiFileButton")
+        self.gridLayout.addWidget(self.addApiFileButton, 1, 1, 1, 1)
+        self.apiFilePicker = EricPathPicker(parent=self.apiGroup)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.apiFilePicker.sizePolicy().hasHeightForWidth())
+        self.apiFilePicker.setSizePolicy(sizePolicy)
+        self.apiFilePicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.apiFilePicker.setObjectName("apiFilePicker")
+        self.gridLayout.addWidget(self.apiFilePicker, 1, 2, 1, 1)
+        self.addInstalledApiFileButton = QtWidgets.QPushButton(parent=self.apiGroup)
+        self.addInstalledApiFileButton.setObjectName("addInstalledApiFileButton")
+        self.gridLayout.addWidget(self.addInstalledApiFileButton, 2, 1, 1, 2)
+        self.addPluginApiFileButton = QtWidgets.QPushButton(parent=self.apiGroup)
+        self.addPluginApiFileButton.setObjectName("addPluginApiFileButton")
+        self.gridLayout.addWidget(self.addPluginApiFileButton, 3, 1, 1, 2)
+        self.line = QtWidgets.QFrame(parent=self.apiGroup)
+        self.line.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line.setObjectName("line")
+        self.gridLayout.addWidget(self.line, 4, 0, 1, 3)
+        self.prepareApiButton = QtWidgets.QPushButton(parent=self.apiGroup)
+        self.prepareApiButton.setObjectName("prepareApiButton")
+        self.gridLayout.addWidget(self.prepareApiButton, 5, 0, 1, 1)
+        self.prepareApiProgressBar = QtWidgets.QProgressBar(parent=self.apiGroup)
+        self.prepareApiProgressBar.setProperty("value", 0)
+        self.prepareApiProgressBar.setTextVisible(False)
+        self.prepareApiProgressBar.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.prepareApiProgressBar.setObjectName("prepareApiProgressBar")
+        self.gridLayout.addWidget(self.prepareApiProgressBar, 5, 1, 1, 2)
+        self.verticalLayout.addWidget(self.apiGroup)
+
+        self.retranslateUi(EditorAPIsPage)
+        QtCore.QMetaObject.connectSlotsByName(EditorAPIsPage)
+        EditorAPIsPage.setTabOrder(self.apiAutoPrepareCheckBox, self.apiLanguageComboBox)
+        EditorAPIsPage.setTabOrder(self.apiLanguageComboBox, self.projectTypeComboBox)
+        EditorAPIsPage.setTabOrder(self.projectTypeComboBox, self.apiList)
+        EditorAPIsPage.setTabOrder(self.apiList, self.deleteApiFileButton)
+        EditorAPIsPage.setTabOrder(self.deleteApiFileButton, self.addApiFileButton)
+        EditorAPIsPage.setTabOrder(self.addApiFileButton, self.apiFilePicker)
+        EditorAPIsPage.setTabOrder(self.apiFilePicker, self.addInstalledApiFileButton)
+        EditorAPIsPage.setTabOrder(self.addInstalledApiFileButton, self.addPluginApiFileButton)
+        EditorAPIsPage.setTabOrder(self.addPluginApiFileButton, self.prepareApiButton)
+
+    def retranslateUi(self, EditorAPIsPage):
+        _translate = QtCore.QCoreApplication.translate
+        self.headerLabel.setText(_translate("EditorAPIsPage", "<b>Configure API files</b>"))
+        self.apiAutoPrepareCheckBox.setToolTip(_translate("EditorAPIsPage", "Select to compile the APIs automatically upon loading"))
+        self.apiAutoPrepareCheckBox.setText(_translate("EditorAPIsPage", "Compile APIs automatically"))
+        self.TextLabel1_3_3.setText(_translate("EditorAPIsPage", "Language:"))
+        self.apiLanguageComboBox.setToolTip(_translate("EditorAPIsPage", "Select the language to be configured."))
+        self.label.setText(_translate("EditorAPIsPage", "Project Type:"))
+        self.projectTypeComboBox.setToolTip(_translate("EditorAPIsPage", "Select the project type to be configured"))
+        self.apiGroup.setTitle(_translate("EditorAPIsPage", "APIs"))
+        self.apiList.setToolTip(_translate("EditorAPIsPage", "List of API files"))
+        self.deleteApiFileButton.setToolTip(_translate("EditorAPIsPage", "Press to delete the selected file from the list"))
+        self.deleteApiFileButton.setText(_translate("EditorAPIsPage", "Delete"))
+        self.addApiFileButton.setToolTip(_translate("EditorAPIsPage", "Press to add the entered file to the list"))
+        self.addApiFileButton.setText(_translate("EditorAPIsPage", "Add"))
+        self.addInstalledApiFileButton.setToolTip(_translate("EditorAPIsPage", "Press to select an API file from the list of installed API files"))
+        self.addInstalledApiFileButton.setText(_translate("EditorAPIsPage", "Add from installed APIs"))
+        self.addPluginApiFileButton.setToolTip(_translate("EditorAPIsPage", "Press to select an API file from the list of API files installed by plugins"))
+        self.addPluginApiFileButton.setText(_translate("EditorAPIsPage", "Add from Plugin APIs"))
+        self.prepareApiButton.setToolTip(_translate("EditorAPIsPage", "Press to compile the selected APIs definition"))
+        self.prepareApiButton.setText(_translate("EditorAPIsPage", "Compile APIs"))
+from eric7.EricWidgets.EricPathPicker import EricPathPicker
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Preferences/ConfigurationPages/Ui_EditorAutoCompletionJediPage.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,46 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Preferences/ConfigurationPages/EditorAutoCompletionJediPage.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_EditorAutoCompletionJediPage(object):
+    def setupUi(self, EditorAutoCompletionJediPage):
+        EditorAutoCompletionJediPage.setObjectName("EditorAutoCompletionJediPage")
+        EditorAutoCompletionJediPage.resize(400, 300)
+        self.verticalLayout = QtWidgets.QVBoxLayout(EditorAutoCompletionJediPage)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.headerLabel = QtWidgets.QLabel(parent=EditorAutoCompletionJediPage)
+        self.headerLabel.setObjectName("headerLabel")
+        self.verticalLayout.addWidget(self.headerLabel)
+        self.line15 = QtWidgets.QFrame(parent=EditorAutoCompletionJediPage)
+        self.line15.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line15.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line15.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line15.setObjectName("line15")
+        self.verticalLayout.addWidget(self.line15)
+        self.jediAutocompletionCheckBox = QtWidgets.QCheckBox(parent=EditorAutoCompletionJediPage)
+        self.jediAutocompletionCheckBox.setObjectName("jediAutocompletionCheckBox")
+        self.verticalLayout.addWidget(self.jediAutocompletionCheckBox)
+        self.jediFuzzyAutocompletionCheckBox = QtWidgets.QCheckBox(parent=EditorAutoCompletionJediPage)
+        self.jediFuzzyAutocompletionCheckBox.setEnabled(False)
+        self.jediFuzzyAutocompletionCheckBox.setObjectName("jediFuzzyAutocompletionCheckBox")
+        self.verticalLayout.addWidget(self.jediFuzzyAutocompletionCheckBox)
+        spacerItem = QtWidgets.QSpacerItem(20, 161, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout.addItem(spacerItem)
+
+        self.retranslateUi(EditorAutoCompletionJediPage)
+        self.jediAutocompletionCheckBox.toggled['bool'].connect(self.jediFuzzyAutocompletionCheckBox.setEnabled) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(EditorAutoCompletionJediPage)
+
+    def retranslateUi(self, EditorAutoCompletionJediPage):
+        _translate = QtCore.QCoreApplication.translate
+        self.headerLabel.setText(_translate("EditorAutoCompletionJediPage", "<b>Configure Jedi Completion</b>"))
+        self.jediAutocompletionCheckBox.setToolTip(_translate("EditorAutoCompletionJediPage", "Select, whether the jedi autocompletion support shall be enabled."))
+        self.jediAutocompletionCheckBox.setText(_translate("EditorAutoCompletionJediPage", "Enable autocompletion"))
+        self.jediFuzzyAutocompletionCheckBox.setText(_translate("EditorAutoCompletionJediPage", "Enable fuzzy completion"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Preferences/ConfigurationPages/Ui_EditorAutocompletionPage.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,244 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Preferences/ConfigurationPages/EditorAutocompletionPage.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_EditorAutocompletionPage(object):
+    def setupUi(self, EditorAutocompletionPage):
+        EditorAutocompletionPage.setObjectName("EditorAutocompletionPage")
+        EditorAutocompletionPage.resize(474, 569)
+        self.verticalLayout = QtWidgets.QVBoxLayout(EditorAutocompletionPage)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.headerLabel = QtWidgets.QLabel(parent=EditorAutocompletionPage)
+        self.headerLabel.setObjectName("headerLabel")
+        self.verticalLayout.addWidget(self.headerLabel)
+        self.line6 = QtWidgets.QFrame(parent=EditorAutocompletionPage)
+        self.line6.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line6.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line6.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line6.setObjectName("line6")
+        self.verticalLayout.addWidget(self.line6)
+        self.generalGroupBox = QtWidgets.QGroupBox(parent=EditorAutocompletionPage)
+        self.generalGroupBox.setObjectName("generalGroupBox")
+        self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.generalGroupBox)
+        self.verticalLayout_3.setContentsMargins(0, 0, 0, 0)
+        self.verticalLayout_3.setSpacing(0)
+        self.verticalLayout_3.setObjectName("verticalLayout_3")
+        self.gridLayout_2 = QtWidgets.QGridLayout()
+        self.gridLayout_2.setContentsMargins(9, 9, 9, 9)
+        self.gridLayout_2.setVerticalSpacing(9)
+        self.gridLayout_2.setObjectName("gridLayout_2")
+        self.acReplaceWordCheckBox = QtWidgets.QCheckBox(parent=self.generalGroupBox)
+        self.acReplaceWordCheckBox.setObjectName("acReplaceWordCheckBox")
+        self.gridLayout_2.addWidget(self.acReplaceWordCheckBox, 0, 1, 1, 1)
+        self.acCaseSensitivityCheckBox = QtWidgets.QCheckBox(parent=self.generalGroupBox)
+        self.acCaseSensitivityCheckBox.setObjectName("acCaseSensitivityCheckBox")
+        self.gridLayout_2.addWidget(self.acCaseSensitivityCheckBox, 0, 0, 1, 1)
+        self.acReversedCheckBox = QtWidgets.QCheckBox(parent=self.generalGroupBox)
+        self.acReversedCheckBox.setObjectName("acReversedCheckBox")
+        self.gridLayout_2.addWidget(self.acReversedCheckBox, 1, 0, 1, 1)
+        self.verticalLayout_3.addLayout(self.gridLayout_2)
+        self.gridLayout_3 = QtWidgets.QGridLayout()
+        self.gridLayout_3.setContentsMargins(9, 9, 9, 9)
+        self.gridLayout_3.setSpacing(9)
+        self.gridLayout_3.setObjectName("gridLayout_3")
+        self.label_6 = QtWidgets.QLabel(parent=self.generalGroupBox)
+        self.label_6.setObjectName("label_6")
+        self.gridLayout_3.addWidget(self.label_6, 1, 0, 1, 1)
+        self.label_5 = QtWidgets.QLabel(parent=self.generalGroupBox)
+        self.label_5.setObjectName("label_5")
+        self.gridLayout_3.addWidget(self.label_5, 0, 0, 1, 1)
+        self.acLinesSlider = QtWidgets.QSlider(parent=self.generalGroupBox)
+        self.acLinesSlider.setMinimum(1)
+        self.acLinesSlider.setMaximum(20)
+        self.acLinesSlider.setPageStep(5)
+        self.acLinesSlider.setProperty("value", 5)
+        self.acLinesSlider.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.acLinesSlider.setObjectName("acLinesSlider")
+        self.gridLayout_3.addWidget(self.acLinesSlider, 0, 1, 1, 1)
+        self.lcdNumber = QtWidgets.QLCDNumber(parent=self.generalGroupBox)
+        self.lcdNumber.setDigitCount(3)
+        self.lcdNumber.setSegmentStyle(QtWidgets.QLCDNumber.SegmentStyle.Flat)
+        self.lcdNumber.setProperty("intValue", 5)
+        self.lcdNumber.setObjectName("lcdNumber")
+        self.gridLayout_3.addWidget(self.lcdNumber, 0, 2, 1, 1)
+        self.acCharSlider = QtWidgets.QSlider(parent=self.generalGroupBox)
+        self.acCharSlider.setMinimum(20)
+        self.acCharSlider.setMaximum(100)
+        self.acCharSlider.setProperty("value", 40)
+        self.acCharSlider.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.acCharSlider.setObjectName("acCharSlider")
+        self.gridLayout_3.addWidget(self.acCharSlider, 1, 1, 1, 1)
+        self.lcdNumber_2 = QtWidgets.QLCDNumber(parent=self.generalGroupBox)
+        self.lcdNumber_2.setDigitCount(3)
+        self.lcdNumber_2.setSegmentStyle(QtWidgets.QLCDNumber.SegmentStyle.Flat)
+        self.lcdNumber_2.setProperty("intValue", 40)
+        self.lcdNumber_2.setObjectName("lcdNumber_2")
+        self.gridLayout_3.addWidget(self.lcdNumber_2, 1, 2, 1, 1)
+        self.verticalLayout_3.addLayout(self.gridLayout_3)
+        self.verticalLayout.addWidget(self.generalGroupBox)
+        self.acEnabledGroupBox = QtWidgets.QGroupBox(parent=EditorAutocompletionPage)
+        self.acEnabledGroupBox.setCheckable(True)
+        self.acEnabledGroupBox.setObjectName("acEnabledGroupBox")
+        self.gridLayout_4 = QtWidgets.QGridLayout(self.acEnabledGroupBox)
+        self.gridLayout_4.setObjectName("gridLayout_4")
+        self.textLabel1_2 = QtWidgets.QLabel(parent=self.acEnabledGroupBox)
+        self.textLabel1_2.setObjectName("textLabel1_2")
+        self.gridLayout_4.addWidget(self.textLabel1_2, 2, 0, 1, 1)
+        self.label = QtWidgets.QLabel(parent=self.acEnabledGroupBox)
+        self.label.setObjectName("label")
+        self.gridLayout_4.addWidget(self.label, 3, 0, 1, 1)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.acThresholdSlider = QtWidgets.QSlider(parent=self.acEnabledGroupBox)
+        self.acThresholdSlider.setMaximum(10)
+        self.acThresholdSlider.setProperty("value", 2)
+        self.acThresholdSlider.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.acThresholdSlider.setTickInterval(1)
+        self.acThresholdSlider.setObjectName("acThresholdSlider")
+        self.horizontalLayout.addWidget(self.acThresholdSlider)
+        self.lCDNumber4 = QtWidgets.QLCDNumber(parent=self.acEnabledGroupBox)
+        self.lCDNumber4.setDigitCount(3)
+        self.lCDNumber4.setSegmentStyle(QtWidgets.QLCDNumber.SegmentStyle.Flat)
+        self.lCDNumber4.setProperty("value", 2.0)
+        self.lCDNumber4.setObjectName("lCDNumber4")
+        self.horizontalLayout.addWidget(self.lCDNumber4)
+        self.gridLayout_4.addLayout(self.horizontalLayout, 2, 1, 1, 1)
+        self.acTimeoutSpinBox = QtWidgets.QSpinBox(parent=self.acEnabledGroupBox)
+        self.acTimeoutSpinBox.setMinimumSize(QtCore.QSize(70, 0))
+        self.acTimeoutSpinBox.setMaximumSize(QtCore.QSize(70, 16777215))
+        self.acTimeoutSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.acTimeoutSpinBox.setCorrectionMode(QtWidgets.QAbstractSpinBox.CorrectionMode.CorrectToNearestValue)
+        self.acTimeoutSpinBox.setMinimum(0)
+        self.acTimeoutSpinBox.setMaximum(1000)
+        self.acTimeoutSpinBox.setSingleStep(50)
+        self.acTimeoutSpinBox.setObjectName("acTimeoutSpinBox")
+        self.gridLayout_4.addWidget(self.acTimeoutSpinBox, 3, 1, 1, 1)
+        self.verticalLayout.addWidget(self.acEnabledGroupBox)
+        self.pluginGroupBox = QtWidgets.QGroupBox(parent=EditorAutocompletionPage)
+        self.pluginGroupBox.setObjectName("pluginGroupBox")
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.pluginGroupBox)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.acScintillaCheckBox = QtWidgets.QCheckBox(parent=self.pluginGroupBox)
+        self.acScintillaCheckBox.setObjectName("acScintillaCheckBox")
+        self.verticalLayout_2.addWidget(self.acScintillaCheckBox)
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.label_4 = QtWidgets.QLabel(parent=self.pluginGroupBox)
+        self.label_4.setObjectName("label_4")
+        self.horizontalLayout_2.addWidget(self.label_4)
+        self.acWatchdogDoubleSpinBox = QtWidgets.QDoubleSpinBox(parent=self.pluginGroupBox)
+        self.acWatchdogDoubleSpinBox.setEnabled(False)
+        self.acWatchdogDoubleSpinBox.setMinimumSize(QtCore.QSize(70, 0))
+        self.acWatchdogDoubleSpinBox.setMaximumSize(QtCore.QSize(70, 16777215))
+        self.acWatchdogDoubleSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.acWatchdogDoubleSpinBox.setAccelerated(True)
+        self.acWatchdogDoubleSpinBox.setCorrectionMode(QtWidgets.QAbstractSpinBox.CorrectionMode.CorrectToNearestValue)
+        self.acWatchdogDoubleSpinBox.setDecimals(1)
+        self.acWatchdogDoubleSpinBox.setMaximum(10.0)
+        self.acWatchdogDoubleSpinBox.setSingleStep(0.5)
+        self.acWatchdogDoubleSpinBox.setObjectName("acWatchdogDoubleSpinBox")
+        self.horizontalLayout_2.addWidget(self.acWatchdogDoubleSpinBox)
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_2.addItem(spacerItem)
+        self.verticalLayout_2.addLayout(self.horizontalLayout_2)
+        self.verticalLayout.addWidget(self.pluginGroupBox)
+        self.acCacheGroup = QtWidgets.QGroupBox(parent=EditorAutocompletionPage)
+        self.acCacheGroup.setCheckable(True)
+        self.acCacheGroup.setObjectName("acCacheGroup")
+        self.gridLayout = QtWidgets.QGridLayout(self.acCacheGroup)
+        self.gridLayout.setObjectName("gridLayout")
+        self.label_2 = QtWidgets.QLabel(parent=self.acCacheGroup)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 0, 0, 1, 1)
+        self.acCacheSizeSpinBox = QtWidgets.QSpinBox(parent=self.acCacheGroup)
+        self.acCacheSizeSpinBox.setMinimumSize(QtCore.QSize(80, 0))
+        self.acCacheSizeSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.acCacheSizeSpinBox.setCorrectionMode(QtWidgets.QAbstractSpinBox.CorrectionMode.CorrectToNearestValue)
+        self.acCacheSizeSpinBox.setMinimum(0)
+        self.acCacheSizeSpinBox.setMaximum(1000)
+        self.acCacheSizeSpinBox.setSingleStep(10)
+        self.acCacheSizeSpinBox.setObjectName("acCacheSizeSpinBox")
+        self.gridLayout.addWidget(self.acCacheSizeSpinBox, 0, 1, 1, 1)
+        spacerItem1 = QtWidgets.QSpacerItem(271, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout.addItem(spacerItem1, 0, 2, 1, 1)
+        self.label_3 = QtWidgets.QLabel(parent=self.acCacheGroup)
+        self.label_3.setObjectName("label_3")
+        self.gridLayout.addWidget(self.label_3, 1, 0, 1, 1)
+        self.acCacheTimeSpinBox = QtWidgets.QSpinBox(parent=self.acCacheGroup)
+        self.acCacheTimeSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.acCacheTimeSpinBox.setCorrectionMode(QtWidgets.QAbstractSpinBox.CorrectionMode.CorrectToNearestValue)
+        self.acCacheTimeSpinBox.setMinimum(0)
+        self.acCacheTimeSpinBox.setMaximum(3600)
+        self.acCacheTimeSpinBox.setSingleStep(60)
+        self.acCacheTimeSpinBox.setObjectName("acCacheTimeSpinBox")
+        self.gridLayout.addWidget(self.acCacheTimeSpinBox, 1, 1, 1, 1)
+        self.verticalLayout.addWidget(self.acCacheGroup)
+        spacerItem2 = QtWidgets.QSpacerItem(456, 51, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout.addItem(spacerItem2)
+
+        self.retranslateUi(EditorAutocompletionPage)
+        self.acThresholdSlider.valueChanged['int'].connect(self.lCDNumber4.display) # type: ignore
+        self.acScintillaCheckBox.toggled['bool'].connect(self.acWatchdogDoubleSpinBox.setEnabled) # type: ignore
+        self.acLinesSlider.valueChanged['int'].connect(self.lcdNumber.display) # type: ignore
+        self.acCharSlider.valueChanged['int'].connect(self.lcdNumber_2.display) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(EditorAutocompletionPage)
+        EditorAutocompletionPage.setTabOrder(self.acCaseSensitivityCheckBox, self.acReplaceWordCheckBox)
+        EditorAutocompletionPage.setTabOrder(self.acReplaceWordCheckBox, self.acReversedCheckBox)
+        EditorAutocompletionPage.setTabOrder(self.acReversedCheckBox, self.acLinesSlider)
+        EditorAutocompletionPage.setTabOrder(self.acLinesSlider, self.acCharSlider)
+        EditorAutocompletionPage.setTabOrder(self.acCharSlider, self.acEnabledGroupBox)
+        EditorAutocompletionPage.setTabOrder(self.acEnabledGroupBox, self.acThresholdSlider)
+        EditorAutocompletionPage.setTabOrder(self.acThresholdSlider, self.acTimeoutSpinBox)
+        EditorAutocompletionPage.setTabOrder(self.acTimeoutSpinBox, self.acScintillaCheckBox)
+        EditorAutocompletionPage.setTabOrder(self.acScintillaCheckBox, self.acWatchdogDoubleSpinBox)
+        EditorAutocompletionPage.setTabOrder(self.acWatchdogDoubleSpinBox, self.acCacheGroup)
+        EditorAutocompletionPage.setTabOrder(self.acCacheGroup, self.acCacheSizeSpinBox)
+        EditorAutocompletionPage.setTabOrder(self.acCacheSizeSpinBox, self.acCacheTimeSpinBox)
+
+    def retranslateUi(self, EditorAutocompletionPage):
+        _translate = QtCore.QCoreApplication.translate
+        self.headerLabel.setText(_translate("EditorAutocompletionPage", "<b>Configure Completion Support</b>"))
+        self.generalGroupBox.setTitle(_translate("EditorAutocompletionPage", "General"))
+        self.acReplaceWordCheckBox.setToolTip(_translate("EditorAutocompletionPage", "Select this, if the word to the right should be replaced by the selected entry"))
+        self.acReplaceWordCheckBox.setText(_translate("EditorAutocompletionPage", "Replace word"))
+        self.acCaseSensitivityCheckBox.setToolTip(_translate("EditorAutocompletionPage", "Select this to have case sensitive auto-completion lists"))
+        self.acCaseSensitivityCheckBox.setText(_translate("EditorAutocompletionPage", "Case sensitive"))
+        self.acReversedCheckBox.setToolTip(_translate("EditorAutocompletionPage", "Select to show completions of type \'public\' first"))
+        self.acReversedCheckBox.setText(_translate("EditorAutocompletionPage", "Show \'public\' completions first"))
+        self.label_6.setText(_translate("EditorAutocompletionPage", "Maximum visible characters:"))
+        self.label_5.setText(_translate("EditorAutocompletionPage", "Maximum visible lines: "))
+        self.acLinesSlider.setToolTip(_translate("EditorAutocompletionPage", "Move to set the maximum number of lines shown in a autocomplete list."))
+        self.lcdNumber.setToolTip(_translate("EditorAutocompletionPage", "Displays the maximum number of lines."))
+        self.acCharSlider.setToolTip(_translate("EditorAutocompletionPage", "Move to set the maximum number of characters visible in one line."))
+        self.lcdNumber_2.setToolTip(_translate("EditorAutocompletionPage", "Displays the approximate number of characters per line."))
+        self.acEnabledGroupBox.setToolTip(_translate("EditorAutocompletionPage", "Select this to enable autocompletion"))
+        self.acEnabledGroupBox.setWhatsThis(_translate("EditorAutocompletionPage", "<b>Autocompletion Enabled</b><p>Select to enable autocompletion. In order to get autocompletion from alternative autocompletion providers (if installed), these have to be enabled on their respective configuration page. Only one alternative provider might be enabled.</p>"))
+        self.acEnabledGroupBox.setTitle(_translate("EditorAutocompletionPage", "Automatic Completion Enabled"))
+        self.textLabel1_2.setText(_translate("EditorAutocompletionPage", "Threshold:"))
+        self.label.setText(_translate("EditorAutocompletionPage", "Time to start completion:"))
+        self.acThresholdSlider.setToolTip(_translate("EditorAutocompletionPage", "Move to set the threshold for display of an autocompletion list"))
+        self.lCDNumber4.setToolTip(_translate("EditorAutocompletionPage", "Displays the selected autocompletion threshold"))
+        self.acTimeoutSpinBox.setToolTip(_translate("EditorAutocompletionPage", "Enter the time in milliseconds after which a list with completion proposals shall be shown"))
+        self.acTimeoutSpinBox.setSuffix(_translate("EditorAutocompletionPage", " ms"))
+        self.pluginGroupBox.setTitle(_translate("EditorAutocompletionPage", "Plug-In Behavior"))
+        self.acScintillaCheckBox.setToolTip(_translate("EditorAutocompletionPage", "Select to show QScintilla provided completions, if the selected plug-ins fail"))
+        self.acScintillaCheckBox.setWhatsThis(_translate("EditorAutocompletionPage", "QScintilla provided completions are shown, if this option is enabled and completions shall be provided by plug-ins (see completions sub-page of the plug-in) and the plugin-ins don\'t deliver any completions."))
+        self.acScintillaCheckBox.setText(_translate("EditorAutocompletionPage", "Show QScintilla completions, if plug-ins fail"))
+        self.label_4.setText(_translate("EditorAutocompletionPage", "Maximum time to wait:"))
+        self.acWatchdogDoubleSpinBox.setToolTip(_translate("EditorAutocompletionPage", "Enter the time in seconds after which QSintilla should be used"))
+        self.acWatchdogDoubleSpinBox.setSuffix(_translate("EditorAutocompletionPage", " s"))
+        self.acCacheGroup.setToolTip(_translate("EditorAutocompletionPage", "Select to enable caching of completion results"))
+        self.acCacheGroup.setTitle(_translate("EditorAutocompletionPage", "Completions Cache"))
+        self.label_2.setText(_translate("EditorAutocompletionPage", "Size:"))
+        self.acCacheSizeSpinBox.setToolTip(_translate("EditorAutocompletionPage", "Enter the maximum number of entries to be kept in the completions cache"))
+        self.acCacheSizeSpinBox.setSuffix(_translate("EditorAutocompletionPage", " entries"))
+        self.label_3.setText(_translate("EditorAutocompletionPage", "Timeout:"))
+        self.acCacheTimeSpinBox.setToolTip(_translate("EditorAutocompletionPage", "Enter the time in seconds after which a cached completion entry should be removed from the completions cache"))
+        self.acCacheTimeSpinBox.setSuffix(_translate("EditorAutocompletionPage", " s"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Preferences/ConfigurationPages/Ui_EditorAutocompletionQScintillaPage.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,71 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Preferences/ConfigurationPages/EditorAutocompletionQScintillaPage.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_EditorAutocompletionQScintillaPage(object):
+    def setupUi(self, EditorAutocompletionQScintillaPage):
+        EditorAutocompletionQScintillaPage.setObjectName("EditorAutocompletionQScintillaPage")
+        EditorAutocompletionQScintillaPage.resize(506, 177)
+        self.gridLayout = QtWidgets.QGridLayout(EditorAutocompletionQScintillaPage)
+        self.gridLayout.setObjectName("gridLayout")
+        self.headerLabel = QtWidgets.QLabel(parent=EditorAutocompletionQScintillaPage)
+        self.headerLabel.setObjectName("headerLabel")
+        self.gridLayout.addWidget(self.headerLabel, 0, 0, 1, 2)
+        self.line6 = QtWidgets.QFrame(parent=EditorAutocompletionQScintillaPage)
+        self.line6.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line6.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line6.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line6.setObjectName("line6")
+        self.gridLayout.addWidget(self.line6, 1, 0, 1, 2)
+        self.acShowSingleCheckBox = QtWidgets.QCheckBox(parent=EditorAutocompletionQScintillaPage)
+        self.acShowSingleCheckBox.setObjectName("acShowSingleCheckBox")
+        self.gridLayout.addWidget(self.acShowSingleCheckBox, 2, 0, 1, 1)
+        self.acFillupsCheckBox = QtWidgets.QCheckBox(parent=EditorAutocompletionQScintillaPage)
+        self.acFillupsCheckBox.setObjectName("acFillupsCheckBox")
+        self.gridLayout.addWidget(self.acFillupsCheckBox, 2, 1, 1, 1)
+        self.groupBox = QtWidgets.QGroupBox(parent=EditorAutocompletionQScintillaPage)
+        self.groupBox.setObjectName("groupBox")
+        self.hboxlayout = QtWidgets.QHBoxLayout(self.groupBox)
+        self.hboxlayout.setObjectName("hboxlayout")
+        self.acSourceDocumentRadioButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.acSourceDocumentRadioButton.setObjectName("acSourceDocumentRadioButton")
+        self.hboxlayout.addWidget(self.acSourceDocumentRadioButton)
+        self.acSourceAPIsRadioButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.acSourceAPIsRadioButton.setObjectName("acSourceAPIsRadioButton")
+        self.hboxlayout.addWidget(self.acSourceAPIsRadioButton)
+        self.acSourceAllRadioButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.acSourceAllRadioButton.setObjectName("acSourceAllRadioButton")
+        self.hboxlayout.addWidget(self.acSourceAllRadioButton)
+        self.gridLayout.addWidget(self.groupBox, 3, 0, 1, 2)
+        spacerItem = QtWidgets.QSpacerItem(456, 51, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.gridLayout.addItem(spacerItem, 4, 0, 1, 2)
+
+        self.retranslateUi(EditorAutocompletionQScintillaPage)
+        QtCore.QMetaObject.connectSlotsByName(EditorAutocompletionQScintillaPage)
+        EditorAutocompletionQScintillaPage.setTabOrder(self.acShowSingleCheckBox, self.acFillupsCheckBox)
+        EditorAutocompletionQScintillaPage.setTabOrder(self.acFillupsCheckBox, self.acSourceDocumentRadioButton)
+        EditorAutocompletionQScintillaPage.setTabOrder(self.acSourceDocumentRadioButton, self.acSourceAPIsRadioButton)
+        EditorAutocompletionQScintillaPage.setTabOrder(self.acSourceAPIsRadioButton, self.acSourceAllRadioButton)
+
+    def retranslateUi(self, EditorAutocompletionQScintillaPage):
+        _translate = QtCore.QCoreApplication.translate
+        self.headerLabel.setText(_translate("EditorAutocompletionQScintillaPage", "<b>Configure QScintilla Completion</b>"))
+        self.acShowSingleCheckBox.setToolTip(_translate("EditorAutocompletionQScintillaPage", "Select this, if single entries shall be inserted automatically"))
+        self.acShowSingleCheckBox.setText(_translate("EditorAutocompletionQScintillaPage", "Show single"))
+        self.acFillupsCheckBox.setToolTip(_translate("EditorAutocompletionQScintillaPage", "Select to enable the use of fill-up characters to autocomplete the current word"))
+        self.acFillupsCheckBox.setWhatsThis(_translate("EditorAutocompletionQScintillaPage", "<b>Use fill-up characters</b><p>Select to enable the use of fill-up characters to autocomplete the current word. A fill-up character is one that, when entered while an auto-completion list is being displayed, causes the currently selected item from the list to be added to the text followed by the fill-up character.</p>"))
+        self.acFillupsCheckBox.setText(_translate("EditorAutocompletionQScintillaPage", "Use fill-up characters"))
+        self.groupBox.setTitle(_translate("EditorAutocompletionQScintillaPage", "Source"))
+        self.acSourceDocumentRadioButton.setToolTip(_translate("EditorAutocompletionQScintillaPage", "Select this to get autocompletion from current document"))
+        self.acSourceDocumentRadioButton.setText(_translate("EditorAutocompletionQScintillaPage", "from Document"))
+        self.acSourceAPIsRadioButton.setToolTip(_translate("EditorAutocompletionQScintillaPage", "Select this to get autocompletion from installed APIs"))
+        self.acSourceAPIsRadioButton.setText(_translate("EditorAutocompletionQScintillaPage", "from API files"))
+        self.acSourceAllRadioButton.setToolTip(_translate("EditorAutocompletionQScintillaPage", "Select this to get autocompletion from current document and installed APIs"))
+        self.acSourceAllRadioButton.setText(_translate("EditorAutocompletionQScintillaPage", "from Document and API files"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Preferences/ConfigurationPages/Ui_EditorCallTipsJediPage.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,40 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Preferences/ConfigurationPages/EditorCallTipsJediPage.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_EditorCallTipsJediPage(object):
+    def setupUi(self, EditorCallTipsJediPage):
+        EditorCallTipsJediPage.setObjectName("EditorCallTipsJediPage")
+        EditorCallTipsJediPage.resize(400, 300)
+        self.verticalLayout = QtWidgets.QVBoxLayout(EditorCallTipsJediPage)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.headerLabel = QtWidgets.QLabel(parent=EditorCallTipsJediPage)
+        self.headerLabel.setObjectName("headerLabel")
+        self.verticalLayout.addWidget(self.headerLabel)
+        self.line15 = QtWidgets.QFrame(parent=EditorCallTipsJediPage)
+        self.line15.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line15.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line15.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line15.setObjectName("line15")
+        self.verticalLayout.addWidget(self.line15)
+        self.jediCalltipsCheckBox = QtWidgets.QCheckBox(parent=EditorCallTipsJediPage)
+        self.jediCalltipsCheckBox.setObjectName("jediCalltipsCheckBox")
+        self.verticalLayout.addWidget(self.jediCalltipsCheckBox)
+        spacerItem = QtWidgets.QSpacerItem(20, 220, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout.addItem(spacerItem)
+
+        self.retranslateUi(EditorCallTipsJediPage)
+        QtCore.QMetaObject.connectSlotsByName(EditorCallTipsJediPage)
+
+    def retranslateUi(self, EditorCallTipsJediPage):
+        _translate = QtCore.QCoreApplication.translate
+        self.headerLabel.setText(_translate("EditorCallTipsJediPage", "<b>Configure Jedi Calltips</b>"))
+        self.jediCalltipsCheckBox.setToolTip(_translate("EditorCallTipsJediPage", "Select, whether the jedi calltip support shall be enabled."))
+        self.jediCalltipsCheckBox.setText(_translate("EditorCallTipsJediPage", "Enable calltip"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Preferences/ConfigurationPages/Ui_EditorCalltipsPage.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,133 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Preferences/ConfigurationPages/EditorCalltipsPage.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_EditorCalltipsPage(object):
+    def setupUi(self, EditorCalltipsPage):
+        EditorCalltipsPage.setObjectName("EditorCalltipsPage")
+        EditorCalltipsPage.resize(408, 468)
+        self.verticalLayout_3 = QtWidgets.QVBoxLayout(EditorCalltipsPage)
+        self.verticalLayout_3.setObjectName("verticalLayout_3")
+        self.headerLabel = QtWidgets.QLabel(parent=EditorCalltipsPage)
+        self.headerLabel.setObjectName("headerLabel")
+        self.verticalLayout_3.addWidget(self.headerLabel)
+        self.line18 = QtWidgets.QFrame(parent=EditorCalltipsPage)
+        self.line18.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line18.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line18.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line18.setObjectName("line18")
+        self.verticalLayout_3.addWidget(self.line18)
+        self.ctEnabledCheckBox = QtWidgets.QCheckBox(parent=EditorCalltipsPage)
+        self.ctEnabledCheckBox.setObjectName("ctEnabledCheckBox")
+        self.verticalLayout_3.addWidget(self.ctEnabledCheckBox)
+        self.frame = QtWidgets.QFrame(parent=EditorCalltipsPage)
+        self.frame.setEnabled(False)
+        self.frame.setObjectName("frame")
+        self.horizontalLayout = QtWidgets.QHBoxLayout(self.frame)
+        self.horizontalLayout.setContentsMargins(0, 0, 0, 0)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.verticalLayout_3.addWidget(self.frame)
+        self.calltipsVisibleBox = QtWidgets.QGroupBox(parent=EditorCalltipsPage)
+        self.calltipsVisibleBox.setObjectName("calltipsVisibleBox")
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.calltipsVisibleBox)
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.ctVisibleSlider = QtWidgets.QSlider(parent=self.calltipsVisibleBox)
+        self.ctVisibleSlider.setMaximum(20)
+        self.ctVisibleSlider.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.ctVisibleSlider.setTickInterval(1)
+        self.ctVisibleSlider.setObjectName("ctVisibleSlider")
+        self.horizontalLayout_2.addWidget(self.ctVisibleSlider)
+        self.lCDNumber5 = QtWidgets.QLCDNumber(parent=self.calltipsVisibleBox)
+        self.lCDNumber5.setDigitCount(2)
+        self.lCDNumber5.setSegmentStyle(QtWidgets.QLCDNumber.SegmentStyle.Flat)
+        self.lCDNumber5.setObjectName("lCDNumber5")
+        self.horizontalLayout_2.addWidget(self.lCDNumber5)
+        self.verticalLayout_3.addWidget(self.calltipsVisibleBox)
+        self.calltipsPositionBox = QtWidgets.QGroupBox(parent=EditorCalltipsPage)
+        self.calltipsPositionBox.setObjectName("calltipsPositionBox")
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.calltipsPositionBox)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.positionComboBox = QtWidgets.QComboBox(parent=self.calltipsPositionBox)
+        self.positionComboBox.setObjectName("positionComboBox")
+        self.verticalLayout_2.addWidget(self.positionComboBox)
+        self.verticalLayout_3.addWidget(self.calltipsPositionBox)
+        self.calltipsColorsBox = QtWidgets.QGroupBox(parent=EditorCalltipsPage)
+        self.calltipsColorsBox.setObjectName("calltipsColorsBox")
+        self.gridLayout = QtWidgets.QGridLayout(self.calltipsColorsBox)
+        self.gridLayout.setObjectName("gridLayout")
+        self.TextLabel2_2_2_2 = QtWidgets.QLabel(parent=self.calltipsColorsBox)
+        self.TextLabel2_2_2_2.setObjectName("TextLabel2_2_2_2")
+        self.gridLayout.addWidget(self.TextLabel2_2_2_2, 0, 0, 1, 1)
+        self.calltipsBackgroundButton = QtWidgets.QPushButton(parent=self.calltipsColorsBox)
+        self.calltipsBackgroundButton.setMinimumSize(QtCore.QSize(100, 0))
+        self.calltipsBackgroundButton.setText("")
+        self.calltipsBackgroundButton.setObjectName("calltipsBackgroundButton")
+        self.gridLayout.addWidget(self.calltipsBackgroundButton, 0, 1, 1, 1)
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout.addItem(spacerItem, 0, 2, 1, 1)
+        self.TextLabel2_2_2_3 = QtWidgets.QLabel(parent=self.calltipsColorsBox)
+        self.TextLabel2_2_2_3.setObjectName("TextLabel2_2_2_3")
+        self.gridLayout.addWidget(self.TextLabel2_2_2_3, 1, 0, 1, 1)
+        self.calltipsForegroundButton = QtWidgets.QPushButton(parent=self.calltipsColorsBox)
+        self.calltipsForegroundButton.setMinimumSize(QtCore.QSize(100, 0))
+        self.calltipsForegroundButton.setText("")
+        self.calltipsForegroundButton.setObjectName("calltipsForegroundButton")
+        self.gridLayout.addWidget(self.calltipsForegroundButton, 1, 1, 1, 1)
+        self.TextLabel2_2_2_4 = QtWidgets.QLabel(parent=self.calltipsColorsBox)
+        self.TextLabel2_2_2_4.setObjectName("TextLabel2_2_2_4")
+        self.gridLayout.addWidget(self.TextLabel2_2_2_4, 2, 0, 1, 1)
+        self.calltipsHighlightButton = QtWidgets.QPushButton(parent=self.calltipsColorsBox)
+        self.calltipsHighlightButton.setMinimumSize(QtCore.QSize(100, 0))
+        self.calltipsHighlightButton.setText("")
+        self.calltipsHighlightButton.setObjectName("calltipsHighlightButton")
+        self.gridLayout.addWidget(self.calltipsHighlightButton, 2, 1, 1, 1)
+        self.verticalLayout_3.addWidget(self.calltipsColorsBox)
+        self.pluginsBox = QtWidgets.QGroupBox(parent=EditorCalltipsPage)
+        self.pluginsBox.setObjectName("pluginsBox")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.pluginsBox)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.ctScintillaCheckBox = QtWidgets.QCheckBox(parent=self.pluginsBox)
+        self.ctScintillaCheckBox.setObjectName("ctScintillaCheckBox")
+        self.verticalLayout.addWidget(self.ctScintillaCheckBox)
+        self.verticalLayout_3.addWidget(self.pluginsBox)
+        spacerItem1 = QtWidgets.QSpacerItem(388, 20, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout_3.addItem(spacerItem1)
+
+        self.retranslateUi(EditorCalltipsPage)
+        self.ctVisibleSlider.valueChanged['int'].connect(self.lCDNumber5.display) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(EditorCalltipsPage)
+        EditorCalltipsPage.setTabOrder(self.ctEnabledCheckBox, self.ctVisibleSlider)
+        EditorCalltipsPage.setTabOrder(self.ctVisibleSlider, self.positionComboBox)
+        EditorCalltipsPage.setTabOrder(self.positionComboBox, self.calltipsBackgroundButton)
+        EditorCalltipsPage.setTabOrder(self.calltipsBackgroundButton, self.calltipsForegroundButton)
+        EditorCalltipsPage.setTabOrder(self.calltipsForegroundButton, self.calltipsHighlightButton)
+        EditorCalltipsPage.setTabOrder(self.calltipsHighlightButton, self.ctScintillaCheckBox)
+
+    def retranslateUi(self, EditorCalltipsPage):
+        _translate = QtCore.QCoreApplication.translate
+        self.headerLabel.setText(_translate("EditorCalltipsPage", "<b>Configure Calltips</b>"))
+        self.ctEnabledCheckBox.setToolTip(_translate("EditorCalltipsPage", "Select this to enable calltips"))
+        self.ctEnabledCheckBox.setText(_translate("EditorCalltipsPage", "Automatic Calltips Enabled"))
+        self.calltipsVisibleBox.setTitle(_translate("EditorCalltipsPage", "Visible Calltips"))
+        self.ctVisibleSlider.setToolTip(_translate("EditorCalltipsPage", "Move to set the maximum number of calltips shown (0 = all available)"))
+        self.lCDNumber5.setToolTip(_translate("EditorCalltipsPage", "Displays the maximum number of calltips to be shown"))
+        self.calltipsPositionBox.setTitle(_translate("EditorCalltipsPage", "Calltips Position"))
+        self.positionComboBox.setToolTip(_translate("EditorCalltipsPage", "Select the position for the calltips"))
+        self.calltipsColorsBox.setTitle(_translate("EditorCalltipsPage", "Colors"))
+        self.TextLabel2_2_2_2.setText(_translate("EditorCalltipsPage", "Background color:"))
+        self.calltipsBackgroundButton.setToolTip(_translate("EditorCalltipsPage", "Select the background color for calltips."))
+        self.TextLabel2_2_2_3.setText(_translate("EditorCalltipsPage", "Foreground color:"))
+        self.calltipsForegroundButton.setToolTip(_translate("EditorCalltipsPage", "Select the foreground color for calltips."))
+        self.TextLabel2_2_2_4.setText(_translate("EditorCalltipsPage", "Highlight color:"))
+        self.calltipsHighlightButton.setToolTip(_translate("EditorCalltipsPage", "Select the highlight color for calltips."))
+        self.pluginsBox.setTitle(_translate("EditorCalltipsPage", "Plug-In Behavior"))
+        self.ctScintillaCheckBox.setToolTip(_translate("EditorCalltipsPage", "Select to show QScintilla provided calltips, if the selected plug-ins fail"))
+        self.ctScintillaCheckBox.setWhatsThis(_translate("EditorCalltipsPage", "Qscintilla provided calltips are shown, if this option is enabled and calltips shall be provided by plug-ins (see calltips sub-page of the plug-in) and the plugin-ins don\'t deliver any calltips."))
+        self.ctScintillaCheckBox.setText(_translate("EditorCalltipsPage", "Show QScintilla calltips, if plug-ins fail"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Preferences/ConfigurationPages/Ui_EditorCalltipsQScintillaPage.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,68 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Preferences/ConfigurationPages/EditorCalltipsQScintillaPage.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_EditorCalltipsQScintillaPage(object):
+    def setupUi(self, EditorCalltipsQScintillaPage):
+        EditorCalltipsQScintillaPage.setObjectName("EditorCalltipsQScintillaPage")
+        EditorCalltipsQScintillaPage.resize(406, 262)
+        self.vboxlayout = QtWidgets.QVBoxLayout(EditorCalltipsQScintillaPage)
+        self.vboxlayout.setObjectName("vboxlayout")
+        self.headerLabel = QtWidgets.QLabel(parent=EditorCalltipsQScintillaPage)
+        self.headerLabel.setObjectName("headerLabel")
+        self.vboxlayout.addWidget(self.headerLabel)
+        self.line18 = QtWidgets.QFrame(parent=EditorCalltipsQScintillaPage)
+        self.line18.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line18.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line18.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line18.setObjectName("line18")
+        self.vboxlayout.addWidget(self.line18)
+        self.groupBox = QtWidgets.QGroupBox(parent=EditorCalltipsQScintillaPage)
+        self.groupBox.setObjectName("groupBox")
+        self.vboxlayout1 = QtWidgets.QVBoxLayout(self.groupBox)
+        self.vboxlayout1.setObjectName("vboxlayout1")
+        self.ctNoContextButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.ctNoContextButton.setObjectName("ctNoContextButton")
+        self.vboxlayout1.addWidget(self.ctNoContextButton)
+        self.ctNoAutoCompletionButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.ctNoAutoCompletionButton.setObjectName("ctNoAutoCompletionButton")
+        self.vboxlayout1.addWidget(self.ctNoAutoCompletionButton)
+        self.ctContextButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.ctContextButton.setObjectName("ctContextButton")
+        self.vboxlayout1.addWidget(self.ctContextButton)
+        self.line = QtWidgets.QFrame(parent=self.groupBox)
+        self.line.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line.setObjectName("line")
+        self.vboxlayout1.addWidget(self.line)
+        self.label = QtWidgets.QLabel(parent=self.groupBox)
+        self.label.setWordWrap(True)
+        self.label.setObjectName("label")
+        self.vboxlayout1.addWidget(self.label)
+        self.vboxlayout.addWidget(self.groupBox)
+        spacerItem = QtWidgets.QSpacerItem(388, 20, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.vboxlayout.addItem(spacerItem)
+
+        self.retranslateUi(EditorCalltipsQScintillaPage)
+        QtCore.QMetaObject.connectSlotsByName(EditorCalltipsQScintillaPage)
+        EditorCalltipsQScintillaPage.setTabOrder(self.ctNoContextButton, self.ctNoAutoCompletionButton)
+        EditorCalltipsQScintillaPage.setTabOrder(self.ctNoAutoCompletionButton, self.ctContextButton)
+
+    def retranslateUi(self, EditorCalltipsQScintillaPage):
+        _translate = QtCore.QCoreApplication.translate
+        self.headerLabel.setText(_translate("EditorCalltipsQScintillaPage", "<b>Configure QScintilla Calltips</b>"))
+        self.groupBox.setTitle(_translate("EditorCalltipsQScintillaPage", "Context display options"))
+        self.ctNoContextButton.setToolTip(_translate("EditorCalltipsQScintillaPage", "Select to display calltips without a context"))
+        self.ctNoContextButton.setText(_translate("EditorCalltipsQScintillaPage", "Don\'t show context information"))
+        self.ctNoAutoCompletionButton.setToolTip(_translate("EditorCalltipsQScintillaPage", "Select to display calltips with a context only if the user hasn\'t already implicitly identified the context using autocompletion"))
+        self.ctNoAutoCompletionButton.setText(_translate("EditorCalltipsQScintillaPage", "Show context information, if no prior autocompletion"))
+        self.ctContextButton.setToolTip(_translate("EditorCalltipsQScintillaPage", "Select to display calltips with a context"))
+        self.ctContextButton.setText(_translate("EditorCalltipsQScintillaPage", "Show context information"))
+        self.label.setText(_translate("EditorCalltipsQScintillaPage", "A context is any scope (e.g. a C++ namespace or a Python module) prior to the function/method name."))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Preferences/ConfigurationPages/Ui_EditorDocViewerPage.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,72 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Preferences/ConfigurationPages/EditorDocViewerPage.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_EditorDocViewerPage(object):
+    def setupUi(self, EditorDocViewerPage):
+        EditorDocViewerPage.setObjectName("EditorDocViewerPage")
+        EditorDocViewerPage.resize(400, 199)
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(EditorDocViewerPage)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.headerLabel = QtWidgets.QLabel(parent=EditorDocViewerPage)
+        self.headerLabel.setObjectName("headerLabel")
+        self.verticalLayout_2.addWidget(self.headerLabel)
+        self.line2 = QtWidgets.QFrame(parent=EditorDocViewerPage)
+        self.line2.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line2.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line2.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line2.setObjectName("line2")
+        self.verticalLayout_2.addWidget(self.line2)
+        self.viewerGroupBox = QtWidgets.QGroupBox(parent=EditorDocViewerPage)
+        self.viewerGroupBox.setCheckable(True)
+        self.viewerGroupBox.setObjectName("viewerGroupBox")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.viewerGroupBox)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.parenthesisCheckBox = QtWidgets.QCheckBox(parent=self.viewerGroupBox)
+        self.parenthesisCheckBox.setObjectName("parenthesisCheckBox")
+        self.verticalLayout.addWidget(self.parenthesisCheckBox)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.label = QtWidgets.QLabel(parent=self.viewerGroupBox)
+        self.label.setObjectName("label")
+        self.horizontalLayout.addWidget(self.label)
+        self.providerComboBox = QtWidgets.QComboBox(parent=self.viewerGroupBox)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.providerComboBox.sizePolicy().hasHeightForWidth())
+        self.providerComboBox.setSizePolicy(sizePolicy)
+        self.providerComboBox.setSizeAdjustPolicy(QtWidgets.QComboBox.SizeAdjustPolicy.AdjustToContents)
+        self.providerComboBox.setObjectName("providerComboBox")
+        self.horizontalLayout.addWidget(self.providerComboBox)
+        self.verticalLayout.addLayout(self.horizontalLayout)
+        self.verticalLayout_2.addWidget(self.viewerGroupBox)
+        self.infoLabel = QtWidgets.QLabel(parent=EditorDocViewerPage)
+        self.infoLabel.setText("")
+        self.infoLabel.setWordWrap(True)
+        self.infoLabel.setObjectName("infoLabel")
+        self.verticalLayout_2.addWidget(self.infoLabel)
+        spacerItem = QtWidgets.QSpacerItem(20, 167, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout_2.addItem(spacerItem)
+
+        self.retranslateUi(EditorDocViewerPage)
+        QtCore.QMetaObject.connectSlotsByName(EditorDocViewerPage)
+        EditorDocViewerPage.setTabOrder(self.viewerGroupBox, self.parenthesisCheckBox)
+        EditorDocViewerPage.setTabOrder(self.parenthesisCheckBox, self.providerComboBox)
+
+    def retranslateUi(self, EditorDocViewerPage):
+        _translate = QtCore.QCoreApplication.translate
+        self.headerLabel.setText(_translate("EditorDocViewerPage", "<b>Configure Documentation Viewer Settings</b>"))
+        self.viewerGroupBox.setToolTip(_translate("EditorDocViewerPage", "Select to enable the display of code documentation"))
+        self.viewerGroupBox.setTitle(_translate("EditorDocViewerPage", "Enable Documentation Viewer"))
+        self.parenthesisCheckBox.setToolTip(_translate("EditorDocViewerPage", "Select to show documentation when entering a \'(\' character"))
+        self.parenthesisCheckBox.setText(_translate("EditorDocViewerPage", "Show documentation upon \'(\'"))
+        self.label.setText(_translate("EditorDocViewerPage", "Documentation Provider:"))
+        self.providerComboBox.setToolTip(_translate("EditorDocViewerPage", "Select the documentation provider to be used"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Preferences/ConfigurationPages/Ui_EditorExportersPage.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,291 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Preferences/ConfigurationPages/EditorExportersPage.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_EditorExportersPage(object):
+    def setupUi(self, EditorExportersPage):
+        EditorExportersPage.setObjectName("EditorExportersPage")
+        EditorExportersPage.resize(537, 435)
+        EditorExportersPage.setWindowTitle("")
+        self.verticalLayout_10 = QtWidgets.QVBoxLayout(EditorExportersPage)
+        self.verticalLayout_10.setObjectName("verticalLayout_10")
+        self.headerLabel = QtWidgets.QLabel(parent=EditorExportersPage)
+        self.headerLabel.setObjectName("headerLabel")
+        self.verticalLayout_10.addWidget(self.headerLabel)
+        self.line1 = QtWidgets.QFrame(parent=EditorExportersPage)
+        self.line1.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line1.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line1.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line1.setObjectName("line1")
+        self.verticalLayout_10.addWidget(self.line1)
+        self.hboxlayout = QtWidgets.QHBoxLayout()
+        self.hboxlayout.setObjectName("hboxlayout")
+        self.TextLabel1_3 = QtWidgets.QLabel(parent=EditorExportersPage)
+        self.TextLabel1_3.setObjectName("TextLabel1_3")
+        self.hboxlayout.addWidget(self.TextLabel1_3)
+        self.exportersCombo = QtWidgets.QComboBox(parent=EditorExportersPage)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.exportersCombo.sizePolicy().hasHeightForWidth())
+        self.exportersCombo.setSizePolicy(sizePolicy)
+        self.exportersCombo.setObjectName("exportersCombo")
+        self.hboxlayout.addWidget(self.exportersCombo)
+        self.verticalLayout_10.addLayout(self.hboxlayout)
+        self.stackedWidget = QtWidgets.QStackedWidget(parent=EditorExportersPage)
+        self.stackedWidget.setObjectName("stackedWidget")
+        self.emptyPage = QtWidgets.QWidget()
+        self.emptyPage.setObjectName("emptyPage")
+        self.stackedWidget.addWidget(self.emptyPage)
+        self.htmlPage = QtWidgets.QWidget()
+        self.htmlPage.setObjectName("htmlPage")
+        self.verticalLayout_4 = QtWidgets.QVBoxLayout(self.htmlPage)
+        self.verticalLayout_4.setContentsMargins(0, -1, 0, -1)
+        self.verticalLayout_4.setObjectName("verticalLayout_4")
+        self.groupBox_2 = QtWidgets.QGroupBox(parent=self.htmlPage)
+        self.groupBox_2.setTitle("")
+        self.groupBox_2.setObjectName("groupBox_2")
+        self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.groupBox_2)
+        self.verticalLayout_3.setObjectName("verticalLayout_3")
+        self.htmlWysiwygCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_2)
+        self.htmlWysiwygCheckBox.setObjectName("htmlWysiwygCheckBox")
+        self.verticalLayout_3.addWidget(self.htmlWysiwygCheckBox)
+        self.htmlFoldingCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_2)
+        self.htmlFoldingCheckBox.setObjectName("htmlFoldingCheckBox")
+        self.verticalLayout_3.addWidget(self.htmlFoldingCheckBox)
+        self.htmlStylesCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_2)
+        self.htmlStylesCheckBox.setObjectName("htmlStylesCheckBox")
+        self.verticalLayout_3.addWidget(self.htmlStylesCheckBox)
+        self.htmlTitleCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_2)
+        self.htmlTitleCheckBox.setObjectName("htmlTitleCheckBox")
+        self.verticalLayout_3.addWidget(self.htmlTitleCheckBox)
+        self.htmlTabsCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_2)
+        self.htmlTabsCheckBox.setObjectName("htmlTabsCheckBox")
+        self.verticalLayout_3.addWidget(self.htmlTabsCheckBox)
+        self.verticalLayout_4.addWidget(self.groupBox_2)
+        spacerItem = QtWidgets.QSpacerItem(507, 21, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout_4.addItem(spacerItem)
+        self.stackedWidget.addWidget(self.htmlPage)
+        self.odtPage = QtWidgets.QWidget()
+        self.odtPage.setObjectName("odtPage")
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.odtPage)
+        self.verticalLayout_2.setContentsMargins(0, -1, 0, -1)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.groupBox_3 = QtWidgets.QGroupBox(parent=self.odtPage)
+        self.groupBox_3.setTitle("")
+        self.groupBox_3.setObjectName("groupBox_3")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.groupBox_3)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.odtWysiwygCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_3)
+        self.odtWysiwygCheckBox.setObjectName("odtWysiwygCheckBox")
+        self.verticalLayout.addWidget(self.odtWysiwygCheckBox)
+        self.odtStylesCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_3)
+        self.odtStylesCheckBox.setObjectName("odtStylesCheckBox")
+        self.verticalLayout.addWidget(self.odtStylesCheckBox)
+        self.odtTabsCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_3)
+        self.odtTabsCheckBox.setObjectName("odtTabsCheckBox")
+        self.verticalLayout.addWidget(self.odtTabsCheckBox)
+        self.verticalLayout_2.addWidget(self.groupBox_3)
+        spacerItem1 = QtWidgets.QSpacerItem(498, 136, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout_2.addItem(spacerItem1)
+        self.stackedWidget.addWidget(self.odtPage)
+        self.pdfPage = QtWidgets.QWidget()
+        self.pdfPage.setObjectName("pdfPage")
+        self.verticalLayout_5 = QtWidgets.QVBoxLayout(self.pdfPage)
+        self.verticalLayout_5.setContentsMargins(0, -1, 0, -1)
+        self.verticalLayout_5.setObjectName("verticalLayout_5")
+        self.groupBox_4 = QtWidgets.QGroupBox(parent=self.pdfPage)
+        self.groupBox_4.setTitle("")
+        self.groupBox_4.setObjectName("groupBox_4")
+        self.gridLayout = QtWidgets.QGridLayout(self.groupBox_4)
+        self.gridLayout.setObjectName("gridLayout")
+        self.label = QtWidgets.QLabel(parent=self.groupBox_4)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
+        self.pdfMagnificationSlider = QtWidgets.QSlider(parent=self.groupBox_4)
+        self.pdfMagnificationSlider.setMaximum(20)
+        self.pdfMagnificationSlider.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.pdfMagnificationSlider.setObjectName("pdfMagnificationSlider")
+        self.gridLayout.addWidget(self.pdfMagnificationSlider, 0, 1, 1, 1)
+        self.pdfMagnificationLCD = QtWidgets.QLCDNumber(parent=self.groupBox_4)
+        self.pdfMagnificationLCD.setDigitCount(2)
+        self.pdfMagnificationLCD.setSegmentStyle(QtWidgets.QLCDNumber.SegmentStyle.Flat)
+        self.pdfMagnificationLCD.setObjectName("pdfMagnificationLCD")
+        self.gridLayout.addWidget(self.pdfMagnificationLCD, 0, 2, 1, 1)
+        self.label_2 = QtWidgets.QLabel(parent=self.groupBox_4)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 1, 0, 1, 1)
+        self.pdfFontCombo = QtWidgets.QComboBox(parent=self.groupBox_4)
+        self.pdfFontCombo.setObjectName("pdfFontCombo")
+        self.gridLayout.addWidget(self.pdfFontCombo, 1, 1, 1, 2)
+        self.label_3 = QtWidgets.QLabel(parent=self.groupBox_4)
+        self.label_3.setObjectName("label_3")
+        self.gridLayout.addWidget(self.label_3, 2, 0, 1, 1)
+        self.pdfPageSizeCombo = QtWidgets.QComboBox(parent=self.groupBox_4)
+        self.pdfPageSizeCombo.setObjectName("pdfPageSizeCombo")
+        self.gridLayout.addWidget(self.pdfPageSizeCombo, 2, 1, 1, 2)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.groupBox = QtWidgets.QGroupBox(parent=self.groupBox_4)
+        self.groupBox.setObjectName("groupBox")
+        self.gridlayout = QtWidgets.QGridLayout(self.groupBox)
+        self.gridlayout.setObjectName("gridlayout")
+        self.pdfMarginTopSpin = QtWidgets.QSpinBox(parent=self.groupBox)
+        self.pdfMarginTopSpin.setMaximum(288)
+        self.pdfMarginTopSpin.setObjectName("pdfMarginTopSpin")
+        self.gridlayout.addWidget(self.pdfMarginTopSpin, 0, 1, 1, 1)
+        self.pdfMarginLeftSpin = QtWidgets.QSpinBox(parent=self.groupBox)
+        self.pdfMarginLeftSpin.setMaximum(288)
+        self.pdfMarginLeftSpin.setObjectName("pdfMarginLeftSpin")
+        self.gridlayout.addWidget(self.pdfMarginLeftSpin, 1, 0, 1, 1)
+        self.pdfMarginRightSpin = QtWidgets.QSpinBox(parent=self.groupBox)
+        self.pdfMarginRightSpin.setMaximum(288)
+        self.pdfMarginRightSpin.setObjectName("pdfMarginRightSpin")
+        self.gridlayout.addWidget(self.pdfMarginRightSpin, 1, 2, 1, 1)
+        self.pdfMarginBottomSpin = QtWidgets.QSpinBox(parent=self.groupBox)
+        self.pdfMarginBottomSpin.setMaximum(288)
+        self.pdfMarginBottomSpin.setObjectName("pdfMarginBottomSpin")
+        self.gridlayout.addWidget(self.pdfMarginBottomSpin, 2, 1, 1, 1)
+        self.horizontalLayout.addWidget(self.groupBox)
+        spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem2)
+        self.gridLayout.addLayout(self.horizontalLayout, 3, 0, 1, 3)
+        self.verticalLayout_5.addWidget(self.groupBox_4)
+        spacerItem3 = QtWidgets.QSpacerItem(20, 21, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout_5.addItem(spacerItem3)
+        self.stackedWidget.addWidget(self.pdfPage)
+        self.rtfPage = QtWidgets.QWidget()
+        self.rtfPage.setObjectName("rtfPage")
+        self.verticalLayout_7 = QtWidgets.QVBoxLayout(self.rtfPage)
+        self.verticalLayout_7.setContentsMargins(0, -1, 0, -1)
+        self.verticalLayout_7.setObjectName("verticalLayout_7")
+        self.groupBox_5 = QtWidgets.QGroupBox(parent=self.rtfPage)
+        self.groupBox_5.setTitle("")
+        self.groupBox_5.setObjectName("groupBox_5")
+        self.verticalLayout_6 = QtWidgets.QVBoxLayout(self.groupBox_5)
+        self.verticalLayout_6.setObjectName("verticalLayout_6")
+        self.rtfWysiwygCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_5)
+        self.rtfWysiwygCheckBox.setObjectName("rtfWysiwygCheckBox")
+        self.verticalLayout_6.addWidget(self.rtfWysiwygCheckBox)
+        self.hboxlayout1 = QtWidgets.QHBoxLayout()
+        self.hboxlayout1.setObjectName("hboxlayout1")
+        self.rtfFontButton = QtWidgets.QPushButton(parent=self.groupBox_5)
+        self.rtfFontButton.setObjectName("rtfFontButton")
+        self.hboxlayout1.addWidget(self.rtfFontButton)
+        self.rtfFontSample = QtWidgets.QLineEdit(parent=self.groupBox_5)
+        self.rtfFontSample.setFocusPolicy(QtCore.Qt.FocusPolicy.NoFocus)
+        self.rtfFontSample.setAlignment(QtCore.Qt.AlignmentFlag.AlignHCenter)
+        self.rtfFontSample.setReadOnly(True)
+        self.rtfFontSample.setObjectName("rtfFontSample")
+        self.hboxlayout1.addWidget(self.rtfFontSample)
+        self.verticalLayout_6.addLayout(self.hboxlayout1)
+        self.rtfTabsCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_5)
+        self.rtfTabsCheckBox.setObjectName("rtfTabsCheckBox")
+        self.verticalLayout_6.addWidget(self.rtfTabsCheckBox)
+        self.verticalLayout_7.addWidget(self.groupBox_5)
+        spacerItem4 = QtWidgets.QSpacerItem(451, 21, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout_7.addItem(spacerItem4)
+        self.stackedWidget.addWidget(self.rtfPage)
+        self.texPage = QtWidgets.QWidget()
+        self.texPage.setObjectName("texPage")
+        self.verticalLayout_9 = QtWidgets.QVBoxLayout(self.texPage)
+        self.verticalLayout_9.setContentsMargins(0, -1, 0, -1)
+        self.verticalLayout_9.setObjectName("verticalLayout_9")
+        self.groupBox_6 = QtWidgets.QGroupBox(parent=self.texPage)
+        self.groupBox_6.setTitle("")
+        self.groupBox_6.setObjectName("groupBox_6")
+        self.verticalLayout_8 = QtWidgets.QVBoxLayout(self.groupBox_6)
+        self.verticalLayout_8.setObjectName("verticalLayout_8")
+        self.texStylesCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_6)
+        self.texStylesCheckBox.setObjectName("texStylesCheckBox")
+        self.verticalLayout_8.addWidget(self.texStylesCheckBox)
+        self.texTitleCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_6)
+        self.texTitleCheckBox.setObjectName("texTitleCheckBox")
+        self.verticalLayout_8.addWidget(self.texTitleCheckBox)
+        self.verticalLayout_9.addWidget(self.groupBox_6)
+        spacerItem5 = QtWidgets.QSpacerItem(507, 21, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout_9.addItem(spacerItem5)
+        self.stackedWidget.addWidget(self.texPage)
+        self.verticalLayout_10.addWidget(self.stackedWidget)
+        spacerItem6 = QtWidgets.QSpacerItem(519, 21, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout_10.addItem(spacerItem6)
+
+        self.retranslateUi(EditorExportersPage)
+        self.stackedWidget.setCurrentIndex(0)
+        self.rtfWysiwygCheckBox.toggled['bool'].connect(self.rtfFontButton.setDisabled) # type: ignore
+        self.rtfWysiwygCheckBox.toggled['bool'].connect(self.rtfFontSample.setDisabled) # type: ignore
+        self.pdfMagnificationSlider.sliderMoved['int'].connect(self.pdfMagnificationLCD.display) # type: ignore
+        self.pdfMagnificationSlider.valueChanged['int'].connect(self.pdfMagnificationLCD.display) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(EditorExportersPage)
+        EditorExportersPage.setTabOrder(self.exportersCombo, self.htmlWysiwygCheckBox)
+        EditorExportersPage.setTabOrder(self.htmlWysiwygCheckBox, self.htmlFoldingCheckBox)
+        EditorExportersPage.setTabOrder(self.htmlFoldingCheckBox, self.htmlStylesCheckBox)
+        EditorExportersPage.setTabOrder(self.htmlStylesCheckBox, self.htmlTitleCheckBox)
+        EditorExportersPage.setTabOrder(self.htmlTitleCheckBox, self.htmlTabsCheckBox)
+        EditorExportersPage.setTabOrder(self.htmlTabsCheckBox, self.odtWysiwygCheckBox)
+        EditorExportersPage.setTabOrder(self.odtWysiwygCheckBox, self.odtStylesCheckBox)
+        EditorExportersPage.setTabOrder(self.odtStylesCheckBox, self.odtTabsCheckBox)
+        EditorExportersPage.setTabOrder(self.odtTabsCheckBox, self.pdfMagnificationSlider)
+        EditorExportersPage.setTabOrder(self.pdfMagnificationSlider, self.pdfFontCombo)
+        EditorExportersPage.setTabOrder(self.pdfFontCombo, self.pdfPageSizeCombo)
+        EditorExportersPage.setTabOrder(self.pdfPageSizeCombo, self.pdfMarginTopSpin)
+        EditorExportersPage.setTabOrder(self.pdfMarginTopSpin, self.pdfMarginLeftSpin)
+        EditorExportersPage.setTabOrder(self.pdfMarginLeftSpin, self.pdfMarginRightSpin)
+        EditorExportersPage.setTabOrder(self.pdfMarginRightSpin, self.pdfMarginBottomSpin)
+        EditorExportersPage.setTabOrder(self.pdfMarginBottomSpin, self.rtfWysiwygCheckBox)
+        EditorExportersPage.setTabOrder(self.rtfWysiwygCheckBox, self.rtfFontButton)
+        EditorExportersPage.setTabOrder(self.rtfFontButton, self.rtfTabsCheckBox)
+        EditorExportersPage.setTabOrder(self.rtfTabsCheckBox, self.texStylesCheckBox)
+        EditorExportersPage.setTabOrder(self.texStylesCheckBox, self.texTitleCheckBox)
+
+    def retranslateUi(self, EditorExportersPage):
+        _translate = QtCore.QCoreApplication.translate
+        self.headerLabel.setText(_translate("EditorExportersPage", "<b>Configure exporters</b>"))
+        self.TextLabel1_3.setText(_translate("EditorExportersPage", "Exporter Type:"))
+        self.exportersCombo.setToolTip(_translate("EditorExportersPage", "Select the exporter to be configured."))
+        self.htmlWysiwygCheckBox.setToolTip(_translate("EditorExportersPage", "Select to export in WYSIWYG mode"))
+        self.htmlWysiwygCheckBox.setText(_translate("EditorExportersPage", "Use WYSIWYG mode"))
+        self.htmlFoldingCheckBox.setToolTip(_translate("EditorExportersPage", "Select to include folding functionality"))
+        self.htmlFoldingCheckBox.setText(_translate("EditorExportersPage", "Include folding functionality"))
+        self.htmlStylesCheckBox.setToolTip(_translate("EditorExportersPage", "Select to include only used styles"))
+        self.htmlStylesCheckBox.setText(_translate("EditorExportersPage", "Include only used styles"))
+        self.htmlTitleCheckBox.setToolTip(_translate("EditorExportersPage", "Select to use the full pathname as the document title"))
+        self.htmlTitleCheckBox.setText(_translate("EditorExportersPage", "Use full pathname as document title"))
+        self.htmlTabsCheckBox.setToolTip(_translate("EditorExportersPage", "Select to use tabs in the generated file"))
+        self.htmlTabsCheckBox.setText(_translate("EditorExportersPage", "Use tabs"))
+        self.odtWysiwygCheckBox.setToolTip(_translate("EditorExportersPage", "Select to export in WYSIWYG mode"))
+        self.odtWysiwygCheckBox.setText(_translate("EditorExportersPage", "Use WYSIWYG mode"))
+        self.odtStylesCheckBox.setToolTip(_translate("EditorExportersPage", "Select to include only used styles"))
+        self.odtStylesCheckBox.setText(_translate("EditorExportersPage", "Include only used styles"))
+        self.odtTabsCheckBox.setToolTip(_translate("EditorExportersPage", "Select to use tabs in the generated file"))
+        self.odtTabsCheckBox.setText(_translate("EditorExportersPage", "Use tabs"))
+        self.label.setText(_translate("EditorExportersPage", "Magnification:"))
+        self.pdfMagnificationSlider.setToolTip(_translate("EditorExportersPage", "Select the magnification value to be added to the font sizes of the styles"))
+        self.pdfMagnificationLCD.setToolTip(_translate("EditorExportersPage", "Displays the selected magnification value"))
+        self.label_2.setText(_translate("EditorExportersPage", "Font:"))
+        self.pdfFontCombo.setToolTip(_translate("EditorExportersPage", "Select the font from the list"))
+        self.label_3.setText(_translate("EditorExportersPage", "Pagesize:"))
+        self.pdfPageSizeCombo.setToolTip(_translate("EditorExportersPage", "Select the page size from the list"))
+        self.groupBox.setTitle(_translate("EditorExportersPage", "Margins"))
+        self.pdfMarginTopSpin.setToolTip(_translate("EditorExportersPage", "Select the top margin in points (72 pt == 1\")"))
+        self.pdfMarginLeftSpin.setToolTip(_translate("EditorExportersPage", "Select the left margin in points (72 pt == 1\")"))
+        self.pdfMarginRightSpin.setToolTip(_translate("EditorExportersPage", "Select the right margin in points (72 pt == 1\")"))
+        self.pdfMarginBottomSpin.setToolTip(_translate("EditorExportersPage", "Select the bottom margin in points (72 pt == 1\")"))
+        self.rtfWysiwygCheckBox.setToolTip(_translate("EditorExportersPage", "Select to export in WYSIWYG mode"))
+        self.rtfWysiwygCheckBox.setText(_translate("EditorExportersPage", "Use WYSIWYG mode"))
+        self.rtfFontButton.setToolTip(_translate("EditorExportersPage", "Press to select the font for the RTF export"))
+        self.rtfFontButton.setText(_translate("EditorExportersPage", "Select Font"))
+        self.rtfFontSample.setText(_translate("EditorExportersPage", "Font for RTF export"))
+        self.rtfTabsCheckBox.setToolTip(_translate("EditorExportersPage", "Select to use tabs in the generated file"))
+        self.rtfTabsCheckBox.setText(_translate("EditorExportersPage", "Use tabs"))
+        self.texStylesCheckBox.setToolTip(_translate("EditorExportersPage", "Select to include only used styles"))
+        self.texStylesCheckBox.setText(_translate("EditorExportersPage", "Include only used styles"))
+        self.texTitleCheckBox.setToolTip(_translate("EditorExportersPage", "Select to use the full pathname as the document title"))
+        self.texTitleCheckBox.setText(_translate("EditorExportersPage", "Use full pathname as document title"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Preferences/ConfigurationPages/Ui_EditorFilePage.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,456 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Preferences/ConfigurationPages/EditorFilePage.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_EditorFilePage(object):
+    def setupUi(self, EditorFilePage):
+        EditorFilePage.setObjectName("EditorFilePage")
+        EditorFilePage.resize(600, 1696)
+        self.verticalLayout_6 = QtWidgets.QVBoxLayout(EditorFilePage)
+        self.verticalLayout_6.setObjectName("verticalLayout_6")
+        self.headerLabel = QtWidgets.QLabel(parent=EditorFilePage)
+        self.headerLabel.setObjectName("headerLabel")
+        self.verticalLayout_6.addWidget(self.headerLabel)
+        self.line2 = QtWidgets.QFrame(parent=EditorFilePage)
+        self.line2.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line2.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line2.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line2.setObjectName("line2")
+        self.verticalLayout_6.addWidget(self.line2)
+        self.groupBox_3 = QtWidgets.QGroupBox(parent=EditorFilePage)
+        self.groupBox_3.setObjectName("groupBox_3")
+        self.verticalLayout_5 = QtWidgets.QVBoxLayout(self.groupBox_3)
+        self.verticalLayout_5.setObjectName("verticalLayout_5")
+        self.hboxlayout = QtWidgets.QHBoxLayout()
+        self.hboxlayout.setObjectName("hboxlayout")
+        self.clearBreakpointsCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_3)
+        self.clearBreakpointsCheckBox.setObjectName("clearBreakpointsCheckBox")
+        self.hboxlayout.addWidget(self.clearBreakpointsCheckBox)
+        self.automaticReopenCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_3)
+        self.automaticReopenCheckBox.setObjectName("automaticReopenCheckBox")
+        self.hboxlayout.addWidget(self.automaticReopenCheckBox)
+        self.verticalLayout_5.addLayout(self.hboxlayout)
+        self.gridLayout_6 = QtWidgets.QGridLayout()
+        self.gridLayout_6.setObjectName("gridLayout_6")
+        self.label = QtWidgets.QLabel(parent=self.groupBox_3)
+        self.label.setObjectName("label")
+        self.gridLayout_6.addWidget(self.label, 0, 0, 1, 1)
+        self.warnFilesizeSpinBox = QtWidgets.QSpinBox(parent=self.groupBox_3)
+        self.warnFilesizeSpinBox.setMinimum(1)
+        self.warnFilesizeSpinBox.setMaximum(16384)
+        self.warnFilesizeSpinBox.setSingleStep(16)
+        self.warnFilesizeSpinBox.setProperty("value", 1024)
+        self.warnFilesizeSpinBox.setObjectName("warnFilesizeSpinBox")
+        self.gridLayout_6.addWidget(self.warnFilesizeSpinBox, 0, 1, 1, 1)
+        spacerItem = QtWidgets.QSpacerItem(32, 17, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout_6.addItem(spacerItem, 0, 2, 1, 1)
+        self.label_13 = QtWidgets.QLabel(parent=self.groupBox_3)
+        self.label_13.setObjectName("label_13")
+        self.gridLayout_6.addWidget(self.label_13, 1, 0, 1, 1)
+        self.rejectFilesizeSpinBox = QtWidgets.QSpinBox(parent=self.groupBox_3)
+        self.rejectFilesizeSpinBox.setMinimum(1)
+        self.rejectFilesizeSpinBox.setMaximum(16384)
+        self.rejectFilesizeSpinBox.setSingleStep(16)
+        self.rejectFilesizeSpinBox.setProperty("value", 4096)
+        self.rejectFilesizeSpinBox.setObjectName("rejectFilesizeSpinBox")
+        self.gridLayout_6.addWidget(self.rejectFilesizeSpinBox, 1, 1, 1, 1)
+        self.verticalLayout_5.addLayout(self.gridLayout_6)
+        self.verticalLayout_6.addWidget(self.groupBox_3)
+        self.groupBox_5 = QtWidgets.QGroupBox(parent=EditorFilePage)
+        self.groupBox_5.setObjectName("groupBox_5")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.groupBox_5)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.groupBox_8 = QtWidgets.QGroupBox(parent=self.groupBox_5)
+        self.groupBox_8.setObjectName("groupBox_8")
+        self._12 = QtWidgets.QHBoxLayout(self.groupBox_8)
+        self._12.setObjectName("_12")
+        self.lfRadioButton = QtWidgets.QRadioButton(parent=self.groupBox_8)
+        self.lfRadioButton.setObjectName("lfRadioButton")
+        self._12.addWidget(self.lfRadioButton)
+        self.crRadioButton = QtWidgets.QRadioButton(parent=self.groupBox_8)
+        self.crRadioButton.setObjectName("crRadioButton")
+        self._12.addWidget(self.crRadioButton)
+        self.crlfRadioButton = QtWidgets.QRadioButton(parent=self.groupBox_8)
+        self.crlfRadioButton.setObjectName("crlfRadioButton")
+        self._12.addWidget(self.crlfRadioButton)
+        self.verticalLayout.addWidget(self.groupBox_8)
+        self.automaticEolConversionCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_5)
+        self.automaticEolConversionCheckBox.setObjectName("automaticEolConversionCheckBox")
+        self.verticalLayout.addWidget(self.automaticEolConversionCheckBox)
+        self.verticalLayout_6.addWidget(self.groupBox_5)
+        self.groupBox_4 = QtWidgets.QGroupBox(parent=EditorFilePage)
+        self.groupBox_4.setObjectName("groupBox_4")
+        self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.groupBox_4)
+        self.verticalLayout_3.setObjectName("verticalLayout_3")
+        self.insertFinalNewlineCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_4)
+        self.insertFinalNewlineCheckBox.setObjectName("insertFinalNewlineCheckBox")
+        self.verticalLayout_3.addWidget(self.insertFinalNewlineCheckBox)
+        self.stripWhitespaceCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_4)
+        self.stripWhitespaceCheckBox.setObjectName("stripWhitespaceCheckBox")
+        self.verticalLayout_3.addWidget(self.stripWhitespaceCheckBox)
+        self.createBackupFileCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_4)
+        self.createBackupFileCheckBox.setObjectName("createBackupFileCheckBox")
+        self.verticalLayout_3.addWidget(self.createBackupFileCheckBox)
+        self.groupBox_14 = QtWidgets.QGroupBox(parent=self.groupBox_4)
+        self.groupBox_14.setObjectName("groupBox_14")
+        self.gridLayout_7 = QtWidgets.QGridLayout(self.groupBox_14)
+        self.gridLayout_7.setObjectName("gridLayout_7")
+        self.label_14 = QtWidgets.QLabel(parent=self.groupBox_14)
+        self.label_14.setObjectName("label_14")
+        self.gridLayout_7.addWidget(self.label_14, 0, 0, 1, 1)
+        self.autosaveSpinBox = QtWidgets.QSpinBox(parent=self.groupBox_14)
+        self.autosaveSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.autosaveSpinBox.setMaximum(900)
+        self.autosaveSpinBox.setSingleStep(5)
+        self.autosaveSpinBox.setObjectName("autosaveSpinBox")
+        self.gridLayout_7.addWidget(self.autosaveSpinBox, 0, 1, 1, 1)
+        spacerItem1 = QtWidgets.QSpacerItem(415, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout_7.addItem(spacerItem1, 0, 2, 1, 1)
+        self.autosaveOnFocusLostCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_14)
+        self.autosaveOnFocusLostCheckBox.setObjectName("autosaveOnFocusLostCheckBox")
+        self.gridLayout_7.addWidget(self.autosaveOnFocusLostCheckBox, 1, 0, 1, 3)
+        self.verticalLayout_3.addWidget(self.groupBox_14)
+        self.verticalLayout_6.addWidget(self.groupBox_4)
+        self.groupBox = QtWidgets.QGroupBox(parent=EditorFilePage)
+        self.groupBox.setObjectName("groupBox")
+        self.gridLayout = QtWidgets.QGridLayout(self.groupBox)
+        self.gridLayout.setObjectName("gridLayout")
+        self.advEncodingCheckBox = QtWidgets.QCheckBox(parent=self.groupBox)
+        self.advEncodingCheckBox.setObjectName("advEncodingCheckBox")
+        self.gridLayout.addWidget(self.advEncodingCheckBox, 0, 0, 1, 2)
+        self.label_4 = QtWidgets.QLabel(parent=self.groupBox)
+        self.label_4.setObjectName("label_4")
+        self.gridLayout.addWidget(self.label_4, 1, 0, 1, 1)
+        self.defaultEncodingComboBox = QtWidgets.QComboBox(parent=self.groupBox)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.defaultEncodingComboBox.sizePolicy().hasHeightForWidth())
+        self.defaultEncodingComboBox.setSizePolicy(sizePolicy)
+        self.defaultEncodingComboBox.setObjectName("defaultEncodingComboBox")
+        self.gridLayout.addWidget(self.defaultEncodingComboBox, 1, 1, 1, 1)
+        self.verticalLayout_6.addWidget(self.groupBox)
+        self.groupBox_2 = QtWidgets.QGroupBox(parent=EditorFilePage)
+        self.groupBox_2.setObjectName("groupBox_2")
+        self.gridlayout = QtWidgets.QGridLayout(self.groupBox_2)
+        self.gridlayout.setObjectName("gridlayout")
+        self.label_2 = QtWidgets.QLabel(parent=self.groupBox_2)
+        self.label_2.setObjectName("label_2")
+        self.gridlayout.addWidget(self.label_2, 0, 0, 1, 1)
+        self.openFilesFilterComboBox = QtWidgets.QComboBox(parent=self.groupBox_2)
+        self.openFilesFilterComboBox.setObjectName("openFilesFilterComboBox")
+        self.gridlayout.addWidget(self.openFilesFilterComboBox, 0, 1, 1, 1)
+        spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridlayout.addItem(spacerItem2, 0, 2, 1, 1)
+        self.label_3 = QtWidgets.QLabel(parent=self.groupBox_2)
+        self.label_3.setObjectName("label_3")
+        self.gridlayout.addWidget(self.label_3, 1, 0, 1, 1)
+        self.saveFilesFilterComboBox = QtWidgets.QComboBox(parent=self.groupBox_2)
+        self.saveFilesFilterComboBox.setObjectName("saveFilesFilterComboBox")
+        self.gridlayout.addWidget(self.saveFilesFilterComboBox, 1, 1, 1, 1)
+        self.verticalLayout_6.addWidget(self.groupBox_2)
+        self.groupBox_6 = QtWidgets.QGroupBox(parent=EditorFilePage)
+        self.groupBox_6.setObjectName("groupBox_6")
+        self.gridLayout_2 = QtWidgets.QGridLayout(self.groupBox_6)
+        self.gridLayout_2.setObjectName("gridLayout_2")
+        self.label_5 = QtWidgets.QLabel(parent=self.groupBox_6)
+        self.label_5.setWordWrap(True)
+        self.label_5.setObjectName("label_5")
+        self.gridLayout_2.addWidget(self.label_5, 0, 0, 1, 2)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.openFiltersButton = QtWidgets.QRadioButton(parent=self.groupBox_6)
+        self.openFiltersButton.setChecked(True)
+        self.openFiltersButton.setObjectName("openFiltersButton")
+        self.horizontalLayout.addWidget(self.openFiltersButton)
+        self.savFiltersButton = QtWidgets.QRadioButton(parent=self.groupBox_6)
+        self.savFiltersButton.setObjectName("savFiltersButton")
+        self.horizontalLayout.addWidget(self.savFiltersButton)
+        self.gridLayout_2.addLayout(self.horizontalLayout, 1, 0, 1, 2)
+        self.fileFiltersList = QtWidgets.QListWidget(parent=self.groupBox_6)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.fileFiltersList.sizePolicy().hasHeightForWidth())
+        self.fileFiltersList.setSizePolicy(sizePolicy)
+        self.fileFiltersList.setMinimumSize(QtCore.QSize(0, 200))
+        self.fileFiltersList.setAlternatingRowColors(True)
+        self.fileFiltersList.setObjectName("fileFiltersList")
+        self.gridLayout_2.addWidget(self.fileFiltersList, 2, 0, 4, 1)
+        self.addFileFilterButton = QtWidgets.QPushButton(parent=self.groupBox_6)
+        self.addFileFilterButton.setObjectName("addFileFilterButton")
+        self.gridLayout_2.addWidget(self.addFileFilterButton, 2, 1, 1, 1)
+        self.editFileFilterButton = QtWidgets.QPushButton(parent=self.groupBox_6)
+        self.editFileFilterButton.setEnabled(False)
+        self.editFileFilterButton.setObjectName("editFileFilterButton")
+        self.gridLayout_2.addWidget(self.editFileFilterButton, 3, 1, 1, 1)
+        self.deleteFileFilterButton = QtWidgets.QPushButton(parent=self.groupBox_6)
+        self.deleteFileFilterButton.setEnabled(False)
+        self.deleteFileFilterButton.setObjectName("deleteFileFilterButton")
+        self.gridLayout_2.addWidget(self.deleteFileFilterButton, 4, 1, 1, 1)
+        spacerItem3 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.gridLayout_2.addItem(spacerItem3, 5, 1, 1, 1)
+        self.verticalLayout_6.addWidget(self.groupBox_6)
+        self.groupBox_7 = QtWidgets.QGroupBox(parent=EditorFilePage)
+        self.groupBox_7.setObjectName("groupBox_7")
+        self.verticalLayout_4 = QtWidgets.QVBoxLayout(self.groupBox_7)
+        self.verticalLayout_4.setObjectName("verticalLayout_4")
+        self.horizontalLayout_5 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_5.setObjectName("horizontalLayout_5")
+        self.label_8 = QtWidgets.QLabel(parent=self.groupBox_7)
+        self.label_8.setObjectName("label_8")
+        self.horizontalLayout_5.addWidget(self.label_8)
+        self.previewRefreshTimeoutSpinBox = QtWidgets.QSpinBox(parent=self.groupBox_7)
+        self.previewRefreshTimeoutSpinBox.setMinimum(500)
+        self.previewRefreshTimeoutSpinBox.setMaximum(5000)
+        self.previewRefreshTimeoutSpinBox.setSingleStep(500)
+        self.previewRefreshTimeoutSpinBox.setObjectName("previewRefreshTimeoutSpinBox")
+        self.horizontalLayout_5.addWidget(self.previewRefreshTimeoutSpinBox)
+        spacerItem4 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_5.addItem(spacerItem4)
+        self.verticalLayout_4.addLayout(self.horizontalLayout_5)
+        self.groupBox_12 = QtWidgets.QGroupBox(parent=self.groupBox_7)
+        self.groupBox_12.setObjectName("groupBox_12")
+        self.horizontalLayout_3 = QtWidgets.QHBoxLayout(self.groupBox_12)
+        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
+        self.label_12 = QtWidgets.QLabel(parent=self.groupBox_12)
+        self.label_12.setObjectName("label_12")
+        self.horizontalLayout_3.addWidget(self.label_12)
+        self.previewHtmlExtensionsEdit = QtWidgets.QLineEdit(parent=self.groupBox_12)
+        self.previewHtmlExtensionsEdit.setObjectName("previewHtmlExtensionsEdit")
+        self.horizontalLayout_3.addWidget(self.previewHtmlExtensionsEdit)
+        self.verticalLayout_4.addWidget(self.groupBox_12)
+        self.groupBox_11 = QtWidgets.QGroupBox(parent=self.groupBox_7)
+        self.groupBox_11.setObjectName("groupBox_11")
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.groupBox_11)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.gridLayout_4 = QtWidgets.QGridLayout()
+        self.gridLayout_4.setObjectName("gridLayout_4")
+        self.label_11 = QtWidgets.QLabel(parent=self.groupBox_11)
+        self.label_11.setObjectName("label_11")
+        self.gridLayout_4.addWidget(self.label_11, 0, 0, 1, 1)
+        self.previewMarkdownExtensionsEdit = QtWidgets.QLineEdit(parent=self.groupBox_11)
+        self.previewMarkdownExtensionsEdit.setObjectName("previewMarkdownExtensionsEdit")
+        self.gridLayout_4.addWidget(self.previewMarkdownExtensionsEdit, 0, 1, 1, 1)
+        self.label_6 = QtWidgets.QLabel(parent=self.groupBox_11)
+        self.label_6.setObjectName("label_6")
+        self.gridLayout_4.addWidget(self.label_6, 1, 0, 1, 1)
+        self.previewMarkdownHTMLFormatComboBox = QtWidgets.QComboBox(parent=self.groupBox_11)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.previewMarkdownHTMLFormatComboBox.sizePolicy().hasHeightForWidth())
+        self.previewMarkdownHTMLFormatComboBox.setSizePolicy(sizePolicy)
+        self.previewMarkdownHTMLFormatComboBox.setObjectName("previewMarkdownHTMLFormatComboBox")
+        self.gridLayout_4.addWidget(self.previewMarkdownHTMLFormatComboBox, 1, 1, 1, 1)
+        self.verticalLayout_2.addLayout(self.gridLayout_4)
+        self.previewMarkdownNLtoBreakCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_11)
+        self.previewMarkdownNLtoBreakCheckBox.setObjectName("previewMarkdownNLtoBreakCheckBox")
+        self.verticalLayout_2.addWidget(self.previewMarkdownNLtoBreakCheckBox)
+        self.horizontalLayout_6 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_6.setObjectName("horizontalLayout_6")
+        self.previewMarkdownPyMdownCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_11)
+        self.previewMarkdownPyMdownCheckBox.setObjectName("previewMarkdownPyMdownCheckBox")
+        self.horizontalLayout_6.addWidget(self.previewMarkdownPyMdownCheckBox)
+        self.previewMarkdownPyMdownInstallPushButton = QtWidgets.QPushButton(parent=self.groupBox_11)
+        self.previewMarkdownPyMdownInstallPushButton.setObjectName("previewMarkdownPyMdownInstallPushButton")
+        self.horizontalLayout_6.addWidget(self.previewMarkdownPyMdownInstallPushButton)
+        spacerItem5 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_6.addItem(spacerItem5)
+        self.verticalLayout_2.addLayout(self.horizontalLayout_6)
+        self.gridLayout_5 = QtWidgets.QGridLayout()
+        self.gridLayout_5.setObjectName("gridLayout_5")
+        self.previewMarkdownMathJaxCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_11)
+        self.previewMarkdownMathJaxCheckBox.setObjectName("previewMarkdownMathJaxCheckBox")
+        self.gridLayout_5.addWidget(self.previewMarkdownMathJaxCheckBox, 0, 0, 1, 1)
+        self.previewMarkdownMermaidCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_11)
+        self.previewMarkdownMermaidCheckBox.setObjectName("previewMarkdownMermaidCheckBox")
+        self.gridLayout_5.addWidget(self.previewMarkdownMermaidCheckBox, 0, 1, 1, 1)
+        self.TextLabel1_2_2_3 = QtWidgets.QLabel(parent=self.groupBox_11)
+        self.TextLabel1_2_2_3.setWordWrap(True)
+        self.TextLabel1_2_2_3.setObjectName("TextLabel1_2_2_3")
+        self.gridLayout_5.addWidget(self.TextLabel1_2_2_3, 1, 0, 1, 2)
+        self.verticalLayout_2.addLayout(self.gridLayout_5)
+        self.verticalLayout_4.addWidget(self.groupBox_11)
+        self.groupBox_10 = QtWidgets.QGroupBox(parent=self.groupBox_7)
+        self.groupBox_10.setObjectName("groupBox_10")
+        self.gridLayout_3 = QtWidgets.QGridLayout(self.groupBox_10)
+        self.gridLayout_3.setObjectName("gridLayout_3")
+        self.label_9 = QtWidgets.QLabel(parent=self.groupBox_10)
+        self.label_9.setObjectName("label_9")
+        self.gridLayout_3.addWidget(self.label_9, 0, 0, 1, 1)
+        self.previewRestExtensionsEdit = QtWidgets.QLineEdit(parent=self.groupBox_10)
+        self.previewRestExtensionsEdit.setObjectName("previewRestExtensionsEdit")
+        self.gridLayout_3.addWidget(self.previewRestExtensionsEdit, 0, 1, 1, 1)
+        self.previewRestSphinxCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_10)
+        self.previewRestSphinxCheckBox.setObjectName("previewRestSphinxCheckBox")
+        self.gridLayout_3.addWidget(self.previewRestSphinxCheckBox, 1, 0, 1, 2)
+        self.groupBox_13 = QtWidgets.QGroupBox(parent=self.groupBox_10)
+        self.groupBox_13.setObjectName("groupBox_13")
+        self.horizontalLayout_4 = QtWidgets.QHBoxLayout(self.groupBox_13)
+        self.horizontalLayout_4.setObjectName("horizontalLayout_4")
+        self.label_7 = QtWidgets.QLabel(parent=self.groupBox_13)
+        self.label_7.setObjectName("label_7")
+        self.horizontalLayout_4.addWidget(self.label_7)
+        self.previewRestDocutilsHTMLFormatComboBox = QtWidgets.QComboBox(parent=self.groupBox_13)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.previewRestDocutilsHTMLFormatComboBox.sizePolicy().hasHeightForWidth())
+        self.previewRestDocutilsHTMLFormatComboBox.setSizePolicy(sizePolicy)
+        self.previewRestDocutilsHTMLFormatComboBox.setObjectName("previewRestDocutilsHTMLFormatComboBox")
+        self.horizontalLayout_4.addWidget(self.previewRestDocutilsHTMLFormatComboBox)
+        self.gridLayout_3.addWidget(self.groupBox_13, 2, 0, 1, 2)
+        self.verticalLayout_4.addWidget(self.groupBox_10)
+        self.groupBox_9 = QtWidgets.QGroupBox(parent=self.groupBox_7)
+        self.groupBox_9.setObjectName("groupBox_9")
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.groupBox_9)
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.label_10 = QtWidgets.QLabel(parent=self.groupBox_9)
+        self.label_10.setObjectName("label_10")
+        self.horizontalLayout_2.addWidget(self.label_10)
+        self.previewQssExtensionsEdit = QtWidgets.QLineEdit(parent=self.groupBox_9)
+        self.previewQssExtensionsEdit.setObjectName("previewQssExtensionsEdit")
+        self.horizontalLayout_2.addWidget(self.previewQssExtensionsEdit)
+        self.verticalLayout_4.addWidget(self.groupBox_9)
+        self.verticalLayout_6.addWidget(self.groupBox_7)
+
+        self.retranslateUi(EditorFilePage)
+        QtCore.QMetaObject.connectSlotsByName(EditorFilePage)
+        EditorFilePage.setTabOrder(self.clearBreakpointsCheckBox, self.automaticReopenCheckBox)
+        EditorFilePage.setTabOrder(self.automaticReopenCheckBox, self.warnFilesizeSpinBox)
+        EditorFilePage.setTabOrder(self.warnFilesizeSpinBox, self.rejectFilesizeSpinBox)
+        EditorFilePage.setTabOrder(self.rejectFilesizeSpinBox, self.lfRadioButton)
+        EditorFilePage.setTabOrder(self.lfRadioButton, self.crRadioButton)
+        EditorFilePage.setTabOrder(self.crRadioButton, self.crlfRadioButton)
+        EditorFilePage.setTabOrder(self.crlfRadioButton, self.automaticEolConversionCheckBox)
+        EditorFilePage.setTabOrder(self.automaticEolConversionCheckBox, self.insertFinalNewlineCheckBox)
+        EditorFilePage.setTabOrder(self.insertFinalNewlineCheckBox, self.stripWhitespaceCheckBox)
+        EditorFilePage.setTabOrder(self.stripWhitespaceCheckBox, self.createBackupFileCheckBox)
+        EditorFilePage.setTabOrder(self.createBackupFileCheckBox, self.autosaveSpinBox)
+        EditorFilePage.setTabOrder(self.autosaveSpinBox, self.autosaveOnFocusLostCheckBox)
+        EditorFilePage.setTabOrder(self.autosaveOnFocusLostCheckBox, self.advEncodingCheckBox)
+        EditorFilePage.setTabOrder(self.advEncodingCheckBox, self.defaultEncodingComboBox)
+        EditorFilePage.setTabOrder(self.defaultEncodingComboBox, self.openFilesFilterComboBox)
+        EditorFilePage.setTabOrder(self.openFilesFilterComboBox, self.saveFilesFilterComboBox)
+        EditorFilePage.setTabOrder(self.saveFilesFilterComboBox, self.openFiltersButton)
+        EditorFilePage.setTabOrder(self.openFiltersButton, self.savFiltersButton)
+        EditorFilePage.setTabOrder(self.savFiltersButton, self.fileFiltersList)
+        EditorFilePage.setTabOrder(self.fileFiltersList, self.addFileFilterButton)
+        EditorFilePage.setTabOrder(self.addFileFilterButton, self.editFileFilterButton)
+        EditorFilePage.setTabOrder(self.editFileFilterButton, self.deleteFileFilterButton)
+        EditorFilePage.setTabOrder(self.deleteFileFilterButton, self.previewRefreshTimeoutSpinBox)
+        EditorFilePage.setTabOrder(self.previewRefreshTimeoutSpinBox, self.previewHtmlExtensionsEdit)
+        EditorFilePage.setTabOrder(self.previewHtmlExtensionsEdit, self.previewMarkdownExtensionsEdit)
+        EditorFilePage.setTabOrder(self.previewMarkdownExtensionsEdit, self.previewMarkdownHTMLFormatComboBox)
+        EditorFilePage.setTabOrder(self.previewMarkdownHTMLFormatComboBox, self.previewMarkdownNLtoBreakCheckBox)
+        EditorFilePage.setTabOrder(self.previewMarkdownNLtoBreakCheckBox, self.previewMarkdownPyMdownCheckBox)
+        EditorFilePage.setTabOrder(self.previewMarkdownPyMdownCheckBox, self.previewMarkdownPyMdownInstallPushButton)
+        EditorFilePage.setTabOrder(self.previewMarkdownPyMdownInstallPushButton, self.previewMarkdownMathJaxCheckBox)
+        EditorFilePage.setTabOrder(self.previewMarkdownMathJaxCheckBox, self.previewMarkdownMermaidCheckBox)
+        EditorFilePage.setTabOrder(self.previewMarkdownMermaidCheckBox, self.previewRestExtensionsEdit)
+        EditorFilePage.setTabOrder(self.previewRestExtensionsEdit, self.previewRestSphinxCheckBox)
+        EditorFilePage.setTabOrder(self.previewRestSphinxCheckBox, self.previewRestDocutilsHTMLFormatComboBox)
+        EditorFilePage.setTabOrder(self.previewRestDocutilsHTMLFormatComboBox, self.previewQssExtensionsEdit)
+
+    def retranslateUi(self, EditorFilePage):
+        _translate = QtCore.QCoreApplication.translate
+        self.headerLabel.setText(_translate("EditorFilePage", "<b>Configure file handling settings</b>"))
+        self.groupBox_3.setTitle(_translate("EditorFilePage", "Open && Close"))
+        self.clearBreakpointsCheckBox.setToolTip(_translate("EditorFilePage", "Select, whether breakpoint belonging to an editor should be cleared, when the editor is closed"))
+        self.clearBreakpointsCheckBox.setText(_translate("EditorFilePage", "Clear Breakpoints upon closing"))
+        self.automaticReopenCheckBox.setToolTip(_translate("EditorFilePage", "Select to reread the file automatically, if it was changed externally"))
+        self.automaticReopenCheckBox.setText(_translate("EditorFilePage", "Reread automatically when changed externally"))
+        self.label.setText(_translate("EditorFilePage", "Warn, if file is greater than"))
+        self.warnFilesizeSpinBox.setToolTip(_translate("EditorFilePage", "Enter the filesize, a warning dialog should be shown."))
+        self.warnFilesizeSpinBox.setSuffix(_translate("EditorFilePage", " KB"))
+        self.label_13.setText(_translate("EditorFilePage", "Reject, if file is greater than"))
+        self.rejectFilesizeSpinBox.setToolTip(_translate("EditorFilePage", "Enter the filesize, opening a file should be rejected."))
+        self.rejectFilesizeSpinBox.setSuffix(_translate("EditorFilePage", " KB"))
+        self.groupBox_5.setTitle(_translate("EditorFilePage", "End of Line"))
+        self.groupBox_8.setTitle(_translate("EditorFilePage", "End of Line Characters"))
+        self.lfRadioButton.setToolTip(_translate("EditorFilePage", "Select Unix type end of line"))
+        self.lfRadioButton.setText(_translate("EditorFilePage", "Unix"))
+        self.crRadioButton.setToolTip(_translate("EditorFilePage", "Select Macintosh type end of line"))
+        self.crRadioButton.setText(_translate("EditorFilePage", "Macintosh"))
+        self.crlfRadioButton.setToolTip(_translate("EditorFilePage", "Select Windows type end of line"))
+        self.crlfRadioButton.setText(_translate("EditorFilePage", "Windows/DOS"))
+        self.automaticEolConversionCheckBox.setToolTip(_translate("EditorFilePage", "Select whether the eol type should be converted upon opening the file."))
+        self.automaticEolConversionCheckBox.setText(_translate("EditorFilePage", "Automatic End of Line Conversion"))
+        self.groupBox_4.setTitle(_translate("EditorFilePage", "Save"))
+        self.insertFinalNewlineCheckBox.setToolTip(_translate("EditorFilePage", "Select to insert a final newline if none is there"))
+        self.insertFinalNewlineCheckBox.setText(_translate("EditorFilePage", "Insert final newline upon save"))
+        self.stripWhitespaceCheckBox.setToolTip(_translate("EditorFilePage", "Select, whether trailing whitespace should be removed upon save"))
+        self.stripWhitespaceCheckBox.setText(_translate("EditorFilePage", "Strip trailing whitespace upon save"))
+        self.createBackupFileCheckBox.setToolTip(_translate("EditorFilePage", "Select, whether a backup file shall be generated upon save"))
+        self.createBackupFileCheckBox.setText(_translate("EditorFilePage", "Create backup file upon save"))
+        self.groupBox_14.setTitle(_translate("EditorFilePage", "Autosave"))
+        self.label_14.setText(_translate("EditorFilePage", "Interval:"))
+        self.autosaveSpinBox.setToolTip(_translate("EditorFilePage", "Enter the auto save interval in seconds."))
+        self.autosaveSpinBox.setSpecialValueText(_translate("EditorFilePage", "off"))
+        self.autosaveSpinBox.setSuffix(_translate("EditorFilePage", " s"))
+        self.autosaveOnFocusLostCheckBox.setToolTip(_translate("EditorFilePage", "Select to save the file automatically when the editor looses the input focus."))
+        self.autosaveOnFocusLostCheckBox.setText(_translate("EditorFilePage", "Autosave when focus lost"))
+        self.groupBox.setTitle(_translate("EditorFilePage", "Encoding"))
+        self.advEncodingCheckBox.setToolTip(_translate("EditorFilePage", "Select to use the advanced encoding detection "))
+        self.advEncodingCheckBox.setWhatsThis(_translate("EditorFilePage", "<b>Advanced encoding detection</b>\n"
+"<p>Select to use the advanced encoding detection based on the &quot;universal character encoding detector&quot; from <a href=\"http://chardet.feedparser.org\">http://chardet.feedparser.org</a>.</p>"))
+        self.advEncodingCheckBox.setText(_translate("EditorFilePage", "Use advanced encoding detection"))
+        self.label_4.setText(_translate("EditorFilePage", "Default Encoding:"))
+        self.defaultEncodingComboBox.setToolTip(_translate("EditorFilePage", "Select the string encoding to be used."))
+        self.groupBox_2.setTitle(_translate("EditorFilePage", "Default File Filters"))
+        self.label_2.setText(_translate("EditorFilePage", "Open Files:"))
+        self.label_3.setText(_translate("EditorFilePage", "Save Files:"))
+        self.groupBox_6.setTitle(_translate("EditorFilePage", "Additional File Filters"))
+        self.label_5.setText(_translate("EditorFilePage", "<b>Note:</b> Save file filters must contain one wildcard pattern only."))
+        self.openFiltersButton.setToolTip(_translate("EditorFilePage", "Select to edit the open file filters"))
+        self.openFiltersButton.setText(_translate("EditorFilePage", "Open Files"))
+        self.savFiltersButton.setToolTip(_translate("EditorFilePage", "Select to edit the save file filters"))
+        self.savFiltersButton.setText(_translate("EditorFilePage", "Save Files"))
+        self.fileFiltersList.setSortingEnabled(True)
+        self.addFileFilterButton.setText(_translate("EditorFilePage", "Add..."))
+        self.editFileFilterButton.setText(_translate("EditorFilePage", "Edit..."))
+        self.deleteFileFilterButton.setText(_translate("EditorFilePage", "Delete"))
+        self.groupBox_7.setTitle(_translate("EditorFilePage", "File Preview"))
+        self.label_8.setText(_translate("EditorFilePage", "Refresh Timeout:"))
+        self.previewRefreshTimeoutSpinBox.setToolTip(_translate("EditorFilePage", "Enter the timeout in milliseconds until the preview is refreshed"))
+        self.previewRefreshTimeoutSpinBox.setSuffix(_translate("EditorFilePage", " ms"))
+        self.groupBox_12.setTitle(_translate("EditorFilePage", "HTML Files"))
+        self.label_12.setText(_translate("EditorFilePage", "File Extensions:"))
+        self.previewHtmlExtensionsEdit.setToolTip(_translate("EditorFilePage", "Enter the filename extensions of HTML files that may be previewed (separated by a space)"))
+        self.groupBox_11.setTitle(_translate("EditorFilePage", "Markdown Files"))
+        self.label_11.setText(_translate("EditorFilePage", "File Extensions:"))
+        self.previewMarkdownExtensionsEdit.setToolTip(_translate("EditorFilePage", "Enter the filename extensions of Markdown files that may be previewed (separated by a space)"))
+        self.label_6.setText(_translate("EditorFilePage", "HTML Format:"))
+        self.previewMarkdownHTMLFormatComboBox.setToolTip(_translate("EditorFilePage", "Select the HTML format to be generated"))
+        self.previewMarkdownNLtoBreakCheckBox.setToolTip(_translate("EditorFilePage", "Select this to convert a new line character to an HTML &lt;br/&gt; tag."))
+        self.previewMarkdownNLtoBreakCheckBox.setText(_translate("EditorFilePage", "Convert New Line to HTML Break"))
+        self.previewMarkdownPyMdownCheckBox.setToolTip(_translate("EditorFilePage", "Select to enable the use of the PyMdown extensions"))
+        self.previewMarkdownPyMdownCheckBox.setWhatsThis(_translate("EditorFilePage", "<b>Enable PyMdown Extensions</b>\n"
+"<p>Select this entry to enable the use of the PyMdown extensions. These have to be installed with <code>pip install pymdown-extensions</code>.</p>"))
+        self.previewMarkdownPyMdownCheckBox.setText(_translate("EditorFilePage", "Enable PyMdown Extensions"))
+        self.previewMarkdownPyMdownInstallPushButton.setToolTip(_translate("EditorFilePage", "Press to install the PyMdown extensions"))
+        self.previewMarkdownPyMdownInstallPushButton.setText(_translate("EditorFilePage", "Install PyMdown Extensions"))
+        self.previewMarkdownMathJaxCheckBox.setToolTip(_translate("EditorFilePage", "Select to enable Math support using MathJax"))
+        self.previewMarkdownMathJaxCheckBox.setText(_translate("EditorFilePage", "Enable Math support"))
+        self.previewMarkdownMermaidCheckBox.setToolTip(_translate("EditorFilePage", "Select to enable Graph support using Mermaid"))
+        self.previewMarkdownMermaidCheckBox.setText(_translate("EditorFilePage", "Enable Graph support"))
+        self.TextLabel1_2_2_3.setText(_translate("EditorFilePage", "<font color=\"#FF0000\"><b>Warning:</b> Activating the above options will download files via CDNs causing your<br/>IP address to be exposed.</font>"))
+        self.groupBox_10.setTitle(_translate("EditorFilePage", "ReST Files"))
+        self.label_9.setText(_translate("EditorFilePage", "File Extensions:"))
+        self.previewRestExtensionsEdit.setToolTip(_translate("EditorFilePage", "Enter the filename extensions of ReStructuredText files that may be previewed (separated by a space)"))
+        self.previewRestSphinxCheckBox.setToolTip(_translate("EditorFilePage", "Select to use \'sphinx\' to generate the ReST preview"))
+        self.previewRestSphinxCheckBox.setText(_translate("EditorFilePage", "Use \'sphinx\' for ReST preview"))
+        self.groupBox_13.setTitle(_translate("EditorFilePage", "Docutils"))
+        self.label_7.setText(_translate("EditorFilePage", "HTML Format:"))
+        self.previewRestDocutilsHTMLFormatComboBox.setToolTip(_translate("EditorFilePage", "Select the HTML format to be generated"))
+        self.groupBox_9.setTitle(_translate("EditorFilePage", "QSS Files"))
+        self.label_10.setText(_translate("EditorFilePage", "File Extensions:"))
+        self.previewQssExtensionsEdit.setToolTip(_translate("EditorFilePage", "Enter the filename extensions of Qt Stylesheet files that may be previewed (separated by a space)"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Preferences/ConfigurationPages/Ui_EditorGeneralPage.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,324 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Preferences/ConfigurationPages/EditorGeneralPage.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_EditorGeneralPage(object):
+    def setupUi(self, EditorGeneralPage):
+        EditorGeneralPage.setObjectName("EditorGeneralPage")
+        EditorGeneralPage.resize(550, 1119)
+        self.verticalLayout_6 = QtWidgets.QVBoxLayout(EditorGeneralPage)
+        self.verticalLayout_6.setObjectName("verticalLayout_6")
+        self.headerLabel = QtWidgets.QLabel(parent=EditorGeneralPage)
+        self.headerLabel.setObjectName("headerLabel")
+        self.verticalLayout_6.addWidget(self.headerLabel)
+        self.line2 = QtWidgets.QFrame(parent=EditorGeneralPage)
+        self.line2.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line2.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line2.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line2.setObjectName("line2")
+        self.verticalLayout_6.addWidget(self.line2)
+        self.groupBox_5 = QtWidgets.QGroupBox(parent=EditorGeneralPage)
+        self.groupBox_5.setObjectName("groupBox_5")
+        self.verticalLayout_4 = QtWidgets.QVBoxLayout(self.groupBox_5)
+        self.verticalLayout_4.setObjectName("verticalLayout_4")
+        self.gridLayout_2 = QtWidgets.QGridLayout()
+        self.gridLayout_2.setObjectName("gridLayout_2")
+        self.autoindentCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_5)
+        self.autoindentCheckBox.setObjectName("autoindentCheckBox")
+        self.gridLayout_2.addWidget(self.autoindentCheckBox, 0, 0, 1, 1)
+        self.tabforindentationCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_5)
+        self.tabforindentationCheckBox.setObjectName("tabforindentationCheckBox")
+        self.gridLayout_2.addWidget(self.tabforindentationCheckBox, 0, 1, 1, 1)
+        self.tabindentsCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_5)
+        self.tabindentsCheckBox.setObjectName("tabindentsCheckBox")
+        self.gridLayout_2.addWidget(self.tabindentsCheckBox, 1, 0, 1, 1)
+        self.converttabsCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_5)
+        self.converttabsCheckBox.setObjectName("converttabsCheckBox")
+        self.gridLayout_2.addWidget(self.converttabsCheckBox, 1, 1, 1, 1)
+        self.verticalLayout_4.addLayout(self.gridLayout_2)
+        self.gridLayout_4 = QtWidgets.QGridLayout()
+        self.gridLayout_4.setObjectName("gridLayout_4")
+        self.TextLabel13_3 = QtWidgets.QLabel(parent=self.groupBox_5)
+        self.TextLabel13_3.setObjectName("TextLabel13_3")
+        self.gridLayout_4.addWidget(self.TextLabel13_3, 0, 0, 1, 1)
+        self.tabwidthSlider = QtWidgets.QSlider(parent=self.groupBox_5)
+        self.tabwidthSlider.setMinimum(1)
+        self.tabwidthSlider.setMaximum(20)
+        self.tabwidthSlider.setProperty("value", 4)
+        self.tabwidthSlider.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.tabwidthSlider.setTickInterval(1)
+        self.tabwidthSlider.setObjectName("tabwidthSlider")
+        self.gridLayout_4.addWidget(self.tabwidthSlider, 0, 1, 1, 1)
+        self.tabwidthLCD = QtWidgets.QLCDNumber(parent=self.groupBox_5)
+        self.tabwidthLCD.setDigitCount(2)
+        self.tabwidthLCD.setSegmentStyle(QtWidgets.QLCDNumber.SegmentStyle.Flat)
+        self.tabwidthLCD.setProperty("value", 4.0)
+        self.tabwidthLCD.setObjectName("tabwidthLCD")
+        self.gridLayout_4.addWidget(self.tabwidthLCD, 0, 2, 1, 1)
+        self.TextLabel13_2_3 = QtWidgets.QLabel(parent=self.groupBox_5)
+        self.TextLabel13_2_3.setObjectName("TextLabel13_2_3")
+        self.gridLayout_4.addWidget(self.TextLabel13_2_3, 1, 0, 1, 1)
+        self.indentwidthSlider = QtWidgets.QSlider(parent=self.groupBox_5)
+        self.indentwidthSlider.setMinimum(1)
+        self.indentwidthSlider.setMaximum(20)
+        self.indentwidthSlider.setProperty("value", 4)
+        self.indentwidthSlider.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.indentwidthSlider.setTickInterval(1)
+        self.indentwidthSlider.setObjectName("indentwidthSlider")
+        self.gridLayout_4.addWidget(self.indentwidthSlider, 1, 1, 1, 1)
+        self.indentwidthLCD = QtWidgets.QLCDNumber(parent=self.groupBox_5)
+        self.indentwidthLCD.setDigitCount(2)
+        self.indentwidthLCD.setSegmentStyle(QtWidgets.QLCDNumber.SegmentStyle.Flat)
+        self.indentwidthLCD.setProperty("value", 4.0)
+        self.indentwidthLCD.setObjectName("indentwidthLCD")
+        self.gridLayout_4.addWidget(self.indentwidthLCD, 1, 2, 1, 1)
+        self.verticalLayout_4.addLayout(self.gridLayout_4)
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.languageOverrideWidget = QtWidgets.QTreeWidget(parent=self.groupBox_5)
+        self.languageOverrideWidget.setAlternatingRowColors(True)
+        self.languageOverrideWidget.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.ExtendedSelection)
+        self.languageOverrideWidget.setRootIsDecorated(False)
+        self.languageOverrideWidget.setItemsExpandable(False)
+        self.languageOverrideWidget.setObjectName("languageOverrideWidget")
+        self.horizontalLayout_2.addWidget(self.languageOverrideWidget)
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout()
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout_2.addItem(spacerItem)
+        self.addButton = QtWidgets.QToolButton(parent=self.groupBox_5)
+        self.addButton.setObjectName("addButton")
+        self.verticalLayout_2.addWidget(self.addButton)
+        self.deleteButton = QtWidgets.QToolButton(parent=self.groupBox_5)
+        self.deleteButton.setObjectName("deleteButton")
+        self.verticalLayout_2.addWidget(self.deleteButton)
+        self.editButton = QtWidgets.QToolButton(parent=self.groupBox_5)
+        self.editButton.setObjectName("editButton")
+        self.verticalLayout_2.addWidget(self.editButton)
+        spacerItem1 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout_2.addItem(spacerItem1)
+        self.horizontalLayout_2.addLayout(self.verticalLayout_2)
+        self.verticalLayout_4.addLayout(self.horizontalLayout_2)
+        self.verticalLayout_6.addWidget(self.groupBox_5)
+        self.sourceNavigationGroupBox = QtWidgets.QGroupBox(parent=EditorGeneralPage)
+        self.sourceNavigationGroupBox.setCheckable(True)
+        self.sourceNavigationGroupBox.setObjectName("sourceNavigationGroupBox")
+        self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.sourceNavigationGroupBox)
+        self.verticalLayout_3.setObjectName("verticalLayout_3")
+        self.sourceOutlineGroupBox = QtWidgets.QGroupBox(parent=self.sourceNavigationGroupBox)
+        self.sourceOutlineGroupBox.setCheckable(True)
+        self.sourceOutlineGroupBox.setObjectName("sourceOutlineGroupBox")
+        self.gridLayout_3 = QtWidgets.QGridLayout(self.sourceOutlineGroupBox)
+        self.gridLayout_3.setObjectName("gridLayout_3")
+        self.label_2 = QtWidgets.QLabel(parent=self.sourceOutlineGroupBox)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout_3.addWidget(self.label_2, 0, 0, 1, 1)
+        self.sourceOutlineWidthSpinBox = QtWidgets.QSpinBox(parent=self.sourceOutlineGroupBox)
+        self.sourceOutlineWidthSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.sourceOutlineWidthSpinBox.setMinimum(50)
+        self.sourceOutlineWidthSpinBox.setMaximum(498)
+        self.sourceOutlineWidthSpinBox.setSingleStep(50)
+        self.sourceOutlineWidthSpinBox.setObjectName("sourceOutlineWidthSpinBox")
+        self.gridLayout_3.addWidget(self.sourceOutlineWidthSpinBox, 0, 1, 1, 1)
+        self.label_3 = QtWidgets.QLabel(parent=self.sourceOutlineGroupBox)
+        self.label_3.setObjectName("label_3")
+        self.gridLayout_3.addWidget(self.label_3, 0, 2, 1, 1)
+        self.sourceOutlineWidthStepSpinBox = QtWidgets.QSpinBox(parent=self.sourceOutlineGroupBox)
+        self.sourceOutlineWidthStepSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.sourceOutlineWidthStepSpinBox.setMinimum(10)
+        self.sourceOutlineWidthStepSpinBox.setMaximum(100)
+        self.sourceOutlineWidthStepSpinBox.setSingleStep(10)
+        self.sourceOutlineWidthStepSpinBox.setObjectName("sourceOutlineWidthStepSpinBox")
+        self.gridLayout_3.addWidget(self.sourceOutlineWidthStepSpinBox, 0, 3, 1, 1)
+        spacerItem2 = QtWidgets.QSpacerItem(345, 17, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout_3.addItem(spacerItem2, 0, 4, 1, 1)
+        self.sourceOutlineShowCodingCheckBox = QtWidgets.QCheckBox(parent=self.sourceOutlineGroupBox)
+        self.sourceOutlineShowCodingCheckBox.setObjectName("sourceOutlineShowCodingCheckBox")
+        self.gridLayout_3.addWidget(self.sourceOutlineShowCodingCheckBox, 1, 0, 1, 5)
+        self.verticalLayout_3.addWidget(self.sourceOutlineGroupBox)
+        self.verticalLayout_6.addWidget(self.sourceNavigationGroupBox)
+        self.commentsGroupBox = QtWidgets.QGroupBox(parent=EditorGeneralPage)
+        self.commentsGroupBox.setObjectName("commentsGroupBox")
+        self.gridLayout = QtWidgets.QGridLayout(self.commentsGroupBox)
+        self.gridLayout.setObjectName("gridLayout")
+        self.comment0CheckBox = QtWidgets.QCheckBox(parent=self.commentsGroupBox)
+        self.comment0CheckBox.setObjectName("comment0CheckBox")
+        self.gridLayout.addWidget(self.comment0CheckBox, 0, 0, 1, 1)
+        self.verticalLayout_6.addWidget(self.commentsGroupBox)
+        self.docstringGroupBox = QtWidgets.QGroupBox(parent=EditorGeneralPage)
+        self.docstringGroupBox.setObjectName("docstringGroupBox")
+        self.gridLayout_6 = QtWidgets.QGridLayout(self.docstringGroupBox)
+        self.gridLayout_6.setObjectName("gridLayout_6")
+        self.label_4 = QtWidgets.QLabel(parent=self.docstringGroupBox)
+        self.label_4.setObjectName("label_4")
+        self.gridLayout_6.addWidget(self.label_4, 0, 0, 1, 1)
+        self.docstringStyleComboBox = QtWidgets.QComboBox(parent=self.docstringGroupBox)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.docstringStyleComboBox.sizePolicy().hasHeightForWidth())
+        self.docstringStyleComboBox.setSizePolicy(sizePolicy)
+        self.docstringStyleComboBox.setObjectName("docstringStyleComboBox")
+        self.gridLayout_6.addWidget(self.docstringStyleComboBox, 0, 1, 1, 1)
+        self.docstringCompletionCheckBox = QtWidgets.QCheckBox(parent=self.docstringGroupBox)
+        self.docstringCompletionCheckBox.setObjectName("docstringCompletionCheckBox")
+        self.gridLayout_6.addWidget(self.docstringCompletionCheckBox, 1, 0, 1, 2)
+        self.verticalLayout_6.addWidget(self.docstringGroupBox)
+        self.mouseHoverHelpGroupBox = QtWidgets.QGroupBox(parent=EditorGeneralPage)
+        self.mouseHoverHelpGroupBox.setCheckable(True)
+        self.mouseHoverHelpGroupBox.setObjectName("mouseHoverHelpGroupBox")
+        self.horizontalLayout = QtWidgets.QHBoxLayout(self.mouseHoverHelpGroupBox)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.label_5 = QtWidgets.QLabel(parent=self.mouseHoverHelpGroupBox)
+        self.label_5.setObjectName("label_5")
+        self.horizontalLayout.addWidget(self.label_5)
+        self.mouseDwellTimeSpinBox = QtWidgets.QSpinBox(parent=self.mouseHoverHelpGroupBox)
+        self.mouseDwellTimeSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.mouseDwellTimeSpinBox.setMinimum(100)
+        self.mouseDwellTimeSpinBox.setMaximum(1000)
+        self.mouseDwellTimeSpinBox.setSingleStep(50)
+        self.mouseDwellTimeSpinBox.setProperty("value", 500)
+        self.mouseDwellTimeSpinBox.setObjectName("mouseDwellTimeSpinBox")
+        self.horizontalLayout.addWidget(self.mouseDwellTimeSpinBox)
+        spacerItem3 = QtWidgets.QSpacerItem(347, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem3)
+        self.verticalLayout_6.addWidget(self.mouseHoverHelpGroupBox)
+        self.groupBox = QtWidgets.QGroupBox(parent=EditorGeneralPage)
+        self.groupBox.setObjectName("groupBox")
+        self.verticalLayout_5 = QtWidgets.QVBoxLayout(self.groupBox)
+        self.verticalLayout_5.setObjectName("verticalLayout_5")
+        self.label_6 = QtWidgets.QLabel(parent=self.groupBox)
+        self.label_6.setWordWrap(True)
+        self.label_6.setObjectName("label_6")
+        self.verticalLayout_5.addWidget(self.label_6)
+        self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
+        self.rectangularSelectionCtrlButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.rectangularSelectionCtrlButton.setObjectName("rectangularSelectionCtrlButton")
+        self.horizontalLayout_3.addWidget(self.rectangularSelectionCtrlButton)
+        self.rectangularSelectionAltButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.rectangularSelectionAltButton.setObjectName("rectangularSelectionAltButton")
+        self.horizontalLayout_3.addWidget(self.rectangularSelectionAltButton)
+        self.rectangularSelectionMetaButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.rectangularSelectionMetaButton.setObjectName("rectangularSelectionMetaButton")
+        self.horizontalLayout_3.addWidget(self.rectangularSelectionMetaButton)
+        self.verticalLayout_5.addLayout(self.horizontalLayout_3)
+        self.verticalLayout_6.addWidget(self.groupBox)
+        self.virtualSpaceGroupBox = QtWidgets.QGroupBox(parent=EditorGeneralPage)
+        self.virtualSpaceGroupBox.setObjectName("virtualSpaceGroupBox")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.virtualSpaceGroupBox)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.label = QtWidgets.QLabel(parent=self.virtualSpaceGroupBox)
+        self.label.setWordWrap(True)
+        self.label.setObjectName("label")
+        self.verticalLayout.addWidget(self.label)
+        self.vsSelectionCheckBox = QtWidgets.QCheckBox(parent=self.virtualSpaceGroupBox)
+        self.vsSelectionCheckBox.setObjectName("vsSelectionCheckBox")
+        self.verticalLayout.addWidget(self.vsSelectionCheckBox)
+        self.vsUserCheckBox = QtWidgets.QCheckBox(parent=self.virtualSpaceGroupBox)
+        self.vsUserCheckBox.setObjectName("vsUserCheckBox")
+        self.verticalLayout.addWidget(self.vsUserCheckBox)
+        self.verticalLayout_6.addWidget(self.virtualSpaceGroupBox)
+        spacerItem4 = QtWidgets.QSpacerItem(20, 13, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout_6.addItem(spacerItem4)
+        self.TextLabel13_3.setBuddy(self.tabwidthSlider)
+        self.TextLabel13_2_3.setBuddy(self.indentwidthSlider)
+
+        self.retranslateUi(EditorGeneralPage)
+        self.tabwidthSlider.valueChanged['int'].connect(self.tabwidthLCD.display) # type: ignore
+        self.indentwidthSlider.valueChanged['int'].connect(self.indentwidthLCD.display) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(EditorGeneralPage)
+        EditorGeneralPage.setTabOrder(self.autoindentCheckBox, self.tabforindentationCheckBox)
+        EditorGeneralPage.setTabOrder(self.tabforindentationCheckBox, self.tabindentsCheckBox)
+        EditorGeneralPage.setTabOrder(self.tabindentsCheckBox, self.converttabsCheckBox)
+        EditorGeneralPage.setTabOrder(self.converttabsCheckBox, self.tabwidthSlider)
+        EditorGeneralPage.setTabOrder(self.tabwidthSlider, self.indentwidthSlider)
+        EditorGeneralPage.setTabOrder(self.indentwidthSlider, self.languageOverrideWidget)
+        EditorGeneralPage.setTabOrder(self.languageOverrideWidget, self.addButton)
+        EditorGeneralPage.setTabOrder(self.addButton, self.deleteButton)
+        EditorGeneralPage.setTabOrder(self.deleteButton, self.editButton)
+        EditorGeneralPage.setTabOrder(self.editButton, self.sourceNavigationGroupBox)
+        EditorGeneralPage.setTabOrder(self.sourceNavigationGroupBox, self.sourceOutlineGroupBox)
+        EditorGeneralPage.setTabOrder(self.sourceOutlineGroupBox, self.sourceOutlineWidthSpinBox)
+        EditorGeneralPage.setTabOrder(self.sourceOutlineWidthSpinBox, self.sourceOutlineWidthStepSpinBox)
+        EditorGeneralPage.setTabOrder(self.sourceOutlineWidthStepSpinBox, self.sourceOutlineShowCodingCheckBox)
+        EditorGeneralPage.setTabOrder(self.sourceOutlineShowCodingCheckBox, self.comment0CheckBox)
+        EditorGeneralPage.setTabOrder(self.comment0CheckBox, self.docstringStyleComboBox)
+        EditorGeneralPage.setTabOrder(self.docstringStyleComboBox, self.docstringCompletionCheckBox)
+        EditorGeneralPage.setTabOrder(self.docstringCompletionCheckBox, self.mouseHoverHelpGroupBox)
+        EditorGeneralPage.setTabOrder(self.mouseHoverHelpGroupBox, self.mouseDwellTimeSpinBox)
+        EditorGeneralPage.setTabOrder(self.mouseDwellTimeSpinBox, self.rectangularSelectionCtrlButton)
+        EditorGeneralPage.setTabOrder(self.rectangularSelectionCtrlButton, self.rectangularSelectionAltButton)
+        EditorGeneralPage.setTabOrder(self.rectangularSelectionAltButton, self.rectangularSelectionMetaButton)
+        EditorGeneralPage.setTabOrder(self.rectangularSelectionMetaButton, self.vsSelectionCheckBox)
+        EditorGeneralPage.setTabOrder(self.vsSelectionCheckBox, self.vsUserCheckBox)
+
+    def retranslateUi(self, EditorGeneralPage):
+        _translate = QtCore.QCoreApplication.translate
+        self.headerLabel.setText(_translate("EditorGeneralPage", "<b>Configure general editor settings</b>"))
+        self.groupBox_5.setTitle(_translate("EditorGeneralPage", "Tabs && Indentation"))
+        self.autoindentCheckBox.setToolTip(_translate("EditorGeneralPage", "Select whether autoindentation shall be enabled"))
+        self.autoindentCheckBox.setText(_translate("EditorGeneralPage", "Auto indentation"))
+        self.tabforindentationCheckBox.setToolTip(_translate("EditorGeneralPage", "Select whether tab characters are used for indentations."))
+        self.tabforindentationCheckBox.setText(_translate("EditorGeneralPage", "Use tabs for indentations"))
+        self.tabindentsCheckBox.setToolTip(_translate("EditorGeneralPage", "Select whether pressing the tab key indents."))
+        self.tabindentsCheckBox.setText(_translate("EditorGeneralPage", "Tab key indents"))
+        self.converttabsCheckBox.setToolTip(_translate("EditorGeneralPage", "Select whether tabs shall be converted upon opening the file"))
+        self.converttabsCheckBox.setText(_translate("EditorGeneralPage", "Convert tabs upon open"))
+        self.TextLabel13_3.setText(_translate("EditorGeneralPage", "Tab width:"))
+        self.tabwidthSlider.setToolTip(_translate("EditorGeneralPage", "Move to set the tab width."))
+        self.tabwidthLCD.setToolTip(_translate("EditorGeneralPage", "Displays the selected tab width."))
+        self.TextLabel13_2_3.setText(_translate("EditorGeneralPage", "Indentation width:"))
+        self.indentwidthSlider.setToolTip(_translate("EditorGeneralPage", "Move to set the indentation width."))
+        self.indentwidthLCD.setToolTip(_translate("EditorGeneralPage", "Displays the selected indentation width."))
+        self.languageOverrideWidget.headerItem().setText(0, _translate("EditorGeneralPage", "Language"))
+        self.languageOverrideWidget.headerItem().setText(1, _translate("EditorGeneralPage", "Tab Width"))
+        self.languageOverrideWidget.headerItem().setText(2, _translate("EditorGeneralPage", "Indent Width"))
+        self.addButton.setToolTip(_translate("EditorGeneralPage", "Press to add a language specific override"))
+        self.deleteButton.setToolTip(_translate("EditorGeneralPage", "Press to delete the selected language specific override"))
+        self.editButton.setToolTip(_translate("EditorGeneralPage", "Press to edit the selected language specific override"))
+        self.sourceNavigationGroupBox.setToolTip(_translate("EditorGeneralPage", "Select to enable the source code navigator"))
+        self.sourceNavigationGroupBox.setWhatsThis(_translate("EditorGeneralPage", "<b>Source Code Navigation</b>\n"
+"<p>Select this option to enable one the two kind of source code navigation widgets. With \"Source Code Outline\" checked, a navigator is shown to the right of the editor. Otherwise two selector boxes are shown above the editor.</p>"))
+        self.sourceNavigationGroupBox.setTitle(_translate("EditorGeneralPage", "Source Code Navigation"))
+        self.sourceOutlineGroupBox.setToolTip(_translate("EditorGeneralPage", "Select to enable the source code outline view"))
+        self.sourceOutlineGroupBox.setTitle(_translate("EditorGeneralPage", "Source Code Outline"))
+        self.label_2.setText(_translate("EditorGeneralPage", "Default Width:"))
+        self.sourceOutlineWidthSpinBox.setToolTip(_translate("EditorGeneralPage", "Enter the default width of the source code outline view"))
+        self.label_3.setText(_translate("EditorGeneralPage", "Width Step Size:"))
+        self.sourceOutlineWidthStepSpinBox.setToolTip(_translate("EditorGeneralPage", "Enter the amount of pixels the width of the outline should be increased or decreased"))
+        self.sourceOutlineShowCodingCheckBox.setToolTip(_translate("EditorGeneralPage", "Select to show the source code encoding"))
+        self.sourceOutlineShowCodingCheckBox.setText(_translate("EditorGeneralPage", "Show source file encoding"))
+        self.commentsGroupBox.setTitle(_translate("EditorGeneralPage", "Comments"))
+        self.comment0CheckBox.setToolTip(_translate("EditorGeneralPage", "Select to insert the comment sign at column 0"))
+        self.comment0CheckBox.setWhatsThis(_translate("EditorGeneralPage", "<b>Insert comment at column 0</b><p>Select to insert the comment sign at column 0. Otherwise, the comment sign is inserted at the first non-whitespace position.</p>"))
+        self.comment0CheckBox.setText(_translate("EditorGeneralPage", "Insert comment at column 0"))
+        self.docstringGroupBox.setTitle(_translate("EditorGeneralPage", "Docstring"))
+        self.label_4.setText(_translate("EditorGeneralPage", "Docstring Style:"))
+        self.docstringStyleComboBox.setToolTip(_translate("EditorGeneralPage", "Select the docstring style to be used"))
+        self.docstringCompletionCheckBox.setToolTip(_translate("EditorGeneralPage", "Select this to generate a docstring when the docstring start sequence was entered (e.g. \"\"\" for Python)."))
+        self.docstringCompletionCheckBox.setText(_translate("EditorGeneralPage", "Generate Docstring when Docstring start is entered"))
+        self.mouseHoverHelpGroupBox.setToolTip(_translate("EditorGeneralPage", "Select to enable the support for mouse hover help text"))
+        self.mouseHoverHelpGroupBox.setWhatsThis(_translate("EditorGeneralPage", "<b>Mouse Hover Help</b><p>Enable this option to show some information about the symbol the mouse is hovering over. An information provider plug-in (e.g. Jedi) must be installed for this to work.</p>"))
+        self.mouseHoverHelpGroupBox.setTitle(_translate("EditorGeneralPage", "Mouse Hover Help"))
+        self.label_5.setText(_translate("EditorGeneralPage", "Wait time:"))
+        self.mouseDwellTimeSpinBox.setToolTip(_translate("EditorGeneralPage", "Enter the time to wait before help information is shown"))
+        self.mouseDwellTimeSpinBox.setSuffix(_translate("EditorGeneralPage", " ms"))
+        self.groupBox.setTitle(_translate("EditorGeneralPage", "Rectangular Selection Modifier"))
+        self.label_6.setText(_translate("EditorGeneralPage", "Select the modifier key to indicate a rectangular selection while dragging the mouse."))
+        self.rectangularSelectionCtrlButton.setText(_translate("EditorGeneralPage", "Ctrl"))
+        self.rectangularSelectionAltButton.setText(_translate("EditorGeneralPage", "Alt"))
+        self.rectangularSelectionMetaButton.setText(_translate("EditorGeneralPage", "Meta / Windows / Option"))
+        self.virtualSpaceGroupBox.setTitle(_translate("EditorGeneralPage", "Virtual Space"))
+        self.label.setText(_translate("EditorGeneralPage", "Virtual space is the space after the last character of a line. It is not allocated unless some text is entered or copied into it. Usage of virtual space can be configured with these selections."))
+        self.vsSelectionCheckBox.setToolTip(_translate("EditorGeneralPage", "Select to enable a rectangular selection to extend into virtual space"))
+        self.vsSelectionCheckBox.setText(_translate("EditorGeneralPage", "Selection may access virtual space"))
+        self.vsUserCheckBox.setToolTip(_translate("EditorGeneralPage", "Select to allow the cursor to be moved into virtual space"))
+        self.vsUserCheckBox.setText(_translate("EditorGeneralPage", "Cursor can move into virtual space"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Preferences/ConfigurationPages/Ui_EditorHighlightersPage.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,83 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Preferences/ConfigurationPages/EditorHighlightersPage.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_EditorHighlightersPage(object):
+    def setupUi(self, EditorHighlightersPage):
+        EditorHighlightersPage.setObjectName("EditorHighlightersPage")
+        EditorHighlightersPage.resize(400, 361)
+        self.verticalLayout = QtWidgets.QVBoxLayout(EditorHighlightersPage)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.headerLabel = QtWidgets.QLabel(parent=EditorHighlightersPage)
+        self.headerLabel.setObjectName("headerLabel")
+        self.verticalLayout.addWidget(self.headerLabel)
+        self.line19 = QtWidgets.QFrame(parent=EditorHighlightersPage)
+        self.line19.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line19.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line19.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line19.setObjectName("line19")
+        self.verticalLayout.addWidget(self.line19)
+        self.editorLexerList = QtWidgets.QTreeWidget(parent=EditorHighlightersPage)
+        self.editorLexerList.setAlternatingRowColors(True)
+        self.editorLexerList.setRootIsDecorated(False)
+        self.editorLexerList.setObjectName("editorLexerList")
+        self.verticalLayout.addWidget(self.editorLexerList)
+        self.gridLayout = QtWidgets.QGridLayout()
+        self.gridLayout.setObjectName("gridLayout")
+        self.textLabel2_6 = QtWidgets.QLabel(parent=EditorHighlightersPage)
+        self.textLabel2_6.setObjectName("textLabel2_6")
+        self.gridLayout.addWidget(self.textLabel2_6, 0, 0, 1, 1)
+        self.editorFileExtEdit = QtWidgets.QLineEdit(parent=EditorHighlightersPage)
+        self.editorFileExtEdit.setObjectName("editorFileExtEdit")
+        self.gridLayout.addWidget(self.editorFileExtEdit, 0, 1, 1, 1)
+        self.addLexerButton = QtWidgets.QPushButton(parent=EditorHighlightersPage)
+        self.addLexerButton.setObjectName("addLexerButton")
+        self.gridLayout.addWidget(self.addLexerButton, 0, 2, 1, 1)
+        self.textLabel3_3 = QtWidgets.QLabel(parent=EditorHighlightersPage)
+        self.textLabel3_3.setObjectName("textLabel3_3")
+        self.gridLayout.addWidget(self.textLabel3_3, 1, 0, 1, 1)
+        self.editorLexerCombo = QtWidgets.QComboBox(parent=EditorHighlightersPage)
+        self.editorLexerCombo.setObjectName("editorLexerCombo")
+        self.gridLayout.addWidget(self.editorLexerCombo, 1, 1, 1, 1)
+        self.deleteLexerButton = QtWidgets.QPushButton(parent=EditorHighlightersPage)
+        self.deleteLexerButton.setObjectName("deleteLexerButton")
+        self.gridLayout.addWidget(self.deleteLexerButton, 1, 2, 1, 1)
+        self.pygmentsLabel = QtWidgets.QLabel(parent=EditorHighlightersPage)
+        self.pygmentsLabel.setObjectName("pygmentsLabel")
+        self.gridLayout.addWidget(self.pygmentsLabel, 2, 0, 1, 1)
+        self.pygmentsLexerCombo = QtWidgets.QComboBox(parent=EditorHighlightersPage)
+        self.pygmentsLexerCombo.setObjectName("pygmentsLexerCombo")
+        self.gridLayout.addWidget(self.pygmentsLexerCombo, 2, 1, 1, 1)
+        self.verticalLayout.addLayout(self.gridLayout)
+
+        self.retranslateUi(EditorHighlightersPage)
+        QtCore.QMetaObject.connectSlotsByName(EditorHighlightersPage)
+        EditorHighlightersPage.setTabOrder(self.editorLexerList, self.editorFileExtEdit)
+        EditorHighlightersPage.setTabOrder(self.editorFileExtEdit, self.editorLexerCombo)
+        EditorHighlightersPage.setTabOrder(self.editorLexerCombo, self.pygmentsLexerCombo)
+        EditorHighlightersPage.setTabOrder(self.pygmentsLexerCombo, self.addLexerButton)
+        EditorHighlightersPage.setTabOrder(self.addLexerButton, self.deleteLexerButton)
+
+    def retranslateUi(self, EditorHighlightersPage):
+        _translate = QtCore.QCoreApplication.translate
+        self.headerLabel.setText(_translate("EditorHighlightersPage", "<b>Configure syntax highlighters</b>"))
+        self.editorLexerList.setSortingEnabled(True)
+        self.editorLexerList.headerItem().setText(0, _translate("EditorHighlightersPage", "Filename Pattern"))
+        self.editorLexerList.headerItem().setText(1, _translate("EditorHighlightersPage", "Lexer Language"))
+        self.textLabel2_6.setText(_translate("EditorHighlightersPage", "Filename Pattern:"))
+        self.editorFileExtEdit.setToolTip(_translate("EditorHighlightersPage", "Enter the filename pattern to be associated"))
+        self.addLexerButton.setToolTip(_translate("EditorHighlightersPage", "Press to add or change the entered association"))
+        self.addLexerButton.setText(_translate("EditorHighlightersPage", "Add/Change"))
+        self.textLabel3_3.setText(_translate("EditorHighlightersPage", "Lexer Language:"))
+        self.editorLexerCombo.setToolTip(_translate("EditorHighlightersPage", "Select the lexer language to associate"))
+        self.deleteLexerButton.setToolTip(_translate("EditorHighlightersPage", "Press to delete the selected association"))
+        self.deleteLexerButton.setText(_translate("EditorHighlightersPage", "Delete"))
+        self.pygmentsLabel.setText(_translate("EditorHighlightersPage", "Alternative Lexer:"))
+        self.pygmentsLexerCombo.setToolTip(_translate("EditorHighlightersPage", "Select the alternative lexer to associate"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Preferences/ConfigurationPages/Ui_EditorHighlightingStylesPage.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,225 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Preferences/ConfigurationPages/EditorHighlightingStylesPage.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_EditorHighlightingStylesPage(object):
+    def setupUi(self, EditorHighlightingStylesPage):
+        EditorHighlightingStylesPage.setObjectName("EditorHighlightingStylesPage")
+        EditorHighlightingStylesPage.resize(550, 624)
+        self.verticalLayout = QtWidgets.QVBoxLayout(EditorHighlightingStylesPage)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.headerLabel = QtWidgets.QLabel(parent=EditorHighlightingStylesPage)
+        self.headerLabel.setObjectName("headerLabel")
+        self.verticalLayout.addWidget(self.headerLabel)
+        self.line1 = QtWidgets.QFrame(parent=EditorHighlightingStylesPage)
+        self.line1.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line1.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line1.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line1.setObjectName("line1")
+        self.verticalLayout.addWidget(self.line1)
+        self.hboxlayout = QtWidgets.QHBoxLayout()
+        self.hboxlayout.setObjectName("hboxlayout")
+        self.TextLabel1_3 = QtWidgets.QLabel(parent=EditorHighlightingStylesPage)
+        self.TextLabel1_3.setToolTip("")
+        self.TextLabel1_3.setObjectName("TextLabel1_3")
+        self.hboxlayout.addWidget(self.TextLabel1_3)
+        self.lexerLanguageComboBox = QtWidgets.QComboBox(parent=EditorHighlightingStylesPage)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.lexerLanguageComboBox.sizePolicy().hasHeightForWidth())
+        self.lexerLanguageComboBox.setSizePolicy(sizePolicy)
+        self.lexerLanguageComboBox.setObjectName("lexerLanguageComboBox")
+        self.hboxlayout.addWidget(self.lexerLanguageComboBox)
+        self.verticalLayout.addLayout(self.hboxlayout)
+        self.styleGroup = QtWidgets.QGroupBox(parent=EditorHighlightingStylesPage)
+        self.styleGroup.setObjectName("styleGroup")
+        self.gridLayout = QtWidgets.QGridLayout(self.styleGroup)
+        self.gridLayout.setObjectName("gridLayout")
+        self.styleElementList = QtWidgets.QTreeWidget(parent=self.styleGroup)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(2)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.styleElementList.sizePolicy().hasHeightForWidth())
+        self.styleElementList.setSizePolicy(sizePolicy)
+        self.styleElementList.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.ExtendedSelection)
+        self.styleElementList.setRootIsDecorated(False)
+        self.styleElementList.setItemsExpandable(False)
+        self.styleElementList.setHeaderHidden(True)
+        self.styleElementList.setObjectName("styleElementList")
+        self.styleElementList.headerItem().setText(0, "1")
+        self.gridLayout.addWidget(self.styleElementList, 0, 0, 1, 1)
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout()
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        spacerItem = QtWidgets.QSpacerItem(13, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_2.addItem(spacerItem)
+        self.defaultSubstylesButton = QtWidgets.QToolButton(parent=self.styleGroup)
+        self.defaultSubstylesButton.setObjectName("defaultSubstylesButton")
+        self.horizontalLayout_2.addWidget(self.defaultSubstylesButton)
+        self.addSubstyleButton = QtWidgets.QToolButton(parent=self.styleGroup)
+        self.addSubstyleButton.setObjectName("addSubstyleButton")
+        self.horizontalLayout_2.addWidget(self.addSubstyleButton)
+        self.deleteSubstyleButton = QtWidgets.QToolButton(parent=self.styleGroup)
+        self.deleteSubstyleButton.setObjectName("deleteSubstyleButton")
+        self.horizontalLayout_2.addWidget(self.deleteSubstyleButton)
+        self.editSubstyleButton = QtWidgets.QToolButton(parent=self.styleGroup)
+        self.editSubstyleButton.setObjectName("editSubstyleButton")
+        self.horizontalLayout_2.addWidget(self.editSubstyleButton)
+        self.copySubstyleButton = QtWidgets.QToolButton(parent=self.styleGroup)
+        self.copySubstyleButton.setObjectName("copySubstyleButton")
+        self.horizontalLayout_2.addWidget(self.copySubstyleButton)
+        spacerItem1 = QtWidgets.QSpacerItem(13, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_2.addItem(spacerItem1)
+        self.verticalLayout_2.addLayout(self.horizontalLayout_2)
+        self.line_3 = QtWidgets.QFrame(parent=self.styleGroup)
+        self.line_3.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line_3.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line_3.setObjectName("line_3")
+        self.verticalLayout_2.addWidget(self.line_3)
+        self.foregroundButton = QtWidgets.QPushButton(parent=self.styleGroup)
+        self.foregroundButton.setObjectName("foregroundButton")
+        self.verticalLayout_2.addWidget(self.foregroundButton)
+        self.backgroundButton = QtWidgets.QPushButton(parent=self.styleGroup)
+        self.backgroundButton.setObjectName("backgroundButton")
+        self.verticalLayout_2.addWidget(self.backgroundButton)
+        self.fontButton = QtWidgets.QPushButton(parent=self.styleGroup)
+        self.fontButton.setObjectName("fontButton")
+        self.verticalLayout_2.addWidget(self.fontButton)
+        self.eolfillCheckBox = QtWidgets.QCheckBox(parent=self.styleGroup)
+        self.eolfillCheckBox.setObjectName("eolfillCheckBox")
+        self.verticalLayout_2.addWidget(self.eolfillCheckBox)
+        self.line = QtWidgets.QFrame(parent=self.styleGroup)
+        self.line.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line.setObjectName("line")
+        self.verticalLayout_2.addWidget(self.line)
+        self.defaultButton = QtWidgets.QPushButton(parent=self.styleGroup)
+        self.defaultButton.setObjectName("defaultButton")
+        self.verticalLayout_2.addWidget(self.defaultButton)
+        spacerItem2 = QtWidgets.QSpacerItem(20, 43, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout_2.addItem(spacerItem2)
+        self.monospacedButton = QtWidgets.QPushButton(parent=self.styleGroup)
+        self.monospacedButton.setCheckable(True)
+        self.monospacedButton.setChecked(True)
+        self.monospacedButton.setObjectName("monospacedButton")
+        self.verticalLayout_2.addWidget(self.monospacedButton)
+        spacerItem3 = QtWidgets.QSpacerItem(20, 38, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout_2.addItem(spacerItem3)
+        self.allBackgroundColoursButton = QtWidgets.QPushButton(parent=self.styleGroup)
+        self.allBackgroundColoursButton.setObjectName("allBackgroundColoursButton")
+        self.verticalLayout_2.addWidget(self.allBackgroundColoursButton)
+        self.allFontsButton = QtWidgets.QPushButton(parent=self.styleGroup)
+        self.allFontsButton.setObjectName("allFontsButton")
+        self.verticalLayout_2.addWidget(self.allFontsButton)
+        self.allEolFillButton = QtWidgets.QPushButton(parent=self.styleGroup)
+        self.allEolFillButton.setObjectName("allEolFillButton")
+        self.verticalLayout_2.addWidget(self.allEolFillButton)
+        self.line_2 = QtWidgets.QFrame(parent=self.styleGroup)
+        self.line_2.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line_2.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line_2.setObjectName("line_2")
+        self.verticalLayout_2.addWidget(self.line_2)
+        self.allDefaultButton = QtWidgets.QPushButton(parent=self.styleGroup)
+        self.allDefaultButton.setObjectName("allDefaultButton")
+        self.verticalLayout_2.addWidget(self.allDefaultButton)
+        self.gridLayout.addLayout(self.verticalLayout_2, 0, 1, 1, 1)
+        self.sampleText = QtWidgets.QLineEdit(parent=self.styleGroup)
+        self.sampleText.setFocusPolicy(QtCore.Qt.FocusPolicy.NoFocus)
+        self.sampleText.setAlignment(QtCore.Qt.AlignmentFlag.AlignHCenter)
+        self.sampleText.setReadOnly(True)
+        self.sampleText.setObjectName("sampleText")
+        self.gridLayout.addWidget(self.sampleText, 1, 0, 1, 2)
+        self.label = QtWidgets.QLabel(parent=self.styleGroup)
+        self.label.setWordWrap(True)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 2, 0, 1, 2)
+        self.verticalLayout.addWidget(self.styleGroup)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.importButton = QtWidgets.QPushButton(parent=EditorHighlightingStylesPage)
+        self.importButton.setObjectName("importButton")
+        self.horizontalLayout.addWidget(self.importButton)
+        self.exportButton = QtWidgets.QPushButton(parent=EditorHighlightingStylesPage)
+        self.exportButton.setObjectName("exportButton")
+        self.horizontalLayout.addWidget(self.exportButton)
+        self.importAllButton = QtWidgets.QPushButton(parent=EditorHighlightingStylesPage)
+        self.importAllButton.setObjectName("importAllButton")
+        self.horizontalLayout.addWidget(self.importAllButton)
+        self.exportAllButton = QtWidgets.QPushButton(parent=EditorHighlightingStylesPage)
+        self.exportAllButton.setObjectName("exportAllButton")
+        self.horizontalLayout.addWidget(self.exportAllButton)
+        self.verticalLayout.addLayout(self.horizontalLayout)
+
+        self.retranslateUi(EditorHighlightingStylesPage)
+        QtCore.QMetaObject.connectSlotsByName(EditorHighlightingStylesPage)
+        EditorHighlightingStylesPage.setTabOrder(self.lexerLanguageComboBox, self.styleElementList)
+        EditorHighlightingStylesPage.setTabOrder(self.styleElementList, self.defaultSubstylesButton)
+        EditorHighlightingStylesPage.setTabOrder(self.defaultSubstylesButton, self.addSubstyleButton)
+        EditorHighlightingStylesPage.setTabOrder(self.addSubstyleButton, self.deleteSubstyleButton)
+        EditorHighlightingStylesPage.setTabOrder(self.deleteSubstyleButton, self.editSubstyleButton)
+        EditorHighlightingStylesPage.setTabOrder(self.editSubstyleButton, self.copySubstyleButton)
+        EditorHighlightingStylesPage.setTabOrder(self.copySubstyleButton, self.foregroundButton)
+        EditorHighlightingStylesPage.setTabOrder(self.foregroundButton, self.backgroundButton)
+        EditorHighlightingStylesPage.setTabOrder(self.backgroundButton, self.fontButton)
+        EditorHighlightingStylesPage.setTabOrder(self.fontButton, self.eolfillCheckBox)
+        EditorHighlightingStylesPage.setTabOrder(self.eolfillCheckBox, self.defaultButton)
+        EditorHighlightingStylesPage.setTabOrder(self.defaultButton, self.monospacedButton)
+        EditorHighlightingStylesPage.setTabOrder(self.monospacedButton, self.allBackgroundColoursButton)
+        EditorHighlightingStylesPage.setTabOrder(self.allBackgroundColoursButton, self.allFontsButton)
+        EditorHighlightingStylesPage.setTabOrder(self.allFontsButton, self.allEolFillButton)
+        EditorHighlightingStylesPage.setTabOrder(self.allEolFillButton, self.allDefaultButton)
+        EditorHighlightingStylesPage.setTabOrder(self.allDefaultButton, self.importButton)
+        EditorHighlightingStylesPage.setTabOrder(self.importButton, self.exportButton)
+        EditorHighlightingStylesPage.setTabOrder(self.exportButton, self.importAllButton)
+        EditorHighlightingStylesPage.setTabOrder(self.importAllButton, self.exportAllButton)
+
+    def retranslateUi(self, EditorHighlightingStylesPage):
+        _translate = QtCore.QCoreApplication.translate
+        self.headerLabel.setText(_translate("EditorHighlightingStylesPage", "<b>Configure syntax highlighting</b>"))
+        self.TextLabel1_3.setText(_translate("EditorHighlightingStylesPage", "Lexer Language:"))
+        self.lexerLanguageComboBox.setToolTip(_translate("EditorHighlightingStylesPage", "Select the lexer language to be configured."))
+        self.styleGroup.setTitle(_translate("EditorHighlightingStylesPage", "Style Element"))
+        self.defaultSubstylesButton.setToolTip(_translate("EditorHighlightingStylesPage", "Press to set all sub-styles to default values"))
+        self.addSubstyleButton.setToolTip(_translate("EditorHighlightingStylesPage", "Press to add a sub-style to the selected style"))
+        self.deleteSubstyleButton.setToolTip(_translate("EditorHighlightingStylesPage", "Press to to delete the selected sub-style"))
+        self.editSubstyleButton.setToolTip(_translate("EditorHighlightingStylesPage", "Press to edit the selected sub-style"))
+        self.copySubstyleButton.setToolTip(_translate("EditorHighlightingStylesPage", "Press to copy the selected sub-style"))
+        self.foregroundButton.setToolTip(_translate("EditorHighlightingStylesPage", "Select the foreground color."))
+        self.foregroundButton.setText(_translate("EditorHighlightingStylesPage", "Foreground Color"))
+        self.backgroundButton.setToolTip(_translate("EditorHighlightingStylesPage", "Select the background color."))
+        self.backgroundButton.setText(_translate("EditorHighlightingStylesPage", "Background Color"))
+        self.fontButton.setToolTip(_translate("EditorHighlightingStylesPage", "Select the font."))
+        self.fontButton.setText(_translate("EditorHighlightingStylesPage", "Font"))
+        self.eolfillCheckBox.setToolTip(_translate("EditorHighlightingStylesPage", "Select end of line fill."))
+        self.eolfillCheckBox.setText(_translate("EditorHighlightingStylesPage", "Fill to end of line"))
+        self.defaultButton.setToolTip(_translate("EditorHighlightingStylesPage", "Press to set the current style to its default values"))
+        self.defaultButton.setText(_translate("EditorHighlightingStylesPage", "to Default"))
+        self.monospacedButton.setToolTip(_translate("EditorHighlightingStylesPage", "Press to show only monospaced fonts"))
+        self.monospacedButton.setText(_translate("EditorHighlightingStylesPage", "Monospaced Fonts Only"))
+        self.allBackgroundColoursButton.setToolTip(_translate("EditorHighlightingStylesPage", "Select the background color for all styles"))
+        self.allBackgroundColoursButton.setText(_translate("EditorHighlightingStylesPage", "All Background Colors"))
+        self.allFontsButton.setToolTip(_translate("EditorHighlightingStylesPage", "Select the font for all styles."))
+        self.allFontsButton.setText(_translate("EditorHighlightingStylesPage", "All Fonts"))
+        self.allEolFillButton.setToolTip(_translate("EditorHighlightingStylesPage", "Select the eol fill for all styles"))
+        self.allEolFillButton.setText(_translate("EditorHighlightingStylesPage", "All Fill to end of line"))
+        self.allDefaultButton.setToolTip(_translate("EditorHighlightingStylesPage", "Press to set all styles to their default values"))
+        self.allDefaultButton.setText(_translate("EditorHighlightingStylesPage", "All to Default"))
+        self.sampleText.setText(_translate("EditorHighlightingStylesPage", "Sample Text"))
+        self.label.setText(_translate("EditorHighlightingStylesPage", "<b>Note:</b> The tick in the list above indicates the entrie\'s \'fill to end of line\' setting."))
+        self.importButton.setToolTip(_translate("EditorHighlightingStylesPage", "Imports all styles of languages to be selected"))
+        self.importButton.setText(_translate("EditorHighlightingStylesPage", "Import styles"))
+        self.exportButton.setToolTip(_translate("EditorHighlightingStylesPage", "Exports all styles of languages to be selected"))
+        self.exportButton.setText(_translate("EditorHighlightingStylesPage", "Export styles"))
+        self.importAllButton.setToolTip(_translate("EditorHighlightingStylesPage", "Imports all styles of all languages"))
+        self.importAllButton.setText(_translate("EditorHighlightingStylesPage", "Import all styles"))
+        self.exportAllButton.setToolTip(_translate("EditorHighlightingStylesPage", "Exports all styles of all languages"))
+        self.exportAllButton.setText(_translate("EditorHighlightingStylesPage", "Export all styles"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Preferences/ConfigurationPages/Ui_EditorHighlightingStylesSelectionDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,40 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Preferences/ConfigurationPages/EditorHighlightingStylesSelectionDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_EditorHighlightingStylesSelectionDialog(object):
+    def setupUi(self, EditorHighlightingStylesSelectionDialog):
+        EditorHighlightingStylesSelectionDialog.setObjectName("EditorHighlightingStylesSelectionDialog")
+        EditorHighlightingStylesSelectionDialog.resize(400, 500)
+        EditorHighlightingStylesSelectionDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(EditorHighlightingStylesSelectionDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.infoLabel = QtWidgets.QLabel(parent=EditorHighlightingStylesSelectionDialog)
+        self.infoLabel.setWordWrap(True)
+        self.infoLabel.setObjectName("infoLabel")
+        self.verticalLayout.addWidget(self.infoLabel)
+        self.lexersList = QtWidgets.QListWidget(parent=EditorHighlightingStylesSelectionDialog)
+        self.lexersList.setAlternatingRowColors(True)
+        self.lexersList.setObjectName("lexersList")
+        self.verticalLayout.addWidget(self.lexersList)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=EditorHighlightingStylesSelectionDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(EditorHighlightingStylesSelectionDialog)
+        self.buttonBox.accepted.connect(EditorHighlightingStylesSelectionDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(EditorHighlightingStylesSelectionDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(EditorHighlightingStylesSelectionDialog)
+
+    def retranslateUi(self, EditorHighlightingStylesSelectionDialog):
+        _translate = QtCore.QCoreApplication.translate
+        self.lexersList.setSortingEnabled(True)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Preferences/ConfigurationPages/Ui_EditorKeywordsPage.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,82 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Preferences/ConfigurationPages/EditorKeywordsPage.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_EditorKeywordsPage(object):
+    def setupUi(self, EditorKeywordsPage):
+        EditorKeywordsPage.setObjectName("EditorKeywordsPage")
+        EditorKeywordsPage.resize(462, 422)
+        self.verticalLayout = QtWidgets.QVBoxLayout(EditorKeywordsPage)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.headerLabel = QtWidgets.QLabel(parent=EditorKeywordsPage)
+        self.headerLabel.setObjectName("headerLabel")
+        self.verticalLayout.addWidget(self.headerLabel)
+        self.line5 = QtWidgets.QFrame(parent=EditorKeywordsPage)
+        self.line5.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line5.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line5.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line5.setObjectName("line5")
+        self.verticalLayout.addWidget(self.line5)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.TextLabel1_3_3 = QtWidgets.QLabel(parent=EditorKeywordsPage)
+        self.TextLabel1_3_3.setToolTip("")
+        self.TextLabel1_3_3.setObjectName("TextLabel1_3_3")
+        self.horizontalLayout.addWidget(self.TextLabel1_3_3)
+        self.languageCombo = QtWidgets.QComboBox(parent=EditorKeywordsPage)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.languageCombo.sizePolicy().hasHeightForWidth())
+        self.languageCombo.setSizePolicy(sizePolicy)
+        self.languageCombo.setObjectName("languageCombo")
+        self.horizontalLayout.addWidget(self.languageCombo)
+        self.label = QtWidgets.QLabel(parent=EditorKeywordsPage)
+        self.label.setObjectName("label")
+        self.horizontalLayout.addWidget(self.label)
+        self.setSpinBox = QtWidgets.QSpinBox(parent=EditorKeywordsPage)
+        self.setSpinBox.setMinimum(1)
+        self.setSpinBox.setMaximum(8)
+        self.setSpinBox.setObjectName("setSpinBox")
+        self.horizontalLayout.addWidget(self.setSpinBox)
+        self.verticalLayout.addLayout(self.horizontalLayout)
+        self.setDescriptionLabel = QtWidgets.QLabel(parent=EditorKeywordsPage)
+        self.setDescriptionLabel.setText("")
+        self.setDescriptionLabel.setObjectName("setDescriptionLabel")
+        self.verticalLayout.addWidget(self.setDescriptionLabel)
+        self.keywordsEdit = QtWidgets.QPlainTextEdit(parent=EditorKeywordsPage)
+        self.keywordsEdit.setObjectName("keywordsEdit")
+        self.verticalLayout.addWidget(self.keywordsEdit)
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.defaultButton = QtWidgets.QPushButton(parent=EditorKeywordsPage)
+        self.defaultButton.setObjectName("defaultButton")
+        self.horizontalLayout_2.addWidget(self.defaultButton)
+        self.allDefaultButton = QtWidgets.QPushButton(parent=EditorKeywordsPage)
+        self.allDefaultButton.setObjectName("allDefaultButton")
+        self.horizontalLayout_2.addWidget(self.allDefaultButton)
+        self.verticalLayout.addLayout(self.horizontalLayout_2)
+
+        self.retranslateUi(EditorKeywordsPage)
+        QtCore.QMetaObject.connectSlotsByName(EditorKeywordsPage)
+        EditorKeywordsPage.setTabOrder(self.languageCombo, self.setSpinBox)
+        EditorKeywordsPage.setTabOrder(self.setSpinBox, self.keywordsEdit)
+
+    def retranslateUi(self, EditorKeywordsPage):
+        _translate = QtCore.QCoreApplication.translate
+        self.headerLabel.setText(_translate("EditorKeywordsPage", "<b>Configure syntax highlighter keywords</b>"))
+        self.TextLabel1_3_3.setText(_translate("EditorKeywordsPage", "Language:"))
+        self.languageCombo.setToolTip(_translate("EditorKeywordsPage", "Select the language to be configured."))
+        self.label.setText(_translate("EditorKeywordsPage", "Set:"))
+        self.keywordsEdit.setToolTip(_translate("EditorKeywordsPage", "Enter the keywords separated by a blank"))
+        self.defaultButton.setToolTip(_translate("EditorKeywordsPage", "Press to set the current keyword set to the default value"))
+        self.defaultButton.setText(_translate("EditorKeywordsPage", "to Default"))
+        self.allDefaultButton.setToolTip(_translate("EditorKeywordsPage", "Press to set all keyword sets of the selected language to default values"))
+        self.allDefaultButton.setText(_translate("EditorKeywordsPage", "All to Defaults"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Preferences/ConfigurationPages/Ui_EditorLanguageTabIndentOverrideDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,82 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Preferences/ConfigurationPages/EditorLanguageTabIndentOverrideDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_EditorLanguageTabIndentOverrideDialog(object):
+    def setupUi(self, EditorLanguageTabIndentOverrideDialog):
+        EditorLanguageTabIndentOverrideDialog.setObjectName("EditorLanguageTabIndentOverrideDialog")
+        EditorLanguageTabIndentOverrideDialog.resize(400, 145)
+        EditorLanguageTabIndentOverrideDialog.setSizeGripEnabled(True)
+        self.gridLayout = QtWidgets.QGridLayout(EditorLanguageTabIndentOverrideDialog)
+        self.gridLayout.setObjectName("gridLayout")
+        self.label = QtWidgets.QLabel(parent=EditorLanguageTabIndentOverrideDialog)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
+        self.languageComboBox = QtWidgets.QComboBox(parent=EditorLanguageTabIndentOverrideDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.languageComboBox.sizePolicy().hasHeightForWidth())
+        self.languageComboBox.setSizePolicy(sizePolicy)
+        self.languageComboBox.setObjectName("languageComboBox")
+        self.gridLayout.addWidget(self.languageComboBox, 0, 1, 1, 2)
+        self.pygmentsLabel = QtWidgets.QLabel(parent=EditorLanguageTabIndentOverrideDialog)
+        self.pygmentsLabel.setObjectName("pygmentsLabel")
+        self.gridLayout.addWidget(self.pygmentsLabel, 1, 0, 1, 1)
+        self.pygmentsLexerCombo = QtWidgets.QComboBox(parent=EditorLanguageTabIndentOverrideDialog)
+        self.pygmentsLexerCombo.setObjectName("pygmentsLexerCombo")
+        self.gridLayout.addWidget(self.pygmentsLexerCombo, 1, 1, 1, 2)
+        self.label_2 = QtWidgets.QLabel(parent=EditorLanguageTabIndentOverrideDialog)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 2, 0, 1, 1)
+        self.tabWidthSpinBox = QtWidgets.QSpinBox(parent=EditorLanguageTabIndentOverrideDialog)
+        self.tabWidthSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.tabWidthSpinBox.setMinimum(1)
+        self.tabWidthSpinBox.setMaximum(20)
+        self.tabWidthSpinBox.setObjectName("tabWidthSpinBox")
+        self.gridLayout.addWidget(self.tabWidthSpinBox, 2, 1, 1, 1)
+        spacerItem = QtWidgets.QSpacerItem(208, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout.addItem(spacerItem, 2, 2, 1, 1)
+        self.TextLabel13_2_3 = QtWidgets.QLabel(parent=EditorLanguageTabIndentOverrideDialog)
+        self.TextLabel13_2_3.setObjectName("TextLabel13_2_3")
+        self.gridLayout.addWidget(self.TextLabel13_2_3, 3, 0, 1, 1)
+        self.indentWidthSpinBox = QtWidgets.QSpinBox(parent=EditorLanguageTabIndentOverrideDialog)
+        self.indentWidthSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.indentWidthSpinBox.setMinimum(1)
+        self.indentWidthSpinBox.setMaximum(20)
+        self.indentWidthSpinBox.setObjectName("indentWidthSpinBox")
+        self.gridLayout.addWidget(self.indentWidthSpinBox, 3, 1, 1, 1)
+        spacerItem1 = QtWidgets.QSpacerItem(208, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout.addItem(spacerItem1, 3, 2, 1, 1)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=EditorLanguageTabIndentOverrideDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout.addWidget(self.buttonBox, 4, 0, 1, 3)
+
+        self.retranslateUi(EditorLanguageTabIndentOverrideDialog)
+        self.buttonBox.accepted.connect(EditorLanguageTabIndentOverrideDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(EditorLanguageTabIndentOverrideDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(EditorLanguageTabIndentOverrideDialog)
+        EditorLanguageTabIndentOverrideDialog.setTabOrder(self.languageComboBox, self.pygmentsLexerCombo)
+        EditorLanguageTabIndentOverrideDialog.setTabOrder(self.pygmentsLexerCombo, self.tabWidthSpinBox)
+        EditorLanguageTabIndentOverrideDialog.setTabOrder(self.tabWidthSpinBox, self.indentWidthSpinBox)
+
+    def retranslateUi(self, EditorLanguageTabIndentOverrideDialog):
+        _translate = QtCore.QCoreApplication.translate
+        EditorLanguageTabIndentOverrideDialog.setWindowTitle(_translate("EditorLanguageTabIndentOverrideDialog", "Tab and Indent Override"))
+        self.label.setText(_translate("EditorLanguageTabIndentOverrideDialog", "Lexer Language:"))
+        self.languageComboBox.setToolTip(_translate("EditorLanguageTabIndentOverrideDialog", "Select the lexer language to override"))
+        self.pygmentsLabel.setText(_translate("EditorLanguageTabIndentOverrideDialog", "Alternative Lexer:"))
+        self.pygmentsLexerCombo.setToolTip(_translate("EditorLanguageTabIndentOverrideDialog", "Select the alternative lexer to override"))
+        self.label_2.setText(_translate("EditorLanguageTabIndentOverrideDialog", "Tab Width:"))
+        self.tabWidthSpinBox.setToolTip(_translate("EditorLanguageTabIndentOverrideDialog", "Enter the tab width"))
+        self.TextLabel13_2_3.setText(_translate("EditorLanguageTabIndentOverrideDialog", "Indentation width:"))
+        self.indentWidthSpinBox.setToolTip(_translate("EditorLanguageTabIndentOverrideDialog", "Enter the indentation width"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Preferences/ConfigurationPages/Ui_EditorMouseClickHandlerJediPage.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,61 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Preferences/ConfigurationPages/EditorMouseClickHandlerJediPage.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_EditorMouseClickHandlerJediPage(object):
+    def setupUi(self, EditorMouseClickHandlerJediPage):
+        EditorMouseClickHandlerJediPage.setObjectName("EditorMouseClickHandlerJediPage")
+        EditorMouseClickHandlerJediPage.resize(400, 300)
+        self.verticalLayout = QtWidgets.QVBoxLayout(EditorMouseClickHandlerJediPage)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.headerLabel = QtWidgets.QLabel(parent=EditorMouseClickHandlerJediPage)
+        self.headerLabel.setObjectName("headerLabel")
+        self.verticalLayout.addWidget(self.headerLabel)
+        self.line15 = QtWidgets.QFrame(parent=EditorMouseClickHandlerJediPage)
+        self.line15.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line15.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line15.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line15.setObjectName("line15")
+        self.verticalLayout.addWidget(self.line15)
+        self.jediClickHandlerCheckBox = QtWidgets.QCheckBox(parent=EditorMouseClickHandlerJediPage)
+        self.jediClickHandlerCheckBox.setObjectName("jediClickHandlerCheckBox")
+        self.verticalLayout.addWidget(self.jediClickHandlerCheckBox)
+        self.groupBox = QtWidgets.QGroupBox(parent=EditorMouseClickHandlerJediPage)
+        self.groupBox.setObjectName("groupBox")
+        self.horizontalLayout = QtWidgets.QHBoxLayout(self.groupBox)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.label = QtWidgets.QLabel(parent=self.groupBox)
+        self.label.setObjectName("label")
+        self.horizontalLayout.addWidget(self.label)
+        self.gotoClickEdit = QtWidgets.QLineEdit(parent=self.groupBox)
+        self.gotoClickEdit.setFocusPolicy(QtCore.Qt.FocusPolicy.NoFocus)
+        self.gotoClickEdit.setReadOnly(True)
+        self.gotoClickEdit.setObjectName("gotoClickEdit")
+        self.horizontalLayout.addWidget(self.gotoClickEdit)
+        self.changeGotoButton = QtWidgets.QPushButton(parent=self.groupBox)
+        self.changeGotoButton.setObjectName("changeGotoButton")
+        self.horizontalLayout.addWidget(self.changeGotoButton)
+        self.verticalLayout.addWidget(self.groupBox)
+        spacerItem = QtWidgets.QSpacerItem(20, 147, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout.addItem(spacerItem)
+
+        self.retranslateUi(EditorMouseClickHandlerJediPage)
+        QtCore.QMetaObject.connectSlotsByName(EditorMouseClickHandlerJediPage)
+
+    def retranslateUi(self, EditorMouseClickHandlerJediPage):
+        _translate = QtCore.QCoreApplication.translate
+        self.headerLabel.setText(_translate("EditorMouseClickHandlerJediPage", "<b>Configure Jedi Mouse Click Handler Support</b>"))
+        self.jediClickHandlerCheckBox.setToolTip(_translate("EditorMouseClickHandlerJediPage", "Select, whether the jedi mouse click handler support shall be enabled."))
+        self.jediClickHandlerCheckBox.setText(_translate("EditorMouseClickHandlerJediPage", "Enable Mouse Click Handler"))
+        self.groupBox.setTitle(_translate("EditorMouseClickHandlerJediPage", "Go To Definition"))
+        self.label.setText(_translate("EditorMouseClickHandlerJediPage", "Click Sequence:"))
+        self.gotoClickEdit.setToolTip(_translate("EditorMouseClickHandlerJediPage", "Shows the mouse click sequence"))
+        self.changeGotoButton.setToolTip(_translate("EditorMouseClickHandlerJediPage", "Press to open a dialog to configure the mouse click sequence"))
+        self.changeGotoButton.setText(_translate("EditorMouseClickHandlerJediPage", "Change..."))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Preferences/ConfigurationPages/Ui_EditorMouseClickHandlerPage.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,41 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Preferences/ConfigurationPages/EditorMouseClickHandlerPage.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_EditorMouseClickHandlerPage(object):
+    def setupUi(self, EditorMouseClickHandlerPage):
+        EditorMouseClickHandlerPage.setObjectName("EditorMouseClickHandlerPage")
+        EditorMouseClickHandlerPage.resize(506, 246)
+        self.verticalLayout = QtWidgets.QVBoxLayout(EditorMouseClickHandlerPage)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.headerLabel = QtWidgets.QLabel(parent=EditorMouseClickHandlerPage)
+        self.headerLabel.setObjectName("headerLabel")
+        self.verticalLayout.addWidget(self.headerLabel)
+        self.line6 = QtWidgets.QFrame(parent=EditorMouseClickHandlerPage)
+        self.line6.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line6.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line6.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line6.setObjectName("line6")
+        self.verticalLayout.addWidget(self.line6)
+        self.mcEnabledCheckBox = QtWidgets.QCheckBox(parent=EditorMouseClickHandlerPage)
+        self.mcEnabledCheckBox.setObjectName("mcEnabledCheckBox")
+        self.verticalLayout.addWidget(self.mcEnabledCheckBox)
+        spacerItem = QtWidgets.QSpacerItem(456, 51, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout.addItem(spacerItem)
+
+        self.retranslateUi(EditorMouseClickHandlerPage)
+        QtCore.QMetaObject.connectSlotsByName(EditorMouseClickHandlerPage)
+
+    def retranslateUi(self, EditorMouseClickHandlerPage):
+        _translate = QtCore.QCoreApplication.translate
+        self.headerLabel.setText(_translate("EditorMouseClickHandlerPage", "<b>Configure Mouse Click Handler Support</b>"))
+        self.mcEnabledCheckBox.setToolTip(_translate("EditorMouseClickHandlerPage", "Select this to enable support for mouse click handlers"))
+        self.mcEnabledCheckBox.setWhatsThis(_translate("EditorMouseClickHandlerPage", "<b>Mouse Click Handlers Enabled</b><p>Select to enable support for mouse click handlers. Individual mouse click handlers may be configured on subordinate pages, if such have been installed and registered. This is usually done by plug-ins.</p>"))
+        self.mcEnabledCheckBox.setText(_translate("EditorMouseClickHandlerPage", "Mouse Click Handlers Enabled"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Preferences/ConfigurationPages/Ui_EditorPropertiesPage.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,657 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Preferences/ConfigurationPages/EditorPropertiesPage.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_EditorPropertiesPage(object):
+    def setupUi(self, EditorPropertiesPage):
+        EditorPropertiesPage.setObjectName("EditorPropertiesPage")
+        EditorPropertiesPage.resize(558, 2826)
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(EditorPropertiesPage)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.headerLabel = QtWidgets.QLabel(parent=EditorPropertiesPage)
+        self.headerLabel.setObjectName("headerLabel")
+        self.verticalLayout_2.addWidget(self.headerLabel)
+        self.line4 = QtWidgets.QFrame(parent=EditorPropertiesPage)
+        self.line4.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line4.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line4.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line4.setObjectName("line4")
+        self.verticalLayout_2.addWidget(self.line4)
+        self.allGroup = QtWidgets.QGroupBox(parent=EditorPropertiesPage)
+        self.allGroup.setObjectName("allGroup")
+        self.vboxlayout = QtWidgets.QVBoxLayout(self.allGroup)
+        self.vboxlayout.setObjectName("vboxlayout")
+        self.allFoldCompactCheckBox = QtWidgets.QCheckBox(parent=self.allGroup)
+        self.allFoldCompactCheckBox.setObjectName("allFoldCompactCheckBox")
+        self.vboxlayout.addWidget(self.allFoldCompactCheckBox)
+        self.verticalLayout_2.addWidget(self.allGroup)
+        self.bashGroup = QtWidgets.QGroupBox(parent=EditorPropertiesPage)
+        self.bashGroup.setObjectName("bashGroup")
+        self.vboxlayout1 = QtWidgets.QVBoxLayout(self.bashGroup)
+        self.vboxlayout1.setObjectName("vboxlayout1")
+        self.foldBashCommentCheckBox = QtWidgets.QCheckBox(parent=self.bashGroup)
+        self.foldBashCommentCheckBox.setObjectName("foldBashCommentCheckBox")
+        self.vboxlayout1.addWidget(self.foldBashCommentCheckBox)
+        self.verticalLayout_2.addWidget(self.bashGroup)
+        self.cppGroup = QtWidgets.QGroupBox(parent=EditorPropertiesPage)
+        self.cppGroup.setObjectName("cppGroup")
+        self.gridLayout_5 = QtWidgets.QGridLayout(self.cppGroup)
+        self.gridLayout_5.setObjectName("gridLayout_5")
+        self.foldCppCommentCheckBox = QtWidgets.QCheckBox(parent=self.cppGroup)
+        self.foldCppCommentCheckBox.setObjectName("foldCppCommentCheckBox")
+        self.gridLayout_5.addWidget(self.foldCppCommentCheckBox, 0, 0, 1, 1)
+        self.foldCppAtElseCheckBox = QtWidgets.QCheckBox(parent=self.cppGroup)
+        self.foldCppAtElseCheckBox.setObjectName("foldCppAtElseCheckBox")
+        self.gridLayout_5.addWidget(self.foldCppAtElseCheckBox, 0, 1, 1, 1)
+        self.foldCppPreprocessorCheckBox = QtWidgets.QCheckBox(parent=self.cppGroup)
+        self.foldCppPreprocessorCheckBox.setObjectName("foldCppPreprocessorCheckBox")
+        self.gridLayout_5.addWidget(self.foldCppPreprocessorCheckBox, 1, 0, 1, 1)
+        self.cppIndentOpeningBraceCheckBox = QtWidgets.QCheckBox(parent=self.cppGroup)
+        self.cppIndentOpeningBraceCheckBox.setObjectName("cppIndentOpeningBraceCheckBox")
+        self.gridLayout_5.addWidget(self.cppIndentOpeningBraceCheckBox, 2, 0, 1, 1)
+        self.cppIndentClosingBraceCheckBox = QtWidgets.QCheckBox(parent=self.cppGroup)
+        self.cppIndentClosingBraceCheckBox.setObjectName("cppIndentClosingBraceCheckBox")
+        self.gridLayout_5.addWidget(self.cppIndentClosingBraceCheckBox, 2, 1, 1, 1)
+        self.cppCaseInsensitiveCheckBox = QtWidgets.QCheckBox(parent=self.cppGroup)
+        self.cppCaseInsensitiveCheckBox.setObjectName("cppCaseInsensitiveCheckBox")
+        self.gridLayout_5.addWidget(self.cppCaseInsensitiveCheckBox, 3, 0, 1, 1)
+        self.cppDollarAllowedCheckBox = QtWidgets.QCheckBox(parent=self.cppGroup)
+        self.cppDollarAllowedCheckBox.setObjectName("cppDollarAllowedCheckBox")
+        self.gridLayout_5.addWidget(self.cppDollarAllowedCheckBox, 3, 1, 1, 1)
+        self.cppStylePreprocessorCheckBox = QtWidgets.QCheckBox(parent=self.cppGroup)
+        self.cppStylePreprocessorCheckBox.setObjectName("cppStylePreprocessorCheckBox")
+        self.gridLayout_5.addWidget(self.cppStylePreprocessorCheckBox, 4, 0, 1, 1)
+        self.cppHighlightTripleQuotedCheckBox = QtWidgets.QCheckBox(parent=self.cppGroup)
+        self.cppHighlightTripleQuotedCheckBox.setObjectName("cppHighlightTripleQuotedCheckBox")
+        self.gridLayout_5.addWidget(self.cppHighlightTripleQuotedCheckBox, 5, 0, 1, 1)
+        self.cppHighlightHashQuotedCheckBox = QtWidgets.QCheckBox(parent=self.cppGroup)
+        self.cppHighlightHashQuotedCheckBox.setObjectName("cppHighlightHashQuotedCheckBox")
+        self.gridLayout_5.addWidget(self.cppHighlightHashQuotedCheckBox, 5, 1, 1, 1)
+        self.cppHighlightBackQuotedCheckBox = QtWidgets.QCheckBox(parent=self.cppGroup)
+        self.cppHighlightBackQuotedCheckBox.setObjectName("cppHighlightBackQuotedCheckBox")
+        self.gridLayout_5.addWidget(self.cppHighlightBackQuotedCheckBox, 6, 0, 1, 1)
+        self.cppHighlightEsacepSequencesCheckBox = QtWidgets.QCheckBox(parent=self.cppGroup)
+        self.cppHighlightEsacepSequencesCheckBox.setObjectName("cppHighlightEsacepSequencesCheckBox")
+        self.gridLayout_5.addWidget(self.cppHighlightEsacepSequencesCheckBox, 6, 1, 1, 1)
+        self.cppVerbatimStringEscapeAllowedCheckBox = QtWidgets.QCheckBox(parent=self.cppGroup)
+        self.cppVerbatimStringEscapeAllowedCheckBox.setObjectName("cppVerbatimStringEscapeAllowedCheckBox")
+        self.gridLayout_5.addWidget(self.cppVerbatimStringEscapeAllowedCheckBox, 7, 0, 1, 1)
+        self.verticalLayout_2.addWidget(self.cppGroup)
+        self.cmakeGroup = QtWidgets.QGroupBox(parent=EditorPropertiesPage)
+        self.cmakeGroup.setObjectName("cmakeGroup")
+        self.gridlayout = QtWidgets.QGridLayout(self.cmakeGroup)
+        self.gridlayout.setObjectName("gridlayout")
+        self.cmakeFoldAtElseCheckBox = QtWidgets.QCheckBox(parent=self.cmakeGroup)
+        self.cmakeFoldAtElseCheckBox.setObjectName("cmakeFoldAtElseCheckBox")
+        self.gridlayout.addWidget(self.cmakeFoldAtElseCheckBox, 0, 0, 1, 1)
+        self.verticalLayout_2.addWidget(self.cmakeGroup)
+        self.coffeeScriptGroup = QtWidgets.QGroupBox(parent=EditorPropertiesPage)
+        self.coffeeScriptGroup.setObjectName("coffeeScriptGroup")
+        self.gridLayout_11 = QtWidgets.QGridLayout(self.coffeeScriptGroup)
+        self.gridLayout_11.setObjectName("gridLayout_11")
+        self.foldCoffeeScriptCommentCheckBox = QtWidgets.QCheckBox(parent=self.coffeeScriptGroup)
+        self.foldCoffeeScriptCommentCheckBox.setObjectName("foldCoffeeScriptCommentCheckBox")
+        self.gridLayout_11.addWidget(self.foldCoffeeScriptCommentCheckBox, 0, 0, 1, 1)
+        self.coffeeScriptDollarAllowedCheckBox = QtWidgets.QCheckBox(parent=self.coffeeScriptGroup)
+        self.coffeeScriptDollarAllowedCheckBox.setObjectName("coffeeScriptDollarAllowedCheckBox")
+        self.gridLayout_11.addWidget(self.coffeeScriptDollarAllowedCheckBox, 0, 1, 1, 1)
+        self.coffeeScriptStylePreprocessorCheckBox = QtWidgets.QCheckBox(parent=self.coffeeScriptGroup)
+        self.coffeeScriptStylePreprocessorCheckBox.setObjectName("coffeeScriptStylePreprocessorCheckBox")
+        self.gridLayout_11.addWidget(self.coffeeScriptStylePreprocessorCheckBox, 1, 0, 1, 1)
+        self.verticalLayout_2.addWidget(self.coffeeScriptGroup)
+        self.cssGroup = QtWidgets.QGroupBox(parent=EditorPropertiesPage)
+        self.cssGroup.setObjectName("cssGroup")
+        self.gridLayout_10 = QtWidgets.QGridLayout(self.cssGroup)
+        self.gridLayout_10.setObjectName("gridLayout_10")
+        self.foldCssCommentCheckBox = QtWidgets.QCheckBox(parent=self.cssGroup)
+        self.foldCssCommentCheckBox.setObjectName("foldCssCommentCheckBox")
+        self.gridLayout_10.addWidget(self.foldCssCommentCheckBox, 0, 0, 1, 1)
+        self.cssHssCheckBox = QtWidgets.QCheckBox(parent=self.cssGroup)
+        self.cssHssCheckBox.setObjectName("cssHssCheckBox")
+        self.gridLayout_10.addWidget(self.cssHssCheckBox, 1, 0, 1, 1)
+        self.cssLessCheckBox = QtWidgets.QCheckBox(parent=self.cssGroup)
+        self.cssLessCheckBox.setObjectName("cssLessCheckBox")
+        self.gridLayout_10.addWidget(self.cssLessCheckBox, 1, 1, 1, 1)
+        self.cssSassyCheckBox = QtWidgets.QCheckBox(parent=self.cssGroup)
+        self.cssSassyCheckBox.setObjectName("cssSassyCheckBox")
+        self.gridLayout_10.addWidget(self.cssSassyCheckBox, 2, 0, 1, 1)
+        self.verticalLayout_2.addWidget(self.cssGroup)
+        self.dGroup = QtWidgets.QGroupBox(parent=EditorPropertiesPage)
+        self.dGroup.setObjectName("dGroup")
+        self._7 = QtWidgets.QGridLayout(self.dGroup)
+        self._7.setObjectName("_7")
+        self.dIndentClosingBraceCheckBox = QtWidgets.QCheckBox(parent=self.dGroup)
+        self.dIndentClosingBraceCheckBox.setObjectName("dIndentClosingBraceCheckBox")
+        self._7.addWidget(self.dIndentClosingBraceCheckBox, 1, 1, 1, 1)
+        self.dIndentOpeningBraceCheckBox = QtWidgets.QCheckBox(parent=self.dGroup)
+        self.dIndentOpeningBraceCheckBox.setObjectName("dIndentOpeningBraceCheckBox")
+        self._7.addWidget(self.dIndentOpeningBraceCheckBox, 1, 0, 1, 1)
+        self.foldDAtElseCheckBox = QtWidgets.QCheckBox(parent=self.dGroup)
+        self.foldDAtElseCheckBox.setObjectName("foldDAtElseCheckBox")
+        self._7.addWidget(self.foldDAtElseCheckBox, 0, 1, 1, 1)
+        self.foldDCommentCheckBox = QtWidgets.QCheckBox(parent=self.dGroup)
+        self.foldDCommentCheckBox.setObjectName("foldDCommentCheckBox")
+        self._7.addWidget(self.foldDCommentCheckBox, 0, 0, 1, 1)
+        self.verticalLayout_2.addWidget(self.dGroup)
+        self.gettextGroup = QtWidgets.QGroupBox(parent=EditorPropertiesPage)
+        self.gettextGroup.setObjectName("gettextGroup")
+        self._5 = QtWidgets.QVBoxLayout(self.gettextGroup)
+        self._5.setObjectName("_5")
+        self.foldPoCommentCheckBox = QtWidgets.QCheckBox(parent=self.gettextGroup)
+        self.foldPoCommentCheckBox.setObjectName("foldPoCommentCheckBox")
+        self._5.addWidget(self.foldPoCommentCheckBox)
+        self.verticalLayout_2.addWidget(self.gettextGroup)
+        self.htmlGroup = QtWidgets.QGroupBox(parent=EditorPropertiesPage)
+        self.htmlGroup.setObjectName("htmlGroup")
+        self.gridLayout_7 = QtWidgets.QGridLayout(self.htmlGroup)
+        self.gridLayout_7.setObjectName("gridLayout_7")
+        self.foldHtmlPreprocessorCheckBox = QtWidgets.QCheckBox(parent=self.htmlGroup)
+        self.foldHtmlPreprocessorCheckBox.setObjectName("foldHtmlPreprocessorCheckBox")
+        self.gridLayout_7.addWidget(self.foldHtmlPreprocessorCheckBox, 0, 0, 1, 1)
+        self.foldHtmlScriptCommentsCheckBox = QtWidgets.QCheckBox(parent=self.htmlGroup)
+        self.foldHtmlScriptCommentsCheckBox.setObjectName("foldHtmlScriptCommentsCheckBox")
+        self.gridLayout_7.addWidget(self.foldHtmlScriptCommentsCheckBox, 1, 0, 1, 1)
+        self.foldHtmlScriptHereDocsCheckBox = QtWidgets.QCheckBox(parent=self.htmlGroup)
+        self.foldHtmlScriptHereDocsCheckBox.setObjectName("foldHtmlScriptHereDocsCheckBox")
+        self.gridLayout_7.addWidget(self.foldHtmlScriptHereDocsCheckBox, 1, 1, 1, 1)
+        self.htmlCaseSensitiveTagsCheckBox = QtWidgets.QCheckBox(parent=self.htmlGroup)
+        self.htmlCaseSensitiveTagsCheckBox.setObjectName("htmlCaseSensitiveTagsCheckBox")
+        self.gridLayout_7.addWidget(self.htmlCaseSensitiveTagsCheckBox, 2, 0, 1, 1)
+        self.htmlDjangoCheckBox = QtWidgets.QCheckBox(parent=self.htmlGroup)
+        self.htmlDjangoCheckBox.setObjectName("htmlDjangoCheckBox")
+        self.gridLayout_7.addWidget(self.htmlDjangoCheckBox, 3, 0, 1, 1)
+        self.htmlMakoCheckBox = QtWidgets.QCheckBox(parent=self.htmlGroup)
+        self.htmlMakoCheckBox.setObjectName("htmlMakoCheckBox")
+        self.gridLayout_7.addWidget(self.htmlMakoCheckBox, 3, 1, 1, 1)
+        self.xmlGroup = QtWidgets.QGroupBox(parent=self.htmlGroup)
+        self.xmlGroup.setObjectName("xmlGroup")
+        self.gridLayout_6 = QtWidgets.QGridLayout(self.xmlGroup)
+        self.gridLayout_6.setObjectName("gridLayout_6")
+        self.xmlSyleScriptsCheckBox = QtWidgets.QCheckBox(parent=self.xmlGroup)
+        self.xmlSyleScriptsCheckBox.setObjectName("xmlSyleScriptsCheckBox")
+        self.gridLayout_6.addWidget(self.xmlSyleScriptsCheckBox, 0, 0, 1, 1)
+        self.gridLayout_7.addWidget(self.xmlGroup, 4, 0, 1, 2)
+        self.verticalLayout_2.addWidget(self.htmlGroup)
+        self.jsonGroup = QtWidgets.QGroupBox(parent=EditorPropertiesPage)
+        self.jsonGroup.setObjectName("jsonGroup")
+        self.gridLayout_12 = QtWidgets.QGridLayout(self.jsonGroup)
+        self.gridLayout_12.setObjectName("gridLayout_12")
+        self.jsonHighlightCommentsCheckBox = QtWidgets.QCheckBox(parent=self.jsonGroup)
+        self.jsonHighlightCommentsCheckBox.setObjectName("jsonHighlightCommentsCheckBox")
+        self.gridLayout_12.addWidget(self.jsonHighlightCommentsCheckBox, 0, 0, 1, 1)
+        self.jsonHighlightEscapeCheckBox = QtWidgets.QCheckBox(parent=self.jsonGroup)
+        self.jsonHighlightEscapeCheckBox.setObjectName("jsonHighlightEscapeCheckBox")
+        self.gridLayout_12.addWidget(self.jsonHighlightEscapeCheckBox, 0, 1, 1, 1)
+        self.verticalLayout_2.addWidget(self.jsonGroup)
+        self.pascalGroup = QtWidgets.QGroupBox(parent=EditorPropertiesPage)
+        self.pascalGroup.setObjectName("pascalGroup")
+        self.gridLayout = QtWidgets.QGridLayout(self.pascalGroup)
+        self.gridLayout.setObjectName("gridLayout")
+        self.foldPascalCommentCheckBox = QtWidgets.QCheckBox(parent=self.pascalGroup)
+        self.foldPascalCommentCheckBox.setObjectName("foldPascalCommentCheckBox")
+        self.gridLayout.addWidget(self.foldPascalCommentCheckBox, 0, 0, 1, 1)
+        self.foldPascalPreprocessorCheckBox = QtWidgets.QCheckBox(parent=self.pascalGroup)
+        self.foldPascalPreprocessorCheckBox.setObjectName("foldPascalPreprocessorCheckBox")
+        self.gridLayout.addWidget(self.foldPascalPreprocessorCheckBox, 0, 1, 1, 1)
+        self.pascalSmartHighlightingCheckBox = QtWidgets.QCheckBox(parent=self.pascalGroup)
+        self.pascalSmartHighlightingCheckBox.setObjectName("pascalSmartHighlightingCheckBox")
+        self.gridLayout.addWidget(self.pascalSmartHighlightingCheckBox, 1, 0, 1, 1)
+        self.verticalLayout_2.addWidget(self.pascalGroup)
+        self.perlGroup = QtWidgets.QGroupBox(parent=EditorPropertiesPage)
+        self.perlGroup.setObjectName("perlGroup")
+        self.gridLayout_4 = QtWidgets.QGridLayout(self.perlGroup)
+        self.gridLayout_4.setObjectName("gridLayout_4")
+        self.foldPerlCommentCheckBox = QtWidgets.QCheckBox(parent=self.perlGroup)
+        self.foldPerlCommentCheckBox.setObjectName("foldPerlCommentCheckBox")
+        self.gridLayout_4.addWidget(self.foldPerlCommentCheckBox, 0, 0, 1, 1)
+        self.foldPerlPackagesCheckBox = QtWidgets.QCheckBox(parent=self.perlGroup)
+        self.foldPerlPackagesCheckBox.setObjectName("foldPerlPackagesCheckBox")
+        self.gridLayout_4.addWidget(self.foldPerlPackagesCheckBox, 0, 1, 1, 1)
+        self.foldPerlPODBlocksCheckBox = QtWidgets.QCheckBox(parent=self.perlGroup)
+        self.foldPerlPODBlocksCheckBox.setObjectName("foldPerlPODBlocksCheckBox")
+        self.gridLayout_4.addWidget(self.foldPerlPODBlocksCheckBox, 1, 0, 1, 1)
+        self.foldPerlAtElseCheckBox = QtWidgets.QCheckBox(parent=self.perlGroup)
+        self.foldPerlAtElseCheckBox.setObjectName("foldPerlAtElseCheckBox")
+        self.gridLayout_4.addWidget(self.foldPerlAtElseCheckBox, 1, 1, 1, 1)
+        self.verticalLayout_2.addWidget(self.perlGroup)
+        self.postscriptGroup = QtWidgets.QGroupBox(parent=EditorPropertiesPage)
+        self.postscriptGroup.setObjectName("postscriptGroup")
+        self.gridLayout_2 = QtWidgets.QGridLayout(self.postscriptGroup)
+        self.gridLayout_2.setObjectName("gridLayout_2")
+        self.psFoldAtElseCheckBox = QtWidgets.QCheckBox(parent=self.postscriptGroup)
+        self.psFoldAtElseCheckBox.setObjectName("psFoldAtElseCheckBox")
+        self.gridLayout_2.addWidget(self.psFoldAtElseCheckBox, 0, 0, 1, 1)
+        self.psMarkTokensCheckBox = QtWidgets.QCheckBox(parent=self.postscriptGroup)
+        self.psMarkTokensCheckBox.setObjectName("psMarkTokensCheckBox")
+        self.gridLayout_2.addWidget(self.psMarkTokensCheckBox, 0, 1, 1, 1)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.label = QtWidgets.QLabel(parent=self.postscriptGroup)
+        self.label.setObjectName("label")
+        self.horizontalLayout.addWidget(self.label)
+        self.psLevelSpinBox = QtWidgets.QSpinBox(parent=self.postscriptGroup)
+        self.psLevelSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.psLevelSpinBox.setMinimum(1)
+        self.psLevelSpinBox.setMaximum(9)
+        self.psLevelSpinBox.setProperty("value", 3)
+        self.psLevelSpinBox.setObjectName("psLevelSpinBox")
+        self.horizontalLayout.addWidget(self.psLevelSpinBox)
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem)
+        self.gridLayout_2.addLayout(self.horizontalLayout, 1, 0, 1, 2)
+        self.verticalLayout_2.addWidget(self.postscriptGroup)
+        self.povrayGroup = QtWidgets.QGroupBox(parent=EditorPropertiesPage)
+        self.povrayGroup.setObjectName("povrayGroup")
+        self._8 = QtWidgets.QGridLayout(self.povrayGroup)
+        self._8.setObjectName("_8")
+        self.foldPovrayDirectivesCheckBox = QtWidgets.QCheckBox(parent=self.povrayGroup)
+        self.foldPovrayDirectivesCheckBox.setObjectName("foldPovrayDirectivesCheckBox")
+        self._8.addWidget(self.foldPovrayDirectivesCheckBox, 0, 1, 1, 1)
+        self.foldPovrayCommentCheckBox = QtWidgets.QCheckBox(parent=self.povrayGroup)
+        self.foldPovrayCommentCheckBox.setObjectName("foldPovrayCommentCheckBox")
+        self._8.addWidget(self.foldPovrayCommentCheckBox, 0, 0, 1, 1)
+        self.verticalLayout_2.addWidget(self.povrayGroup)
+        self.propertiesGroup = QtWidgets.QGroupBox(parent=EditorPropertiesPage)
+        self.propertiesGroup.setObjectName("propertiesGroup")
+        self._2 = QtWidgets.QVBoxLayout(self.propertiesGroup)
+        self._2.setObjectName("_2")
+        self.propertiesInitialSpacesCheckBox = QtWidgets.QCheckBox(parent=self.propertiesGroup)
+        self.propertiesInitialSpacesCheckBox.setObjectName("propertiesInitialSpacesCheckBox")
+        self._2.addWidget(self.propertiesInitialSpacesCheckBox)
+        self.verticalLayout_2.addWidget(self.propertiesGroup)
+        self.pythonGroup = QtWidgets.QGroupBox(parent=EditorPropertiesPage)
+        self.pythonGroup.setObjectName("pythonGroup")
+        self.gridLayout_3 = QtWidgets.QGridLayout(self.pythonGroup)
+        self.gridLayout_3.setObjectName("gridLayout_3")
+        self.foldPythonCommentCheckBox = QtWidgets.QCheckBox(parent=self.pythonGroup)
+        self.foldPythonCommentCheckBox.setObjectName("foldPythonCommentCheckBox")
+        self.gridLayout_3.addWidget(self.foldPythonCommentCheckBox, 0, 0, 1, 1)
+        self.foldPythonStringCheckBox = QtWidgets.QCheckBox(parent=self.pythonGroup)
+        self.foldPythonStringCheckBox.setObjectName("foldPythonStringCheckBox")
+        self.gridLayout_3.addWidget(self.foldPythonStringCheckBox, 0, 1, 1, 1)
+        self.foldPythonQuotesCheckBox = QtWidgets.QCheckBox(parent=self.pythonGroup)
+        self.foldPythonQuotesCheckBox.setObjectName("foldPythonQuotesCheckBox")
+        self.gridLayout_3.addWidget(self.foldPythonQuotesCheckBox, 1, 0, 1, 1)
+        self.pythonAutoindentCheckBox = QtWidgets.QCheckBox(parent=self.pythonGroup)
+        self.pythonAutoindentCheckBox.setObjectName("pythonAutoindentCheckBox")
+        self.gridLayout_3.addWidget(self.pythonAutoindentCheckBox, 2, 0, 1, 1)
+        self.pythonStringsOverNewlineCheckBox = QtWidgets.QCheckBox(parent=self.pythonGroup)
+        self.pythonStringsOverNewlineCheckBox.setObjectName("pythonStringsOverNewlineCheckBox")
+        self.gridLayout_3.addWidget(self.pythonStringsOverNewlineCheckBox, 3, 0, 1, 1)
+        self.pythonV2UnicodeAllowedCheckBox = QtWidgets.QCheckBox(parent=self.pythonGroup)
+        self.pythonV2UnicodeAllowedCheckBox.setObjectName("pythonV2UnicodeAllowedCheckBox")
+        self.gridLayout_3.addWidget(self.pythonV2UnicodeAllowedCheckBox, 4, 0, 1, 1)
+        self.pythonV3BinaryAllowedCheckBox = QtWidgets.QCheckBox(parent=self.pythonGroup)
+        self.pythonV3BinaryAllowedCheckBox.setObjectName("pythonV3BinaryAllowedCheckBox")
+        self.gridLayout_3.addWidget(self.pythonV3BinaryAllowedCheckBox, 5, 0, 1, 1)
+        self.pythonV3BytesAllowedCheckBox = QtWidgets.QCheckBox(parent=self.pythonGroup)
+        self.pythonV3BytesAllowedCheckBox.setObjectName("pythonV3BytesAllowedCheckBox")
+        self.gridLayout_3.addWidget(self.pythonV3BytesAllowedCheckBox, 5, 1, 1, 1)
+        self.pythonHighlightSubidentifierCheckBox = QtWidgets.QCheckBox(parent=self.pythonGroup)
+        self.pythonHighlightSubidentifierCheckBox.setObjectName("pythonHighlightSubidentifierCheckBox")
+        self.gridLayout_3.addWidget(self.pythonHighlightSubidentifierCheckBox, 6, 0, 1, 1)
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.label_2 = QtWidgets.QLabel(parent=self.pythonGroup)
+        self.label_2.setObjectName("label_2")
+        self.horizontalLayout_2.addWidget(self.label_2)
+        self.pythonBadIndentationComboBox = QtWidgets.QComboBox(parent=self.pythonGroup)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.pythonBadIndentationComboBox.sizePolicy().hasHeightForWidth())
+        self.pythonBadIndentationComboBox.setSizePolicy(sizePolicy)
+        self.pythonBadIndentationComboBox.setObjectName("pythonBadIndentationComboBox")
+        self.horizontalLayout_2.addWidget(self.pythonBadIndentationComboBox)
+        self.gridLayout_3.addLayout(self.horizontalLayout_2, 7, 0, 1, 2)
+        self.verticalLayout_2.addWidget(self.pythonGroup)
+        self.rubyGroup = QtWidgets.QGroupBox(parent=EditorPropertiesPage)
+        self.rubyGroup.setObjectName("rubyGroup")
+        self._3 = QtWidgets.QVBoxLayout(self.rubyGroup)
+        self._3.setObjectName("_3")
+        self.foldRubyCommentCheckBox = QtWidgets.QCheckBox(parent=self.rubyGroup)
+        self.foldRubyCommentCheckBox.setObjectName("foldRubyCommentCheckBox")
+        self._3.addWidget(self.foldRubyCommentCheckBox)
+        self.verticalLayout_2.addWidget(self.rubyGroup)
+        self.sqlGroup = QtWidgets.QGroupBox(parent=EditorPropertiesPage)
+        self.sqlGroup.setObjectName("sqlGroup")
+        self.gridLayout_8 = QtWidgets.QGridLayout(self.sqlGroup)
+        self.gridLayout_8.setObjectName("gridLayout_8")
+        self.foldSqlCommentCheckBox = QtWidgets.QCheckBox(parent=self.sqlGroup)
+        self.foldSqlCommentCheckBox.setObjectName("foldSqlCommentCheckBox")
+        self.gridLayout_8.addWidget(self.foldSqlCommentCheckBox, 0, 0, 1, 1)
+        self.sqlFoldAtElseCheckBox = QtWidgets.QCheckBox(parent=self.sqlGroup)
+        self.sqlFoldAtElseCheckBox.setObjectName("sqlFoldAtElseCheckBox")
+        self.gridLayout_8.addWidget(self.sqlFoldAtElseCheckBox, 0, 1, 1, 1)
+        self.sqlFoldOnlyBeginCheckBox = QtWidgets.QCheckBox(parent=self.sqlGroup)
+        self.sqlFoldOnlyBeginCheckBox.setObjectName("sqlFoldOnlyBeginCheckBox")
+        self.gridLayout_8.addWidget(self.sqlFoldOnlyBeginCheckBox, 1, 0, 1, 2)
+        self.sqlBackslashEscapesCheckBox = QtWidgets.QCheckBox(parent=self.sqlGroup)
+        self.sqlBackslashEscapesCheckBox.setObjectName("sqlBackslashEscapesCheckBox")
+        self.gridLayout_8.addWidget(self.sqlBackslashEscapesCheckBox, 2, 0, 1, 1)
+        self.sqlDottedWordsCheckBox = QtWidgets.QCheckBox(parent=self.sqlGroup)
+        self.sqlDottedWordsCheckBox.setObjectName("sqlDottedWordsCheckBox")
+        self.gridLayout_8.addWidget(self.sqlDottedWordsCheckBox, 2, 1, 1, 1)
+        self.sqlHashCommentsCheckBox = QtWidgets.QCheckBox(parent=self.sqlGroup)
+        self.sqlHashCommentsCheckBox.setObjectName("sqlHashCommentsCheckBox")
+        self.gridLayout_8.addWidget(self.sqlHashCommentsCheckBox, 3, 0, 1, 1)
+        self.sqlQuotedIdentifiersCheckBox = QtWidgets.QCheckBox(parent=self.sqlGroup)
+        self.sqlQuotedIdentifiersCheckBox.setObjectName("sqlQuotedIdentifiersCheckBox")
+        self.gridLayout_8.addWidget(self.sqlQuotedIdentifiersCheckBox, 3, 1, 1, 1)
+        self.verticalLayout_2.addWidget(self.sqlGroup)
+        self.tclGroup = QtWidgets.QGroupBox(parent=EditorPropertiesPage)
+        self.tclGroup.setObjectName("tclGroup")
+        self._4 = QtWidgets.QVBoxLayout(self.tclGroup)
+        self._4.setObjectName("_4")
+        self.foldTclCommentCheckBox = QtWidgets.QCheckBox(parent=self.tclGroup)
+        self.foldTclCommentCheckBox.setObjectName("foldTclCommentCheckBox")
+        self._4.addWidget(self.foldTclCommentCheckBox)
+        self.verticalLayout_2.addWidget(self.tclGroup)
+        self.texGroup = QtWidgets.QGroupBox(parent=EditorPropertiesPage)
+        self.texGroup.setObjectName("texGroup")
+        self.gridLayout_9 = QtWidgets.QGridLayout(self.texGroup)
+        self.gridLayout_9.setObjectName("gridLayout_9")
+        self.foldTexCommentCheckBox = QtWidgets.QCheckBox(parent=self.texGroup)
+        self.foldTexCommentCheckBox.setObjectName("foldTexCommentCheckBox")
+        self.gridLayout_9.addWidget(self.foldTexCommentCheckBox, 0, 0, 1, 1)
+        self.texProcessCommentsCheckBox = QtWidgets.QCheckBox(parent=self.texGroup)
+        self.texProcessCommentsCheckBox.setObjectName("texProcessCommentsCheckBox")
+        self.gridLayout_9.addWidget(self.texProcessCommentsCheckBox, 1, 0, 1, 1)
+        self.texProcessIfCheckBox = QtWidgets.QCheckBox(parent=self.texGroup)
+        self.texProcessIfCheckBox.setObjectName("texProcessIfCheckBox")
+        self.gridLayout_9.addWidget(self.texProcessIfCheckBox, 1, 1, 1, 1)
+        self.verticalLayout_2.addWidget(self.texGroup)
+        self.vhdlGroup = QtWidgets.QGroupBox(parent=EditorPropertiesPage)
+        self.vhdlGroup.setObjectName("vhdlGroup")
+        self._12 = QtWidgets.QGridLayout(self.vhdlGroup)
+        self._12.setObjectName("_12")
+        self.vhdlFoldAtParenthesisCheckBox = QtWidgets.QCheckBox(parent=self.vhdlGroup)
+        self.vhdlFoldAtParenthesisCheckBox.setObjectName("vhdlFoldAtParenthesisCheckBox")
+        self._12.addWidget(self.vhdlFoldAtParenthesisCheckBox, 1, 1, 1, 1)
+        self.vhdlFoldAtBeginCheckBox = QtWidgets.QCheckBox(parent=self.vhdlGroup)
+        self.vhdlFoldAtBeginCheckBox.setObjectName("vhdlFoldAtBeginCheckBox")
+        self._12.addWidget(self.vhdlFoldAtBeginCheckBox, 1, 0, 1, 1)
+        self.vhdlFoldAtElseCheckBox = QtWidgets.QCheckBox(parent=self.vhdlGroup)
+        self.vhdlFoldAtElseCheckBox.setObjectName("vhdlFoldAtElseCheckBox")
+        self._12.addWidget(self.vhdlFoldAtElseCheckBox, 0, 1, 1, 1)
+        self.vhdlFoldCommentCheckBox = QtWidgets.QCheckBox(parent=self.vhdlGroup)
+        self.vhdlFoldCommentCheckBox.setObjectName("vhdlFoldCommentCheckBox")
+        self._12.addWidget(self.vhdlFoldCommentCheckBox, 0, 0, 1, 1)
+        self.verticalLayout_2.addWidget(self.vhdlGroup)
+        self.yamlGroup = QtWidgets.QGroupBox(parent=EditorPropertiesPage)
+        self.yamlGroup.setObjectName("yamlGroup")
+        self._14 = QtWidgets.QVBoxLayout(self.yamlGroup)
+        self._14.setObjectName("_14")
+        self.foldYamlCommentCheckBox = QtWidgets.QCheckBox(parent=self.yamlGroup)
+        self.foldYamlCommentCheckBox.setObjectName("foldYamlCommentCheckBox")
+        self._14.addWidget(self.foldYamlCommentCheckBox)
+        self.verticalLayout_2.addWidget(self.yamlGroup)
+        spacerItem1 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout_2.addItem(spacerItem1)
+
+        self.retranslateUi(EditorPropertiesPage)
+        QtCore.QMetaObject.connectSlotsByName(EditorPropertiesPage)
+        EditorPropertiesPage.setTabOrder(self.allFoldCompactCheckBox, self.foldBashCommentCheckBox)
+        EditorPropertiesPage.setTabOrder(self.foldBashCommentCheckBox, self.foldCppCommentCheckBox)
+        EditorPropertiesPage.setTabOrder(self.foldCppCommentCheckBox, self.foldCppAtElseCheckBox)
+        EditorPropertiesPage.setTabOrder(self.foldCppAtElseCheckBox, self.foldCppPreprocessorCheckBox)
+        EditorPropertiesPage.setTabOrder(self.foldCppPreprocessorCheckBox, self.cppIndentOpeningBraceCheckBox)
+        EditorPropertiesPage.setTabOrder(self.cppIndentOpeningBraceCheckBox, self.cppIndentClosingBraceCheckBox)
+        EditorPropertiesPage.setTabOrder(self.cppIndentClosingBraceCheckBox, self.cppCaseInsensitiveCheckBox)
+        EditorPropertiesPage.setTabOrder(self.cppCaseInsensitiveCheckBox, self.cppDollarAllowedCheckBox)
+        EditorPropertiesPage.setTabOrder(self.cppDollarAllowedCheckBox, self.cppStylePreprocessorCheckBox)
+        EditorPropertiesPage.setTabOrder(self.cppStylePreprocessorCheckBox, self.cppHighlightTripleQuotedCheckBox)
+        EditorPropertiesPage.setTabOrder(self.cppHighlightTripleQuotedCheckBox, self.cppHighlightHashQuotedCheckBox)
+        EditorPropertiesPage.setTabOrder(self.cppHighlightHashQuotedCheckBox, self.cppHighlightBackQuotedCheckBox)
+        EditorPropertiesPage.setTabOrder(self.cppHighlightBackQuotedCheckBox, self.cppHighlightEsacepSequencesCheckBox)
+        EditorPropertiesPage.setTabOrder(self.cppHighlightEsacepSequencesCheckBox, self.cppVerbatimStringEscapeAllowedCheckBox)
+        EditorPropertiesPage.setTabOrder(self.cppVerbatimStringEscapeAllowedCheckBox, self.cmakeFoldAtElseCheckBox)
+        EditorPropertiesPage.setTabOrder(self.cmakeFoldAtElseCheckBox, self.foldCoffeeScriptCommentCheckBox)
+        EditorPropertiesPage.setTabOrder(self.foldCoffeeScriptCommentCheckBox, self.coffeeScriptDollarAllowedCheckBox)
+        EditorPropertiesPage.setTabOrder(self.coffeeScriptDollarAllowedCheckBox, self.coffeeScriptStylePreprocessorCheckBox)
+        EditorPropertiesPage.setTabOrder(self.coffeeScriptStylePreprocessorCheckBox, self.foldCssCommentCheckBox)
+        EditorPropertiesPage.setTabOrder(self.foldCssCommentCheckBox, self.cssHssCheckBox)
+        EditorPropertiesPage.setTabOrder(self.cssHssCheckBox, self.cssLessCheckBox)
+        EditorPropertiesPage.setTabOrder(self.cssLessCheckBox, self.cssSassyCheckBox)
+        EditorPropertiesPage.setTabOrder(self.cssSassyCheckBox, self.foldDCommentCheckBox)
+        EditorPropertiesPage.setTabOrder(self.foldDCommentCheckBox, self.foldDAtElseCheckBox)
+        EditorPropertiesPage.setTabOrder(self.foldDAtElseCheckBox, self.dIndentOpeningBraceCheckBox)
+        EditorPropertiesPage.setTabOrder(self.dIndentOpeningBraceCheckBox, self.dIndentClosingBraceCheckBox)
+        EditorPropertiesPage.setTabOrder(self.dIndentClosingBraceCheckBox, self.foldPoCommentCheckBox)
+        EditorPropertiesPage.setTabOrder(self.foldPoCommentCheckBox, self.foldHtmlPreprocessorCheckBox)
+        EditorPropertiesPage.setTabOrder(self.foldHtmlPreprocessorCheckBox, self.foldHtmlScriptCommentsCheckBox)
+        EditorPropertiesPage.setTabOrder(self.foldHtmlScriptCommentsCheckBox, self.foldHtmlScriptHereDocsCheckBox)
+        EditorPropertiesPage.setTabOrder(self.foldHtmlScriptHereDocsCheckBox, self.htmlCaseSensitiveTagsCheckBox)
+        EditorPropertiesPage.setTabOrder(self.htmlCaseSensitiveTagsCheckBox, self.htmlDjangoCheckBox)
+        EditorPropertiesPage.setTabOrder(self.htmlDjangoCheckBox, self.htmlMakoCheckBox)
+        EditorPropertiesPage.setTabOrder(self.htmlMakoCheckBox, self.xmlSyleScriptsCheckBox)
+        EditorPropertiesPage.setTabOrder(self.xmlSyleScriptsCheckBox, self.jsonHighlightCommentsCheckBox)
+        EditorPropertiesPage.setTabOrder(self.jsonHighlightCommentsCheckBox, self.jsonHighlightEscapeCheckBox)
+        EditorPropertiesPage.setTabOrder(self.jsonHighlightEscapeCheckBox, self.foldPascalCommentCheckBox)
+        EditorPropertiesPage.setTabOrder(self.foldPascalCommentCheckBox, self.foldPascalPreprocessorCheckBox)
+        EditorPropertiesPage.setTabOrder(self.foldPascalPreprocessorCheckBox, self.pascalSmartHighlightingCheckBox)
+        EditorPropertiesPage.setTabOrder(self.pascalSmartHighlightingCheckBox, self.foldPerlCommentCheckBox)
+        EditorPropertiesPage.setTabOrder(self.foldPerlCommentCheckBox, self.foldPerlPackagesCheckBox)
+        EditorPropertiesPage.setTabOrder(self.foldPerlPackagesCheckBox, self.foldPerlPODBlocksCheckBox)
+        EditorPropertiesPage.setTabOrder(self.foldPerlPODBlocksCheckBox, self.foldPerlAtElseCheckBox)
+        EditorPropertiesPage.setTabOrder(self.foldPerlAtElseCheckBox, self.psFoldAtElseCheckBox)
+        EditorPropertiesPage.setTabOrder(self.psFoldAtElseCheckBox, self.psMarkTokensCheckBox)
+        EditorPropertiesPage.setTabOrder(self.psMarkTokensCheckBox, self.psLevelSpinBox)
+        EditorPropertiesPage.setTabOrder(self.psLevelSpinBox, self.foldPovrayCommentCheckBox)
+        EditorPropertiesPage.setTabOrder(self.foldPovrayCommentCheckBox, self.foldPovrayDirectivesCheckBox)
+        EditorPropertiesPage.setTabOrder(self.foldPovrayDirectivesCheckBox, self.propertiesInitialSpacesCheckBox)
+        EditorPropertiesPage.setTabOrder(self.propertiesInitialSpacesCheckBox, self.foldPythonCommentCheckBox)
+        EditorPropertiesPage.setTabOrder(self.foldPythonCommentCheckBox, self.foldPythonStringCheckBox)
+        EditorPropertiesPage.setTabOrder(self.foldPythonStringCheckBox, self.foldPythonQuotesCheckBox)
+        EditorPropertiesPage.setTabOrder(self.foldPythonQuotesCheckBox, self.pythonAutoindentCheckBox)
+        EditorPropertiesPage.setTabOrder(self.pythonAutoindentCheckBox, self.pythonStringsOverNewlineCheckBox)
+        EditorPropertiesPage.setTabOrder(self.pythonStringsOverNewlineCheckBox, self.pythonV2UnicodeAllowedCheckBox)
+        EditorPropertiesPage.setTabOrder(self.pythonV2UnicodeAllowedCheckBox, self.pythonV3BinaryAllowedCheckBox)
+        EditorPropertiesPage.setTabOrder(self.pythonV3BinaryAllowedCheckBox, self.pythonV3BytesAllowedCheckBox)
+        EditorPropertiesPage.setTabOrder(self.pythonV3BytesAllowedCheckBox, self.pythonHighlightSubidentifierCheckBox)
+        EditorPropertiesPage.setTabOrder(self.pythonHighlightSubidentifierCheckBox, self.pythonBadIndentationComboBox)
+        EditorPropertiesPage.setTabOrder(self.pythonBadIndentationComboBox, self.foldRubyCommentCheckBox)
+        EditorPropertiesPage.setTabOrder(self.foldRubyCommentCheckBox, self.foldSqlCommentCheckBox)
+        EditorPropertiesPage.setTabOrder(self.foldSqlCommentCheckBox, self.sqlFoldAtElseCheckBox)
+        EditorPropertiesPage.setTabOrder(self.sqlFoldAtElseCheckBox, self.sqlFoldOnlyBeginCheckBox)
+        EditorPropertiesPage.setTabOrder(self.sqlFoldOnlyBeginCheckBox, self.sqlBackslashEscapesCheckBox)
+        EditorPropertiesPage.setTabOrder(self.sqlBackslashEscapesCheckBox, self.sqlDottedWordsCheckBox)
+        EditorPropertiesPage.setTabOrder(self.sqlDottedWordsCheckBox, self.sqlHashCommentsCheckBox)
+        EditorPropertiesPage.setTabOrder(self.sqlHashCommentsCheckBox, self.sqlQuotedIdentifiersCheckBox)
+        EditorPropertiesPage.setTabOrder(self.sqlQuotedIdentifiersCheckBox, self.foldTclCommentCheckBox)
+        EditorPropertiesPage.setTabOrder(self.foldTclCommentCheckBox, self.foldTexCommentCheckBox)
+        EditorPropertiesPage.setTabOrder(self.foldTexCommentCheckBox, self.texProcessCommentsCheckBox)
+        EditorPropertiesPage.setTabOrder(self.texProcessCommentsCheckBox, self.texProcessIfCheckBox)
+        EditorPropertiesPage.setTabOrder(self.texProcessIfCheckBox, self.vhdlFoldCommentCheckBox)
+        EditorPropertiesPage.setTabOrder(self.vhdlFoldCommentCheckBox, self.vhdlFoldAtElseCheckBox)
+        EditorPropertiesPage.setTabOrder(self.vhdlFoldAtElseCheckBox, self.vhdlFoldAtBeginCheckBox)
+        EditorPropertiesPage.setTabOrder(self.vhdlFoldAtBeginCheckBox, self.vhdlFoldAtParenthesisCheckBox)
+        EditorPropertiesPage.setTabOrder(self.vhdlFoldAtParenthesisCheckBox, self.foldYamlCommentCheckBox)
+
+    def retranslateUi(self, EditorPropertiesPage):
+        _translate = QtCore.QCoreApplication.translate
+        self.headerLabel.setText(_translate("EditorPropertiesPage", "<b>Configure lexer properties</b>"))
+        self.allGroup.setTitle(_translate("EditorPropertiesPage", "All Lexers Properties"))
+        self.allFoldCompactCheckBox.setToolTip(_translate("EditorPropertiesPage", "Select to include trailing blank lines in a fold block"))
+        self.allFoldCompactCheckBox.setText(_translate("EditorPropertiesPage", "Fold compact (except CMake, Python)"))
+        self.bashGroup.setTitle(_translate("EditorPropertiesPage", "Bash Lexer Properties"))
+        self.foldBashCommentCheckBox.setToolTip(_translate("EditorPropertiesPage", "Select whether folding of comments shall be possible"))
+        self.foldBashCommentCheckBox.setText(_translate("EditorPropertiesPage", "Fold comments"))
+        self.cppGroup.setTitle(_translate("EditorPropertiesPage", "C++ , C# , IDL, Java and JavaScript Lexer Properties"))
+        self.foldCppCommentCheckBox.setToolTip(_translate("EditorPropertiesPage", "Select whether folding of comments shall be possible"))
+        self.foldCppCommentCheckBox.setText(_translate("EditorPropertiesPage", "Fold comments"))
+        self.foldCppAtElseCheckBox.setToolTip(_translate("EditorPropertiesPage", "Select whether folding at else statement should be possible"))
+        self.foldCppAtElseCheckBox.setText(_translate("EditorPropertiesPage", "Fold at else"))
+        self.foldCppPreprocessorCheckBox.setToolTip(_translate("EditorPropertiesPage", "Select whether folding of preprocessor directives shall be possible"))
+        self.foldCppPreprocessorCheckBox.setText(_translate("EditorPropertiesPage", "Fold preprocessor directives"))
+        self.cppIndentOpeningBraceCheckBox.setToolTip(_translate("EditorPropertiesPage", "Select, whether the line containing the opening brace should be indented"))
+        self.cppIndentOpeningBraceCheckBox.setText(_translate("EditorPropertiesPage", "Indent opening brace"))
+        self.cppIndentClosingBraceCheckBox.setToolTip(_translate("EditorPropertiesPage", "Select, whether the line containing the closing brace should be indented"))
+        self.cppIndentClosingBraceCheckBox.setText(_translate("EditorPropertiesPage", "Indent closing brace"))
+        self.cppCaseInsensitiveCheckBox.setToolTip(_translate("EditorPropertiesPage", "Select to use case insensitive keywords"))
+        self.cppCaseInsensitiveCheckBox.setText(_translate("EditorPropertiesPage", "Case insensitive keywords (C/C++ only)"))
+        self.cppDollarAllowedCheckBox.setToolTip(_translate("EditorPropertiesPage", "Select to allow \'$\' characters in identifier names"))
+        self.cppDollarAllowedCheckBox.setText(_translate("EditorPropertiesPage", "Allow \'$\' in identifier names"))
+        self.cppStylePreprocessorCheckBox.setToolTip(_translate("EditorPropertiesPage", "Select to style preprocessor lines"))
+        self.cppStylePreprocessorCheckBox.setText(_translate("EditorPropertiesPage", "Style preprocessor lines"))
+        self.cppHighlightTripleQuotedCheckBox.setToolTip(_translate("EditorPropertiesPage", "Select to highlight triple quoted strings"))
+        self.cppHighlightTripleQuotedCheckBox.setText(_translate("EditorPropertiesPage", "Highlight triple quoted strings"))
+        self.cppHighlightHashQuotedCheckBox.setToolTip(_translate("EditorPropertiesPage", "Select to highlight hash quoted strings"))
+        self.cppHighlightHashQuotedCheckBox.setText(_translate("EditorPropertiesPage", "Highlight hash quoted strings"))
+        self.cppHighlightBackQuotedCheckBox.setToolTip(_translate("EditorPropertiesPage", "Select to highlight back quoted strings"))
+        self.cppHighlightBackQuotedCheckBox.setText(_translate("EditorPropertiesPage", "Highlight back quoted strings"))
+        self.cppHighlightEsacepSequencesCheckBox.setToolTip(_translate("EditorPropertiesPage", "Select to highlight escape sequences"))
+        self.cppHighlightEsacepSequencesCheckBox.setText(_translate("EditorPropertiesPage", "Highlight escape sequences"))
+        self.cppVerbatimStringEscapeAllowedCheckBox.setToolTip(_translate("EditorPropertiesPage", "Select to allow verbatim string escape sequences"))
+        self.cppVerbatimStringEscapeAllowedCheckBox.setText(_translate("EditorPropertiesPage", "Allow verbatim string escape sequences"))
+        self.cmakeGroup.setTitle(_translate("EditorPropertiesPage", "CMake Lexer Properties"))
+        self.cmakeFoldAtElseCheckBox.setToolTip(_translate("EditorPropertiesPage", "Select whether folding at else statement should be possible"))
+        self.cmakeFoldAtElseCheckBox.setText(_translate("EditorPropertiesPage", "Fold at else"))
+        self.coffeeScriptGroup.setTitle(_translate("EditorPropertiesPage", "CoffeeScript"))
+        self.foldCoffeeScriptCommentCheckBox.setToolTip(_translate("EditorPropertiesPage", "Select whether folding of comments shall be possible"))
+        self.foldCoffeeScriptCommentCheckBox.setText(_translate("EditorPropertiesPage", "Fold comments"))
+        self.coffeeScriptDollarAllowedCheckBox.setToolTip(_translate("EditorPropertiesPage", "Select to allow \'$\' characters in identifier names"))
+        self.coffeeScriptDollarAllowedCheckBox.setText(_translate("EditorPropertiesPage", "Allow \'$\' in identifier names"))
+        self.coffeeScriptStylePreprocessorCheckBox.setToolTip(_translate("EditorPropertiesPage", "Select to style preprocessor lines"))
+        self.coffeeScriptStylePreprocessorCheckBox.setText(_translate("EditorPropertiesPage", "Style preprocessor lines"))
+        self.cssGroup.setTitle(_translate("EditorPropertiesPage", "CSS Lexer Properties"))
+        self.foldCssCommentCheckBox.setToolTip(_translate("EditorPropertiesPage", "Select whether folding of comments shall be possible"))
+        self.foldCssCommentCheckBox.setText(_translate("EditorPropertiesPage", "Fold comments"))
+        self.cssHssCheckBox.setToolTip(_translate("EditorPropertiesPage", "Select to activate HSS support"))
+        self.cssHssCheckBox.setText(_translate("EditorPropertiesPage", "HSS support"))
+        self.cssLessCheckBox.setToolTip(_translate("EditorPropertiesPage", "Select to activate Less CSS support"))
+        self.cssLessCheckBox.setText(_translate("EditorPropertiesPage", "Less CSS support"))
+        self.cssSassyCheckBox.setToolTip(_translate("EditorPropertiesPage", "Select to activate Sassy CSS support"))
+        self.cssSassyCheckBox.setText(_translate("EditorPropertiesPage", "Sassy CSS support"))
+        self.dGroup.setTitle(_translate("EditorPropertiesPage", "D Lexer Properties"))
+        self.dIndentClosingBraceCheckBox.setToolTip(_translate("EditorPropertiesPage", "Select, whether the line containing the closing brace should be indented"))
+        self.dIndentClosingBraceCheckBox.setText(_translate("EditorPropertiesPage", "Indent closing brace"))
+        self.dIndentOpeningBraceCheckBox.setToolTip(_translate("EditorPropertiesPage", "Select, whether the line containing the opening brace should be indented"))
+        self.dIndentOpeningBraceCheckBox.setText(_translate("EditorPropertiesPage", "Indent opening brace"))
+        self.foldDAtElseCheckBox.setToolTip(_translate("EditorPropertiesPage", "Select whether folding at else statement should be possible"))
+        self.foldDAtElseCheckBox.setText(_translate("EditorPropertiesPage", "Fold at else"))
+        self.foldDCommentCheckBox.setToolTip(_translate("EditorPropertiesPage", "Select whether folding of comments shall be possible"))
+        self.foldDCommentCheckBox.setText(_translate("EditorPropertiesPage", "Fold comments"))
+        self.gettextGroup.setTitle(_translate("EditorPropertiesPage", "Gettext Lexer Properties"))
+        self.foldPoCommentCheckBox.setToolTip(_translate("EditorPropertiesPage", "Select whether folding of comments shall be possible"))
+        self.foldPoCommentCheckBox.setText(_translate("EditorPropertiesPage", "Fold comments"))
+        self.htmlGroup.setTitle(_translate("EditorPropertiesPage", "HTML Lexer Properties"))
+        self.foldHtmlPreprocessorCheckBox.setToolTip(_translate("EditorPropertiesPage", "Select whether folding of preprocessor directives shall be possible"))
+        self.foldHtmlPreprocessorCheckBox.setText(_translate("EditorPropertiesPage", "Fold preprocessor directives"))
+        self.foldHtmlScriptCommentsCheckBox.setToolTip(_translate("EditorPropertiesPage", "Select to enable folding of script comments"))
+        self.foldHtmlScriptCommentsCheckBox.setText(_translate("EditorPropertiesPage", "Fold script comments"))
+        self.foldHtmlScriptHereDocsCheckBox.setToolTip(_translate("EditorPropertiesPage", "Select to enable folding of script heredocs"))
+        self.foldHtmlScriptHereDocsCheckBox.setText(_translate("EditorPropertiesPage", "Fold script heredocs"))
+        self.htmlCaseSensitiveTagsCheckBox.setToolTip(_translate("EditorPropertiesPage", "Select whether HTML tags should be case sensitive"))
+        self.htmlCaseSensitiveTagsCheckBox.setText(_translate("EditorPropertiesPage", "Case sensitive tags"))
+        self.htmlDjangoCheckBox.setToolTip(_translate("EditorPropertiesPage", "Select to enable support for Django templates"))
+        self.htmlDjangoCheckBox.setText(_translate("EditorPropertiesPage", "Enable Django templates"))
+        self.htmlMakoCheckBox.setToolTip(_translate("EditorPropertiesPage", "Select to enable support for Mako templates"))
+        self.htmlMakoCheckBox.setText(_translate("EditorPropertiesPage", "Enable Mako templates"))
+        self.xmlGroup.setTitle(_translate("EditorPropertiesPage", "XML Lexer Properties"))
+        self.xmlSyleScriptsCheckBox.setToolTip(_translate("EditorPropertiesPage", "Select to enable styling of scripts"))
+        self.xmlSyleScriptsCheckBox.setText(_translate("EditorPropertiesPage", "Style scripts"))
+        self.jsonGroup.setTitle(_translate("EditorPropertiesPage", "JSON"))
+        self.jsonHighlightCommentsCheckBox.setToolTip(_translate("EditorPropertiesPage", "Select to enable highlighting of line/block comments"))
+        self.jsonHighlightCommentsCheckBox.setText(_translate("EditorPropertiesPage", "Highlight comments"))
+        self.jsonHighlightEscapeCheckBox.setToolTip(_translate("EditorPropertiesPage", "Select to enable highlighting of escape sequences in strings"))
+        self.jsonHighlightEscapeCheckBox.setText(_translate("EditorPropertiesPage", "Highlight escape sequences"))
+        self.pascalGroup.setTitle(_translate("EditorPropertiesPage", "Pascal Lexer Properties"))
+        self.foldPascalCommentCheckBox.setToolTip(_translate("EditorPropertiesPage", "Select whether folding of comments shall be possible"))
+        self.foldPascalCommentCheckBox.setText(_translate("EditorPropertiesPage", "Fold comments"))
+        self.foldPascalPreprocessorCheckBox.setToolTip(_translate("EditorPropertiesPage", "Select whether folding of preprocessor directives shall be possible"))
+        self.foldPascalPreprocessorCheckBox.setText(_translate("EditorPropertiesPage", "Fold preprocessor directives"))
+        self.pascalSmartHighlightingCheckBox.setToolTip(_translate("EditorPropertiesPage", "Select to enable smart highlighting of keywords"))
+        self.pascalSmartHighlightingCheckBox.setText(_translate("EditorPropertiesPage", "Smart Highlighting"))
+        self.perlGroup.setTitle(_translate("EditorPropertiesPage", "Perl Lexer Properties"))
+        self.foldPerlCommentCheckBox.setToolTip(_translate("EditorPropertiesPage", "Select whether folding of comments shall be possible"))
+        self.foldPerlCommentCheckBox.setText(_translate("EditorPropertiesPage", "Fold comments"))
+        self.foldPerlPackagesCheckBox.setToolTip(_translate("EditorPropertiesPage", "Select to enable folding of Perl packages"))
+        self.foldPerlPackagesCheckBox.setText(_translate("EditorPropertiesPage", "Fold packages"))
+        self.foldPerlPODBlocksCheckBox.setToolTip(_translate("EditorPropertiesPage", "Select to enable folding of Perl POD blocks"))
+        self.foldPerlPODBlocksCheckBox.setText(_translate("EditorPropertiesPage", "Fold POD blocks"))
+        self.foldPerlAtElseCheckBox.setToolTip(_translate("EditorPropertiesPage", "Select whether folding at else statement should be possible"))
+        self.foldPerlAtElseCheckBox.setText(_translate("EditorPropertiesPage", "Fold at else"))
+        self.postscriptGroup.setTitle(_translate("EditorPropertiesPage", "PostScript Lexer Properties"))
+        self.psFoldAtElseCheckBox.setToolTip(_translate("EditorPropertiesPage", "Select whether folding at else statement should be possible"))
+        self.psFoldAtElseCheckBox.setText(_translate("EditorPropertiesPage", "Fold at else"))
+        self.psMarkTokensCheckBox.setToolTip(_translate("EditorPropertiesPage", "Select to mark tokens"))
+        self.psMarkTokensCheckBox.setText(_translate("EditorPropertiesPage", "Mark Tokens"))
+        self.label.setText(_translate("EditorPropertiesPage", "PostScript Level:"))
+        self.psLevelSpinBox.setToolTip(_translate("EditorPropertiesPage", "Select the PostScript level"))
+        self.povrayGroup.setTitle(_translate("EditorPropertiesPage", "Povray Lexer Properties"))
+        self.foldPovrayDirectivesCheckBox.setToolTip(_translate("EditorPropertiesPage", "Select whether folding of directives shall be possible"))
+        self.foldPovrayDirectivesCheckBox.setText(_translate("EditorPropertiesPage", "Fold directives"))
+        self.foldPovrayCommentCheckBox.setToolTip(_translate("EditorPropertiesPage", "Select whether folding of comments shall be possible"))
+        self.foldPovrayCommentCheckBox.setText(_translate("EditorPropertiesPage", "Fold comments"))
+        self.propertiesGroup.setTitle(_translate("EditorPropertiesPage", "Properties Lexer Properties"))
+        self.propertiesInitialSpacesCheckBox.setToolTip(_translate("EditorPropertiesPage", "Select to allow initial spaces in a line"))
+        self.propertiesInitialSpacesCheckBox.setText(_translate("EditorPropertiesPage", "Allow initial spaces"))
+        self.pythonGroup.setTitle(_translate("EditorPropertiesPage", "Python Lexer Properties"))
+        self.foldPythonCommentCheckBox.setToolTip(_translate("EditorPropertiesPage", "Select whether folding of comments shall be possible"))
+        self.foldPythonCommentCheckBox.setText(_translate("EditorPropertiesPage", "Fold comments"))
+        self.foldPythonStringCheckBox.setToolTip(_translate("EditorPropertiesPage", "Select whether folding of strings shall be possible"))
+        self.foldPythonStringCheckBox.setText(_translate("EditorPropertiesPage", "Fold strings"))
+        self.foldPythonQuotesCheckBox.setToolTip(_translate("EditorPropertiesPage", "Select whether folding of triple quoted strings shall be possible"))
+        self.foldPythonQuotesCheckBox.setText(_translate("EditorPropertiesPage", "Fold triple quoted strings"))
+        self.pythonAutoindentCheckBox.setToolTip(_translate("EditorPropertiesPage", "Select whether text should be autoindented after a \':\'"))
+        self.pythonAutoindentCheckBox.setText(_translate("EditorPropertiesPage", "Auto indentation after \':\'"))
+        self.pythonStringsOverNewlineCheckBox.setToolTip(_translate("EditorPropertiesPage", "Select to allow strings to span newline characters"))
+        self.pythonStringsOverNewlineCheckBox.setText(_translate("EditorPropertiesPage", "Strings may span newline characters"))
+        self.pythonV2UnicodeAllowedCheckBox.setToolTip(_translate("EditorPropertiesPage", "Select to allow Python v2 unicode string literals (e.g. u\"utf8\")"))
+        self.pythonV2UnicodeAllowedCheckBox.setText(_translate("EditorPropertiesPage", "Allow v2 unicode string literals"))
+        self.pythonV3BinaryAllowedCheckBox.setToolTip(_translate("EditorPropertiesPage", "Select to allow Python v3 binary and octal literals (e.g. 0b1011, 0o712)"))
+        self.pythonV3BinaryAllowedCheckBox.setText(_translate("EditorPropertiesPage", "Allow v3 binary and octal literals"))
+        self.pythonV3BytesAllowedCheckBox.setToolTip(_translate("EditorPropertiesPage", "Select to allow Python v3 bytes string literals (e.g. b\"bytes\")"))
+        self.pythonV3BytesAllowedCheckBox.setText(_translate("EditorPropertiesPage", "Allow v3 bytes string literals"))
+        self.pythonHighlightSubidentifierCheckBox.setToolTip(_translate("EditorPropertiesPage", "Select to highlight sub-identifiers defined in keyword set 2"))
+        self.pythonHighlightSubidentifierCheckBox.setText(_translate("EditorPropertiesPage", "Highlight sub-identifiers"))
+        self.label_2.setText(_translate("EditorPropertiesPage", "Highlight bad indentation:"))
+        self.pythonBadIndentationComboBox.setToolTip(_translate("EditorPropertiesPage", "Select whether bad indentation shall be highlighted"))
+        self.rubyGroup.setTitle(_translate("EditorPropertiesPage", "Ruby Lexer Properties"))
+        self.foldRubyCommentCheckBox.setToolTip(_translate("EditorPropertiesPage", "Select whether folding of comments shall be possible"))
+        self.foldRubyCommentCheckBox.setText(_translate("EditorPropertiesPage", "Fold comments"))
+        self.sqlGroup.setTitle(_translate("EditorPropertiesPage", "SQL Lexer Properties"))
+        self.foldSqlCommentCheckBox.setToolTip(_translate("EditorPropertiesPage", "Select whether folding of comments shall be possible"))
+        self.foldSqlCommentCheckBox.setText(_translate("EditorPropertiesPage", "Fold comments"))
+        self.sqlFoldAtElseCheckBox.setToolTip(_translate("EditorPropertiesPage", "Select whether folding at else statement should be possible"))
+        self.sqlFoldAtElseCheckBox.setText(_translate("EditorPropertiesPage", "Fold at else"))
+        self.sqlFoldOnlyBeginCheckBox.setToolTip(_translate("EditorPropertiesPage", "Select whether only BEGIN blocks can be folded"))
+        self.sqlFoldOnlyBeginCheckBox.setText(_translate("EditorPropertiesPage", "Only BEGIN blocks can be folded"))
+        self.sqlBackslashEscapesCheckBox.setToolTip(_translate("EditorPropertiesPage", "Select to enable Backslash Escapes"))
+        self.sqlBackslashEscapesCheckBox.setText(_translate("EditorPropertiesPage", "Backslash Escapes"))
+        self.sqlDottedWordsCheckBox.setToolTip(_translate("EditorPropertiesPage", "Select if words may contain dots"))
+        self.sqlDottedWordsCheckBox.setText(_translate("EditorPropertiesPage", "Words may contain dots"))
+        self.sqlHashCommentsCheckBox.setToolTip(_translate("EditorPropertiesPage", "Select to allow \'#\' as a comment character"))
+        self.sqlHashCommentsCheckBox.setText(_translate("EditorPropertiesPage", "Allow \'#\' as comment character"))
+        self.sqlQuotedIdentifiersCheckBox.setToolTip(_translate("EditorPropertiesPage", "Select to enable quoted identifiers"))
+        self.sqlQuotedIdentifiersCheckBox.setText(_translate("EditorPropertiesPage", "Enable quoted identifiers"))
+        self.tclGroup.setTitle(_translate("EditorPropertiesPage", "TCL Lexer Properties"))
+        self.foldTclCommentCheckBox.setToolTip(_translate("EditorPropertiesPage", "Select whether folding of comments shall be possible"))
+        self.foldTclCommentCheckBox.setText(_translate("EditorPropertiesPage", "Fold comments"))
+        self.texGroup.setTitle(_translate("EditorPropertiesPage", "TeX Lexer Properties"))
+        self.foldTexCommentCheckBox.setToolTip(_translate("EditorPropertiesPage", "Select whether folding of comments shall be possible"))
+        self.foldTexCommentCheckBox.setText(_translate("EditorPropertiesPage", "Fold comments"))
+        self.texProcessCommentsCheckBox.setToolTip(_translate("EditorPropertiesPage", "Select to treat comments as TeX source"))
+        self.texProcessCommentsCheckBox.setText(_translate("EditorPropertiesPage", "Treat comments as TeX source"))
+        self.texProcessIfCheckBox.setToolTip(_translate("EditorPropertiesPage", "Select to treat \\if<unknown> as a command"))
+        self.texProcessIfCheckBox.setText(_translate("EditorPropertiesPage", "Treat \\if<unknown> as command"))
+        self.vhdlGroup.setTitle(_translate("EditorPropertiesPage", "VHDL Lexer Properties"))
+        self.vhdlFoldAtParenthesisCheckBox.setToolTip(_translate("EditorPropertiesPage", "Select whether folding of blocks at a parenthesis shall be possible"))
+        self.vhdlFoldAtParenthesisCheckBox.setText(_translate("EditorPropertiesPage", "Fold at parenthesis"))
+        self.vhdlFoldAtBeginCheckBox.setToolTip(_translate("EditorPropertiesPage", "Select whether folding of begin blocks shall be possible"))
+        self.vhdlFoldAtBeginCheckBox.setText(_translate("EditorPropertiesPage", "Fold at begin"))
+        self.vhdlFoldAtElseCheckBox.setToolTip(_translate("EditorPropertiesPage", "Select whether folding at else statement should be possible"))
+        self.vhdlFoldAtElseCheckBox.setText(_translate("EditorPropertiesPage", "Fold at else"))
+        self.vhdlFoldCommentCheckBox.setToolTip(_translate("EditorPropertiesPage", "Select whether folding of comments shall be possible"))
+        self.vhdlFoldCommentCheckBox.setText(_translate("EditorPropertiesPage", "Fold comments"))
+        self.yamlGroup.setTitle(_translate("EditorPropertiesPage", "YAML Lexer Properties"))
+        self.foldYamlCommentCheckBox.setToolTip(_translate("EditorPropertiesPage", "Select whether folding of comments shall be possible"))
+        self.foldYamlCommentCheckBox.setText(_translate("EditorPropertiesPage", "Fold comments"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Preferences/ConfigurationPages/Ui_EditorSearchPage.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,165 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Preferences/ConfigurationPages/EditorSearchPage.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_EditorSearchPage(object):
+    def setupUi(self, EditorSearchPage):
+        EditorSearchPage.setObjectName("EditorSearchPage")
+        EditorSearchPage.resize(576, 554)
+        self.verticalLayout_3 = QtWidgets.QVBoxLayout(EditorSearchPage)
+        self.verticalLayout_3.setObjectName("verticalLayout_3")
+        self.headerLabel = QtWidgets.QLabel(parent=EditorSearchPage)
+        self.headerLabel.setObjectName("headerLabel")
+        self.verticalLayout_3.addWidget(self.headerLabel)
+        self.line3 = QtWidgets.QFrame(parent=EditorSearchPage)
+        self.line3.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line3.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line3.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line3.setObjectName("line3")
+        self.verticalLayout_3.addWidget(self.line3)
+        self.groupBox = QtWidgets.QGroupBox(parent=EditorSearchPage)
+        self.groupBox.setObjectName("groupBox")
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.groupBox)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.quicksearchCheckBox = QtWidgets.QCheckBox(parent=self.groupBox)
+        self.quicksearchCheckBox.setObjectName("quicksearchCheckBox")
+        self.verticalLayout_2.addWidget(self.quicksearchCheckBox)
+        self.quicksearchMarkersEnabledCheckBox = QtWidgets.QCheckBox(parent=self.groupBox)
+        self.quicksearchMarkersEnabledCheckBox.setEnabled(False)
+        self.quicksearchMarkersEnabledCheckBox.setObjectName("quicksearchMarkersEnabledCheckBox")
+        self.verticalLayout_2.addWidget(self.quicksearchMarkersEnabledCheckBox)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.label_2 = QtWidgets.QLabel(parent=self.groupBox)
+        self.label_2.setObjectName("label_2")
+        self.horizontalLayout.addWidget(self.label_2)
+        self.quicksearchMarkOccurrencesTimeoutSpinBox = QtWidgets.QSpinBox(parent=self.groupBox)
+        self.quicksearchMarkOccurrencesTimeoutSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.quicksearchMarkOccurrencesTimeoutSpinBox.setButtonSymbols(QtWidgets.QAbstractSpinBox.ButtonSymbols.PlusMinus)
+        self.quicksearchMarkOccurrencesTimeoutSpinBox.setCorrectionMode(QtWidgets.QAbstractSpinBox.CorrectionMode.CorrectToNearestValue)
+        self.quicksearchMarkOccurrencesTimeoutSpinBox.setMinimum(100)
+        self.quicksearchMarkOccurrencesTimeoutSpinBox.setMaximum(5000)
+        self.quicksearchMarkOccurrencesTimeoutSpinBox.setSingleStep(100)
+        self.quicksearchMarkOccurrencesTimeoutSpinBox.setObjectName("quicksearchMarkOccurrencesTimeoutSpinBox")
+        self.horizontalLayout.addWidget(self.quicksearchMarkOccurrencesTimeoutSpinBox)
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem)
+        self.verticalLayout_2.addLayout(self.horizontalLayout)
+        self.verticalLayout_3.addWidget(self.groupBox)
+        self.searckMarkersBox = QtWidgets.QGroupBox(parent=EditorSearchPage)
+        self.searckMarkersBox.setObjectName("searckMarkersBox")
+        self.vboxlayout = QtWidgets.QVBoxLayout(self.searckMarkersBox)
+        self.vboxlayout.setObjectName("vboxlayout")
+        self.occurrencesMarkersEnabledCheckBox = QtWidgets.QCheckBox(parent=self.searckMarkersBox)
+        self.occurrencesMarkersEnabledCheckBox.setObjectName("occurrencesMarkersEnabledCheckBox")
+        self.vboxlayout.addWidget(self.occurrencesMarkersEnabledCheckBox)
+        self.searchMarkersEnabledCheckBox = QtWidgets.QCheckBox(parent=self.searckMarkersBox)
+        self.searchMarkersEnabledCheckBox.setObjectName("searchMarkersEnabledCheckBox")
+        self.vboxlayout.addWidget(self.searchMarkersEnabledCheckBox)
+        self.hboxlayout = QtWidgets.QHBoxLayout()
+        self.hboxlayout.setObjectName("hboxlayout")
+        self.label = QtWidgets.QLabel(parent=self.searckMarkersBox)
+        self.label.setObjectName("label")
+        self.hboxlayout.addWidget(self.label)
+        self.markOccurrencesTimeoutSpinBox = QtWidgets.QSpinBox(parent=self.searckMarkersBox)
+        self.markOccurrencesTimeoutSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.markOccurrencesTimeoutSpinBox.setButtonSymbols(QtWidgets.QAbstractSpinBox.ButtonSymbols.PlusMinus)
+        self.markOccurrencesTimeoutSpinBox.setCorrectionMode(QtWidgets.QAbstractSpinBox.CorrectionMode.CorrectToNearestValue)
+        self.markOccurrencesTimeoutSpinBox.setMinimum(100)
+        self.markOccurrencesTimeoutSpinBox.setMaximum(5000)
+        self.markOccurrencesTimeoutSpinBox.setSingleStep(100)
+        self.markOccurrencesTimeoutSpinBox.setObjectName("markOccurrencesTimeoutSpinBox")
+        self.hboxlayout.addWidget(self.markOccurrencesTimeoutSpinBox)
+        spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.hboxlayout.addItem(spacerItem1)
+        self.vboxlayout.addLayout(self.hboxlayout)
+        self.hboxlayout1 = QtWidgets.QHBoxLayout()
+        self.hboxlayout1.setObjectName("hboxlayout1")
+        self.TextLabel2_2_2_2_2_2 = QtWidgets.QLabel(parent=self.searckMarkersBox)
+        self.TextLabel2_2_2_2_2_2.setObjectName("TextLabel2_2_2_2_2_2")
+        self.hboxlayout1.addWidget(self.TextLabel2_2_2_2_2_2)
+        self.searchMarkerButton = QtWidgets.QPushButton(parent=self.searckMarkersBox)
+        self.searchMarkerButton.setMinimumSize(QtCore.QSize(100, 0))
+        self.searchMarkerButton.setText("")
+        self.searchMarkerButton.setObjectName("searchMarkerButton")
+        self.hboxlayout1.addWidget(self.searchMarkerButton)
+        spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.hboxlayout1.addItem(spacerItem2)
+        self.vboxlayout.addLayout(self.hboxlayout1)
+        self.verticalLayout_3.addWidget(self.searckMarkersBox)
+        self.regexpModeBox = QtWidgets.QGroupBox(parent=EditorSearchPage)
+        self.regexpModeBox.setObjectName("regexpModeBox")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.regexpModeBox)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.regexpPosixButton = QtWidgets.QRadioButton(parent=self.regexpModeBox)
+        self.regexpPosixButton.setChecked(True)
+        self.regexpPosixButton.setObjectName("regexpPosixButton")
+        self.verticalLayout.addWidget(self.regexpPosixButton)
+        self.regexpCxx11Button = QtWidgets.QRadioButton(parent=self.regexpModeBox)
+        self.regexpCxx11Button.setObjectName("regexpCxx11Button")
+        self.verticalLayout.addWidget(self.regexpCxx11Button)
+        self.verticalLayout_3.addWidget(self.regexpModeBox)
+        self.horizontalLayout_8 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_8.setObjectName("horizontalLayout_8")
+        self.highlightingBackgroundLabel = QtWidgets.QLabel(parent=EditorSearchPage)
+        self.highlightingBackgroundLabel.setObjectName("highlightingBackgroundLabel")
+        self.horizontalLayout_8.addWidget(self.highlightingBackgroundLabel)
+        self.highlightingBackgroundButton = QtWidgets.QPushButton(parent=EditorSearchPage)
+        self.highlightingBackgroundButton.setMinimumSize(QtCore.QSize(100, 0))
+        self.highlightingBackgroundButton.setText("")
+        self.highlightingBackgroundButton.setObjectName("highlightingBackgroundButton")
+        self.horizontalLayout_8.addWidget(self.highlightingBackgroundButton)
+        spacerItem3 = QtWidgets.QSpacerItem(347, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_8.addItem(spacerItem3)
+        self.verticalLayout_3.addLayout(self.horizontalLayout_8)
+        spacerItem4 = QtWidgets.QSpacerItem(558, 231, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout_3.addItem(spacerItem4)
+
+        self.retranslateUi(EditorSearchPage)
+        self.quicksearchCheckBox.toggled['bool'].connect(self.quicksearchMarkersEnabledCheckBox.setEnabled) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(EditorSearchPage)
+        EditorSearchPage.setTabOrder(self.quicksearchCheckBox, self.quicksearchMarkersEnabledCheckBox)
+        EditorSearchPage.setTabOrder(self.quicksearchMarkersEnabledCheckBox, self.quicksearchMarkOccurrencesTimeoutSpinBox)
+        EditorSearchPage.setTabOrder(self.quicksearchMarkOccurrencesTimeoutSpinBox, self.occurrencesMarkersEnabledCheckBox)
+        EditorSearchPage.setTabOrder(self.occurrencesMarkersEnabledCheckBox, self.searchMarkersEnabledCheckBox)
+        EditorSearchPage.setTabOrder(self.searchMarkersEnabledCheckBox, self.markOccurrencesTimeoutSpinBox)
+        EditorSearchPage.setTabOrder(self.markOccurrencesTimeoutSpinBox, self.searchMarkerButton)
+        EditorSearchPage.setTabOrder(self.searchMarkerButton, self.regexpPosixButton)
+        EditorSearchPage.setTabOrder(self.regexpPosixButton, self.regexpCxx11Button)
+        EditorSearchPage.setTabOrder(self.regexpCxx11Button, self.highlightingBackgroundButton)
+
+    def retranslateUi(self, EditorSearchPage):
+        _translate = QtCore.QCoreApplication.translate
+        self.headerLabel.setText(_translate("EditorSearchPage", "<b>Configure editor search options</b>"))
+        self.groupBox.setTitle(_translate("EditorSearchPage", "Quicksearch"))
+        self.quicksearchCheckBox.setToolTip(_translate("EditorSearchPage", "Select to perform a search while entering the text to search for."))
+        self.quicksearchCheckBox.setText(_translate("EditorSearchPage", "Enable Quicksearch"))
+        self.quicksearchMarkersEnabledCheckBox.setToolTip(_translate("EditorSearchPage", "Select, whether search markers shall be shown for a quicksearch"))
+        self.quicksearchMarkersEnabledCheckBox.setText(_translate("EditorSearchPage", "Highlight all occurrences of quicksearch text"))
+        self.label_2.setText(_translate("EditorSearchPage", "Timeout for quicksearch highlighting:"))
+        self.quicksearchMarkOccurrencesTimeoutSpinBox.setToolTip(_translate("EditorSearchPage", "Enter the time in milliseconds after which occurrences of the current search text shall be highlighted"))
+        self.quicksearchMarkOccurrencesTimeoutSpinBox.setSuffix(_translate("EditorSearchPage", " ms"))
+        self.searckMarkersBox.setTitle(_translate("EditorSearchPage", "Search Markers"))
+        self.occurrencesMarkersEnabledCheckBox.setToolTip(_translate("EditorSearchPage", "Select, whether markers for all occurrences of the current word shall be shown"))
+        self.occurrencesMarkersEnabledCheckBox.setText(_translate("EditorSearchPage", "Highlight all occurrences of current word"))
+        self.searchMarkersEnabledCheckBox.setToolTip(_translate("EditorSearchPage", "Select, whether search markers shall be shown for a standard search"))
+        self.searchMarkersEnabledCheckBox.setText(_translate("EditorSearchPage", "Highlight all occurrences of search text"))
+        self.label.setText(_translate("EditorSearchPage", "Timeout for current word highlighting:"))
+        self.markOccurrencesTimeoutSpinBox.setToolTip(_translate("EditorSearchPage", "Enter the time in milliseconds after which occurrences of the current word shall be highlighted"))
+        self.markOccurrencesTimeoutSpinBox.setSuffix(_translate("EditorSearchPage", " ms"))
+        self.TextLabel2_2_2_2_2_2.setText(_translate("EditorSearchPage", "Marker Color:"))
+        self.searchMarkerButton.setToolTip(_translate("EditorSearchPage", "Select the color for the search markers."))
+        self.regexpModeBox.setTitle(_translate("EditorSearchPage", "Regular Expression Type"))
+        self.regexpPosixButton.setToolTip(_translate("EditorSearchPage", "Select to used the QScintilla POSIX alike regular expression mode."))
+        self.regexpPosixButton.setText(_translate("EditorSearchPage", "QScintilla Regular Mode (POSIX)"))
+        self.regexpCxx11Button.setToolTip(_translate("EditorSearchPage", "Select to used the QScintilla extended (C++11) regular expression mode."))
+        self.regexpCxx11Button.setText(_translate("EditorSearchPage", "QScintilla Extended  Mode (C++11)"))
+        self.highlightingBackgroundLabel.setText(_translate("EditorSearchPage", "Search Area Highlighting:"))
+        self.highlightingBackgroundButton.setToolTip(_translate("EditorSearchPage", "Select the color for the highlighting of the search area, if it is not the whole document."))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Preferences/ConfigurationPages/Ui_EditorSpellCheckingPage.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,221 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Preferences/ConfigurationPages/EditorSpellCheckingPage.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_EditorSpellCheckingPage(object):
+    def setupUi(self, EditorSpellCheckingPage):
+        EditorSpellCheckingPage.setObjectName("EditorSpellCheckingPage")
+        EditorSpellCheckingPage.resize(576, 663)
+        self.verticalLayout_4 = QtWidgets.QVBoxLayout(EditorSpellCheckingPage)
+        self.verticalLayout_4.setObjectName("verticalLayout_4")
+        self.headerLabel = QtWidgets.QLabel(parent=EditorSpellCheckingPage)
+        self.headerLabel.setObjectName("headerLabel")
+        self.verticalLayout_4.addWidget(self.headerLabel)
+        self.line3 = QtWidgets.QFrame(parent=EditorSpellCheckingPage)
+        self.line3.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line3.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line3.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line3.setObjectName("line3")
+        self.verticalLayout_4.addWidget(self.line3)
+        self.errorLabel = QtWidgets.QLabel(parent=EditorSpellCheckingPage)
+        self.errorLabel.setObjectName("errorLabel")
+        self.verticalLayout_4.addWidget(self.errorLabel)
+        self.spellingFrame = QtWidgets.QFrame(parent=EditorSpellCheckingPage)
+        self.spellingFrame.setFrameShape(QtWidgets.QFrame.Shape.NoFrame)
+        self.spellingFrame.setFrameShadow(QtWidgets.QFrame.Shadow.Plain)
+        self.spellingFrame.setObjectName("spellingFrame")
+        self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.spellingFrame)
+        self.verticalLayout_3.setContentsMargins(0, 0, 0, 0)
+        self.verticalLayout_3.setObjectName("verticalLayout_3")
+        self.checkingEnabledCheckBox = QtWidgets.QCheckBox(parent=self.spellingFrame)
+        self.checkingEnabledCheckBox.setObjectName("checkingEnabledCheckBox")
+        self.verticalLayout_3.addWidget(self.checkingEnabledCheckBox)
+        self.groupBox_3 = QtWidgets.QGroupBox(parent=self.spellingFrame)
+        self.groupBox_3.setObjectName("groupBox_3")
+        self.gridLayout_3 = QtWidgets.QGridLayout(self.groupBox_3)
+        self.gridLayout_3.setObjectName("gridLayout_3")
+        self.label_2 = QtWidgets.QLabel(parent=self.groupBox_3)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout_3.addWidget(self.label_2, 0, 0, 1, 1)
+        self.defaultLanguageCombo = QtWidgets.QComboBox(parent=self.groupBox_3)
+        self.defaultLanguageCombo.setObjectName("defaultLanguageCombo")
+        self.gridLayout_3.addWidget(self.defaultLanguageCombo, 0, 1, 1, 1)
+        spacerItem = QtWidgets.QSpacerItem(353, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout_3.addItem(spacerItem, 0, 2, 1, 1)
+        self.verticalLayout_3.addWidget(self.groupBox_3)
+        self.groupBox_4 = QtWidgets.QGroupBox(parent=self.spellingFrame)
+        self.groupBox_4.setObjectName("groupBox_4")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.groupBox_4)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.horizontalLayout_4 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_4.setObjectName("horizontalLayout_4")
+        self.stringsOnlyCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_4)
+        self.stringsOnlyCheckBox.setObjectName("stringsOnlyCheckBox")
+        self.horizontalLayout_4.addWidget(self.stringsOnlyCheckBox)
+        self.fullCheckUnknownCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_4)
+        self.fullCheckUnknownCheckBox.setObjectName("fullCheckUnknownCheckBox")
+        self.horizontalLayout_4.addWidget(self.fullCheckUnknownCheckBox)
+        self.verticalLayout.addLayout(self.horizontalLayout_4)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.label = QtWidgets.QLabel(parent=self.groupBox_4)
+        self.label.setObjectName("label")
+        self.horizontalLayout.addWidget(self.label)
+        self.minimumWordSizeSlider = QtWidgets.QSlider(parent=self.groupBox_4)
+        self.minimumWordSizeSlider.setMinimum(1)
+        self.minimumWordSizeSlider.setMaximum(10)
+        self.minimumWordSizeSlider.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.minimumWordSizeSlider.setTickPosition(QtWidgets.QSlider.TickPosition.NoTicks)
+        self.minimumWordSizeSlider.setTickInterval(1)
+        self.minimumWordSizeSlider.setObjectName("minimumWordSizeSlider")
+        self.horizontalLayout.addWidget(self.minimumWordSizeSlider)
+        self.lcdNumber = QtWidgets.QLCDNumber(parent=self.groupBox_4)
+        self.lcdNumber.setDigitCount(2)
+        self.lcdNumber.setSegmentStyle(QtWidgets.QLCDNumber.SegmentStyle.Flat)
+        self.lcdNumber.setProperty("intValue", 1)
+        self.lcdNumber.setObjectName("lcdNumber")
+        self.horizontalLayout.addWidget(self.lcdNumber)
+        self.verticalLayout.addLayout(self.horizontalLayout)
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.label_8 = QtWidgets.QLabel(parent=self.groupBox_4)
+        self.label_8.setObjectName("label_8")
+        self.horizontalLayout_2.addWidget(self.label_8)
+        self.spellCheckTextFilesLineEdit = QtWidgets.QLineEdit(parent=self.groupBox_4)
+        self.spellCheckTextFilesLineEdit.setClearButtonEnabled(True)
+        self.spellCheckTextFilesLineEdit.setObjectName("spellCheckTextFilesLineEdit")
+        self.horizontalLayout_2.addWidget(self.spellCheckTextFilesLineEdit)
+        self.verticalLayout.addLayout(self.horizontalLayout_2)
+        self.verticalLayout_3.addWidget(self.groupBox_4)
+        self.groupBox_2 = QtWidgets.QGroupBox(parent=self.spellingFrame)
+        self.groupBox_2.setObjectName("groupBox_2")
+        self.gridLayout_2 = QtWidgets.QGridLayout(self.groupBox_2)
+        self.gridLayout_2.setObjectName("gridLayout_2")
+        self.TextLabel2_2_2_2_2_2 = QtWidgets.QLabel(parent=self.groupBox_2)
+        self.TextLabel2_2_2_2_2_2.setObjectName("TextLabel2_2_2_2_2_2")
+        self.gridLayout_2.addWidget(self.TextLabel2_2_2_2_2_2, 0, 0, 1, 1)
+        self.spellingMarkerButton = QtWidgets.QPushButton(parent=self.groupBox_2)
+        self.spellingMarkerButton.setMinimumSize(QtCore.QSize(100, 0))
+        self.spellingMarkerButton.setText("")
+        self.spellingMarkerButton.setObjectName("spellingMarkerButton")
+        self.gridLayout_2.addWidget(self.spellingMarkerButton, 0, 1, 1, 1)
+        spacerItem1 = QtWidgets.QSpacerItem(348, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout_2.addItem(spacerItem1, 0, 2, 1, 1)
+        self.verticalLayout_3.addWidget(self.groupBox_2)
+        self.groupBox = QtWidgets.QGroupBox(parent=self.spellingFrame)
+        self.groupBox.setObjectName("groupBox")
+        self.gridLayout = QtWidgets.QGridLayout(self.groupBox)
+        self.gridLayout.setObjectName("gridLayout")
+        self.label_4 = QtWidgets.QLabel(parent=self.groupBox)
+        self.label_4.setObjectName("label_4")
+        self.gridLayout.addWidget(self.label_4, 0, 0, 1, 1)
+        self.pwlPicker = EricPathPicker(parent=self.groupBox)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.pwlPicker.sizePolicy().hasHeightForWidth())
+        self.pwlPicker.setSizePolicy(sizePolicy)
+        self.pwlPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.pwlPicker.setObjectName("pwlPicker")
+        self.gridLayout.addWidget(self.pwlPicker, 0, 1, 1, 1)
+        self.label_5 = QtWidgets.QLabel(parent=self.groupBox)
+        self.label_5.setObjectName("label_5")
+        self.gridLayout.addWidget(self.label_5, 1, 0, 1, 1)
+        self.pelPicker = EricPathPicker(parent=self.groupBox)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.pelPicker.sizePolicy().hasHeightForWidth())
+        self.pelPicker.setSizePolicy(sizePolicy)
+        self.pelPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.pelPicker.setObjectName("pelPicker")
+        self.gridLayout.addWidget(self.pelPicker, 1, 1, 1, 1)
+        self.label_6 = QtWidgets.QLabel(parent=self.groupBox)
+        self.label_6.setObjectName("label_6")
+        self.gridLayout.addWidget(self.label_6, 2, 0, 1, 2)
+        self.label_7 = QtWidgets.QLabel(parent=self.groupBox)
+        self.label_7.setObjectName("label_7")
+        self.gridLayout.addWidget(self.label_7, 3, 0, 1, 2)
+        self.verticalLayout_3.addWidget(self.groupBox)
+        self.groupBox_5 = QtWidgets.QGroupBox(parent=self.spellingFrame)
+        self.groupBox_5.setObjectName("groupBox_5")
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.groupBox_5)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.enabledCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_5)
+        self.enabledCheckBox.setObjectName("enabledCheckBox")
+        self.verticalLayout_2.addWidget(self.enabledCheckBox)
+        self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
+        self.label_3 = QtWidgets.QLabel(parent=self.groupBox_5)
+        self.label_3.setObjectName("label_3")
+        self.horizontalLayout_3.addWidget(self.label_3)
+        self.chunkSizeSpinBox = QtWidgets.QSpinBox(parent=self.groupBox_5)
+        self.chunkSizeSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.chunkSizeSpinBox.setMinimum(10)
+        self.chunkSizeSpinBox.setMaximum(999)
+        self.chunkSizeSpinBox.setObjectName("chunkSizeSpinBox")
+        self.horizontalLayout_3.addWidget(self.chunkSizeSpinBox)
+        spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_3.addItem(spacerItem2)
+        self.verticalLayout_2.addLayout(self.horizontalLayout_3)
+        self.verticalLayout_3.addWidget(self.groupBox_5)
+        self.verticalLayout_4.addWidget(self.spellingFrame)
+        spacerItem3 = QtWidgets.QSpacerItem(558, 231, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout_4.addItem(spacerItem3)
+
+        self.retranslateUi(EditorSpellCheckingPage)
+        self.minimumWordSizeSlider.valueChanged['int'].connect(self.lcdNumber.display) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(EditorSpellCheckingPage)
+        EditorSpellCheckingPage.setTabOrder(self.checkingEnabledCheckBox, self.defaultLanguageCombo)
+        EditorSpellCheckingPage.setTabOrder(self.defaultLanguageCombo, self.stringsOnlyCheckBox)
+        EditorSpellCheckingPage.setTabOrder(self.stringsOnlyCheckBox, self.fullCheckUnknownCheckBox)
+        EditorSpellCheckingPage.setTabOrder(self.fullCheckUnknownCheckBox, self.minimumWordSizeSlider)
+        EditorSpellCheckingPage.setTabOrder(self.minimumWordSizeSlider, self.spellCheckTextFilesLineEdit)
+        EditorSpellCheckingPage.setTabOrder(self.spellCheckTextFilesLineEdit, self.spellingMarkerButton)
+        EditorSpellCheckingPage.setTabOrder(self.spellingMarkerButton, self.pwlPicker)
+        EditorSpellCheckingPage.setTabOrder(self.pwlPicker, self.pelPicker)
+        EditorSpellCheckingPage.setTabOrder(self.pelPicker, self.enabledCheckBox)
+        EditorSpellCheckingPage.setTabOrder(self.enabledCheckBox, self.chunkSizeSpinBox)
+
+    def retranslateUi(self, EditorSpellCheckingPage):
+        _translate = QtCore.QCoreApplication.translate
+        self.headerLabel.setText(_translate("EditorSpellCheckingPage", "<b>Configure editor spell checking options</b>"))
+        self.errorLabel.setText(_translate("EditorSpellCheckingPage", "<font color=\"#FF0000\">Spell checking with PyEnchant is not available.</font>"))
+        self.checkingEnabledCheckBox.setToolTip(_translate("EditorSpellCheckingPage", "Select to enable spell checking"))
+        self.checkingEnabledCheckBox.setText(_translate("EditorSpellCheckingPage", "Spell checking enabled"))
+        self.groupBox_3.setTitle(_translate("EditorSpellCheckingPage", "Defaults"))
+        self.label_2.setText(_translate("EditorSpellCheckingPage", "Default language:"))
+        self.defaultLanguageCombo.setToolTip(_translate("EditorSpellCheckingPage", "Select the default language"))
+        self.groupBox_4.setTitle(_translate("EditorSpellCheckingPage", "Spell checking options"))
+        self.stringsOnlyCheckBox.setToolTip(_translate("EditorSpellCheckingPage", "Select to check strings only"))
+        self.stringsOnlyCheckBox.setText(_translate("EditorSpellCheckingPage", "Spell check strings only"))
+        self.fullCheckUnknownCheckBox.setToolTip(_translate("EditorSpellCheckingPage", "Select to perform a complete check of files without extension"))
+        self.fullCheckUnknownCheckBox.setText(_translate("EditorSpellCheckingPage", "Spell check unknown files"))
+        self.label.setText(_translate("EditorSpellCheckingPage", "Minimum word size:"))
+        self.minimumWordSizeSlider.setToolTip(_translate("EditorSpellCheckingPage", "Move to set the minimum size of words to be checked"))
+        self.lcdNumber.setToolTip(_translate("EditorSpellCheckingPage", "Displays the minimum size of words to be checked"))
+        self.label_8.setText(_translate("EditorSpellCheckingPage", "Textfiles:"))
+        self.spellCheckTextFilesLineEdit.setToolTip(_translate("EditorSpellCheckingPage", "Enter the file extensions of pure text files (separated by a space)"))
+        self.spellCheckTextFilesLineEdit.setWhatsThis(_translate("EditorSpellCheckingPage", "<b>Textfiles</b>\n"
+"<p>Enter the file extension of pure text files. The complete contents of files with these extensions will be checked.</p>"))
+        self.groupBox_2.setTitle(_translate("EditorSpellCheckingPage", "Colors"))
+        self.TextLabel2_2_2_2_2_2.setText(_translate("EditorSpellCheckingPage", "Marker Color:"))
+        self.spellingMarkerButton.setToolTip(_translate("EditorSpellCheckingPage", "Select the color for the spelling markers."))
+        self.groupBox.setTitle(_translate("EditorSpellCheckingPage", "Personal lists"))
+        self.label_4.setText(_translate("EditorSpellCheckingPage", "Personal word list file:"))
+        self.label_5.setText(_translate("EditorSpellCheckingPage", "Personal exclude list file:"))
+        self.label_6.setText(_translate("EditorSpellCheckingPage", "<b>Note:</b> leave these entries empty to use the default"))
+        self.label_7.setText(_translate("EditorSpellCheckingPage", "<b>Note:</b> valid for all newly opened editors"))
+        self.groupBox_5.setTitle(_translate("EditorSpellCheckingPage", "Automatic spell checking"))
+        self.enabledCheckBox.setToolTip(_translate("EditorSpellCheckingPage", "Select to enable spellchecking"))
+        self.enabledCheckBox.setText(_translate("EditorSpellCheckingPage", "Automatic spell checking enabled"))
+        self.label_3.setText(_translate("EditorSpellCheckingPage", "Amount of lines to autocheck at once:"))
+        self.chunkSizeSpinBox.setToolTip(_translate("EditorSpellCheckingPage", "Enter the number of lines to check per go. Higher values increase checking speed but decrease GUI responsivenes"))
+from eric7.EricWidgets.EricPathPicker import EricPathPicker
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Preferences/ConfigurationPages/Ui_EditorStylesPage.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,1138 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Preferences/ConfigurationPages/EditorStylesPage.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_EditorStylesPage(object):
+    def setupUi(self, EditorStylesPage):
+        EditorStylesPage.setObjectName("EditorStylesPage")
+        EditorStylesPage.resize(578, 3473)
+        self.verticalLayout_13 = QtWidgets.QVBoxLayout(EditorStylesPage)
+        self.verticalLayout_13.setObjectName("verticalLayout_13")
+        self.headerLabel = QtWidgets.QLabel(parent=EditorStylesPage)
+        self.headerLabel.setObjectName("headerLabel")
+        self.verticalLayout_13.addWidget(self.headerLabel)
+        self.line3 = QtWidgets.QFrame(parent=EditorStylesPage)
+        self.line3.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line3.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line3.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line3.setObjectName("line3")
+        self.verticalLayout_13.addWidget(self.line3)
+        self.label_3 = QtWidgets.QLabel(parent=EditorStylesPage)
+        self.label_3.setWordWrap(True)
+        self.label_3.setObjectName("label_3")
+        self.verticalLayout_13.addWidget(self.label_3)
+        self.colorsGroup = QtWidgets.QGroupBox(parent=EditorStylesPage)
+        self.colorsGroup.setObjectName("colorsGroup")
+        self.verticalLayout_10 = QtWidgets.QVBoxLayout(self.colorsGroup)
+        self.verticalLayout_10.setObjectName("verticalLayout_10")
+        self.editAreaOverrideCheckBox = QtWidgets.QGroupBox(parent=self.colorsGroup)
+        self.editAreaOverrideCheckBox.setCheckable(True)
+        self.editAreaOverrideCheckBox.setChecked(False)
+        self.editAreaOverrideCheckBox.setObjectName("editAreaOverrideCheckBox")
+        self.gridLayout_6 = QtWidgets.QGridLayout(self.editAreaOverrideCheckBox)
+        self.gridLayout_6.setObjectName("gridLayout_6")
+        self.TextLabel2_2_2_2_2_12 = QtWidgets.QLabel(parent=self.editAreaOverrideCheckBox)
+        self.TextLabel2_2_2_2_2_12.setObjectName("TextLabel2_2_2_2_2_12")
+        self.gridLayout_6.addWidget(self.TextLabel2_2_2_2_2_12, 0, 0, 1, 1)
+        self.editAreaForegroundButton = QtWidgets.QPushButton(parent=self.editAreaOverrideCheckBox)
+        self.editAreaForegroundButton.setMinimumSize(QtCore.QSize(100, 0))
+        self.editAreaForegroundButton.setText("")
+        self.editAreaForegroundButton.setObjectName("editAreaForegroundButton")
+        self.gridLayout_6.addWidget(self.editAreaForegroundButton, 0, 1, 1, 1)
+        spacerItem = QtWidgets.QSpacerItem(263, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout_6.addItem(spacerItem, 0, 2, 1, 1)
+        self.TextLabel2_2_2_2_2_11 = QtWidgets.QLabel(parent=self.editAreaOverrideCheckBox)
+        self.TextLabel2_2_2_2_2_11.setObjectName("TextLabel2_2_2_2_2_11")
+        self.gridLayout_6.addWidget(self.TextLabel2_2_2_2_2_11, 1, 0, 1, 1)
+        self.editAreaBackgroundButton = QtWidgets.QPushButton(parent=self.editAreaOverrideCheckBox)
+        self.editAreaBackgroundButton.setMinimumSize(QtCore.QSize(100, 0))
+        self.editAreaBackgroundButton.setText("")
+        self.editAreaBackgroundButton.setObjectName("editAreaBackgroundButton")
+        self.gridLayout_6.addWidget(self.editAreaBackgroundButton, 1, 1, 1, 1)
+        self.verticalLayout_10.addWidget(self.editAreaOverrideCheckBox)
+        self.horizontalLayout_8 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_8.setObjectName("horizontalLayout_8")
+        self.label_20 = QtWidgets.QLabel(parent=self.colorsGroup)
+        self.label_20.setObjectName("label_20")
+        self.horizontalLayout_8.addWidget(self.label_20)
+        self.highlightingBackgroundButton = QtWidgets.QPushButton(parent=self.colorsGroup)
+        self.highlightingBackgroundButton.setMinimumSize(QtCore.QSize(100, 0))
+        self.highlightingBackgroundButton.setText("")
+        self.highlightingBackgroundButton.setObjectName("highlightingBackgroundButton")
+        self.horizontalLayout_8.addWidget(self.highlightingBackgroundButton)
+        spacerItem1 = QtWidgets.QSpacerItem(347, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_8.addItem(spacerItem1)
+        self.verticalLayout_10.addLayout(self.horizontalLayout_8)
+        self.verticalLayout_13.addWidget(self.colorsGroup)
+        self.fontsGroup = QtWidgets.QGroupBox(parent=EditorStylesPage)
+        self.fontsGroup.setObjectName("fontsGroup")
+        self.gridlayout = QtWidgets.QGridLayout(self.fontsGroup)
+        self.gridlayout.setObjectName("gridlayout")
+        self.defaultFontSample = QtWidgets.QLineEdit(parent=self.fontsGroup)
+        self.defaultFontSample.setFocusPolicy(QtCore.Qt.FocusPolicy.NoFocus)
+        self.defaultFontSample.setAlignment(QtCore.Qt.AlignmentFlag.AlignHCenter)
+        self.defaultFontSample.setReadOnly(True)
+        self.defaultFontSample.setObjectName("defaultFontSample")
+        self.gridlayout.addWidget(self.defaultFontSample, 0, 1, 1, 1)
+        self.defaultFontButton = QtWidgets.QPushButton(parent=self.fontsGroup)
+        self.defaultFontButton.setObjectName("defaultFontButton")
+        self.gridlayout.addWidget(self.defaultFontButton, 0, 0, 1, 1)
+        self.monospacedFontButton = QtWidgets.QPushButton(parent=self.fontsGroup)
+        self.monospacedFontButton.setObjectName("monospacedFontButton")
+        self.gridlayout.addWidget(self.monospacedFontButton, 1, 0, 1, 1)
+        self.monospacedFontSample = QtWidgets.QLineEdit(parent=self.fontsGroup)
+        self.monospacedFontSample.setFocusPolicy(QtCore.Qt.FocusPolicy.NoFocus)
+        self.monospacedFontSample.setAlignment(QtCore.Qt.AlignmentFlag.AlignHCenter)
+        self.monospacedFontSample.setReadOnly(True)
+        self.monospacedFontSample.setObjectName("monospacedFontSample")
+        self.gridlayout.addWidget(self.monospacedFontSample, 1, 1, 1, 1)
+        self.monospacedCheckBox = QtWidgets.QCheckBox(parent=self.fontsGroup)
+        self.monospacedCheckBox.setObjectName("monospacedCheckBox")
+        self.gridlayout.addWidget(self.monospacedCheckBox, 2, 0, 1, 2)
+        self.verticalLayout_13.addWidget(self.fontsGroup)
+        self.marginsGroup = QtWidgets.QGroupBox(parent=EditorStylesPage)
+        self.marginsGroup.setObjectName("marginsGroup")
+        self.verticalLayout_12 = QtWidgets.QVBoxLayout(self.marginsGroup)
+        self.verticalLayout_12.setObjectName("verticalLayout_12")
+        self.marginsGeneralGroup = QtWidgets.QGroupBox(parent=self.marginsGroup)
+        self.marginsGeneralGroup.setObjectName("marginsGeneralGroup")
+        self.gridLayout = QtWidgets.QGridLayout(self.marginsGeneralGroup)
+        self.gridLayout.setObjectName("gridLayout")
+        self.TextLabel2_2_2_2_2_6 = QtWidgets.QLabel(parent=self.marginsGeneralGroup)
+        self.TextLabel2_2_2_2_2_6.setObjectName("TextLabel2_2_2_2_2_6")
+        self.gridLayout.addWidget(self.TextLabel2_2_2_2_2_6, 0, 0, 1, 1)
+        self.marginsForegroundButton = QtWidgets.QPushButton(parent=self.marginsGeneralGroup)
+        self.marginsForegroundButton.setMinimumSize(QtCore.QSize(100, 0))
+        self.marginsForegroundButton.setText("")
+        self.marginsForegroundButton.setObjectName("marginsForegroundButton")
+        self.gridLayout.addWidget(self.marginsForegroundButton, 0, 1, 1, 1)
+        spacerItem2 = QtWidgets.QSpacerItem(266, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout.addItem(spacerItem2, 0, 2, 1, 1)
+        self.TextLabel2_2_2_2_2_7 = QtWidgets.QLabel(parent=self.marginsGeneralGroup)
+        self.TextLabel2_2_2_2_2_7.setObjectName("TextLabel2_2_2_2_2_7")
+        self.gridLayout.addWidget(self.TextLabel2_2_2_2_2_7, 1, 0, 1, 1)
+        self.marginsBackgroundButton = QtWidgets.QPushButton(parent=self.marginsGeneralGroup)
+        self.marginsBackgroundButton.setMinimumSize(QtCore.QSize(100, 0))
+        self.marginsBackgroundButton.setText("")
+        self.marginsBackgroundButton.setObjectName("marginsBackgroundButton")
+        self.gridLayout.addWidget(self.marginsBackgroundButton, 1, 1, 1, 1)
+        self.verticalLayout_12.addWidget(self.marginsGeneralGroup)
+        self.lineNumbersGroup = QtWidgets.QGroupBox(parent=self.marginsGroup)
+        self.lineNumbersGroup.setObjectName("lineNumbersGroup")
+        self.verticalLayout_5 = QtWidgets.QVBoxLayout(self.lineNumbersGroup)
+        self.verticalLayout_5.setObjectName("verticalLayout_5")
+        self.linenoCheckBox = QtWidgets.QCheckBox(parent=self.lineNumbersGroup)
+        self.linenoCheckBox.setObjectName("linenoCheckBox")
+        self.verticalLayout_5.addWidget(self.linenoCheckBox)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.linenumbersFontButton = QtWidgets.QPushButton(parent=self.lineNumbersGroup)
+        self.linenumbersFontButton.setObjectName("linenumbersFontButton")
+        self.horizontalLayout.addWidget(self.linenumbersFontButton)
+        self.marginsFontSample = QtWidgets.QLineEdit(parent=self.lineNumbersGroup)
+        self.marginsFontSample.setMinimumSize(QtCore.QSize(200, 0))
+        self.marginsFontSample.setFocusPolicy(QtCore.Qt.FocusPolicy.NoFocus)
+        self.marginsFontSample.setAlignment(QtCore.Qt.AlignmentFlag.AlignHCenter)
+        self.marginsFontSample.setReadOnly(True)
+        self.marginsFontSample.setObjectName("marginsFontSample")
+        self.horizontalLayout.addWidget(self.marginsFontSample)
+        spacerItem3 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem3)
+        self.verticalLayout_5.addLayout(self.horizontalLayout)
+        self.verticalLayout_12.addWidget(self.lineNumbersGroup)
+        self.foldMarginGroup = QtWidgets.QGroupBox(parent=self.marginsGroup)
+        self.foldMarginGroup.setObjectName("foldMarginGroup")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.foldMarginGroup)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.foldingCheckBox = QtWidgets.QCheckBox(parent=self.foldMarginGroup)
+        self.foldingCheckBox.setObjectName("foldingCheckBox")
+        self.verticalLayout.addWidget(self.foldingCheckBox)
+        self.hboxlayout = QtWidgets.QHBoxLayout()
+        self.hboxlayout.setObjectName("hboxlayout")
+        self.TextLabel1_4_2_2 = QtWidgets.QLabel(parent=self.foldMarginGroup)
+        self.TextLabel1_4_2_2.setObjectName("TextLabel1_4_2_2")
+        self.hboxlayout.addWidget(self.TextLabel1_4_2_2)
+        self.foldingStyleComboBox = QtWidgets.QComboBox(parent=self.foldMarginGroup)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.foldingStyleComboBox.sizePolicy().hasHeightForWidth())
+        self.foldingStyleComboBox.setSizePolicy(sizePolicy)
+        self.foldingStyleComboBox.setObjectName("foldingStyleComboBox")
+        self.foldingStyleComboBox.addItem("")
+        self.foldingStyleComboBox.addItem("")
+        self.foldingStyleComboBox.addItem("")
+        self.foldingStyleComboBox.addItem("")
+        self.foldingStyleComboBox.addItem("")
+        self.foldingStyleComboBox.addItem("")
+        self.foldingStyleComboBox.addItem("")
+        self.hboxlayout.addWidget(self.foldingStyleComboBox)
+        self.verticalLayout.addLayout(self.hboxlayout)
+        self.gridLayout_16 = QtWidgets.QGridLayout()
+        self.gridLayout_16.setObjectName("gridLayout_16")
+        self.TextLabel2_2_2_2_2_8 = QtWidgets.QLabel(parent=self.foldMarginGroup)
+        self.TextLabel2_2_2_2_2_8.setObjectName("TextLabel2_2_2_2_2_8")
+        self.gridLayout_16.addWidget(self.TextLabel2_2_2_2_2_8, 0, 0, 1, 1)
+        self.foldmarginBackgroundButton = QtWidgets.QPushButton(parent=self.foldMarginGroup)
+        self.foldmarginBackgroundButton.setMinimumSize(QtCore.QSize(100, 0))
+        self.foldmarginBackgroundButton.setText("")
+        self.foldmarginBackgroundButton.setObjectName("foldmarginBackgroundButton")
+        self.gridLayout_16.addWidget(self.foldmarginBackgroundButton, 0, 1, 1, 1)
+        spacerItem4 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout_16.addItem(spacerItem4, 0, 2, 1, 1)
+        self.label = QtWidgets.QLabel(parent=self.foldMarginGroup)
+        self.label.setObjectName("label")
+        self.gridLayout_16.addWidget(self.label, 1, 0, 1, 1)
+        self.foldmarkersForegroundButton = QtWidgets.QPushButton(parent=self.foldMarginGroup)
+        self.foldmarkersForegroundButton.setMinimumSize(QtCore.QSize(100, 0))
+        self.foldmarkersForegroundButton.setText("")
+        self.foldmarkersForegroundButton.setObjectName("foldmarkersForegroundButton")
+        self.gridLayout_16.addWidget(self.foldmarkersForegroundButton, 1, 1, 1, 1)
+        self.label_2 = QtWidgets.QLabel(parent=self.foldMarginGroup)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout_16.addWidget(self.label_2, 2, 0, 1, 1)
+        self.foldmarkersBackgroundButton = QtWidgets.QPushButton(parent=self.foldMarginGroup)
+        self.foldmarkersBackgroundButton.setMinimumSize(QtCore.QSize(100, 0))
+        self.foldmarkersBackgroundButton.setText("")
+        self.foldmarkersBackgroundButton.setObjectName("foldmarkersBackgroundButton")
+        self.gridLayout_16.addWidget(self.foldmarkersBackgroundButton, 2, 1, 1, 1)
+        self.verticalLayout.addLayout(self.gridLayout_16)
+        self.verticalLayout_12.addWidget(self.foldMarginGroup)
+        self.verticalLayout_13.addWidget(self.marginsGroup)
+        self.selectionGroup = QtWidgets.QGroupBox(parent=EditorStylesPage)
+        self.selectionGroup.setObjectName("selectionGroup")
+        self.verticalLayout_11 = QtWidgets.QVBoxLayout(self.selectionGroup)
+        self.verticalLayout_11.setObjectName("verticalLayout_11")
+        self._3 = QtWidgets.QGridLayout()
+        self._3.setObjectName("_3")
+        self.customSelColourCheckBox = QtWidgets.QCheckBox(parent=self.selectionGroup)
+        self.customSelColourCheckBox.setObjectName("customSelColourCheckBox")
+        self._3.addWidget(self.customSelColourCheckBox, 0, 0, 1, 1)
+        self.colourizeSelTextCheckBox = QtWidgets.QCheckBox(parent=self.selectionGroup)
+        self.colourizeSelTextCheckBox.setObjectName("colourizeSelTextCheckBox")
+        self._3.addWidget(self.colourizeSelTextCheckBox, 0, 1, 1, 1)
+        self.extentSelEolCheckBox = QtWidgets.QCheckBox(parent=self.selectionGroup)
+        self.extentSelEolCheckBox.setObjectName("extentSelEolCheckBox")
+        self._3.addWidget(self.extentSelEolCheckBox, 1, 0, 1, 1)
+        self.verticalLayout_11.addLayout(self._3)
+        self.gridLayout_12 = QtWidgets.QGridLayout()
+        self.gridLayout_12.setObjectName("gridLayout_12")
+        self.TextLabel2_2_2_2_2_4 = QtWidgets.QLabel(parent=self.selectionGroup)
+        self.TextLabel2_2_2_2_2_4.setObjectName("TextLabel2_2_2_2_2_4")
+        self.gridLayout_12.addWidget(self.TextLabel2_2_2_2_2_4, 0, 0, 1, 1)
+        self.selectionForegroundButton = QtWidgets.QPushButton(parent=self.selectionGroup)
+        self.selectionForegroundButton.setMinimumSize(QtCore.QSize(100, 0))
+        self.selectionForegroundButton.setText("")
+        self.selectionForegroundButton.setObjectName("selectionForegroundButton")
+        self.gridLayout_12.addWidget(self.selectionForegroundButton, 0, 1, 1, 1)
+        spacerItem5 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout_12.addItem(spacerItem5, 0, 2, 1, 1)
+        self.TextLabel2_2_2_2_2_5 = QtWidgets.QLabel(parent=self.selectionGroup)
+        self.TextLabel2_2_2_2_2_5.setObjectName("TextLabel2_2_2_2_2_5")
+        self.gridLayout_12.addWidget(self.TextLabel2_2_2_2_2_5, 1, 0, 1, 1)
+        self.selectionBackgroundButton = QtWidgets.QPushButton(parent=self.selectionGroup)
+        self.selectionBackgroundButton.setMinimumSize(QtCore.QSize(100, 0))
+        self.selectionBackgroundButton.setText("")
+        self.selectionBackgroundButton.setObjectName("selectionBackgroundButton")
+        self.gridLayout_12.addWidget(self.selectionBackgroundButton, 1, 1, 1, 1)
+        self.verticalLayout_11.addLayout(self.gridLayout_12)
+        self.verticalLayout_13.addWidget(self.selectionGroup)
+        self.caretGroup = QtWidgets.QGroupBox(parent=EditorStylesPage)
+        self.caretGroup.setObjectName("caretGroup")
+        self.verticalLayout_9 = QtWidgets.QVBoxLayout(self.caretGroup)
+        self.verticalLayout_9.setObjectName("verticalLayout_9")
+        self.caretGeneralGroup = QtWidgets.QGroupBox(parent=self.caretGroup)
+        self.caretGeneralGroup.setObjectName("caretGeneralGroup")
+        self.horizontalLayout_5 = QtWidgets.QHBoxLayout(self.caretGeneralGroup)
+        self.horizontalLayout_5.setObjectName("horizontalLayout_5")
+        self.textLabel1_7 = QtWidgets.QLabel(parent=self.caretGeneralGroup)
+        self.textLabel1_7.setObjectName("textLabel1_7")
+        self.horizontalLayout_5.addWidget(self.textLabel1_7)
+        self.caretWidthSpinBox = QtWidgets.QSpinBox(parent=self.caretGeneralGroup)
+        self.caretWidthSpinBox.setMinimum(1)
+        self.caretWidthSpinBox.setMaximum(3)
+        self.caretWidthSpinBox.setObjectName("caretWidthSpinBox")
+        self.horizontalLayout_5.addWidget(self.caretWidthSpinBox)
+        self.TextLabel2_2_2_2_2_2 = QtWidgets.QLabel(parent=self.caretGeneralGroup)
+        self.TextLabel2_2_2_2_2_2.setObjectName("TextLabel2_2_2_2_2_2")
+        self.horizontalLayout_5.addWidget(self.TextLabel2_2_2_2_2_2)
+        self.caretForegroundButton = QtWidgets.QPushButton(parent=self.caretGeneralGroup)
+        self.caretForegroundButton.setMinimumSize(QtCore.QSize(100, 0))
+        self.caretForegroundButton.setText("")
+        self.caretForegroundButton.setObjectName("caretForegroundButton")
+        self.horizontalLayout_5.addWidget(self.caretForegroundButton)
+        spacerItem6 = QtWidgets.QSpacerItem(347, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_5.addItem(spacerItem6)
+        self.verticalLayout_9.addWidget(self.caretGeneralGroup)
+        self.caretLineGroup = QtWidgets.QGroupBox(parent=self.caretGroup)
+        self.caretLineGroup.setObjectName("caretLineGroup")
+        self.verticalLayout_6 = QtWidgets.QVBoxLayout(self.caretLineGroup)
+        self.verticalLayout_6.setObjectName("verticalLayout_6")
+        self.horizontalLayout_4 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_4.setObjectName("horizontalLayout_4")
+        self.caretlineVisibleCheckBox = QtWidgets.QCheckBox(parent=self.caretLineGroup)
+        self.caretlineVisibleCheckBox.setObjectName("caretlineVisibleCheckBox")
+        self.horizontalLayout_4.addWidget(self.caretlineVisibleCheckBox)
+        self.caretlineAlwaysVisibleCheckBox = QtWidgets.QCheckBox(parent=self.caretLineGroup)
+        self.caretlineAlwaysVisibleCheckBox.setObjectName("caretlineAlwaysVisibleCheckBox")
+        self.horizontalLayout_4.addWidget(self.caretlineAlwaysVisibleCheckBox)
+        spacerItem7 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_4.addItem(spacerItem7)
+        self.verticalLayout_6.addLayout(self.horizontalLayout_4)
+        self.horizontalLayout_6 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_6.setObjectName("horizontalLayout_6")
+        self.label_19 = QtWidgets.QLabel(parent=self.caretLineGroup)
+        self.label_19.setObjectName("label_19")
+        self.horizontalLayout_6.addWidget(self.label_19)
+        self.caretlineFrameWidthSpinBox = QtWidgets.QSpinBox(parent=self.caretLineGroup)
+        self.caretlineFrameWidthSpinBox.setMinimum(0)
+        self.caretlineFrameWidthSpinBox.setMaximum(3)
+        self.caretlineFrameWidthSpinBox.setProperty("value", 0)
+        self.caretlineFrameWidthSpinBox.setObjectName("caretlineFrameWidthSpinBox")
+        self.horizontalLayout_6.addWidget(self.caretlineFrameWidthSpinBox)
+        self.TextLabel2_2_2_2_2_3 = QtWidgets.QLabel(parent=self.caretLineGroup)
+        self.TextLabel2_2_2_2_2_3.setObjectName("TextLabel2_2_2_2_2_3")
+        self.horizontalLayout_6.addWidget(self.TextLabel2_2_2_2_2_3)
+        self.caretlineBackgroundButton = QtWidgets.QPushButton(parent=self.caretLineGroup)
+        self.caretlineBackgroundButton.setMinimumSize(QtCore.QSize(100, 0))
+        self.caretlineBackgroundButton.setText("")
+        self.caretlineBackgroundButton.setObjectName("caretlineBackgroundButton")
+        self.horizontalLayout_6.addWidget(self.caretlineBackgroundButton)
+        spacerItem8 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_6.addItem(spacerItem8)
+        self.verticalLayout_6.addLayout(self.horizontalLayout_6)
+        self.verticalLayout_9.addWidget(self.caretLineGroup)
+        self.verticalLayout_13.addWidget(self.caretGroup)
+        self.debuggingGroup = QtWidgets.QGroupBox(parent=EditorStylesPage)
+        self.debuggingGroup.setObjectName("debuggingGroup")
+        self.gridLayout_10 = QtWidgets.QGridLayout(self.debuggingGroup)
+        self.gridLayout_10.setObjectName("gridLayout_10")
+        self.TextLabel3_2_2 = QtWidgets.QLabel(parent=self.debuggingGroup)
+        self.TextLabel3_2_2.setObjectName("TextLabel3_2_2")
+        self.gridLayout_10.addWidget(self.TextLabel3_2_2, 1, 0, 1, 1)
+        self.currentLineMarkerButton = QtWidgets.QPushButton(parent=self.debuggingGroup)
+        self.currentLineMarkerButton.setMinimumSize(QtCore.QSize(100, 0))
+        self.currentLineMarkerButton.setText("")
+        self.currentLineMarkerButton.setObjectName("currentLineMarkerButton")
+        self.gridLayout_10.addWidget(self.currentLineMarkerButton, 1, 1, 1, 1)
+        self.debugMarkerBackgroundCheckBox = QtWidgets.QCheckBox(parent=self.debuggingGroup)
+        self.debugMarkerBackgroundCheckBox.setObjectName("debugMarkerBackgroundCheckBox")
+        self.gridLayout_10.addWidget(self.debugMarkerBackgroundCheckBox, 0, 0, 1, 4)
+        self.TextLabel4_2_2 = QtWidgets.QLabel(parent=self.debuggingGroup)
+        self.TextLabel4_2_2.setObjectName("TextLabel4_2_2")
+        self.gridLayout_10.addWidget(self.TextLabel4_2_2, 2, 0, 1, 1)
+        spacerItem9 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout_10.addItem(spacerItem9, 1, 2, 1, 1)
+        self.errorMarkerButton = QtWidgets.QPushButton(parent=self.debuggingGroup)
+        self.errorMarkerButton.setMinimumSize(QtCore.QSize(100, 0))
+        self.errorMarkerButton.setText("")
+        self.errorMarkerButton.setObjectName("errorMarkerButton")
+        self.gridLayout_10.addWidget(self.errorMarkerButton, 2, 1, 1, 1)
+        self.verticalLayout_13.addWidget(self.debuggingGroup)
+        self.bracesGroup = QtWidgets.QGroupBox(parent=EditorStylesPage)
+        self.bracesGroup.setObjectName("bracesGroup")
+        self._9 = QtWidgets.QGridLayout(self.bracesGroup)
+        self._9.setObjectName("_9")
+        self.TextLabel1_3_2 = QtWidgets.QLabel(parent=self.bracesGroup)
+        self.TextLabel1_3_2.setObjectName("TextLabel1_3_2")
+        self._9.addWidget(self.TextLabel1_3_2, 1, 0, 1, 1)
+        spacerItem10 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self._9.addItem(spacerItem10, 1, 2, 1, 1)
+        self.matchingBracesBackButton = QtWidgets.QPushButton(parent=self.bracesGroup)
+        self.matchingBracesBackButton.setMinimumSize(QtCore.QSize(100, 0))
+        self.matchingBracesBackButton.setText("")
+        self.matchingBracesBackButton.setObjectName("matchingBracesBackButton")
+        self._9.addWidget(self.matchingBracesBackButton, 2, 1, 1, 1)
+        self.matchingBracesButton = QtWidgets.QPushButton(parent=self.bracesGroup)
+        self.matchingBracesButton.setMinimumSize(QtCore.QSize(100, 0))
+        self.matchingBracesButton.setText("")
+        self.matchingBracesButton.setObjectName("matchingBracesButton")
+        self._9.addWidget(self.matchingBracesButton, 1, 1, 1, 1)
+        self.TextLabel2_2_2 = QtWidgets.QLabel(parent=self.bracesGroup)
+        self.TextLabel2_2_2.setMinimumSize(QtCore.QSize(100, 0))
+        self.TextLabel2_2_2.setObjectName("TextLabel2_2_2")
+        self._9.addWidget(self.TextLabel2_2_2, 3, 0, 1, 1)
+        self.nonmatchingBracesButton = QtWidgets.QPushButton(parent=self.bracesGroup)
+        self.nonmatchingBracesButton.setText("")
+        self.nonmatchingBracesButton.setObjectName("nonmatchingBracesButton")
+        self._9.addWidget(self.nonmatchingBracesButton, 3, 1, 1, 1)
+        self.TextLabel1_3_2_2 = QtWidgets.QLabel(parent=self.bracesGroup)
+        self.TextLabel1_3_2_2.setObjectName("TextLabel1_3_2_2")
+        self._9.addWidget(self.TextLabel1_3_2_2, 2, 0, 1, 1)
+        self.TextLabel2_2_2_3 = QtWidgets.QLabel(parent=self.bracesGroup)
+        self.TextLabel2_2_2_3.setMinimumSize(QtCore.QSize(100, 0))
+        self.TextLabel2_2_2_3.setObjectName("TextLabel2_2_2_3")
+        self._9.addWidget(self.TextLabel2_2_2_3, 4, 0, 1, 1)
+        self.nonmatchingBracesBackButton = QtWidgets.QPushButton(parent=self.bracesGroup)
+        self.nonmatchingBracesBackButton.setText("")
+        self.nonmatchingBracesBackButton.setObjectName("nonmatchingBracesBackButton")
+        self._9.addWidget(self.nonmatchingBracesBackButton, 4, 1, 1, 1)
+        self.bracehighlightingCheckBox = QtWidgets.QCheckBox(parent=self.bracesGroup)
+        self.bracehighlightingCheckBox.setObjectName("bracehighlightingCheckBox")
+        self._9.addWidget(self.bracehighlightingCheckBox, 0, 0, 1, 3)
+        self.verticalLayout_13.addWidget(self.bracesGroup)
+        self.eolGroup = QtWidgets.QGroupBox(parent=EditorStylesPage)
+        self.eolGroup.setObjectName("eolGroup")
+        self.verticalLayout_4 = QtWidgets.QVBoxLayout(self.eolGroup)
+        self.verticalLayout_4.setObjectName("verticalLayout_4")
+        self.eolCheckBox = QtWidgets.QCheckBox(parent=self.eolGroup)
+        self.eolCheckBox.setObjectName("eolCheckBox")
+        self.verticalLayout_4.addWidget(self.eolCheckBox)
+        self.wrapLongLinesGroup = QtWidgets.QGroupBox(parent=self.eolGroup)
+        self.wrapLongLinesGroup.setToolTip("")
+        self.wrapLongLinesGroup.setCheckable(False)
+        self.wrapLongLinesGroup.setObjectName("wrapLongLinesGroup")
+        self.gridLayout_7 = QtWidgets.QGridLayout(self.wrapLongLinesGroup)
+        self.gridLayout_7.setObjectName("gridLayout_7")
+        self.textLabel1_15 = QtWidgets.QLabel(parent=self.wrapLongLinesGroup)
+        self.textLabel1_15.setObjectName("textLabel1_15")
+        self.gridLayout_7.addWidget(self.textLabel1_15, 0, 0, 1, 1)
+        self.wrapModeComboBox = QtWidgets.QComboBox(parent=self.wrapLongLinesGroup)
+        self.wrapModeComboBox.setObjectName("wrapModeComboBox")
+        self.gridLayout_7.addWidget(self.wrapModeComboBox, 0, 1, 1, 1)
+        spacerItem11 = QtWidgets.QSpacerItem(400, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout_7.addItem(spacerItem11, 0, 2, 1, 2)
+        self.label_5 = QtWidgets.QLabel(parent=self.wrapLongLinesGroup)
+        self.label_5.setObjectName("label_5")
+        self.gridLayout_7.addWidget(self.label_5, 1, 0, 1, 1)
+        self.wrapVisualComboBox = QtWidgets.QComboBox(parent=self.wrapLongLinesGroup)
+        self.wrapVisualComboBox.setObjectName("wrapVisualComboBox")
+        self.gridLayout_7.addWidget(self.wrapVisualComboBox, 1, 1, 1, 1)
+        self.label_18 = QtWidgets.QLabel(parent=self.wrapLongLinesGroup)
+        self.label_18.setObjectName("label_18")
+        self.gridLayout_7.addWidget(self.label_18, 2, 0, 1, 1)
+        self.wrapIndentComboBox = QtWidgets.QComboBox(parent=self.wrapLongLinesGroup)
+        self.wrapIndentComboBox.setObjectName("wrapIndentComboBox")
+        self.gridLayout_7.addWidget(self.wrapIndentComboBox, 2, 1, 1, 1)
+        self.wrapStartIndentSpinBox = QtWidgets.QSpinBox(parent=self.wrapLongLinesGroup)
+        self.wrapStartIndentSpinBox.setMaximum(9)
+        self.wrapStartIndentSpinBox.setObjectName("wrapStartIndentSpinBox")
+        self.gridLayout_7.addWidget(self.wrapStartIndentSpinBox, 2, 2, 1, 1)
+        spacerItem12 = QtWidgets.QSpacerItem(362, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout_7.addItem(spacerItem12, 2, 3, 1, 1)
+        self.verticalLayout_4.addWidget(self.wrapLongLinesGroup)
+        self.edgeModeGroup = QtWidgets.QGroupBox(parent=self.eolGroup)
+        self.edgeModeGroup.setObjectName("edgeModeGroup")
+        self._13 = QtWidgets.QGridLayout(self.edgeModeGroup)
+        self._13.setObjectName("_13")
+        spacerItem13 = QtWidgets.QSpacerItem(211, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self._13.addItem(spacerItem13, 0, 2, 1, 2)
+        spacerItem14 = QtWidgets.QSpacerItem(201, 31, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self._13.addItem(spacerItem14, 2, 2, 1, 2)
+        self.edgeBackgroundColorButton = QtWidgets.QPushButton(parent=self.edgeModeGroup)
+        self.edgeBackgroundColorButton.setMinimumSize(QtCore.QSize(100, 0))
+        self.edgeBackgroundColorButton.setText("")
+        self.edgeBackgroundColorButton.setObjectName("edgeBackgroundColorButton")
+        self._13.addWidget(self.edgeBackgroundColorButton, 2, 1, 1, 1)
+        self.TextLabel13_3_2_2 = QtWidgets.QLabel(parent=self.edgeModeGroup)
+        self.TextLabel13_3_2_2.setObjectName("TextLabel13_3_2_2")
+        self._13.addWidget(self.TextLabel13_3_2_2, 2, 0, 1, 1)
+        self.edgeLineColumnSlider = QtWidgets.QSlider(parent=self.edgeModeGroup)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(11)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.edgeLineColumnSlider.sizePolicy().hasHeightForWidth())
+        self.edgeLineColumnSlider.setSizePolicy(sizePolicy)
+        self.edgeLineColumnSlider.setMinimum(0)
+        self.edgeLineColumnSlider.setMaximum(160)
+        self.edgeLineColumnSlider.setProperty("value", 80)
+        self.edgeLineColumnSlider.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.edgeLineColumnSlider.setTickInterval(10)
+        self.edgeLineColumnSlider.setObjectName("edgeLineColumnSlider")
+        self._13.addWidget(self.edgeLineColumnSlider, 1, 1, 1, 2)
+        self.edgeLineColumnLCD = QtWidgets.QLCDNumber(parent=self.edgeModeGroup)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Minimum)
+        sizePolicy.setHorizontalStretch(1)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.edgeLineColumnLCD.sizePolicy().hasHeightForWidth())
+        self.edgeLineColumnLCD.setSizePolicy(sizePolicy)
+        self.edgeLineColumnLCD.setDigitCount(3)
+        self.edgeLineColumnLCD.setSegmentStyle(QtWidgets.QLCDNumber.SegmentStyle.Flat)
+        self.edgeLineColumnLCD.setProperty("value", 80.0)
+        self.edgeLineColumnLCD.setObjectName("edgeLineColumnLCD")
+        self._13.addWidget(self.edgeLineColumnLCD, 1, 3, 1, 1)
+        self.TextLabel13_3_2 = QtWidgets.QLabel(parent=self.edgeModeGroup)
+        self.TextLabel13_3_2.setObjectName("TextLabel13_3_2")
+        self._13.addWidget(self.TextLabel13_3_2, 1, 0, 1, 1)
+        self.textLabel1_14 = QtWidgets.QLabel(parent=self.edgeModeGroup)
+        self.textLabel1_14.setObjectName("textLabel1_14")
+        self._13.addWidget(self.textLabel1_14, 0, 0, 1, 1)
+        self.edgeModeCombo = QtWidgets.QComboBox(parent=self.edgeModeGroup)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.edgeModeCombo.sizePolicy().hasHeightForWidth())
+        self.edgeModeCombo.setSizePolicy(sizePolicy)
+        self.edgeModeCombo.setObjectName("edgeModeCombo")
+        self.edgeModeCombo.addItem("")
+        self.edgeModeCombo.addItem("")
+        self.edgeModeCombo.addItem("")
+        self._13.addWidget(self.edgeModeCombo, 0, 1, 1, 1)
+        self.verticalLayout_4.addWidget(self.edgeModeGroup)
+        self.verticalLayout_13.addWidget(self.eolGroup)
+        self.zoomGroup = QtWidgets.QGroupBox(parent=EditorStylesPage)
+        self.zoomGroup.setObjectName("zoomGroup")
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.zoomGroup)
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.TextLabel13_2_2_3 = QtWidgets.QLabel(parent=self.zoomGroup)
+        self.TextLabel13_2_2_3.setObjectName("TextLabel13_2_2_3")
+        self.horizontalLayout_2.addWidget(self.TextLabel13_2_2_3)
+        self.zoomfactorSlider = QtWidgets.QSlider(parent=self.zoomGroup)
+        self.zoomfactorSlider.setMinimum(-10)
+        self.zoomfactorSlider.setMaximum(20)
+        self.zoomfactorSlider.setProperty("value", 0)
+        self.zoomfactorSlider.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.zoomfactorSlider.setTickInterval(5)
+        self.zoomfactorSlider.setObjectName("zoomfactorSlider")
+        self.horizontalLayout_2.addWidget(self.zoomfactorSlider)
+        self.zoomfactorLCD = QtWidgets.QLCDNumber(parent=self.zoomGroup)
+        self.zoomfactorLCD.setDigitCount(3)
+        self.zoomfactorLCD.setSegmentStyle(QtWidgets.QLCDNumber.SegmentStyle.Flat)
+        self.zoomfactorLCD.setProperty("value", 0.0)
+        self.zoomfactorLCD.setObjectName("zoomfactorLCD")
+        self.horizontalLayout_2.addWidget(self.zoomfactorLCD)
+        self.verticalLayout_13.addWidget(self.zoomGroup)
+        self.annotationsGroup = QtWidgets.QGroupBox(parent=EditorStylesPage)
+        self.annotationsGroup.setObjectName("annotationsGroup")
+        self.gridLayout_2 = QtWidgets.QGridLayout(self.annotationsGroup)
+        self.gridLayout_2.setObjectName("gridLayout_2")
+        self.enableAnnotationsCheckBox = QtWidgets.QCheckBox(parent=self.annotationsGroup)
+        self.enableAnnotationsCheckBox.setObjectName("enableAnnotationsCheckBox")
+        self.gridLayout_2.addWidget(self.enableAnnotationsCheckBox, 0, 0, 1, 2)
+        self.annotationsWarningGroup = QtWidgets.QGroupBox(parent=self.annotationsGroup)
+        self.annotationsWarningGroup.setObjectName("annotationsWarningGroup")
+        self.gridLayout_3 = QtWidgets.QGridLayout(self.annotationsWarningGroup)
+        self.gridLayout_3.setObjectName("gridLayout_3")
+        self.annotationsWarningFgButton = QtWidgets.QPushButton(parent=self.annotationsWarningGroup)
+        self.annotationsWarningFgButton.setObjectName("annotationsWarningFgButton")
+        self.gridLayout_3.addWidget(self.annotationsWarningFgButton, 0, 0, 1, 1)
+        self.annotationsWarningBgButton = QtWidgets.QPushButton(parent=self.annotationsWarningGroup)
+        self.annotationsWarningBgButton.setObjectName("annotationsWarningBgButton")
+        self.gridLayout_3.addWidget(self.annotationsWarningBgButton, 0, 1, 1, 1)
+        self.annotationsWarningSample = QtWidgets.QLineEdit(parent=self.annotationsWarningGroup)
+        self.annotationsWarningSample.setFocusPolicy(QtCore.Qt.FocusPolicy.NoFocus)
+        self.annotationsWarningSample.setAlignment(QtCore.Qt.AlignmentFlag.AlignHCenter)
+        self.annotationsWarningSample.setReadOnly(True)
+        self.annotationsWarningSample.setObjectName("annotationsWarningSample")
+        self.gridLayout_3.addWidget(self.annotationsWarningSample, 1, 0, 1, 2)
+        self.gridLayout_2.addWidget(self.annotationsWarningGroup, 1, 0, 1, 1)
+        self.annotationsErrorGroup = QtWidgets.QGroupBox(parent=self.annotationsGroup)
+        self.annotationsErrorGroup.setObjectName("annotationsErrorGroup")
+        self.gridLayout_4 = QtWidgets.QGridLayout(self.annotationsErrorGroup)
+        self.gridLayout_4.setObjectName("gridLayout_4")
+        self.annotationsErrorFgButton = QtWidgets.QPushButton(parent=self.annotationsErrorGroup)
+        self.annotationsErrorFgButton.setObjectName("annotationsErrorFgButton")
+        self.gridLayout_4.addWidget(self.annotationsErrorFgButton, 0, 0, 1, 1)
+        self.annotationsErrorBgButton = QtWidgets.QPushButton(parent=self.annotationsErrorGroup)
+        self.annotationsErrorBgButton.setObjectName("annotationsErrorBgButton")
+        self.gridLayout_4.addWidget(self.annotationsErrorBgButton, 0, 1, 1, 1)
+        self.annotationsErrorSample = QtWidgets.QLineEdit(parent=self.annotationsErrorGroup)
+        self.annotationsErrorSample.setFocusPolicy(QtCore.Qt.FocusPolicy.NoFocus)
+        self.annotationsErrorSample.setAlignment(QtCore.Qt.AlignmentFlag.AlignHCenter)
+        self.annotationsErrorSample.setReadOnly(True)
+        self.annotationsErrorSample.setObjectName("annotationsErrorSample")
+        self.gridLayout_4.addWidget(self.annotationsErrorSample, 1, 0, 1, 2)
+        self.gridLayout_2.addWidget(self.annotationsErrorGroup, 1, 1, 1, 1)
+        self.annotationsStyleWarningGroup = QtWidgets.QGroupBox(parent=self.annotationsGroup)
+        self.annotationsStyleWarningGroup.setObjectName("annotationsStyleWarningGroup")
+        self.gridLayout_5 = QtWidgets.QGridLayout(self.annotationsStyleWarningGroup)
+        self.gridLayout_5.setObjectName("gridLayout_5")
+        self.annotationsStyleWarningFgButton = QtWidgets.QPushButton(parent=self.annotationsStyleWarningGroup)
+        self.annotationsStyleWarningFgButton.setObjectName("annotationsStyleWarningFgButton")
+        self.gridLayout_5.addWidget(self.annotationsStyleWarningFgButton, 0, 0, 1, 1)
+        self.annotationsStyleWarningBgButton = QtWidgets.QPushButton(parent=self.annotationsStyleWarningGroup)
+        self.annotationsStyleWarningBgButton.setObjectName("annotationsStyleWarningBgButton")
+        self.gridLayout_5.addWidget(self.annotationsStyleWarningBgButton, 0, 1, 1, 1)
+        self.annotationsStyleWarningSample = QtWidgets.QLineEdit(parent=self.annotationsStyleWarningGroup)
+        self.annotationsStyleWarningSample.setFocusPolicy(QtCore.Qt.FocusPolicy.NoFocus)
+        self.annotationsStyleWarningSample.setAlignment(QtCore.Qt.AlignmentFlag.AlignHCenter)
+        self.annotationsStyleWarningSample.setReadOnly(True)
+        self.annotationsStyleWarningSample.setObjectName("annotationsStyleWarningSample")
+        self.gridLayout_5.addWidget(self.annotationsStyleWarningSample, 1, 0, 1, 2)
+        self.gridLayout_2.addWidget(self.annotationsStyleWarningGroup, 2, 0, 1, 1)
+        self.annotationsInformationGroup = QtWidgets.QGroupBox(parent=self.annotationsGroup)
+        self.annotationsInformationGroup.setObjectName("annotationsInformationGroup")
+        self.gridLayout_8 = QtWidgets.QGridLayout(self.annotationsInformationGroup)
+        self.gridLayout_8.setObjectName("gridLayout_8")
+        self.annotationsInformationFgButton = QtWidgets.QPushButton(parent=self.annotationsInformationGroup)
+        self.annotationsInformationFgButton.setObjectName("annotationsInformationFgButton")
+        self.gridLayout_8.addWidget(self.annotationsInformationFgButton, 0, 0, 1, 1)
+        self.annotationsInformationBgButton = QtWidgets.QPushButton(parent=self.annotationsInformationGroup)
+        self.annotationsInformationBgButton.setObjectName("annotationsInformationBgButton")
+        self.gridLayout_8.addWidget(self.annotationsInformationBgButton, 0, 1, 1, 1)
+        self.annotationsInformationSample = QtWidgets.QLineEdit(parent=self.annotationsInformationGroup)
+        self.annotationsInformationSample.setFocusPolicy(QtCore.Qt.FocusPolicy.NoFocus)
+        self.annotationsInformationSample.setAlignment(QtCore.Qt.AlignmentFlag.AlignHCenter)
+        self.annotationsInformationSample.setReadOnly(True)
+        self.annotationsInformationSample.setObjectName("annotationsInformationSample")
+        self.gridLayout_8.addWidget(self.annotationsInformationSample, 1, 0, 1, 2)
+        self.gridLayout_2.addWidget(self.annotationsInformationGroup, 2, 1, 1, 1)
+        self.verticalLayout_13.addWidget(self.annotationsGroup)
+        self.changeTracingGroup = QtWidgets.QGroupBox(parent=EditorStylesPage)
+        self.changeTracingGroup.setObjectName("changeTracingGroup")
+        self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.changeTracingGroup)
+        self.verticalLayout_3.setObjectName("verticalLayout_3")
+        self.enableChangeTraceCheckBox = QtWidgets.QCheckBox(parent=self.changeTracingGroup)
+        self.enableChangeTraceCheckBox.setObjectName("enableChangeTraceCheckBox")
+        self.verticalLayout_3.addWidget(self.enableChangeTraceCheckBox)
+        self._16 = QtWidgets.QHBoxLayout()
+        self._16.setObjectName("_16")
+        self.label_4 = QtWidgets.QLabel(parent=self.changeTracingGroup)
+        self.label_4.setObjectName("label_4")
+        self._16.addWidget(self.label_4)
+        self.changeTraceTimeoutSpinBox = QtWidgets.QSpinBox(parent=self.changeTracingGroup)
+        self.changeTraceTimeoutSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.changeTraceTimeoutSpinBox.setButtonSymbols(QtWidgets.QAbstractSpinBox.ButtonSymbols.PlusMinus)
+        self.changeTraceTimeoutSpinBox.setCorrectionMode(QtWidgets.QAbstractSpinBox.CorrectionMode.CorrectToNearestValue)
+        self.changeTraceTimeoutSpinBox.setMinimum(100)
+        self.changeTraceTimeoutSpinBox.setMaximum(5000)
+        self.changeTraceTimeoutSpinBox.setSingleStep(100)
+        self.changeTraceTimeoutSpinBox.setObjectName("changeTraceTimeoutSpinBox")
+        self._16.addWidget(self.changeTraceTimeoutSpinBox)
+        spacerItem15 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self._16.addItem(spacerItem15)
+        self.verticalLayout_3.addLayout(self._16)
+        self.gridLayout_14 = QtWidgets.QGridLayout()
+        self.gridLayout_14.setObjectName("gridLayout_14")
+        self.TextLabel13_3_2_3 = QtWidgets.QLabel(parent=self.changeTracingGroup)
+        self.TextLabel13_3_2_3.setObjectName("TextLabel13_3_2_3")
+        self.gridLayout_14.addWidget(self.TextLabel13_3_2_3, 0, 0, 1, 1)
+        self.changeMarkerUnsavedColorButton = QtWidgets.QPushButton(parent=self.changeTracingGroup)
+        self.changeMarkerUnsavedColorButton.setMinimumSize(QtCore.QSize(100, 0))
+        self.changeMarkerUnsavedColorButton.setText("")
+        self.changeMarkerUnsavedColorButton.setObjectName("changeMarkerUnsavedColorButton")
+        self.gridLayout_14.addWidget(self.changeMarkerUnsavedColorButton, 0, 1, 1, 1)
+        spacerItem16 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout_14.addItem(spacerItem16, 0, 2, 1, 1)
+        self.TextLabel13_3_2_4 = QtWidgets.QLabel(parent=self.changeTracingGroup)
+        self.TextLabel13_3_2_4.setObjectName("TextLabel13_3_2_4")
+        self.gridLayout_14.addWidget(self.TextLabel13_3_2_4, 1, 0, 1, 1)
+        self.changeMarkerSavedColorButton = QtWidgets.QPushButton(parent=self.changeTracingGroup)
+        self.changeMarkerSavedColorButton.setMinimumSize(QtCore.QSize(100, 0))
+        self.changeMarkerSavedColorButton.setText("")
+        self.changeMarkerSavedColorButton.setObjectName("changeMarkerSavedColorButton")
+        self.gridLayout_14.addWidget(self.changeMarkerSavedColorButton, 1, 1, 1, 1)
+        self.verticalLayout_3.addLayout(self.gridLayout_14)
+        self.verticalLayout_13.addWidget(self.changeTracingGroup)
+        self.whitespaceGroup = QtWidgets.QGroupBox(parent=EditorStylesPage)
+        self.whitespaceGroup.setObjectName("whitespaceGroup")
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.whitespaceGroup)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.whitespaceCheckBox = QtWidgets.QCheckBox(parent=self.whitespaceGroup)
+        self.whitespaceCheckBox.setObjectName("whitespaceCheckBox")
+        self.verticalLayout_2.addWidget(self.whitespaceCheckBox)
+        self._12 = QtWidgets.QHBoxLayout()
+        self._12.setObjectName("_12")
+        self.textLabel1_8 = QtWidgets.QLabel(parent=self.whitespaceGroup)
+        self.textLabel1_8.setObjectName("textLabel1_8")
+        self._12.addWidget(self.textLabel1_8)
+        self.whitespaceSizeSpinBox = QtWidgets.QSpinBox(parent=self.whitespaceGroup)
+        self.whitespaceSizeSpinBox.setMinimum(1)
+        self.whitespaceSizeSpinBox.setMaximum(10)
+        self.whitespaceSizeSpinBox.setObjectName("whitespaceSizeSpinBox")
+        self._12.addWidget(self.whitespaceSizeSpinBox)
+        spacerItem17 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self._12.addItem(spacerItem17)
+        self.verticalLayout_2.addLayout(self._12)
+        self.gridLayout_15 = QtWidgets.QGridLayout()
+        self.gridLayout_15.setObjectName("gridLayout_15")
+        self.TextLabel2_2_2_2_2_9 = QtWidgets.QLabel(parent=self.whitespaceGroup)
+        self.TextLabel2_2_2_2_2_9.setObjectName("TextLabel2_2_2_2_2_9")
+        self.gridLayout_15.addWidget(self.TextLabel2_2_2_2_2_9, 0, 0, 1, 1)
+        self.whitespaceForegroundButton = QtWidgets.QPushButton(parent=self.whitespaceGroup)
+        self.whitespaceForegroundButton.setMinimumSize(QtCore.QSize(100, 0))
+        self.whitespaceForegroundButton.setText("")
+        self.whitespaceForegroundButton.setObjectName("whitespaceForegroundButton")
+        self.gridLayout_15.addWidget(self.whitespaceForegroundButton, 0, 1, 1, 1)
+        spacerItem18 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout_15.addItem(spacerItem18, 0, 2, 1, 1)
+        self.TextLabel2_2_2_2_2_10 = QtWidgets.QLabel(parent=self.whitespaceGroup)
+        self.TextLabel2_2_2_2_2_10.setObjectName("TextLabel2_2_2_2_2_10")
+        self.gridLayout_15.addWidget(self.TextLabel2_2_2_2_2_10, 1, 0, 1, 1)
+        self.whitespaceBackgroundButton = QtWidgets.QPushButton(parent=self.whitespaceGroup)
+        self.whitespaceBackgroundButton.setMinimumSize(QtCore.QSize(100, 0))
+        self.whitespaceBackgroundButton.setText("")
+        self.whitespaceBackgroundButton.setObjectName("whitespaceBackgroundButton")
+        self.gridLayout_15.addWidget(self.whitespaceBackgroundButton, 1, 1, 1, 1)
+        self.verticalLayout_2.addLayout(self.gridLayout_15)
+        self.verticalLayout_13.addWidget(self.whitespaceGroup)
+        self.indentationsGroup = QtWidgets.QGroupBox(parent=EditorStylesPage)
+        self.indentationsGroup.setObjectName("indentationsGroup")
+        self.gridLayout_13 = QtWidgets.QGridLayout(self.indentationsGroup)
+        self.gridLayout_13.setObjectName("gridLayout_13")
+        self.indentguidesCheckBox = QtWidgets.QCheckBox(parent=self.indentationsGroup)
+        self.indentguidesCheckBox.setObjectName("indentguidesCheckBox")
+        self.gridLayout_13.addWidget(self.indentguidesCheckBox, 0, 0, 1, 3)
+        self.TextLabel2_2_2_2_2_13 = QtWidgets.QLabel(parent=self.indentationsGroup)
+        self.TextLabel2_2_2_2_2_13.setObjectName("TextLabel2_2_2_2_2_13")
+        self.gridLayout_13.addWidget(self.TextLabel2_2_2_2_2_13, 1, 0, 1, 1)
+        self.indentationGuidesForegroundButton = QtWidgets.QPushButton(parent=self.indentationsGroup)
+        self.indentationGuidesForegroundButton.setMinimumSize(QtCore.QSize(100, 0))
+        self.indentationGuidesForegroundButton.setText("")
+        self.indentationGuidesForegroundButton.setObjectName("indentationGuidesForegroundButton")
+        self.gridLayout_13.addWidget(self.indentationGuidesForegroundButton, 1, 1, 1, 1)
+        spacerItem19 = QtWidgets.QSpacerItem(223, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout_13.addItem(spacerItem19, 1, 2, 1, 1)
+        self.TextLabel2_2_2_2_2_14 = QtWidgets.QLabel(parent=self.indentationsGroup)
+        self.TextLabel2_2_2_2_2_14.setObjectName("TextLabel2_2_2_2_2_14")
+        self.gridLayout_13.addWidget(self.TextLabel2_2_2_2_2_14, 2, 0, 1, 1)
+        self.indentationGuidesBackgroundButton = QtWidgets.QPushButton(parent=self.indentationsGroup)
+        self.indentationGuidesBackgroundButton.setMinimumSize(QtCore.QSize(100, 0))
+        self.indentationGuidesBackgroundButton.setText("")
+        self.indentationGuidesBackgroundButton.setObjectName("indentationGuidesBackgroundButton")
+        self.gridLayout_13.addWidget(self.indentationGuidesBackgroundButton, 2, 1, 1, 1)
+        self.verticalLayout_13.addWidget(self.indentationsGroup)
+        self.markerMapGroup = QtWidgets.QGroupBox(parent=EditorStylesPage)
+        self.markerMapGroup.setObjectName("markerMapGroup")
+        self.verticalLayout_8 = QtWidgets.QVBoxLayout(self.markerMapGroup)
+        self.verticalLayout_8.setObjectName("verticalLayout_8")
+        self.markerMapRightCheckBox = QtWidgets.QCheckBox(parent=self.markerMapGroup)
+        self.markerMapRightCheckBox.setObjectName("markerMapRightCheckBox")
+        self.verticalLayout_8.addWidget(self.markerMapRightCheckBox)
+        self.groupBox_16 = QtWidgets.QGroupBox(parent=self.markerMapGroup)
+        self.groupBox_16.setObjectName("groupBox_16")
+        self.gridLayout_9 = QtWidgets.QGridLayout(self.groupBox_16)
+        self.gridLayout_9.setObjectName("gridLayout_9")
+        self.label_6 = QtWidgets.QLabel(parent=self.groupBox_16)
+        self.label_6.setObjectName("label_6")
+        self.gridLayout_9.addWidget(self.label_6, 0, 0, 1, 1)
+        self.errorsMapButton = QtWidgets.QPushButton(parent=self.groupBox_16)
+        self.errorsMapButton.setMinimumSize(QtCore.QSize(100, 0))
+        self.errorsMapButton.setText("")
+        self.errorsMapButton.setObjectName("errorsMapButton")
+        self.gridLayout_9.addWidget(self.errorsMapButton, 0, 1, 1, 1)
+        self.label_7 = QtWidgets.QLabel(parent=self.groupBox_16)
+        self.label_7.setObjectName("label_7")
+        self.gridLayout_9.addWidget(self.label_7, 0, 2, 1, 1)
+        self.warningsMapButton = QtWidgets.QPushButton(parent=self.groupBox_16)
+        self.warningsMapButton.setMinimumSize(QtCore.QSize(100, 0))
+        self.warningsMapButton.setText("")
+        self.warningsMapButton.setObjectName("warningsMapButton")
+        self.gridLayout_9.addWidget(self.warningsMapButton, 0, 3, 1, 1)
+        self.label_8 = QtWidgets.QLabel(parent=self.groupBox_16)
+        self.label_8.setObjectName("label_8")
+        self.gridLayout_9.addWidget(self.label_8, 1, 0, 1, 1)
+        self.bookmarksMapButton = QtWidgets.QPushButton(parent=self.groupBox_16)
+        self.bookmarksMapButton.setMinimumSize(QtCore.QSize(100, 0))
+        self.bookmarksMapButton.setText("")
+        self.bookmarksMapButton.setObjectName("bookmarksMapButton")
+        self.gridLayout_9.addWidget(self.bookmarksMapButton, 1, 1, 1, 1)
+        self.label_9 = QtWidgets.QLabel(parent=self.groupBox_16)
+        self.label_9.setObjectName("label_9")
+        self.gridLayout_9.addWidget(self.label_9, 1, 2, 1, 1)
+        self.breakpointsMapButton = QtWidgets.QPushButton(parent=self.groupBox_16)
+        self.breakpointsMapButton.setMinimumSize(QtCore.QSize(100, 0))
+        self.breakpointsMapButton.setText("")
+        self.breakpointsMapButton.setObjectName("breakpointsMapButton")
+        self.gridLayout_9.addWidget(self.breakpointsMapButton, 1, 3, 1, 1)
+        self.label_10 = QtWidgets.QLabel(parent=self.groupBox_16)
+        self.label_10.setObjectName("label_10")
+        self.gridLayout_9.addWidget(self.label_10, 2, 0, 1, 1)
+        self.tasksMapButton = QtWidgets.QPushButton(parent=self.groupBox_16)
+        self.tasksMapButton.setMinimumSize(QtCore.QSize(100, 0))
+        self.tasksMapButton.setText("")
+        self.tasksMapButton.setObjectName("tasksMapButton")
+        self.gridLayout_9.addWidget(self.tasksMapButton, 2, 1, 1, 1)
+        self.label_11 = QtWidgets.QLabel(parent=self.groupBox_16)
+        self.label_11.setObjectName("label_11")
+        self.gridLayout_9.addWidget(self.label_11, 2, 2, 1, 1)
+        self.changesMapButton = QtWidgets.QPushButton(parent=self.groupBox_16)
+        self.changesMapButton.setMinimumSize(QtCore.QSize(100, 0))
+        self.changesMapButton.setText("")
+        self.changesMapButton.setObjectName("changesMapButton")
+        self.gridLayout_9.addWidget(self.changesMapButton, 2, 3, 1, 1)
+        self.label_12 = QtWidgets.QLabel(parent=self.groupBox_16)
+        self.label_12.setObjectName("label_12")
+        self.gridLayout_9.addWidget(self.label_12, 3, 0, 1, 1)
+        self.coverageMapButton = QtWidgets.QPushButton(parent=self.groupBox_16)
+        self.coverageMapButton.setMinimumSize(QtCore.QSize(100, 0))
+        self.coverageMapButton.setText("")
+        self.coverageMapButton.setObjectName("coverageMapButton")
+        self.gridLayout_9.addWidget(self.coverageMapButton, 3, 1, 1, 1)
+        self.label_13 = QtWidgets.QLabel(parent=self.groupBox_16)
+        self.label_13.setObjectName("label_13")
+        self.gridLayout_9.addWidget(self.label_13, 3, 2, 1, 1)
+        self.currentMapButton = QtWidgets.QPushButton(parent=self.groupBox_16)
+        self.currentMapButton.setMinimumSize(QtCore.QSize(100, 0))
+        self.currentMapButton.setText("")
+        self.currentMapButton.setObjectName("currentMapButton")
+        self.gridLayout_9.addWidget(self.currentMapButton, 3, 3, 1, 1)
+        self.label_15 = QtWidgets.QLabel(parent=self.groupBox_16)
+        self.label_15.setObjectName("label_15")
+        self.gridLayout_9.addWidget(self.label_15, 4, 0, 1, 1)
+        self.searchMarkerMapButton = QtWidgets.QPushButton(parent=self.groupBox_16)
+        self.searchMarkerMapButton.setMinimumSize(QtCore.QSize(100, 0))
+        self.searchMarkerMapButton.setText("")
+        self.searchMarkerMapButton.setObjectName("searchMarkerMapButton")
+        self.gridLayout_9.addWidget(self.searchMarkerMapButton, 4, 1, 1, 1)
+        self.label_16 = QtWidgets.QLabel(parent=self.groupBox_16)
+        self.label_16.setObjectName("label_16")
+        self.gridLayout_9.addWidget(self.label_16, 4, 2, 1, 1)
+        self.conflictMarkerMapButton = QtWidgets.QPushButton(parent=self.groupBox_16)
+        self.conflictMarkerMapButton.setMinimumSize(QtCore.QSize(100, 0))
+        self.conflictMarkerMapButton.setText("")
+        self.conflictMarkerMapButton.setObjectName("conflictMarkerMapButton")
+        self.gridLayout_9.addWidget(self.conflictMarkerMapButton, 4, 3, 1, 1)
+        self.label_14 = QtWidgets.QLabel(parent=self.groupBox_16)
+        self.label_14.setObjectName("label_14")
+        self.gridLayout_9.addWidget(self.label_14, 5, 0, 1, 1)
+        self.markerMapBackgroundButton = QtWidgets.QPushButton(parent=self.groupBox_16)
+        self.markerMapBackgroundButton.setMinimumSize(QtCore.QSize(100, 0))
+        self.markerMapBackgroundButton.setText("")
+        self.markerMapBackgroundButton.setObjectName("markerMapBackgroundButton")
+        self.gridLayout_9.addWidget(self.markerMapBackgroundButton, 5, 1, 1, 1)
+        self.verticalLayout_8.addWidget(self.groupBox_16)
+        self.groupBox_17 = QtWidgets.QGroupBox(parent=self.markerMapGroup)
+        self.groupBox_17.setObjectName("groupBox_17")
+        self.gridLayout_11 = QtWidgets.QGridLayout(self.groupBox_17)
+        self.gridLayout_11.setObjectName("gridLayout_11")
+        self.changesMarkerCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_17)
+        self.changesMarkerCheckBox.setObjectName("changesMarkerCheckBox")
+        self.gridLayout_11.addWidget(self.changesMarkerCheckBox, 0, 0, 1, 1)
+        self.coverageMarkerCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_17)
+        self.coverageMarkerCheckBox.setObjectName("coverageMarkerCheckBox")
+        self.gridLayout_11.addWidget(self.coverageMarkerCheckBox, 0, 1, 1, 1)
+        self.searchMarkerCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_17)
+        self.searchMarkerCheckBox.setObjectName("searchMarkerCheckBox")
+        self.gridLayout_11.addWidget(self.searchMarkerCheckBox, 1, 0, 1, 1)
+        self.label_17 = QtWidgets.QLabel(parent=self.groupBox_17)
+        self.label_17.setWordWrap(True)
+        self.label_17.setObjectName("label_17")
+        self.gridLayout_11.addWidget(self.label_17, 2, 0, 1, 2)
+        self.verticalLayout_8.addWidget(self.groupBox_17)
+        self.verticalLayout_13.addWidget(self.markerMapGroup)
+        self.variousGroup = QtWidgets.QGroupBox(parent=EditorStylesPage)
+        self.variousGroup.setObjectName("variousGroup")
+        self.verticalLayout_7 = QtWidgets.QVBoxLayout(self.variousGroup)
+        self.verticalLayout_7.setObjectName("verticalLayout_7")
+        self.miniMenuCheckBox = QtWidgets.QCheckBox(parent=self.variousGroup)
+        self.miniMenuCheckBox.setObjectName("miniMenuCheckBox")
+        self.verticalLayout_7.addWidget(self.miniMenuCheckBox)
+        self.hideFormatButtonsCheckBox = QtWidgets.QCheckBox(parent=self.variousGroup)
+        self.hideFormatButtonsCheckBox.setObjectName("hideFormatButtonsCheckBox")
+        self.verticalLayout_7.addWidget(self.hideFormatButtonsCheckBox)
+        self.verticalLayout_13.addWidget(self.variousGroup)
+        spacerItem20 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout_13.addItem(spacerItem20)
+
+        self.retranslateUi(EditorStylesPage)
+        self.edgeLineColumnSlider.valueChanged['int'].connect(self.edgeLineColumnLCD.display) # type: ignore
+        self.zoomfactorSlider.valueChanged['int'].connect(self.zoomfactorLCD.display) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(EditorStylesPage)
+        EditorStylesPage.setTabOrder(self.editAreaOverrideCheckBox, self.editAreaForegroundButton)
+        EditorStylesPage.setTabOrder(self.editAreaForegroundButton, self.editAreaBackgroundButton)
+        EditorStylesPage.setTabOrder(self.editAreaBackgroundButton, self.highlightingBackgroundButton)
+        EditorStylesPage.setTabOrder(self.highlightingBackgroundButton, self.defaultFontButton)
+        EditorStylesPage.setTabOrder(self.defaultFontButton, self.monospacedFontButton)
+        EditorStylesPage.setTabOrder(self.monospacedFontButton, self.monospacedCheckBox)
+        EditorStylesPage.setTabOrder(self.monospacedCheckBox, self.marginsForegroundButton)
+        EditorStylesPage.setTabOrder(self.marginsForegroundButton, self.marginsBackgroundButton)
+        EditorStylesPage.setTabOrder(self.marginsBackgroundButton, self.linenoCheckBox)
+        EditorStylesPage.setTabOrder(self.linenoCheckBox, self.linenumbersFontButton)
+        EditorStylesPage.setTabOrder(self.linenumbersFontButton, self.foldingCheckBox)
+        EditorStylesPage.setTabOrder(self.foldingCheckBox, self.foldingStyleComboBox)
+        EditorStylesPage.setTabOrder(self.foldingStyleComboBox, self.foldmarginBackgroundButton)
+        EditorStylesPage.setTabOrder(self.foldmarginBackgroundButton, self.foldmarkersForegroundButton)
+        EditorStylesPage.setTabOrder(self.foldmarkersForegroundButton, self.foldmarkersBackgroundButton)
+        EditorStylesPage.setTabOrder(self.foldmarkersBackgroundButton, self.customSelColourCheckBox)
+        EditorStylesPage.setTabOrder(self.customSelColourCheckBox, self.colourizeSelTextCheckBox)
+        EditorStylesPage.setTabOrder(self.colourizeSelTextCheckBox, self.extentSelEolCheckBox)
+        EditorStylesPage.setTabOrder(self.extentSelEolCheckBox, self.selectionForegroundButton)
+        EditorStylesPage.setTabOrder(self.selectionForegroundButton, self.selectionBackgroundButton)
+        EditorStylesPage.setTabOrder(self.selectionBackgroundButton, self.caretWidthSpinBox)
+        EditorStylesPage.setTabOrder(self.caretWidthSpinBox, self.caretForegroundButton)
+        EditorStylesPage.setTabOrder(self.caretForegroundButton, self.caretlineVisibleCheckBox)
+        EditorStylesPage.setTabOrder(self.caretlineVisibleCheckBox, self.caretlineAlwaysVisibleCheckBox)
+        EditorStylesPage.setTabOrder(self.caretlineAlwaysVisibleCheckBox, self.caretlineFrameWidthSpinBox)
+        EditorStylesPage.setTabOrder(self.caretlineFrameWidthSpinBox, self.caretlineBackgroundButton)
+        EditorStylesPage.setTabOrder(self.caretlineBackgroundButton, self.debugMarkerBackgroundCheckBox)
+        EditorStylesPage.setTabOrder(self.debugMarkerBackgroundCheckBox, self.currentLineMarkerButton)
+        EditorStylesPage.setTabOrder(self.currentLineMarkerButton, self.errorMarkerButton)
+        EditorStylesPage.setTabOrder(self.errorMarkerButton, self.bracehighlightingCheckBox)
+        EditorStylesPage.setTabOrder(self.bracehighlightingCheckBox, self.matchingBracesButton)
+        EditorStylesPage.setTabOrder(self.matchingBracesButton, self.matchingBracesBackButton)
+        EditorStylesPage.setTabOrder(self.matchingBracesBackButton, self.nonmatchingBracesButton)
+        EditorStylesPage.setTabOrder(self.nonmatchingBracesButton, self.nonmatchingBracesBackButton)
+        EditorStylesPage.setTabOrder(self.nonmatchingBracesBackButton, self.eolCheckBox)
+        EditorStylesPage.setTabOrder(self.eolCheckBox, self.wrapModeComboBox)
+        EditorStylesPage.setTabOrder(self.wrapModeComboBox, self.wrapVisualComboBox)
+        EditorStylesPage.setTabOrder(self.wrapVisualComboBox, self.wrapIndentComboBox)
+        EditorStylesPage.setTabOrder(self.wrapIndentComboBox, self.wrapStartIndentSpinBox)
+        EditorStylesPage.setTabOrder(self.wrapStartIndentSpinBox, self.edgeModeCombo)
+        EditorStylesPage.setTabOrder(self.edgeModeCombo, self.edgeLineColumnSlider)
+        EditorStylesPage.setTabOrder(self.edgeLineColumnSlider, self.edgeBackgroundColorButton)
+        EditorStylesPage.setTabOrder(self.edgeBackgroundColorButton, self.zoomfactorSlider)
+        EditorStylesPage.setTabOrder(self.zoomfactorSlider, self.enableAnnotationsCheckBox)
+        EditorStylesPage.setTabOrder(self.enableAnnotationsCheckBox, self.annotationsWarningFgButton)
+        EditorStylesPage.setTabOrder(self.annotationsWarningFgButton, self.annotationsWarningBgButton)
+        EditorStylesPage.setTabOrder(self.annotationsWarningBgButton, self.annotationsErrorFgButton)
+        EditorStylesPage.setTabOrder(self.annotationsErrorFgButton, self.annotationsErrorBgButton)
+        EditorStylesPage.setTabOrder(self.annotationsErrorBgButton, self.annotationsStyleWarningFgButton)
+        EditorStylesPage.setTabOrder(self.annotationsStyleWarningFgButton, self.annotationsStyleWarningBgButton)
+        EditorStylesPage.setTabOrder(self.annotationsStyleWarningBgButton, self.annotationsInformationFgButton)
+        EditorStylesPage.setTabOrder(self.annotationsInformationFgButton, self.annotationsInformationBgButton)
+        EditorStylesPage.setTabOrder(self.annotationsInformationBgButton, self.enableChangeTraceCheckBox)
+        EditorStylesPage.setTabOrder(self.enableChangeTraceCheckBox, self.changeTraceTimeoutSpinBox)
+        EditorStylesPage.setTabOrder(self.changeTraceTimeoutSpinBox, self.changeMarkerUnsavedColorButton)
+        EditorStylesPage.setTabOrder(self.changeMarkerUnsavedColorButton, self.changeMarkerSavedColorButton)
+        EditorStylesPage.setTabOrder(self.changeMarkerSavedColorButton, self.whitespaceCheckBox)
+        EditorStylesPage.setTabOrder(self.whitespaceCheckBox, self.whitespaceSizeSpinBox)
+        EditorStylesPage.setTabOrder(self.whitespaceSizeSpinBox, self.whitespaceForegroundButton)
+        EditorStylesPage.setTabOrder(self.whitespaceForegroundButton, self.whitespaceBackgroundButton)
+        EditorStylesPage.setTabOrder(self.whitespaceBackgroundButton, self.indentguidesCheckBox)
+        EditorStylesPage.setTabOrder(self.indentguidesCheckBox, self.indentationGuidesForegroundButton)
+        EditorStylesPage.setTabOrder(self.indentationGuidesForegroundButton, self.indentationGuidesBackgroundButton)
+        EditorStylesPage.setTabOrder(self.indentationGuidesBackgroundButton, self.markerMapRightCheckBox)
+        EditorStylesPage.setTabOrder(self.markerMapRightCheckBox, self.errorsMapButton)
+        EditorStylesPage.setTabOrder(self.errorsMapButton, self.warningsMapButton)
+        EditorStylesPage.setTabOrder(self.warningsMapButton, self.bookmarksMapButton)
+        EditorStylesPage.setTabOrder(self.bookmarksMapButton, self.breakpointsMapButton)
+        EditorStylesPage.setTabOrder(self.breakpointsMapButton, self.tasksMapButton)
+        EditorStylesPage.setTabOrder(self.tasksMapButton, self.changesMapButton)
+        EditorStylesPage.setTabOrder(self.changesMapButton, self.coverageMapButton)
+        EditorStylesPage.setTabOrder(self.coverageMapButton, self.currentMapButton)
+        EditorStylesPage.setTabOrder(self.currentMapButton, self.searchMarkerMapButton)
+        EditorStylesPage.setTabOrder(self.searchMarkerMapButton, self.conflictMarkerMapButton)
+        EditorStylesPage.setTabOrder(self.conflictMarkerMapButton, self.markerMapBackgroundButton)
+        EditorStylesPage.setTabOrder(self.markerMapBackgroundButton, self.changesMarkerCheckBox)
+        EditorStylesPage.setTabOrder(self.changesMarkerCheckBox, self.coverageMarkerCheckBox)
+        EditorStylesPage.setTabOrder(self.coverageMarkerCheckBox, self.searchMarkerCheckBox)
+        EditorStylesPage.setTabOrder(self.searchMarkerCheckBox, self.miniMenuCheckBox)
+        EditorStylesPage.setTabOrder(self.miniMenuCheckBox, self.hideFormatButtonsCheckBox)
+
+    def retranslateUi(self, EditorStylesPage):
+        _translate = QtCore.QCoreApplication.translate
+        self.headerLabel.setText(_translate("EditorStylesPage", "<b>Configure editor styles</b>"))
+        self.label_3.setText(_translate("EditorStylesPage", "<b>Note:</b> Fonts and colors of the syntax highlighters have to be configured on the syntax highlighter styles page."))
+        self.colorsGroup.setTitle(_translate("EditorStylesPage", "Colors"))
+        self.editAreaOverrideCheckBox.setToolTip(_translate("EditorStylesPage", "Select to set the color of the edit area different to the default style"))
+        self.editAreaOverrideCheckBox.setTitle(_translate("EditorStylesPage", "Override edit area colors"))
+        self.TextLabel2_2_2_2_2_12.setText(_translate("EditorStylesPage", "Edit area foreground:"))
+        self.editAreaForegroundButton.setToolTip(_translate("EditorStylesPage", "Select the foreground color for the edit area."))
+        self.TextLabel2_2_2_2_2_11.setText(_translate("EditorStylesPage", "Edit area background:"))
+        self.editAreaBackgroundButton.setToolTip(_translate("EditorStylesPage", "Select the background color for the edit area."))
+        self.label_20.setText(_translate("EditorStylesPage", "Highlighting:"))
+        self.highlightingBackgroundButton.setToolTip(_translate("EditorStylesPage", "Select the color for the highlighting background."))
+        self.fontsGroup.setTitle(_translate("EditorStylesPage", "Fonts"))
+        self.defaultFontSample.setText(_translate("EditorStylesPage", "Default Text"))
+        self.defaultFontButton.setToolTip(_translate("EditorStylesPage", "Press to select the default font for the editor\'s text"))
+        self.defaultFontButton.setText(_translate("EditorStylesPage", "Default Text Font"))
+        self.monospacedFontButton.setToolTip(_translate("EditorStylesPage", "Press to select the font to be used as the monospaced font"))
+        self.monospacedFontButton.setText(_translate("EditorStylesPage", "Monospaced Font"))
+        self.monospacedFontSample.setText(_translate("EditorStylesPage", "Monospaced Text"))
+        self.monospacedCheckBox.setToolTip(_translate("EditorStylesPage", "Select, whether the monospaced font should be used as default"))
+        self.monospacedCheckBox.setText(_translate("EditorStylesPage", "Use monospaced as default"))
+        self.marginsGroup.setTitle(_translate("EditorStylesPage", "Margins"))
+        self.marginsGeneralGroup.setTitle(_translate("EditorStylesPage", "General"))
+        self.TextLabel2_2_2_2_2_6.setText(_translate("EditorStylesPage", "Margins foreground:"))
+        self.marginsForegroundButton.setToolTip(_translate("EditorStylesPage", "Select the foreground color for the margins"))
+        self.TextLabel2_2_2_2_2_7.setText(_translate("EditorStylesPage", "Margins background:"))
+        self.marginsBackgroundButton.setToolTip(_translate("EditorStylesPage", "Select the background color for the margins"))
+        self.lineNumbersGroup.setTitle(_translate("EditorStylesPage", "Line Numbers Margin"))
+        self.linenoCheckBox.setToolTip(_translate("EditorStylesPage", "Select whether line numbers margin should be shown."))
+        self.linenoCheckBox.setText(_translate("EditorStylesPage", "Show Line Numbers Margin"))
+        self.linenumbersFontButton.setToolTip(_translate("EditorStylesPage", "Press to select the font for the editor line numbers"))
+        self.linenumbersFontButton.setText(_translate("EditorStylesPage", "Line Numbers Font"))
+        self.marginsFontSample.setText(_translate("EditorStylesPage", "2345"))
+        self.foldMarginGroup.setTitle(_translate("EditorStylesPage", "Fold Margin"))
+        self.foldingCheckBox.setToolTip(_translate("EditorStylesPage", "Select whether the fold margin should be shown."))
+        self.foldingCheckBox.setText(_translate("EditorStylesPage", "Show Fold Margin"))
+        self.TextLabel1_4_2_2.setText(_translate("EditorStylesPage", "Folding style:"))
+        self.foldingStyleComboBox.setToolTip(_translate("EditorStylesPage", "Select the folding style to be used in the folding margin"))
+        self.foldingStyleComboBox.setWhatsThis(_translate("EditorStylesPage", "<b>Folding style</b>\n"
+"<p>Select the desired folding style to be used in the folding margin.</p>\n"
+"<p>The available styles are:\n"
+"<ul>\n"
+"<li>Plain - simple plus and minus symbols</li>\n"
+"<li>Circled - circled plus and minus symbols</li>\n"
+"<li>Boxed - boxed plus and minus symbols</li>\n"
+"<li>Circled Tree - circled plus and minus symbols and flattened tree with rounded corners</li>\n"
+"<li>Boxed Tree - boxed plus and minus symbols and flattened tree with rectangled corners</li>\n"
+"</ul>\n"
+"</p>"))
+        self.foldingStyleComboBox.setItemText(0, _translate("EditorStylesPage", "Plain"))
+        self.foldingStyleComboBox.setItemText(1, _translate("EditorStylesPage", "Circled"))
+        self.foldingStyleComboBox.setItemText(2, _translate("EditorStylesPage", "Boxed"))
+        self.foldingStyleComboBox.setItemText(3, _translate("EditorStylesPage", "Circled Tree"))
+        self.foldingStyleComboBox.setItemText(4, _translate("EditorStylesPage", "Boxed Tree"))
+        self.foldingStyleComboBox.setItemText(5, _translate("EditorStylesPage", "Arrow"))
+        self.foldingStyleComboBox.setItemText(6, _translate("EditorStylesPage", "Arrow Tree"))
+        self.TextLabel2_2_2_2_2_8.setText(_translate("EditorStylesPage", "Foldmargin background:"))
+        self.foldmarginBackgroundButton.setToolTip(_translate("EditorStylesPage", "Select the background color for the foldmargin"))
+        self.label.setText(_translate("EditorStylesPage", "Foldmarkers foreground:"))
+        self.foldmarkersForegroundButton.setToolTip(_translate("EditorStylesPage", "Select the foreground color of the foldmarkers"))
+        self.label_2.setText(_translate("EditorStylesPage", "Foldmarkers background:"))
+        self.foldmarkersBackgroundButton.setToolTip(_translate("EditorStylesPage", "Select the background color of the foldmarkers"))
+        self.selectionGroup.setTitle(_translate("EditorStylesPage", "Selection"))
+        self.customSelColourCheckBox.setToolTip(_translate("EditorStylesPage", "Select to use custom selection colors"))
+        self.customSelColourCheckBox.setWhatsThis(_translate("EditorStylesPage", "<b>Use custom selection colors</b><p>Select this entry in order to use custom selection colors in the editor and shell windows. The colors for the selection foreground and background are defined on the colors page.</p>"))
+        self.customSelColourCheckBox.setText(_translate("EditorStylesPage", "Use custom selection colors"))
+        self.colourizeSelTextCheckBox.setToolTip(_translate("EditorStylesPage", "Select, if selected text should be colorized by the lexer."))
+        self.colourizeSelTextCheckBox.setText(_translate("EditorStylesPage", "Colorize selected text"))
+        self.extentSelEolCheckBox.setToolTip(_translate("EditorStylesPage", "Select to extend selection to end of line"))
+        self.extentSelEolCheckBox.setText(_translate("EditorStylesPage", "Extend selection to end of line"))
+        self.TextLabel2_2_2_2_2_4.setText(_translate("EditorStylesPage", "Selection foreground:"))
+        self.selectionForegroundButton.setToolTip(_translate("EditorStylesPage", "Select the foreground color for the selection."))
+        self.TextLabel2_2_2_2_2_5.setText(_translate("EditorStylesPage", "Selection background:"))
+        self.selectionBackgroundButton.setToolTip(_translate("EditorStylesPage", "Select the background color for the selection."))
+        self.caretGroup.setTitle(_translate("EditorStylesPage", "Caret"))
+        self.caretGeneralGroup.setTitle(_translate("EditorStylesPage", "Caret"))
+        self.textLabel1_7.setText(_translate("EditorStylesPage", "Width:"))
+        self.caretWidthSpinBox.setToolTip(_translate("EditorStylesPage", "Select caret width (1, 2 or 3 pixels)"))
+        self.TextLabel2_2_2_2_2_2.setText(_translate("EditorStylesPage", "Foreground:"))
+        self.caretForegroundButton.setToolTip(_translate("EditorStylesPage", "Select the color for the caret."))
+        self.caretLineGroup.setTitle(_translate("EditorStylesPage", "Caret Line"))
+        self.caretlineVisibleCheckBox.setToolTip(_translate("EditorStylesPage", "Select, whether the caret line should be highlighted"))
+        self.caretlineVisibleCheckBox.setText(_translate("EditorStylesPage", "Caret line visible"))
+        self.caretlineAlwaysVisibleCheckBox.setToolTip(_translate("EditorStylesPage", "Select, whether the caret line should be highlighted even if the editor doesn\'t have the focus"))
+        self.caretlineAlwaysVisibleCheckBox.setText(_translate("EditorStylesPage", "Caret line always visible"))
+        self.label_19.setText(_translate("EditorStylesPage", "Frame Width:"))
+        self.caretlineFrameWidthSpinBox.setToolTip(_translate("EditorStylesPage", "Select caret line frame width (off, 1, 2 or 3 pixels)"))
+        self.caretlineFrameWidthSpinBox.setSpecialValueText(_translate("EditorStylesPage", "Off"))
+        self.TextLabel2_2_2_2_2_3.setText(_translate("EditorStylesPage", "Background:"))
+        self.caretlineBackgroundButton.setToolTip(_translate("EditorStylesPage", "Select the background color for the line containing the caret."))
+        self.debuggingGroup.setTitle(_translate("EditorStylesPage", "Debugging Line Markers"))
+        self.TextLabel3_2_2.setText(_translate("EditorStylesPage", "Current line marker:"))
+        self.currentLineMarkerButton.setToolTip(_translate("EditorStylesPage", "Select the color for the current line marker."))
+        self.debugMarkerBackgroundCheckBox.setToolTip(_translate("EditorStylesPage", "Select to indicate the debug markers using colored line backgrounds, arrow indicators otherwise"))
+        self.debugMarkerBackgroundCheckBox.setText(_translate("EditorStylesPage", "Use background colors"))
+        self.TextLabel4_2_2.setText(_translate("EditorStylesPage", "Error line marker:"))
+        self.errorMarkerButton.setToolTip(_translate("EditorStylesPage", "Select the color for the error line marker."))
+        self.bracesGroup.setTitle(_translate("EditorStylesPage", "Braces"))
+        self.TextLabel1_3_2.setText(_translate("EditorStylesPage", "Matched braces:"))
+        self.matchingBracesBackButton.setToolTip(_translate("EditorStylesPage", "Select the background color for highlighting matching braces."))
+        self.matchingBracesButton.setToolTip(_translate("EditorStylesPage", "Select the color for highlighting matching braces."))
+        self.TextLabel2_2_2.setText(_translate("EditorStylesPage", "Unmatched brace:"))
+        self.nonmatchingBracesButton.setToolTip(_translate("EditorStylesPage", "Select the color for  highlighting nonmatching braces."))
+        self.TextLabel1_3_2_2.setText(_translate("EditorStylesPage", "Matched braces background:"))
+        self.TextLabel2_2_2_3.setText(_translate("EditorStylesPage", "Unmatched brace background:"))
+        self.nonmatchingBracesBackButton.setToolTip(_translate("EditorStylesPage", "Select the background color for  highlighting nonmatching braces."))
+        self.bracehighlightingCheckBox.setToolTip(_translate("EditorStylesPage", "Select whether matching and bad braces shall be highlighted."))
+        self.bracehighlightingCheckBox.setText(_translate("EditorStylesPage", "Highlight braces"))
+        self.eolGroup.setTitle(_translate("EditorStylesPage", "End of Line"))
+        self.eolCheckBox.setToolTip(_translate("EditorStylesPage", "Select whether end of line shall be shown"))
+        self.eolCheckBox.setText(_translate("EditorStylesPage", "Show End of Line"))
+        self.wrapLongLinesGroup.setTitle(_translate("EditorStylesPage", "Wrap long lines"))
+        self.textLabel1_15.setText(_translate("EditorStylesPage", "Mode:"))
+        self.wrapModeComboBox.setToolTip(_translate("EditorStylesPage", "Select the wrap mode for long lines"))
+        self.label_5.setText(_translate("EditorStylesPage", "Indication:"))
+        self.wrapVisualComboBox.setToolTip(_translate("EditorStylesPage", "Select, how wrapped lines are indicated"))
+        self.label_18.setText(_translate("EditorStylesPage", "Indentation:"))
+        self.wrapIndentComboBox.setToolTip(_translate("EditorStylesPage", "Select, how wrapped lines are indented"))
+        self.wrapStartIndentSpinBox.setToolTip(_translate("EditorStylesPage", "Enter the number of characters to indent (only used for \'Fixed\')"))
+        self.wrapStartIndentSpinBox.setSuffix(_translate("EditorStylesPage", " characters"))
+        self.edgeModeGroup.setTitle(_translate("EditorStylesPage", "Edge Mode"))
+        self.edgeBackgroundColorButton.setToolTip(_translate("EditorStylesPage", "Select the color for the edge marker."))
+        self.TextLabel13_3_2_2.setText(_translate("EditorStylesPage", "Background color:"))
+        self.edgeLineColumnSlider.setToolTip(_translate("EditorStylesPage", "Move to set the edge column."))
+        self.edgeLineColumnLCD.setToolTip(_translate("EditorStylesPage", "Displays the selected tab width."))
+        self.TextLabel13_3_2.setText(_translate("EditorStylesPage", "Column number:"))
+        self.textLabel1_14.setText(_translate("EditorStylesPage", "Mode:"))
+        self.edgeModeCombo.setItemText(0, _translate("EditorStylesPage", "Disabled"))
+        self.edgeModeCombo.setItemText(1, _translate("EditorStylesPage", "Draw Line"))
+        self.edgeModeCombo.setItemText(2, _translate("EditorStylesPage", "Change Background Color"))
+        self.zoomGroup.setTitle(_translate("EditorStylesPage", "Zoom"))
+        self.TextLabel13_2_2_3.setText(_translate("EditorStylesPage", "Initial zoom factor:"))
+        self.zoomfactorSlider.setToolTip(_translate("EditorStylesPage", "Move to set the initial zoom factor"))
+        self.zoomfactorLCD.setToolTip(_translate("EditorStylesPage", "Displays the selected initial zoom factor"))
+        self.annotationsGroup.setTitle(_translate("EditorStylesPage", "Annotations"))
+        self.enableAnnotationsCheckBox.setStatusTip(_translate("EditorStylesPage", "Select to enable the display of annotations"))
+        self.enableAnnotationsCheckBox.setText(_translate("EditorStylesPage", "Show annotations"))
+        self.annotationsWarningGroup.setTitle(_translate("EditorStylesPage", "Warnings"))
+        self.annotationsWarningFgButton.setToolTip(_translate("EditorStylesPage", "Press to select the foreground color"))
+        self.annotationsWarningFgButton.setText(_translate("EditorStylesPage", "Foreground"))
+        self.annotationsWarningBgButton.setToolTip(_translate("EditorStylesPage", "Press to select the background color"))
+        self.annotationsWarningBgButton.setText(_translate("EditorStylesPage", "Background"))
+        self.annotationsWarningSample.setText(_translate("EditorStylesPage", "Warning: There might be an issue."))
+        self.annotationsErrorGroup.setTitle(_translate("EditorStylesPage", "Errors"))
+        self.annotationsErrorFgButton.setToolTip(_translate("EditorStylesPage", "Press to select the foreground color"))
+        self.annotationsErrorFgButton.setText(_translate("EditorStylesPage", "Foreground"))
+        self.annotationsErrorBgButton.setToolTip(_translate("EditorStylesPage", "Press to select the background color"))
+        self.annotationsErrorBgButton.setText(_translate("EditorStylesPage", "Background"))
+        self.annotationsErrorSample.setText(_translate("EditorStylesPage", "Error: There is an issue."))
+        self.annotationsStyleWarningGroup.setTitle(_translate("EditorStylesPage", "Style"))
+        self.annotationsStyleWarningFgButton.setToolTip(_translate("EditorStylesPage", "Press to select the foreground color"))
+        self.annotationsStyleWarningFgButton.setText(_translate("EditorStylesPage", "Foreground"))
+        self.annotationsStyleWarningBgButton.setToolTip(_translate("EditorStylesPage", "Press to select the background color"))
+        self.annotationsStyleWarningBgButton.setText(_translate("EditorStylesPage", "Background"))
+        self.annotationsStyleWarningSample.setText(_translate("EditorStylesPage", "Style: There is a style issue."))
+        self.annotationsInformationGroup.setTitle(_translate("EditorStylesPage", "Information"))
+        self.annotationsInformationFgButton.setToolTip(_translate("EditorStylesPage", "Press to select the foreground color"))
+        self.annotationsInformationFgButton.setText(_translate("EditorStylesPage", "Foreground"))
+        self.annotationsInformationBgButton.setToolTip(_translate("EditorStylesPage", "Press to select the background color"))
+        self.annotationsInformationBgButton.setText(_translate("EditorStylesPage", "Background"))
+        self.annotationsInformationSample.setText(_translate("EditorStylesPage", "Info: There is an information."))
+        self.changeTracingGroup.setTitle(_translate("EditorStylesPage", "Change Tracing"))
+        self.enableChangeTraceCheckBox.setToolTip(_translate("EditorStylesPage", "Select to mark changed lines"))
+        self.enableChangeTraceCheckBox.setText(_translate("EditorStylesPage", "Mark changed lines"))
+        self.label_4.setText(_translate("EditorStylesPage", "Timeout for marking changed lines:"))
+        self.changeTraceTimeoutSpinBox.setToolTip(_translate("EditorStylesPage", "Enter the time in milliseconds after which changed lines will be marked"))
+        self.changeTraceTimeoutSpinBox.setSuffix(_translate("EditorStylesPage", " ms"))
+        self.TextLabel13_3_2_3.setText(_translate("EditorStylesPage", "Unsaved changes color:"))
+        self.changeMarkerUnsavedColorButton.setToolTip(_translate("EditorStylesPage", "Select the color for the change marker for unsaved changes."))
+        self.TextLabel13_3_2_4.setText(_translate("EditorStylesPage", "Saved changes color:"))
+        self.changeMarkerSavedColorButton.setToolTip(_translate("EditorStylesPage", "Select the color for the change marker for saved changes."))
+        self.whitespaceGroup.setTitle(_translate("EditorStylesPage", "Whitespace"))
+        self.whitespaceCheckBox.setToolTip(_translate("EditorStylesPage", "Select whether whitspace characters shall be shown"))
+        self.whitespaceCheckBox.setText(_translate("EditorStylesPage", "Show Whitespace"))
+        self.textLabel1_8.setText(_translate("EditorStylesPage", "Whitespace size:"))
+        self.whitespaceSizeSpinBox.setToolTip(_translate("EditorStylesPage", "Select the size of the dots used to represent visible whitespace"))
+        self.TextLabel2_2_2_2_2_9.setText(_translate("EditorStylesPage", "Whitespace foreground:"))
+        self.whitespaceForegroundButton.setToolTip(_translate("EditorStylesPage", "Select the foreground color for visible whitespace"))
+        self.TextLabel2_2_2_2_2_10.setText(_translate("EditorStylesPage", "Whitespace background:"))
+        self.whitespaceBackgroundButton.setToolTip(_translate("EditorStylesPage", "Select the background color for visible whitespace"))
+        self.indentationsGroup.setTitle(_translate("EditorStylesPage", "Indentation Guides"))
+        self.indentguidesCheckBox.setToolTip(_translate("EditorStylesPage", "Select whether indentation guides should be shown."))
+        self.indentguidesCheckBox.setText(_translate("EditorStylesPage", "Show Indentation Guides"))
+        self.TextLabel2_2_2_2_2_13.setText(_translate("EditorStylesPage", "Indentation Guides foreground:"))
+        self.indentationGuidesForegroundButton.setToolTip(_translate("EditorStylesPage", "Select the foreground color for indentation guides"))
+        self.TextLabel2_2_2_2_2_14.setText(_translate("EditorStylesPage", "Indentation Guides background:"))
+        self.indentationGuidesBackgroundButton.setToolTip(_translate("EditorStylesPage", "Select the background color for indentation guides"))
+        self.markerMapGroup.setTitle(_translate("EditorStylesPage", "Marker Map"))
+        self.markerMapRightCheckBox.setToolTip(_translate("EditorStylesPage", "Select to show the marker map right of the editor"))
+        self.markerMapRightCheckBox.setWhatsThis(_translate("EditorStylesPage", "<b>Show Marker Map Right of the Editor</b>\n"
+"<p>If this entry is selected (default), the marker map is show on the right side of the editor. If it is unselected, it is shown on the left side right before the margins.</p>"))
+        self.markerMapRightCheckBox.setText(_translate("EditorStylesPage", "Show Marker Map Right of the Editor"))
+        self.groupBox_16.setTitle(_translate("EditorStylesPage", "Marker Colors"))
+        self.label_6.setText(_translate("EditorStylesPage", "Errors:"))
+        self.errorsMapButton.setToolTip(_translate("EditorStylesPage", "Select the color for error markers"))
+        self.label_7.setText(_translate("EditorStylesPage", "Warnings:"))
+        self.warningsMapButton.setToolTip(_translate("EditorStylesPage", "Select the color for warning markers"))
+        self.label_8.setText(_translate("EditorStylesPage", "Bookmarks:"))
+        self.bookmarksMapButton.setToolTip(_translate("EditorStylesPage", "Select the color for bookmark markers"))
+        self.label_9.setText(_translate("EditorStylesPage", "Breakpoints:"))
+        self.breakpointsMapButton.setToolTip(_translate("EditorStylesPage", "Select the color for breakpoint markers"))
+        self.label_10.setText(_translate("EditorStylesPage", "Tasks:"))
+        self.tasksMapButton.setToolTip(_translate("EditorStylesPage", "Select the color for task markers"))
+        self.label_11.setText(_translate("EditorStylesPage", "Changes:"))
+        self.changesMapButton.setToolTip(_translate("EditorStylesPage", "Select the color for change markers"))
+        self.label_12.setText(_translate("EditorStylesPage", "Coverage:"))
+        self.coverageMapButton.setToolTip(_translate("EditorStylesPage", "Select the color for coverage markers"))
+        self.label_13.setText(_translate("EditorStylesPage", "Current Line:"))
+        self.currentMapButton.setToolTip(_translate("EditorStylesPage", "Select the color for the current line marker"))
+        self.label_15.setText(_translate("EditorStylesPage", "Search Markers:"))
+        self.searchMarkerMapButton.setToolTip(_translate("EditorStylesPage", "Select the color for the search marker"))
+        self.label_16.setText(_translate("EditorStylesPage", "Conflict Marker Line:"))
+        self.conflictMarkerMapButton.setToolTip(_translate("EditorStylesPage", "Select the color for the conflict marker line marker"))
+        self.label_14.setText(_translate("EditorStylesPage", "Background:"))
+        self.markerMapBackgroundButton.setToolTip(_translate("EditorStylesPage", "Select the background color for the marker map"))
+        self.groupBox_17.setTitle(_translate("EditorStylesPage", "Shown Markers"))
+        self.changesMarkerCheckBox.setToolTip(_translate("EditorStylesPage", "Select to show change markers"))
+        self.changesMarkerCheckBox.setText(_translate("EditorStylesPage", "Changes"))
+        self.coverageMarkerCheckBox.setToolTip(_translate("EditorStylesPage", "Select to show coverage markers"))
+        self.coverageMarkerCheckBox.setText(_translate("EditorStylesPage", "Coverage"))
+        self.searchMarkerCheckBox.setToolTip(_translate("EditorStylesPage", "Select to show search markers"))
+        self.searchMarkerCheckBox.setText(_translate("EditorStylesPage", "Search Markers"))
+        self.label_17.setText(_translate("EditorStylesPage", "<b>Note</b>: Marker types not listed are always shown."))
+        self.variousGroup.setTitle(_translate("EditorStylesPage", "Various"))
+        self.miniMenuCheckBox.setToolTip(_translate("EditorStylesPage", "Select to show a minimalistic context menu"))
+        self.miniMenuCheckBox.setText(_translate("EditorStylesPage", "Show minimal context menu"))
+        self.hideFormatButtonsCheckBox.setToolTip(_translate("EditorStylesPage", "Select to hide the Format Buttons bar when formatting is not supported"))
+        self.hideFormatButtonsCheckBox.setText(_translate("EditorStylesPage", "Hide Format Buttons bar when not supported"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Preferences/ConfigurationPages/Ui_EditorSyntaxPage.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,97 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Preferences/ConfigurationPages/EditorSyntaxPage.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_EditorSyntaxPage(object):
+    def setupUi(self, EditorSyntaxPage):
+        EditorSyntaxPage.setObjectName("EditorSyntaxPage")
+        EditorSyntaxPage.resize(500, 500)
+        EditorSyntaxPage.setWindowTitle("")
+        self.verticalLayout_3 = QtWidgets.QVBoxLayout(EditorSyntaxPage)
+        self.verticalLayout_3.setObjectName("verticalLayout_3")
+        self.headerLabel = QtWidgets.QLabel(parent=EditorSyntaxPage)
+        self.headerLabel.setObjectName("headerLabel")
+        self.verticalLayout_3.addWidget(self.headerLabel)
+        self.line2 = QtWidgets.QFrame(parent=EditorSyntaxPage)
+        self.line2.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line2.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line2.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line2.setObjectName("line2")
+        self.verticalLayout_3.addWidget(self.line2)
+        self.automaticSyntaxCheckCheckBox = QtWidgets.QGroupBox(parent=EditorSyntaxPage)
+        self.automaticSyntaxCheckCheckBox.setObjectName("automaticSyntaxCheckCheckBox")
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.automaticSyntaxCheckCheckBox)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.onlineCheckBox = QtWidgets.QGroupBox(parent=self.automaticSyntaxCheckCheckBox)
+        self.onlineCheckBox.setCheckable(True)
+        self.onlineCheckBox.setObjectName("onlineCheckBox")
+        self.horizontalLayout = QtWidgets.QHBoxLayout(self.onlineCheckBox)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.label = QtWidgets.QLabel(parent=self.onlineCheckBox)
+        self.label.setObjectName("label")
+        self.horizontalLayout.addWidget(self.label)
+        self.onlineTimeoutSpinBox = QtWidgets.QSpinBox(parent=self.onlineCheckBox)
+        self.onlineTimeoutSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.onlineTimeoutSpinBox.setButtonSymbols(QtWidgets.QAbstractSpinBox.ButtonSymbols.PlusMinus)
+        self.onlineTimeoutSpinBox.setProperty("value", 5)
+        self.onlineTimeoutSpinBox.setObjectName("onlineTimeoutSpinBox")
+        self.horizontalLayout.addWidget(self.onlineTimeoutSpinBox)
+        spacerItem = QtWidgets.QSpacerItem(205, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem)
+        self.verticalLayout_2.addWidget(self.onlineCheckBox)
+        self.groupBox_2 = QtWidgets.QGroupBox(parent=self.automaticSyntaxCheckCheckBox)
+        self.groupBox_2.setObjectName("groupBox_2")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.groupBox_2)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.includeCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_2)
+        self.includeCheckBox.setObjectName("includeCheckBox")
+        self.verticalLayout.addWidget(self.includeCheckBox)
+        self.ignoreStarImportCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_2)
+        self.ignoreStarImportCheckBox.setObjectName("ignoreStarImportCheckBox")
+        self.verticalLayout.addWidget(self.ignoreStarImportCheckBox)
+        self.label_2 = QtWidgets.QLabel(parent=self.groupBox_2)
+        self.label_2.setObjectName("label_2")
+        self.verticalLayout.addWidget(self.label_2)
+        self.builtinsEdit = QtWidgets.QPlainTextEdit(parent=self.groupBox_2)
+        self.builtinsEdit.setObjectName("builtinsEdit")
+        self.verticalLayout.addWidget(self.builtinsEdit)
+        self.verticalLayout_2.addWidget(self.groupBox_2)
+        self.verticalLayout_3.addWidget(self.automaticSyntaxCheckCheckBox)
+        spacerItem1 = QtWidgets.QSpacerItem(20, 108, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout_3.addItem(spacerItem1)
+
+        self.retranslateUi(EditorSyntaxPage)
+        QtCore.QMetaObject.connectSlotsByName(EditorSyntaxPage)
+        EditorSyntaxPage.setTabOrder(self.automaticSyntaxCheckCheckBox, self.onlineCheckBox)
+        EditorSyntaxPage.setTabOrder(self.onlineCheckBox, self.onlineTimeoutSpinBox)
+        EditorSyntaxPage.setTabOrder(self.onlineTimeoutSpinBox, self.includeCheckBox)
+        EditorSyntaxPage.setTabOrder(self.includeCheckBox, self.ignoreStarImportCheckBox)
+        EditorSyntaxPage.setTabOrder(self.ignoreStarImportCheckBox, self.builtinsEdit)
+
+    def retranslateUi(self, EditorSyntaxPage):
+        _translate = QtCore.QCoreApplication.translate
+        self.headerLabel.setText(_translate("EditorSyntaxPage", "<b>Configure Code Checker settings</b>"))
+        self.automaticSyntaxCheckCheckBox.setToolTip(_translate("EditorSyntaxPage", "Select, whether source files should be checked automatically for syntax errors"))
+        self.automaticSyntaxCheckCheckBox.setWhatsThis(_translate("EditorSyntaxPage", "<b>Automatic Syntax Check</b><p>Select to enable the automatic syntax checker. The syntax is checked, when a file is loaded or saved or the programming language of the editor is selected.</p>"))
+        self.automaticSyntaxCheckCheckBox.setTitle(_translate("EditorSyntaxPage", "Automatic Syntax Check"))
+        self.onlineCheckBox.setToolTip(_translate("EditorSyntaxPage", "Select to enable the online syntax checker"))
+        self.onlineCheckBox.setWhatsThis(_translate("EditorSyntaxPage", "<b>Online Syntax Check</b><p>Select this to enable syntax checks while typing. The check is performed, if typing is interrupted for the configured timeout period.</p>"))
+        self.onlineCheckBox.setTitle(_translate("EditorSyntaxPage", "Online Syntax Check"))
+        self.label.setText(_translate("EditorSyntaxPage", "Timeout Interval:"))
+        self.onlineTimeoutSpinBox.setToolTip(_translate("EditorSyntaxPage", "Enter the timeout for the online syntax checker"))
+        self.onlineTimeoutSpinBox.setWhatsThis(_translate("EditorSyntaxPage", "<b>Timeout Interval</b><p>Enter the timeout interval for the online syntax check. The check is performed, if typing is interrupted for the configured timeout period.</p>"))
+        self.onlineTimeoutSpinBox.setSuffix(_translate("EditorSyntaxPage", " s"))
+        self.groupBox_2.setTitle(_translate("EditorSyntaxPage", "PyFlakes"))
+        self.includeCheckBox.setToolTip(_translate("EditorSyntaxPage", "Select to include a PyFlakes check after the syntax check"))
+        self.includeCheckBox.setText(_translate("EditorSyntaxPage", "Include PyFlakes Checks after syntax check"))
+        self.ignoreStarImportCheckBox.setToolTip(_translate("EditorSyntaxPage", "Select to suppress star import warnings"))
+        self.ignoreStarImportCheckBox.setText(_translate("EditorSyntaxPage", "Suppress star import warnings"))
+        self.label_2.setText(_translate("EditorSyntaxPage", "Additional \'builtins\' Names:"))
+        self.builtinsEdit.setToolTip(_translate("EditorSyntaxPage", "Enter additional \'builtins\' names separated by whitespace."))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Preferences/ConfigurationPages/Ui_EditorTypingPage.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,393 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Preferences/ConfigurationPages/EditorTypingPage.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_EditorTypingPage(object):
+    def setupUi(self, EditorTypingPage):
+        EditorTypingPage.setObjectName("EditorTypingPage")
+        EditorTypingPage.resize(543, 518)
+        EditorTypingPage.setWindowTitle("")
+        self.verticalLayout_3 = QtWidgets.QVBoxLayout(EditorTypingPage)
+        self.verticalLayout_3.setObjectName("verticalLayout_3")
+        self.headerLabel = QtWidgets.QLabel(parent=EditorTypingPage)
+        self.headerLabel.setObjectName("headerLabel")
+        self.verticalLayout_3.addWidget(self.headerLabel)
+        self.line1 = QtWidgets.QFrame(parent=EditorTypingPage)
+        self.line1.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line1.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line1.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line1.setObjectName("line1")
+        self.verticalLayout_3.addWidget(self.line1)
+        self.hboxlayout = QtWidgets.QHBoxLayout()
+        self.hboxlayout.setObjectName("hboxlayout")
+        self.TextLabel1_3 = QtWidgets.QLabel(parent=EditorTypingPage)
+        self.TextLabel1_3.setToolTip("")
+        self.TextLabel1_3.setObjectName("TextLabel1_3")
+        self.hboxlayout.addWidget(self.TextLabel1_3)
+        self.languageCombo = QtWidgets.QComboBox(parent=EditorTypingPage)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.languageCombo.sizePolicy().hasHeightForWidth())
+        self.languageCombo.setSizePolicy(sizePolicy)
+        self.languageCombo.setObjectName("languageCombo")
+        self.hboxlayout.addWidget(self.languageCombo)
+        self.verticalLayout_3.addLayout(self.hboxlayout)
+        self.stackedWidget = QtWidgets.QStackedWidget(parent=EditorTypingPage)
+        self.stackedWidget.setObjectName("stackedWidget")
+        self.emptyPage = QtWidgets.QWidget()
+        self.emptyPage.setObjectName("emptyPage")
+        self.stackedWidget.addWidget(self.emptyPage)
+        self.pythonPage = QtWidgets.QWidget()
+        self.pythonPage.setObjectName("pythonPage")
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.pythonPage)
+        self.verticalLayout_2.setContentsMargins(0, -1, 0, -1)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.pythonGroup = QtWidgets.QGroupBox(parent=self.pythonPage)
+        self.pythonGroup.setFocusPolicy(QtCore.Qt.FocusPolicy.TabFocus)
+        self.pythonGroup.setCheckable(True)
+        self.pythonGroup.setObjectName("pythonGroup")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.pythonGroup)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.pythonInsertClosingBraceCheckBox = QtWidgets.QCheckBox(parent=self.pythonGroup)
+        self.pythonInsertClosingBraceCheckBox.setObjectName("pythonInsertClosingBraceCheckBox")
+        self.verticalLayout.addWidget(self.pythonInsertClosingBraceCheckBox)
+        self.hboxlayout1 = QtWidgets.QHBoxLayout()
+        self.hboxlayout1.setObjectName("hboxlayout1")
+        spacerItem = QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.hboxlayout1.addItem(spacerItem)
+        self.pythonSkipBraceCheckBox = QtWidgets.QCheckBox(parent=self.pythonGroup)
+        self.pythonSkipBraceCheckBox.setEnabled(False)
+        self.pythonSkipBraceCheckBox.setObjectName("pythonSkipBraceCheckBox")
+        self.hboxlayout1.addWidget(self.pythonSkipBraceCheckBox)
+        spacerItem1 = QtWidgets.QSpacerItem(131, 21, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.hboxlayout1.addItem(spacerItem1)
+        self.verticalLayout.addLayout(self.hboxlayout1)
+        self.pythonColonDetectionCheckBox = QtWidgets.QCheckBox(parent=self.pythonGroup)
+        self.pythonColonDetectionCheckBox.setObjectName("pythonColonDetectionCheckBox")
+        self.verticalLayout.addWidget(self.pythonColonDetectionCheckBox)
+        self.pythonIndentBraceCheckBox = QtWidgets.QCheckBox(parent=self.pythonGroup)
+        self.pythonIndentBraceCheckBox.setObjectName("pythonIndentBraceCheckBox")
+        self.verticalLayout.addWidget(self.pythonIndentBraceCheckBox)
+        self.pythonInsertQuoteCheckBox = QtWidgets.QCheckBox(parent=self.pythonGroup)
+        self.pythonInsertQuoteCheckBox.setObjectName("pythonInsertQuoteCheckBox")
+        self.verticalLayout.addWidget(self.pythonInsertQuoteCheckBox)
+        self.pythonDedentElseCheckBox = QtWidgets.QCheckBox(parent=self.pythonGroup)
+        self.pythonDedentElseCheckBox.setObjectName("pythonDedentElseCheckBox")
+        self.verticalLayout.addWidget(self.pythonDedentElseCheckBox)
+        self.pythonDedentExceptCheckBox = QtWidgets.QCheckBox(parent=self.pythonGroup)
+        self.pythonDedentExceptCheckBox.setObjectName("pythonDedentExceptCheckBox")
+        self.verticalLayout.addWidget(self.pythonDedentExceptCheckBox)
+        self.pythonInsertImportCheckBox = QtWidgets.QCheckBox(parent=self.pythonGroup)
+        self.pythonInsertImportCheckBox.setObjectName("pythonInsertImportCheckBox")
+        self.verticalLayout.addWidget(self.pythonInsertImportCheckBox)
+        self.hboxlayout2 = QtWidgets.QHBoxLayout()
+        self.hboxlayout2.setObjectName("hboxlayout2")
+        spacerItem2 = QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.hboxlayout2.addItem(spacerItem2)
+        self.pythonImportBraceTypeCheckBox = QtWidgets.QCheckBox(parent=self.pythonGroup)
+        self.pythonImportBraceTypeCheckBox.setEnabled(False)
+        self.pythonImportBraceTypeCheckBox.setObjectName("pythonImportBraceTypeCheckBox")
+        self.hboxlayout2.addWidget(self.pythonImportBraceTypeCheckBox)
+        spacerItem3 = QtWidgets.QSpacerItem(261, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.hboxlayout2.addItem(spacerItem3)
+        self.verticalLayout.addLayout(self.hboxlayout2)
+        self.pythonInsertSelfCheckBox = QtWidgets.QCheckBox(parent=self.pythonGroup)
+        self.pythonInsertSelfCheckBox.setObjectName("pythonInsertSelfCheckBox")
+        self.verticalLayout.addWidget(self.pythonInsertSelfCheckBox)
+        self.pythonInsertBlankCheckBox = QtWidgets.QCheckBox(parent=self.pythonGroup)
+        self.pythonInsertBlankCheckBox.setObjectName("pythonInsertBlankCheckBox")
+        self.verticalLayout.addWidget(self.pythonInsertBlankCheckBox)
+        self.pythonDedentDefCheckBox = QtWidgets.QCheckBox(parent=self.pythonGroup)
+        self.pythonDedentDefCheckBox.setObjectName("pythonDedentDefCheckBox")
+        self.verticalLayout.addWidget(self.pythonDedentDefCheckBox)
+        self.verticalLayout_2.addWidget(self.pythonGroup)
+        spacerItem4 = QtWidgets.QSpacerItem(507, 20, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout_2.addItem(spacerItem4)
+        self.stackedWidget.addWidget(self.pythonPage)
+        self.rubyPage = QtWidgets.QWidget()
+        self.rubyPage.setObjectName("rubyPage")
+        self.vboxlayout = QtWidgets.QVBoxLayout(self.rubyPage)
+        self.vboxlayout.setContentsMargins(0, -1, 0, -1)
+        self.vboxlayout.setObjectName("vboxlayout")
+        self.rubyGroup = QtWidgets.QGroupBox(parent=self.rubyPage)
+        self.rubyGroup.setFocusPolicy(QtCore.Qt.FocusPolicy.TabFocus)
+        self.rubyGroup.setCheckable(True)
+        self.rubyGroup.setObjectName("rubyGroup")
+        self.verticalLayout_8 = QtWidgets.QVBoxLayout(self.rubyGroup)
+        self.verticalLayout_8.setObjectName("verticalLayout_8")
+        self.rubyInsertClosingBraceCheckBox = QtWidgets.QCheckBox(parent=self.rubyGroup)
+        self.rubyInsertClosingBraceCheckBox.setObjectName("rubyInsertClosingBraceCheckBox")
+        self.verticalLayout_8.addWidget(self.rubyInsertClosingBraceCheckBox)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        spacerItem5 = QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem5)
+        self.rubySkipBraceCheckBox = QtWidgets.QCheckBox(parent=self.rubyGroup)
+        self.rubySkipBraceCheckBox.setEnabled(False)
+        self.rubySkipBraceCheckBox.setObjectName("rubySkipBraceCheckBox")
+        self.horizontalLayout.addWidget(self.rubySkipBraceCheckBox)
+        spacerItem6 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem6)
+        self.verticalLayout_8.addLayout(self.horizontalLayout)
+        self.rubyIndentBraceCheckBox = QtWidgets.QCheckBox(parent=self.rubyGroup)
+        self.rubyIndentBraceCheckBox.setObjectName("rubyIndentBraceCheckBox")
+        self.verticalLayout_8.addWidget(self.rubyIndentBraceCheckBox)
+        self.rubyInsertQuoteCheckBox = QtWidgets.QCheckBox(parent=self.rubyGroup)
+        self.rubyInsertQuoteCheckBox.setObjectName("rubyInsertQuoteCheckBox")
+        self.verticalLayout_8.addWidget(self.rubyInsertQuoteCheckBox)
+        self.rubyInsertBlankCheckBox = QtWidgets.QCheckBox(parent=self.rubyGroup)
+        self.rubyInsertBlankCheckBox.setObjectName("rubyInsertBlankCheckBox")
+        self.verticalLayout_8.addWidget(self.rubyInsertBlankCheckBox)
+        self.rubyInsertHereDocCheckBox = QtWidgets.QCheckBox(parent=self.rubyGroup)
+        self.rubyInsertHereDocCheckBox.setObjectName("rubyInsertHereDocCheckBox")
+        self.verticalLayout_8.addWidget(self.rubyInsertHereDocCheckBox)
+        self.rubyInsertInlineDocCheckBox = QtWidgets.QCheckBox(parent=self.rubyGroup)
+        self.rubyInsertInlineDocCheckBox.setObjectName("rubyInsertInlineDocCheckBox")
+        self.verticalLayout_8.addWidget(self.rubyInsertInlineDocCheckBox)
+        self.vboxlayout.addWidget(self.rubyGroup)
+        spacerItem7 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.vboxlayout.addItem(spacerItem7)
+        self.stackedWidget.addWidget(self.rubyPage)
+        self.yamlPage = QtWidgets.QWidget()
+        self.yamlPage.setObjectName("yamlPage")
+        self.verticalLayout_5 = QtWidgets.QVBoxLayout(self.yamlPage)
+        self.verticalLayout_5.setContentsMargins(0, -1, 0, -1)
+        self.verticalLayout_5.setObjectName("verticalLayout_5")
+        self.yamlGroup = QtWidgets.QGroupBox(parent=self.yamlPage)
+        self.yamlGroup.setFocusPolicy(QtCore.Qt.FocusPolicy.TabFocus)
+        self.yamlGroup.setCheckable(True)
+        self.yamlGroup.setObjectName("yamlGroup")
+        self.verticalLayout_4 = QtWidgets.QVBoxLayout(self.yamlGroup)
+        self.verticalLayout_4.setObjectName("verticalLayout_4")
+        self.yamlInsertClosingBraceCheckBox = QtWidgets.QCheckBox(parent=self.yamlGroup)
+        self.yamlInsertClosingBraceCheckBox.setObjectName("yamlInsertClosingBraceCheckBox")
+        self.verticalLayout_4.addWidget(self.yamlInsertClosingBraceCheckBox)
+        self._2 = QtWidgets.QHBoxLayout()
+        self._2.setObjectName("_2")
+        spacerItem8 = QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Minimum)
+        self._2.addItem(spacerItem8)
+        self.yamlSkipBraceCheckBox = QtWidgets.QCheckBox(parent=self.yamlGroup)
+        self.yamlSkipBraceCheckBox.setEnabled(False)
+        self.yamlSkipBraceCheckBox.setObjectName("yamlSkipBraceCheckBox")
+        self._2.addWidget(self.yamlSkipBraceCheckBox)
+        spacerItem9 = QtWidgets.QSpacerItem(131, 21, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self._2.addItem(spacerItem9)
+        self.verticalLayout_4.addLayout(self._2)
+        self.yamlColonDetectionCheckBox = QtWidgets.QCheckBox(parent=self.yamlGroup)
+        self.yamlColonDetectionCheckBox.setObjectName("yamlColonDetectionCheckBox")
+        self.verticalLayout_4.addWidget(self.yamlColonDetectionCheckBox)
+        self.yamlAutoIndentationCheckBox = QtWidgets.QCheckBox(parent=self.yamlGroup)
+        self.yamlAutoIndentationCheckBox.setObjectName("yamlAutoIndentationCheckBox")
+        self.verticalLayout_4.addWidget(self.yamlAutoIndentationCheckBox)
+        self.yamlInsertQuoteCheckBox = QtWidgets.QCheckBox(parent=self.yamlGroup)
+        self.yamlInsertQuoteCheckBox.setObjectName("yamlInsertQuoteCheckBox")
+        self.verticalLayout_4.addWidget(self.yamlInsertQuoteCheckBox)
+        self.yamlInsertBlankColonCheckBox = QtWidgets.QCheckBox(parent=self.yamlGroup)
+        self.yamlInsertBlankColonCheckBox.setObjectName("yamlInsertBlankColonCheckBox")
+        self.verticalLayout_4.addWidget(self.yamlInsertBlankColonCheckBox)
+        self.yamlInsertBlankDashCheckBox = QtWidgets.QCheckBox(parent=self.yamlGroup)
+        self.yamlInsertBlankDashCheckBox.setObjectName("yamlInsertBlankDashCheckBox")
+        self.verticalLayout_4.addWidget(self.yamlInsertBlankDashCheckBox)
+        self.yamlInsertBlankQuestionCheckBox = QtWidgets.QCheckBox(parent=self.yamlGroup)
+        self.yamlInsertBlankQuestionCheckBox.setObjectName("yamlInsertBlankQuestionCheckBox")
+        self.verticalLayout_4.addWidget(self.yamlInsertBlankQuestionCheckBox)
+        self.yamlInsertBlankCommaCheckBox = QtWidgets.QCheckBox(parent=self.yamlGroup)
+        self.yamlInsertBlankCommaCheckBox.setObjectName("yamlInsertBlankCommaCheckBox")
+        self.verticalLayout_4.addWidget(self.yamlInsertBlankCommaCheckBox)
+        self.verticalLayout_5.addWidget(self.yamlGroup)
+        spacerItem10 = QtWidgets.QSpacerItem(20, 89, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout_5.addItem(spacerItem10)
+        self.stackedWidget.addWidget(self.yamlPage)
+        self.tomlPage = QtWidgets.QWidget()
+        self.tomlPage.setObjectName("tomlPage")
+        self.verticalLayout_7 = QtWidgets.QVBoxLayout(self.tomlPage)
+        self.verticalLayout_7.setContentsMargins(0, -1, 0, -1)
+        self.verticalLayout_7.setObjectName("verticalLayout_7")
+        self.tomlGroup = QtWidgets.QGroupBox(parent=self.tomlPage)
+        self.tomlGroup.setFocusPolicy(QtCore.Qt.FocusPolicy.TabFocus)
+        self.tomlGroup.setCheckable(True)
+        self.tomlGroup.setObjectName("tomlGroup")
+        self.verticalLayout_6 = QtWidgets.QVBoxLayout(self.tomlGroup)
+        self.verticalLayout_6.setObjectName("verticalLayout_6")
+        self.tomlInsertClosingBraceCheckBox = QtWidgets.QCheckBox(parent=self.tomlGroup)
+        self.tomlInsertClosingBraceCheckBox.setObjectName("tomlInsertClosingBraceCheckBox")
+        self.verticalLayout_6.addWidget(self.tomlInsertClosingBraceCheckBox)
+        self._3 = QtWidgets.QHBoxLayout()
+        self._3.setObjectName("_3")
+        spacerItem11 = QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Minimum)
+        self._3.addItem(spacerItem11)
+        self.tomlSkipBraceCheckBox = QtWidgets.QCheckBox(parent=self.tomlGroup)
+        self.tomlSkipBraceCheckBox.setEnabled(False)
+        self.tomlSkipBraceCheckBox.setObjectName("tomlSkipBraceCheckBox")
+        self._3.addWidget(self.tomlSkipBraceCheckBox)
+        spacerItem12 = QtWidgets.QSpacerItem(131, 21, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self._3.addItem(spacerItem12)
+        self.verticalLayout_6.addLayout(self._3)
+        self.tomlColonDetectionCheckBox = QtWidgets.QCheckBox(parent=self.tomlGroup)
+        self.tomlColonDetectionCheckBox.setObjectName("tomlColonDetectionCheckBox")
+        self.verticalLayout_6.addWidget(self.tomlColonDetectionCheckBox)
+        self.tomlAutoIndentationCheckBox = QtWidgets.QCheckBox(parent=self.tomlGroup)
+        self.tomlAutoIndentationCheckBox.setObjectName("tomlAutoIndentationCheckBox")
+        self.verticalLayout_6.addWidget(self.tomlAutoIndentationCheckBox)
+        self.tomlInsertQuoteCheckBox = QtWidgets.QCheckBox(parent=self.tomlGroup)
+        self.tomlInsertQuoteCheckBox.setObjectName("tomlInsertQuoteCheckBox")
+        self.verticalLayout_6.addWidget(self.tomlInsertQuoteCheckBox)
+        self.tomlInsertBlankColonCheckBox = QtWidgets.QCheckBox(parent=self.tomlGroup)
+        self.tomlInsertBlankColonCheckBox.setObjectName("tomlInsertBlankColonCheckBox")
+        self.verticalLayout_6.addWidget(self.tomlInsertBlankColonCheckBox)
+        self.tomlInsertBlankEqualCheckBox = QtWidgets.QCheckBox(parent=self.tomlGroup)
+        self.tomlInsertBlankEqualCheckBox.setObjectName("tomlInsertBlankEqualCheckBox")
+        self.verticalLayout_6.addWidget(self.tomlInsertBlankEqualCheckBox)
+        self.tomlInsertBlankCommaCheckBox = QtWidgets.QCheckBox(parent=self.tomlGroup)
+        self.tomlInsertBlankCommaCheckBox.setObjectName("tomlInsertBlankCommaCheckBox")
+        self.verticalLayout_6.addWidget(self.tomlInsertBlankCommaCheckBox)
+        self.verticalLayout_7.addWidget(self.tomlGroup)
+        spacerItem13 = QtWidgets.QSpacerItem(20, 119, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout_7.addItem(spacerItem13)
+        self.stackedWidget.addWidget(self.tomlPage)
+        self.verticalLayout_3.addWidget(self.stackedWidget)
+        spacerItem14 = QtWidgets.QSpacerItem(519, 20, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout_3.addItem(spacerItem14)
+
+        self.retranslateUi(EditorTypingPage)
+        self.stackedWidget.setCurrentIndex(0)
+        self.pythonInsertClosingBraceCheckBox.toggled['bool'].connect(self.pythonSkipBraceCheckBox.setEnabled) # type: ignore
+        self.pythonInsertImportCheckBox.toggled['bool'].connect(self.pythonImportBraceTypeCheckBox.setEnabled) # type: ignore
+        self.yamlInsertClosingBraceCheckBox.toggled['bool'].connect(self.yamlSkipBraceCheckBox.setEnabled) # type: ignore
+        self.tomlInsertClosingBraceCheckBox.toggled['bool'].connect(self.tomlSkipBraceCheckBox.setEnabled) # type: ignore
+        self.rubyInsertClosingBraceCheckBox.toggled['bool'].connect(self.rubySkipBraceCheckBox.setEnabled) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(EditorTypingPage)
+        EditorTypingPage.setTabOrder(self.languageCombo, self.pythonGroup)
+        EditorTypingPage.setTabOrder(self.pythonGroup, self.pythonInsertClosingBraceCheckBox)
+        EditorTypingPage.setTabOrder(self.pythonInsertClosingBraceCheckBox, self.pythonSkipBraceCheckBox)
+        EditorTypingPage.setTabOrder(self.pythonSkipBraceCheckBox, self.pythonColonDetectionCheckBox)
+        EditorTypingPage.setTabOrder(self.pythonColonDetectionCheckBox, self.pythonIndentBraceCheckBox)
+        EditorTypingPage.setTabOrder(self.pythonIndentBraceCheckBox, self.pythonInsertQuoteCheckBox)
+        EditorTypingPage.setTabOrder(self.pythonInsertQuoteCheckBox, self.pythonDedentElseCheckBox)
+        EditorTypingPage.setTabOrder(self.pythonDedentElseCheckBox, self.pythonDedentExceptCheckBox)
+        EditorTypingPage.setTabOrder(self.pythonDedentExceptCheckBox, self.pythonInsertImportCheckBox)
+        EditorTypingPage.setTabOrder(self.pythonInsertImportCheckBox, self.pythonImportBraceTypeCheckBox)
+        EditorTypingPage.setTabOrder(self.pythonImportBraceTypeCheckBox, self.pythonInsertSelfCheckBox)
+        EditorTypingPage.setTabOrder(self.pythonInsertSelfCheckBox, self.pythonInsertBlankCheckBox)
+        EditorTypingPage.setTabOrder(self.pythonInsertBlankCheckBox, self.pythonDedentDefCheckBox)
+        EditorTypingPage.setTabOrder(self.pythonDedentDefCheckBox, self.rubyGroup)
+        EditorTypingPage.setTabOrder(self.rubyGroup, self.rubyInsertClosingBraceCheckBox)
+        EditorTypingPage.setTabOrder(self.rubyInsertClosingBraceCheckBox, self.rubySkipBraceCheckBox)
+        EditorTypingPage.setTabOrder(self.rubySkipBraceCheckBox, self.rubyIndentBraceCheckBox)
+        EditorTypingPage.setTabOrder(self.rubyIndentBraceCheckBox, self.rubyInsertQuoteCheckBox)
+        EditorTypingPage.setTabOrder(self.rubyInsertQuoteCheckBox, self.rubyInsertBlankCheckBox)
+        EditorTypingPage.setTabOrder(self.rubyInsertBlankCheckBox, self.rubyInsertHereDocCheckBox)
+        EditorTypingPage.setTabOrder(self.rubyInsertHereDocCheckBox, self.rubyInsertInlineDocCheckBox)
+        EditorTypingPage.setTabOrder(self.rubyInsertInlineDocCheckBox, self.yamlGroup)
+        EditorTypingPage.setTabOrder(self.yamlGroup, self.yamlInsertClosingBraceCheckBox)
+        EditorTypingPage.setTabOrder(self.yamlInsertClosingBraceCheckBox, self.yamlSkipBraceCheckBox)
+        EditorTypingPage.setTabOrder(self.yamlSkipBraceCheckBox, self.yamlColonDetectionCheckBox)
+        EditorTypingPage.setTabOrder(self.yamlColonDetectionCheckBox, self.yamlAutoIndentationCheckBox)
+        EditorTypingPage.setTabOrder(self.yamlAutoIndentationCheckBox, self.yamlInsertQuoteCheckBox)
+        EditorTypingPage.setTabOrder(self.yamlInsertQuoteCheckBox, self.yamlInsertBlankColonCheckBox)
+        EditorTypingPage.setTabOrder(self.yamlInsertBlankColonCheckBox, self.yamlInsertBlankDashCheckBox)
+        EditorTypingPage.setTabOrder(self.yamlInsertBlankDashCheckBox, self.yamlInsertBlankQuestionCheckBox)
+        EditorTypingPage.setTabOrder(self.yamlInsertBlankQuestionCheckBox, self.yamlInsertBlankCommaCheckBox)
+        EditorTypingPage.setTabOrder(self.yamlInsertBlankCommaCheckBox, self.tomlGroup)
+        EditorTypingPage.setTabOrder(self.tomlGroup, self.tomlInsertClosingBraceCheckBox)
+        EditorTypingPage.setTabOrder(self.tomlInsertClosingBraceCheckBox, self.tomlSkipBraceCheckBox)
+        EditorTypingPage.setTabOrder(self.tomlSkipBraceCheckBox, self.tomlColonDetectionCheckBox)
+        EditorTypingPage.setTabOrder(self.tomlColonDetectionCheckBox, self.tomlAutoIndentationCheckBox)
+        EditorTypingPage.setTabOrder(self.tomlAutoIndentationCheckBox, self.tomlInsertQuoteCheckBox)
+        EditorTypingPage.setTabOrder(self.tomlInsertQuoteCheckBox, self.tomlInsertBlankColonCheckBox)
+        EditorTypingPage.setTabOrder(self.tomlInsertBlankColonCheckBox, self.tomlInsertBlankEqualCheckBox)
+        EditorTypingPage.setTabOrder(self.tomlInsertBlankEqualCheckBox, self.tomlInsertBlankCommaCheckBox)
+
+    def retranslateUi(self, EditorTypingPage):
+        _translate = QtCore.QCoreApplication.translate
+        self.headerLabel.setText(_translate("EditorTypingPage", "<b>Configure typing</b>"))
+        self.TextLabel1_3.setText(_translate("EditorTypingPage", "Programming Language:"))
+        self.languageCombo.setToolTip(_translate("EditorTypingPage", "Select the programming language to be configured."))
+        self.pythonGroup.setToolTip(_translate("EditorTypingPage", "Select to enable Python typing aids"))
+        self.pythonGroup.setTitle(_translate("EditorTypingPage", "Enable Python typing aids"))
+        self.pythonInsertClosingBraceCheckBox.setToolTip(_translate("EditorTypingPage", "Select to insert a closing parenthesis"))
+        self.pythonInsertClosingBraceCheckBox.setText(_translate("EditorTypingPage", "Automatic parenthesis insertion"))
+        self.pythonSkipBraceCheckBox.setToolTip(_translate("EditorTypingPage", "Select to skip matching parenthesis when typing"))
+        self.pythonSkipBraceCheckBox.setText(_translate("EditorTypingPage", "Automatically skip matching parenthesis when typing"))
+        self.pythonColonDetectionCheckBox.setToolTip(_translate("EditorTypingPage", "Select to skip a \':\', if typed next to another \':\'"))
+        self.pythonColonDetectionCheckBox.setText(_translate("EditorTypingPage", "Automatic colon detection"))
+        self.pythonIndentBraceCheckBox.setToolTip(_translate("EditorTypingPage", "Select to indent after typing \'return\'"))
+        self.pythonIndentBraceCheckBox.setText(_translate("EditorTypingPage", "Automatic indent after \'(\'"))
+        self.pythonInsertQuoteCheckBox.setToolTip(_translate("EditorTypingPage", "Select to insert the matching quote character"))
+        self.pythonInsertQuoteCheckBox.setText(_translate("EditorTypingPage", "Automatic quote insertion"))
+        self.pythonDedentElseCheckBox.setToolTip(_translate("EditorTypingPage", "Select to dedent \'else:\' and \'elif\' to the matching \'if\'"))
+        self.pythonDedentElseCheckBox.setText(_translate("EditorTypingPage", "Automatic dedent of \'else:\' and \'elif\'"))
+        self.pythonDedentExceptCheckBox.setToolTip(_translate("EditorTypingPage", "Select to dedent \'except\' and \'finally\' to the matching \'try:\'"))
+        self.pythonDedentExceptCheckBox.setText(_translate("EditorTypingPage", "Automatic dedent of \'except\' and \'finally\'"))
+        self.pythonInsertImportCheckBox.setToolTip(_translate("EditorTypingPage", "Select to insert the \'import \' string when the line starts with \'from ...\'"))
+        self.pythonInsertImportCheckBox.setText(_translate("EditorTypingPage", "Automatic insertion of the \'import\' string on \'from xxx\'"))
+        self.pythonImportBraceTypeCheckBox.setToolTip(_translate("EditorTypingPage", "Select to create import statements of the form \'from ... import (...)\'"))
+        self.pythonImportBraceTypeCheckBox.setText(_translate("EditorTypingPage", "Generate \'(...)\' type import"))
+        self.pythonInsertSelfCheckBox.setToolTip(_translate("EditorTypingPage", "Select to insert the \'self\' string when declaring a method"))
+        self.pythonInsertSelfCheckBox.setText(_translate("EditorTypingPage", "Automatic insertion of \'self\' when declaring methods"))
+        self.pythonInsertBlankCheckBox.setToolTip(_translate("EditorTypingPage", "Select to insert a blank after \',\'"))
+        self.pythonInsertBlankCheckBox.setText(_translate("EditorTypingPage", "Automatic insertion of \' \' (blank) after \',\'"))
+        self.pythonDedentDefCheckBox.setToolTip(_translate("EditorTypingPage", "Select to dedent \'def\' statements to the last \'def\' or \'class\'"))
+        self.pythonDedentDefCheckBox.setText(_translate("EditorTypingPage", "Automatic dedent of \'def\' statements"))
+        self.rubyGroup.setToolTip(_translate("EditorTypingPage", "Select to enable Ruby typing aids"))
+        self.rubyGroup.setTitle(_translate("EditorTypingPage", "Enable Ruby typing aids"))
+        self.rubyInsertClosingBraceCheckBox.setToolTip(_translate("EditorTypingPage", "Select to insert a closing parenthesis"))
+        self.rubyInsertClosingBraceCheckBox.setText(_translate("EditorTypingPage", "Automatic parenthesis insertion"))
+        self.rubySkipBraceCheckBox.setToolTip(_translate("EditorTypingPage", "Select to skip matching parenthesis when typing"))
+        self.rubySkipBraceCheckBox.setText(_translate("EditorTypingPage", "Automatically skip matching parenthesis when typing"))
+        self.rubyIndentBraceCheckBox.setToolTip(_translate("EditorTypingPage", "Select to indent after typing \'return\'"))
+        self.rubyIndentBraceCheckBox.setText(_translate("EditorTypingPage", "Automatic indent after \'(\'"))
+        self.rubyInsertQuoteCheckBox.setToolTip(_translate("EditorTypingPage", "Select to insert the matching quote character"))
+        self.rubyInsertQuoteCheckBox.setText(_translate("EditorTypingPage", "Automatic quote insertion"))
+        self.rubyInsertBlankCheckBox.setToolTip(_translate("EditorTypingPage", "Select to insert a blank after \',\'"))
+        self.rubyInsertBlankCheckBox.setText(_translate("EditorTypingPage", "Automatic insertion of \' \' (blank) after \',\'"))
+        self.rubyInsertHereDocCheckBox.setToolTip(_translate("EditorTypingPage", "Select to automatically complete a here document"))
+        self.rubyInsertHereDocCheckBox.setText(_translate("EditorTypingPage", "Automatic completion of here document"))
+        self.rubyInsertInlineDocCheckBox.setToolTip(_translate("EditorTypingPage", "Select to automatically insert \'=end\' after entering \'=begin\'"))
+        self.rubyInsertInlineDocCheckBox.setText(_translate("EditorTypingPage", "Automatic insertion of \'=end\' after \'=begin\'"))
+        self.yamlGroup.setToolTip(_translate("EditorTypingPage", "Select to enable YAML typing aids"))
+        self.yamlGroup.setTitle(_translate("EditorTypingPage", "Enable YAML typing aids"))
+        self.yamlInsertClosingBraceCheckBox.setToolTip(_translate("EditorTypingPage", "Select to insert a closing parenthesis"))
+        self.yamlInsertClosingBraceCheckBox.setText(_translate("EditorTypingPage", "Automatic parenthesis insertion"))
+        self.yamlSkipBraceCheckBox.setToolTip(_translate("EditorTypingPage", "Select to skip matching parenthesis when typing"))
+        self.yamlSkipBraceCheckBox.setText(_translate("EditorTypingPage", "Automatically skip matching parenthesis when typing"))
+        self.yamlColonDetectionCheckBox.setToolTip(_translate("EditorTypingPage", "Select to skip a \':\', if typed next to another \':\'"))
+        self.yamlColonDetectionCheckBox.setText(_translate("EditorTypingPage", "Automatic colon detection"))
+        self.yamlAutoIndentationCheckBox.setToolTip(_translate("EditorTypingPage", "Select to indent after typing \'return\'"))
+        self.yamlAutoIndentationCheckBox.setText(_translate("EditorTypingPage", "Automatic indent after \':\', \'-\', \'|\', \'|-\', \'|+\', \'>\', \'>-\', \'>+\'"))
+        self.yamlInsertQuoteCheckBox.setToolTip(_translate("EditorTypingPage", "Select to insert the matching quote character"))
+        self.yamlInsertQuoteCheckBox.setText(_translate("EditorTypingPage", "Automatic quote insertion"))
+        self.yamlInsertBlankColonCheckBox.setToolTip(_translate("EditorTypingPage", "Select to insert a blank after \':\'"))
+        self.yamlInsertBlankColonCheckBox.setText(_translate("EditorTypingPage", "Automatic insertion of \' \' (blank) after \':\'"))
+        self.yamlInsertBlankDashCheckBox.setToolTip(_translate("EditorTypingPage", "Select to insert a blank after \'-\'"))
+        self.yamlInsertBlankDashCheckBox.setText(_translate("EditorTypingPage", "Automatic insertion of \' \' (blank) after \'-\'"))
+        self.yamlInsertBlankQuestionCheckBox.setToolTip(_translate("EditorTypingPage", "Select to insert a blank after \'?\'"))
+        self.yamlInsertBlankQuestionCheckBox.setText(_translate("EditorTypingPage", "Automatic insertion of \' \' (blank) after \'?\'"))
+        self.yamlInsertBlankCommaCheckBox.setToolTip(_translate("EditorTypingPage", "Select to insert a blank after \',\'"))
+        self.yamlInsertBlankCommaCheckBox.setText(_translate("EditorTypingPage", "Automatic insertion of \' \' (blank) after \',\'"))
+        self.tomlGroup.setToolTip(_translate("EditorTypingPage", "Select to enable TOML typing aids"))
+        self.tomlGroup.setTitle(_translate("EditorTypingPage", "Enable TOML typing aids"))
+        self.tomlInsertClosingBraceCheckBox.setToolTip(_translate("EditorTypingPage", "Select to insert a closing parenthesis"))
+        self.tomlInsertClosingBraceCheckBox.setText(_translate("EditorTypingPage", "Automatic parenthesis insertion"))
+        self.tomlSkipBraceCheckBox.setToolTip(_translate("EditorTypingPage", "Select to skip matching parenthesis when typing"))
+        self.tomlSkipBraceCheckBox.setText(_translate("EditorTypingPage", "Automatically skip matching parenthesis when typing"))
+        self.tomlColonDetectionCheckBox.setToolTip(_translate("EditorTypingPage", "Select to skip a \':\', if typed next to another \':\'"))
+        self.tomlColonDetectionCheckBox.setText(_translate("EditorTypingPage", "Automatic colon detection"))
+        self.tomlAutoIndentationCheckBox.setToolTip(_translate("EditorTypingPage", "Select to indent after typing \'return\'"))
+        self.tomlAutoIndentationCheckBox.setText(_translate("EditorTypingPage", "Automatic indent after \'(\', \'{\', \'[\'"))
+        self.tomlInsertQuoteCheckBox.setToolTip(_translate("EditorTypingPage", "Select to insert the matching quote character"))
+        self.tomlInsertQuoteCheckBox.setText(_translate("EditorTypingPage", "Automatic quote insertion"))
+        self.tomlInsertBlankColonCheckBox.setToolTip(_translate("EditorTypingPage", "Select to insert a blank after \':\'"))
+        self.tomlInsertBlankColonCheckBox.setText(_translate("EditorTypingPage", "Automatic insertion of \' \' (blank) after \':\'"))
+        self.tomlInsertBlankEqualCheckBox.setToolTip(_translate("EditorTypingPage", "Select to insert a blank after \'=\'"))
+        self.tomlInsertBlankEqualCheckBox.setText(_translate("EditorTypingPage", "Automatic insertion of \' \' (blank) after \'=\'"))
+        self.tomlInsertBlankCommaCheckBox.setToolTip(_translate("EditorTypingPage", "Select to insert a blank after \',\'"))
+        self.tomlInsertBlankCommaCheckBox.setText(_translate("EditorTypingPage", "Automatic insertion of \' \' (blank) after \',\'"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Preferences/ConfigurationPages/Ui_EmailPage.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,194 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Preferences/ConfigurationPages/EmailPage.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_EmailPage(object):
+    def setupUi(self, EmailPage):
+        EmailPage.setObjectName("EmailPage")
+        EmailPage.resize(485, 580)
+        self.verticalLayout_3 = QtWidgets.QVBoxLayout(EmailPage)
+        self.verticalLayout_3.setObjectName("verticalLayout_3")
+        self.headerLabel = QtWidgets.QLabel(parent=EmailPage)
+        self.headerLabel.setObjectName("headerLabel")
+        self.verticalLayout_3.addWidget(self.headerLabel)
+        self.line16 = QtWidgets.QFrame(parent=EmailPage)
+        self.line16.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line16.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line16.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line16.setObjectName("line16")
+        self.verticalLayout_3.addWidget(self.line16)
+        self.gridLayout_3 = QtWidgets.QGridLayout()
+        self.gridLayout_3.setObjectName("gridLayout_3")
+        self.textLabel1_5 = QtWidgets.QLabel(parent=EmailPage)
+        self.textLabel1_5.setObjectName("textLabel1_5")
+        self.gridLayout_3.addWidget(self.textLabel1_5, 0, 0, 1, 1)
+        self.emailEdit = QtWidgets.QLineEdit(parent=EmailPage)
+        self.emailEdit.setObjectName("emailEdit")
+        self.gridLayout_3.addWidget(self.emailEdit, 0, 1, 1, 1)
+        self.textLabel1_6 = QtWidgets.QLabel(parent=EmailPage)
+        self.textLabel1_6.setAlignment(QtCore.Qt.AlignmentFlag.AlignTop)
+        self.textLabel1_6.setObjectName("textLabel1_6")
+        self.gridLayout_3.addWidget(self.textLabel1_6, 1, 0, 1, 1)
+        self.signatureEdit = QtWidgets.QTextEdit(parent=EmailPage)
+        self.signatureEdit.setAcceptRichText(False)
+        self.signatureEdit.setObjectName("signatureEdit")
+        self.gridLayout_3.addWidget(self.signatureEdit, 1, 1, 1, 1)
+        self.verticalLayout_3.addLayout(self.gridLayout_3)
+        self.groupBox_2 = QtWidgets.QGroupBox(parent=EmailPage)
+        self.groupBox_2.setObjectName("groupBox_2")
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.groupBox_2)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.googleMailCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_2)
+        self.googleMailCheckBox.setObjectName("googleMailCheckBox")
+        self.verticalLayout_2.addWidget(self.googleMailCheckBox)
+        self.googleMailInfoLabel = QtWidgets.QLabel(parent=self.groupBox_2)
+        self.googleMailInfoLabel.setWordWrap(True)
+        self.googleMailInfoLabel.setObjectName("googleMailInfoLabel")
+        self.verticalLayout_2.addWidget(self.googleMailInfoLabel)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.googleHelpButton = QtWidgets.QPushButton(parent=self.groupBox_2)
+        self.googleHelpButton.setObjectName("googleHelpButton")
+        self.horizontalLayout.addWidget(self.googleHelpButton)
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem)
+        self.googleInstallButton = QtWidgets.QPushButton(parent=self.groupBox_2)
+        self.googleInstallButton.setObjectName("googleInstallButton")
+        self.horizontalLayout.addWidget(self.googleInstallButton)
+        self.googleCheckAgainButton = QtWidgets.QPushButton(parent=self.groupBox_2)
+        self.googleCheckAgainButton.setObjectName("googleCheckAgainButton")
+        self.horizontalLayout.addWidget(self.googleCheckAgainButton)
+        self.verticalLayout_2.addLayout(self.horizontalLayout)
+        self.verticalLayout_3.addWidget(self.groupBox_2)
+        self.groupBox = QtWidgets.QGroupBox(parent=EmailPage)
+        self.groupBox.setObjectName("groupBox")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.groupBox)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.gridLayout_2 = QtWidgets.QGridLayout()
+        self.gridLayout_2.setObjectName("gridLayout_2")
+        self.label_2 = QtWidgets.QLabel(parent=self.groupBox)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout_2.addWidget(self.label_2, 1, 0, 1, 1)
+        self.textLabel2_2 = QtWidgets.QLabel(parent=self.groupBox)
+        self.textLabel2_2.setObjectName("textLabel2_2")
+        self.gridLayout_2.addWidget(self.textLabel2_2, 0, 0, 1, 1)
+        self.label = QtWidgets.QLabel(parent=self.groupBox)
+        self.label.setObjectName("label")
+        self.gridLayout_2.addWidget(self.label, 2, 0, 1, 1)
+        self.portSpin = QtWidgets.QSpinBox(parent=self.groupBox)
+        self.portSpin.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.portSpin.setMinimum(1)
+        self.portSpin.setMaximum(65535)
+        self.portSpin.setProperty("value", 25)
+        self.portSpin.setObjectName("portSpin")
+        self.gridLayout_2.addWidget(self.portSpin, 2, 1, 1, 1)
+        self.mailServerEdit = QtWidgets.QLineEdit(parent=self.groupBox)
+        self.mailServerEdit.setObjectName("mailServerEdit")
+        self.gridLayout_2.addWidget(self.mailServerEdit, 0, 1, 1, 2)
+        self.frame = QtWidgets.QFrame(parent=self.groupBox)
+        self.frame.setFrameShape(QtWidgets.QFrame.Shape.NoFrame)
+        self.frame.setFrameShadow(QtWidgets.QFrame.Shadow.Raised)
+        self.frame.setObjectName("frame")
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.frame)
+        self.horizontalLayout_2.setContentsMargins(0, 0, 0, 0)
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.noEncryptionButton = QtWidgets.QRadioButton(parent=self.frame)
+        self.noEncryptionButton.setChecked(True)
+        self.noEncryptionButton.setObjectName("noEncryptionButton")
+        self.horizontalLayout_2.addWidget(self.noEncryptionButton)
+        self.useSslButton = QtWidgets.QRadioButton(parent=self.frame)
+        self.useSslButton.setObjectName("useSslButton")
+        self.horizontalLayout_2.addWidget(self.useSslButton)
+        self.useTlsButton = QtWidgets.QRadioButton(parent=self.frame)
+        self.useTlsButton.setObjectName("useTlsButton")
+        self.horizontalLayout_2.addWidget(self.useTlsButton)
+        self.gridLayout_2.addWidget(self.frame, 1, 1, 1, 2)
+        spacerItem1 = QtWidgets.QSpacerItem(138, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout_2.addItem(spacerItem1, 2, 2, 1, 1)
+        self.verticalLayout.addLayout(self.gridLayout_2)
+        self.mailAuthenticationGroup = QtWidgets.QGroupBox(parent=self.groupBox)
+        self.mailAuthenticationGroup.setCheckable(True)
+        self.mailAuthenticationGroup.setObjectName("mailAuthenticationGroup")
+        self.gridLayout = QtWidgets.QGridLayout(self.mailAuthenticationGroup)
+        self.gridLayout.setObjectName("gridLayout")
+        self.textLabel1_15 = QtWidgets.QLabel(parent=self.mailAuthenticationGroup)
+        self.textLabel1_15.setObjectName("textLabel1_15")
+        self.gridLayout.addWidget(self.textLabel1_15, 0, 0, 1, 1)
+        self.mailUserEdit = QtWidgets.QLineEdit(parent=self.mailAuthenticationGroup)
+        self.mailUserEdit.setObjectName("mailUserEdit")
+        self.gridLayout.addWidget(self.mailUserEdit, 0, 1, 1, 1)
+        self.textLabel2_7 = QtWidgets.QLabel(parent=self.mailAuthenticationGroup)
+        self.textLabel2_7.setObjectName("textLabel2_7")
+        self.gridLayout.addWidget(self.textLabel2_7, 1, 0, 1, 1)
+        self.mailPasswordEdit = QtWidgets.QLineEdit(parent=self.mailAuthenticationGroup)
+        self.mailPasswordEdit.setEchoMode(QtWidgets.QLineEdit.EchoMode.Password)
+        self.mailPasswordEdit.setObjectName("mailPasswordEdit")
+        self.gridLayout.addWidget(self.mailPasswordEdit, 1, 1, 1, 1)
+        self.testButton = QtWidgets.QPushButton(parent=self.mailAuthenticationGroup)
+        self.testButton.setObjectName("testButton")
+        self.gridLayout.addWidget(self.testButton, 2, 0, 1, 2)
+        self.verticalLayout.addWidget(self.mailAuthenticationGroup)
+        self.verticalLayout_3.addWidget(self.groupBox)
+        spacerItem2 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout_3.addItem(spacerItem2)
+
+        self.retranslateUi(EmailPage)
+        self.googleMailCheckBox.toggled['bool'].connect(self.groupBox.setDisabled) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(EmailPage)
+        EmailPage.setTabOrder(self.emailEdit, self.signatureEdit)
+        EmailPage.setTabOrder(self.signatureEdit, self.googleMailCheckBox)
+        EmailPage.setTabOrder(self.googleMailCheckBox, self.googleHelpButton)
+        EmailPage.setTabOrder(self.googleHelpButton, self.googleInstallButton)
+        EmailPage.setTabOrder(self.googleInstallButton, self.googleCheckAgainButton)
+        EmailPage.setTabOrder(self.googleCheckAgainButton, self.mailServerEdit)
+        EmailPage.setTabOrder(self.mailServerEdit, self.noEncryptionButton)
+        EmailPage.setTabOrder(self.noEncryptionButton, self.useSslButton)
+        EmailPage.setTabOrder(self.useSslButton, self.useTlsButton)
+        EmailPage.setTabOrder(self.useTlsButton, self.portSpin)
+        EmailPage.setTabOrder(self.portSpin, self.mailAuthenticationGroup)
+        EmailPage.setTabOrder(self.mailAuthenticationGroup, self.mailUserEdit)
+        EmailPage.setTabOrder(self.mailUserEdit, self.mailPasswordEdit)
+        EmailPage.setTabOrder(self.mailPasswordEdit, self.testButton)
+
+    def retranslateUi(self, EmailPage):
+        _translate = QtCore.QCoreApplication.translate
+        self.headerLabel.setText(_translate("EmailPage", "<b>Configure Email</b>"))
+        self.textLabel1_5.setText(_translate("EmailPage", "Email address:"))
+        self.emailEdit.setToolTip(_translate("EmailPage", "Enter your email address"))
+        self.textLabel1_6.setText(_translate("EmailPage", "Signature:"))
+        self.signatureEdit.setToolTip(_translate("EmailPage", "Enter your email signature"))
+        self.groupBox_2.setTitle(_translate("EmailPage", "Google Mail"))
+        self.googleMailCheckBox.setText(_translate("EmailPage", "Use Google Mail with OAuth2 authentication via Gmail API"))
+        self.googleHelpButton.setToolTip(_translate("EmailPage", "Press to get some help for enabling the Google Mail API"))
+        self.googleHelpButton.setText(_translate("EmailPage", "Google Mail API Help"))
+        self.googleInstallButton.setToolTip(_translate("EmailPage", "Press to install the required Google API packages"))
+        self.googleInstallButton.setText(_translate("EmailPage", "Install Google API Packages"))
+        self.googleCheckAgainButton.setToolTip(_translate("EmailPage", "Press to check the availability again"))
+        self.googleCheckAgainButton.setText(_translate("EmailPage", "Check Again"))
+        self.groupBox.setTitle(_translate("EmailPage", "Standard Email"))
+        self.label_2.setText(_translate("EmailPage", "Encryption Method:"))
+        self.textLabel2_2.setText(_translate("EmailPage", "Outgoing mail server (SMTP):"))
+        self.label.setText(_translate("EmailPage", "Port:"))
+        self.portSpin.setToolTip(_translate("EmailPage", "Enter the port of the mail server"))
+        self.mailServerEdit.setToolTip(_translate("EmailPage", "Enter the address of your mail server"))
+        self.noEncryptionButton.setToolTip(_translate("EmailPage", "Select to use no encryption"))
+        self.noEncryptionButton.setText(_translate("EmailPage", "None"))
+        self.useSslButton.setToolTip(_translate("EmailPage", "Select to use SSL"))
+        self.useSslButton.setText(_translate("EmailPage", "SSL"))
+        self.useTlsButton.setToolTip(_translate("EmailPage", "Select to use TLS"))
+        self.useTlsButton.setText(_translate("EmailPage", "TLS"))
+        self.mailAuthenticationGroup.setToolTip(_translate("EmailPage", "Select to authenticatate against the mail server"))
+        self.mailAuthenticationGroup.setTitle(_translate("EmailPage", "Mail server needs authentication"))
+        self.textLabel1_15.setText(_translate("EmailPage", "Username:"))
+        self.mailUserEdit.setToolTip(_translate("EmailPage", "Enter your mail server username"))
+        self.textLabel2_7.setText(_translate("EmailPage", "Password:"))
+        self.mailPasswordEdit.setToolTip(_translate("EmailPage", "Enter your password for accessing the mail server"))
+        self.testButton.setToolTip(_translate("EmailPage", "Press to test the login data"))
+        self.testButton.setText(_translate("EmailPage", "Test Login"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Preferences/ConfigurationPages/Ui_GraphicsPage.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,79 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Preferences/ConfigurationPages/GraphicsPage.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_GraphicsPage(object):
+    def setupUi(self, GraphicsPage):
+        GraphicsPage.setObjectName("GraphicsPage")
+        GraphicsPage.resize(440, 241)
+        self.verticalLayout = QtWidgets.QVBoxLayout(GraphicsPage)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.headerLabel = QtWidgets.QLabel(parent=GraphicsPage)
+        self.headerLabel.setObjectName("headerLabel")
+        self.verticalLayout.addWidget(self.headerLabel)
+        self.line7 = QtWidgets.QFrame(parent=GraphicsPage)
+        self.line7.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line7.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line7.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line7.setObjectName("line7")
+        self.verticalLayout.addWidget(self.line7)
+        self.groupBox_2 = QtWidgets.QGroupBox(parent=GraphicsPage)
+        self.groupBox_2.setObjectName("groupBox_2")
+        self.horizontalLayout = QtWidgets.QHBoxLayout(self.groupBox_2)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.graphicsFontButton = QtWidgets.QPushButton(parent=self.groupBox_2)
+        self.graphicsFontButton.setObjectName("graphicsFontButton")
+        self.horizontalLayout.addWidget(self.graphicsFontButton)
+        self.graphicsFontSample = QtWidgets.QLineEdit(parent=self.groupBox_2)
+        self.graphicsFontSample.setFocusPolicy(QtCore.Qt.FocusPolicy.NoFocus)
+        self.graphicsFontSample.setAlignment(QtCore.Qt.AlignmentFlag.AlignHCenter)
+        self.graphicsFontSample.setReadOnly(True)
+        self.graphicsFontSample.setObjectName("graphicsFontSample")
+        self.horizontalLayout.addWidget(self.graphicsFontSample)
+        self.verticalLayout.addWidget(self.groupBox_2)
+        self.groupBox = QtWidgets.QGroupBox(parent=GraphicsPage)
+        self.groupBox.setObjectName("groupBox")
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.groupBox)
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.automaticButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.automaticButton.setChecked(True)
+        self.automaticButton.setObjectName("automaticButton")
+        self.horizontalLayout_2.addWidget(self.automaticButton)
+        self.blackWhiteButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.blackWhiteButton.setObjectName("blackWhiteButton")
+        self.horizontalLayout_2.addWidget(self.blackWhiteButton)
+        self.whiteBlackButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.whiteBlackButton.setObjectName("whiteBlackButton")
+        self.horizontalLayout_2.addWidget(self.whiteBlackButton)
+        spacerItem = QtWidgets.QSpacerItem(53, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_2.addItem(spacerItem)
+        self.verticalLayout.addWidget(self.groupBox)
+        spacerItem1 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout.addItem(spacerItem1)
+
+        self.retranslateUi(GraphicsPage)
+        QtCore.QMetaObject.connectSlotsByName(GraphicsPage)
+        GraphicsPage.setTabOrder(self.graphicsFontButton, self.blackWhiteButton)
+        GraphicsPage.setTabOrder(self.blackWhiteButton, self.whiteBlackButton)
+
+    def retranslateUi(self, GraphicsPage):
+        _translate = QtCore.QCoreApplication.translate
+        self.headerLabel.setText(_translate("GraphicsPage", "<b>Configure graphics settings</b>"))
+        self.groupBox_2.setTitle(_translate("GraphicsPage", "Font"))
+        self.graphicsFontButton.setToolTip(_translate("GraphicsPage", "Press to select the font for the graphic items"))
+        self.graphicsFontButton.setText(_translate("GraphicsPage", "Graphics Font"))
+        self.graphicsFontSample.setText(_translate("GraphicsPage", "Graphics Font"))
+        self.groupBox.setTitle(_translate("GraphicsPage", "Drawing Mode"))
+        self.automaticButton.setToolTip(_translate("GraphicsPage", "Select to determine the drawing mode automatically"))
+        self.automaticButton.setText(_translate("GraphicsPage", "Automatic"))
+        self.blackWhiteButton.setToolTip(_translate("GraphicsPage", "Select to draw black shapes on a white background"))
+        self.blackWhiteButton.setText(_translate("GraphicsPage", "Black On White"))
+        self.whiteBlackButton.setToolTip(_translate("GraphicsPage", "Select to draw white shapes on a black background"))
+        self.whiteBlackButton.setText(_translate("GraphicsPage", "White On Black"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Preferences/ConfigurationPages/Ui_HelpDocumentationPage.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,223 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Preferences/ConfigurationPages/HelpDocumentationPage.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_HelpDocumentationPage(object):
+    def setupUi(self, HelpDocumentationPage):
+        HelpDocumentationPage.setObjectName("HelpDocumentationPage")
+        HelpDocumentationPage.resize(526, 840)
+        self.verticalLayout = QtWidgets.QVBoxLayout(HelpDocumentationPage)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.headerLabel = QtWidgets.QLabel(parent=HelpDocumentationPage)
+        self.headerLabel.setObjectName("headerLabel")
+        self.verticalLayout.addWidget(self.headerLabel)
+        self.line17 = QtWidgets.QFrame(parent=HelpDocumentationPage)
+        self.line17.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line17.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line17.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line17.setObjectName("line17")
+        self.verticalLayout.addWidget(self.line17)
+        self.groupBox = QtWidgets.QGroupBox(parent=HelpDocumentationPage)
+        self.groupBox.setObjectName("groupBox")
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.groupBox)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.searchQtHelpCheckBox = QtWidgets.QCheckBox(parent=self.groupBox)
+        self.searchQtHelpCheckBox.setObjectName("searchQtHelpCheckBox")
+        self.verticalLayout_2.addWidget(self.searchQtHelpCheckBox)
+        self.verticalLayout.addWidget(self.groupBox)
+        self.groupBox_9 = QtWidgets.QGroupBox(parent=HelpDocumentationPage)
+        self.groupBox_9.setObjectName("groupBox_9")
+        self.verticalLayout_9 = QtWidgets.QVBoxLayout(self.groupBox_9)
+        self.verticalLayout_9.setObjectName("verticalLayout_9")
+        self.ericDocDirPicker = EricPathPicker(parent=self.groupBox_9)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.ericDocDirPicker.sizePolicy().hasHeightForWidth())
+        self.ericDocDirPicker.setSizePolicy(sizePolicy)
+        self.ericDocDirPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.ericDocDirPicker.setObjectName("ericDocDirPicker")
+        self.verticalLayout_9.addWidget(self.ericDocDirPicker)
+        self.textLabel1_8_2_2_6 = QtWidgets.QLabel(parent=self.groupBox_9)
+        self.textLabel1_8_2_2_6.setWordWrap(True)
+        self.textLabel1_8_2_2_6.setObjectName("textLabel1_8_2_2_6")
+        self.verticalLayout_9.addWidget(self.textLabel1_8_2_2_6)
+        self.verticalLayout.addWidget(self.groupBox_9)
+        self.groupBox_4 = QtWidgets.QGroupBox(parent=HelpDocumentationPage)
+        self.groupBox_4.setObjectName("groupBox_4")
+        self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.groupBox_4)
+        self.verticalLayout_3.setObjectName("verticalLayout_3")
+        self.pythonDocDirPicker = EricPathPicker(parent=self.groupBox_4)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.pythonDocDirPicker.sizePolicy().hasHeightForWidth())
+        self.pythonDocDirPicker.setSizePolicy(sizePolicy)
+        self.pythonDocDirPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.pythonDocDirPicker.setObjectName("pythonDocDirPicker")
+        self.verticalLayout_3.addWidget(self.pythonDocDirPicker)
+        self.textLabel1_8_2 = QtWidgets.QLabel(parent=self.groupBox_4)
+        self.textLabel1_8_2.setWordWrap(True)
+        self.textLabel1_8_2.setObjectName("textLabel1_8_2")
+        self.verticalLayout_3.addWidget(self.textLabel1_8_2)
+        self.verticalLayout.addWidget(self.groupBox_4)
+        self.groupBox_8 = QtWidgets.QGroupBox(parent=HelpDocumentationPage)
+        self.groupBox_8.setObjectName("groupBox_8")
+        self.verticalLayout_5 = QtWidgets.QVBoxLayout(self.groupBox_8)
+        self.verticalLayout_5.setObjectName("verticalLayout_5")
+        self.qt5DocDirPicker = EricPathPicker(parent=self.groupBox_8)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.qt5DocDirPicker.sizePolicy().hasHeightForWidth())
+        self.qt5DocDirPicker.setSizePolicy(sizePolicy)
+        self.qt5DocDirPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.qt5DocDirPicker.setObjectName("qt5DocDirPicker")
+        self.verticalLayout_5.addWidget(self.qt5DocDirPicker)
+        self.textLabel1_8_2_2_4 = QtWidgets.QLabel(parent=self.groupBox_8)
+        self.textLabel1_8_2_2_4.setWordWrap(True)
+        self.textLabel1_8_2_2_4.setObjectName("textLabel1_8_2_2_4")
+        self.verticalLayout_5.addWidget(self.textLabel1_8_2_2_4)
+        self.verticalLayout.addWidget(self.groupBox_8)
+        self.groupBox_10 = QtWidgets.QGroupBox(parent=HelpDocumentationPage)
+        self.groupBox_10.setObjectName("groupBox_10")
+        self.verticalLayout_6 = QtWidgets.QVBoxLayout(self.groupBox_10)
+        self.verticalLayout_6.setObjectName("verticalLayout_6")
+        self.qt6DocDirPicker = EricPathPicker(parent=self.groupBox_10)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.qt6DocDirPicker.sizePolicy().hasHeightForWidth())
+        self.qt6DocDirPicker.setSizePolicy(sizePolicy)
+        self.qt6DocDirPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.qt6DocDirPicker.setObjectName("qt6DocDirPicker")
+        self.verticalLayout_6.addWidget(self.qt6DocDirPicker)
+        self.textLabel1_8_2_2_7 = QtWidgets.QLabel(parent=self.groupBox_10)
+        self.textLabel1_8_2_2_7.setWordWrap(True)
+        self.textLabel1_8_2_2_7.setObjectName("textLabel1_8_2_2_7")
+        self.verticalLayout_6.addWidget(self.textLabel1_8_2_2_7)
+        self.verticalLayout.addWidget(self.groupBox_10)
+        self.pyqt5Group = QtWidgets.QGroupBox(parent=HelpDocumentationPage)
+        self.pyqt5Group.setObjectName("pyqt5Group")
+        self.verticalLayout_7 = QtWidgets.QVBoxLayout(self.pyqt5Group)
+        self.verticalLayout_7.setObjectName("verticalLayout_7")
+        self.pyqt5DocDirPicker = EricPathPicker(parent=self.pyqt5Group)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.pyqt5DocDirPicker.sizePolicy().hasHeightForWidth())
+        self.pyqt5DocDirPicker.setSizePolicy(sizePolicy)
+        self.pyqt5DocDirPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.pyqt5DocDirPicker.setObjectName("pyqt5DocDirPicker")
+        self.verticalLayout_7.addWidget(self.pyqt5DocDirPicker)
+        self.textLabel1_8_2_2_5 = QtWidgets.QLabel(parent=self.pyqt5Group)
+        self.textLabel1_8_2_2_5.setWordWrap(True)
+        self.textLabel1_8_2_2_5.setObjectName("textLabel1_8_2_2_5")
+        self.verticalLayout_7.addWidget(self.textLabel1_8_2_2_5)
+        self.verticalLayout.addWidget(self.pyqt5Group)
+        self.pyqt6Group = QtWidgets.QGroupBox(parent=HelpDocumentationPage)
+        self.pyqt6Group.setObjectName("pyqt6Group")
+        self.verticalLayout_8 = QtWidgets.QVBoxLayout(self.pyqt6Group)
+        self.verticalLayout_8.setObjectName("verticalLayout_8")
+        self.pyqt6DocDirPicker = EricPathPicker(parent=self.pyqt6Group)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.pyqt6DocDirPicker.sizePolicy().hasHeightForWidth())
+        self.pyqt6DocDirPicker.setSizePolicy(sizePolicy)
+        self.pyqt6DocDirPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.pyqt6DocDirPicker.setObjectName("pyqt6DocDirPicker")
+        self.verticalLayout_8.addWidget(self.pyqt6DocDirPicker)
+        self.textLabel1_8_2_2_8 = QtWidgets.QLabel(parent=self.pyqt6Group)
+        self.textLabel1_8_2_2_8.setWordWrap(True)
+        self.textLabel1_8_2_2_8.setObjectName("textLabel1_8_2_2_8")
+        self.verticalLayout_8.addWidget(self.textLabel1_8_2_2_8)
+        self.verticalLayout.addWidget(self.pyqt6Group)
+        self.pyside2Group = QtWidgets.QGroupBox(parent=HelpDocumentationPage)
+        self.pyside2Group.setObjectName("pyside2Group")
+        self.verticalLayout_10 = QtWidgets.QVBoxLayout(self.pyside2Group)
+        self.verticalLayout_10.setObjectName("verticalLayout_10")
+        self.pyside2DocDirPicker = EricPathPicker(parent=self.pyside2Group)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.pyside2DocDirPicker.sizePolicy().hasHeightForWidth())
+        self.pyside2DocDirPicker.setSizePolicy(sizePolicy)
+        self.pyside2DocDirPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.pyside2DocDirPicker.setObjectName("pyside2DocDirPicker")
+        self.verticalLayout_10.addWidget(self.pyside2DocDirPicker)
+        self.textLabel1_8_2_3 = QtWidgets.QLabel(parent=self.pyside2Group)
+        self.textLabel1_8_2_3.setWordWrap(True)
+        self.textLabel1_8_2_3.setObjectName("textLabel1_8_2_3")
+        self.verticalLayout_10.addWidget(self.textLabel1_8_2_3)
+        self.verticalLayout.addWidget(self.pyside2Group)
+        self.pyside6Group = QtWidgets.QGroupBox(parent=HelpDocumentationPage)
+        self.pyside6Group.setObjectName("pyside6Group")
+        self.verticalLayout_11 = QtWidgets.QVBoxLayout(self.pyside6Group)
+        self.verticalLayout_11.setObjectName("verticalLayout_11")
+        self.pyside6DocDirPicker = EricPathPicker(parent=self.pyside6Group)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.pyside6DocDirPicker.sizePolicy().hasHeightForWidth())
+        self.pyside6DocDirPicker.setSizePolicy(sizePolicy)
+        self.pyside6DocDirPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.pyside6DocDirPicker.setObjectName("pyside6DocDirPicker")
+        self.verticalLayout_11.addWidget(self.pyside6DocDirPicker)
+        self.textLabel1_8_2_4 = QtWidgets.QLabel(parent=self.pyside6Group)
+        self.textLabel1_8_2_4.setWordWrap(True)
+        self.textLabel1_8_2_4.setObjectName("textLabel1_8_2_4")
+        self.verticalLayout_11.addWidget(self.textLabel1_8_2_4)
+        self.verticalLayout.addWidget(self.pyside6Group)
+        spacerItem = QtWidgets.QSpacerItem(479, 41, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout.addItem(spacerItem)
+
+        self.retranslateUi(HelpDocumentationPage)
+        QtCore.QMetaObject.connectSlotsByName(HelpDocumentationPage)
+        HelpDocumentationPage.setTabOrder(self.searchQtHelpCheckBox, self.ericDocDirPicker)
+        HelpDocumentationPage.setTabOrder(self.ericDocDirPicker, self.pythonDocDirPicker)
+        HelpDocumentationPage.setTabOrder(self.pythonDocDirPicker, self.qt5DocDirPicker)
+        HelpDocumentationPage.setTabOrder(self.qt5DocDirPicker, self.qt6DocDirPicker)
+        HelpDocumentationPage.setTabOrder(self.qt6DocDirPicker, self.pyqt5DocDirPicker)
+        HelpDocumentationPage.setTabOrder(self.pyqt5DocDirPicker, self.pyqt6DocDirPicker)
+        HelpDocumentationPage.setTabOrder(self.pyqt6DocDirPicker, self.pyside2DocDirPicker)
+        HelpDocumentationPage.setTabOrder(self.pyside2DocDirPicker, self.pyside6DocDirPicker)
+
+    def retranslateUi(self, HelpDocumentationPage):
+        _translate = QtCore.QCoreApplication.translate
+        self.headerLabel.setText(_translate("HelpDocumentationPage", "<b>Configure help documentation</b>"))
+        self.groupBox.setTitle(_translate("HelpDocumentationPage", "QtHelp"))
+        self.searchQtHelpCheckBox.setToolTip(_translate("HelpDocumentationPage", "Select to search for new QtHelp documents when the application starts."))
+        self.searchQtHelpCheckBox.setText(_translate("HelpDocumentationPage", "Search new QtHelp documents on startup"))
+        self.groupBox_9.setTitle(_translate("HelpDocumentationPage", "eric API Documentation"))
+        self.ericDocDirPicker.setToolTip(_translate("HelpDocumentationPage", "Enter the eric documentation directory"))
+        self.textLabel1_8_2_2_6.setText(_translate("HelpDocumentationPage", "<b>Note</b>: Leave empty to use the default location."))
+        self.groupBox_4.setTitle(_translate("HelpDocumentationPage", "Python 3 Documentation"))
+        self.pythonDocDirPicker.setToolTip(_translate("HelpDocumentationPage", "Enter the Python 3 documentation directory"))
+        self.textLabel1_8_2.setText(_translate("HelpDocumentationPage", "<b>Note</b>: Leave empty to use the PYTHON3DOCDIR environment variable, if set."))
+        self.groupBox_8.setTitle(_translate("HelpDocumentationPage", "Qt5 Documentation"))
+        self.qt5DocDirPicker.setToolTip(_translate("HelpDocumentationPage", "Enter the Qt5 documentation directory"))
+        self.textLabel1_8_2_2_4.setText(_translate("HelpDocumentationPage", "<b>Note</b>: Leave empty to use the QT5DOCDIR environment variable, if set."))
+        self.groupBox_10.setTitle(_translate("HelpDocumentationPage", "Qt6 Documentation"))
+        self.qt6DocDirPicker.setToolTip(_translate("HelpDocumentationPage", "Enter the Qt6 documentation directory"))
+        self.textLabel1_8_2_2_7.setText(_translate("HelpDocumentationPage", "<b>Note</b>: Leave empty to use the QT6DOCDIR environment variable, if set."))
+        self.pyqt5Group.setTitle(_translate("HelpDocumentationPage", "PyQt5 Documentation"))
+        self.pyqt5DocDirPicker.setToolTip(_translate("HelpDocumentationPage", "Enter the PyQt5 documentation directory"))
+        self.textLabel1_8_2_2_5.setText(_translate("HelpDocumentationPage", "<b>Note</b>: Leave empty to use the PYQT5DOCDIR environment variable, if set."))
+        self.pyqt6Group.setTitle(_translate("HelpDocumentationPage", "PyQt6 Documentation"))
+        self.pyqt6DocDirPicker.setToolTip(_translate("HelpDocumentationPage", "Enter the PyQt6 documentation directory"))
+        self.textLabel1_8_2_2_8.setText(_translate("HelpDocumentationPage", "<b>Note</b>: Leave empty to use the PYQT6DOCDIR environment variable, if set."))
+        self.pyside2Group.setTitle(_translate("HelpDocumentationPage", "PySide2 Documentation"))
+        self.pyside2DocDirPicker.setToolTip(_translate("HelpDocumentationPage", "Enter the PySide2 documentation directory"))
+        self.textLabel1_8_2_3.setText(_translate("HelpDocumentationPage", "<b>Note</b>: Leave empty to use the PYSIDE2DOCDIR environment variable, if set."))
+        self.pyside6Group.setTitle(_translate("HelpDocumentationPage", "PySide6 Documentation"))
+        self.pyside6DocDirPicker.setToolTip(_translate("HelpDocumentationPage", "Enter the PySide6 documentation directory"))
+        self.textLabel1_8_2_4.setText(_translate("HelpDocumentationPage", "<b>Note</b>: Leave empty to use the PYSIDE6DOCDIR environment variable, if set."))
+from eric7.EricWidgets.EricPathPicker import EricPathPicker
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Preferences/ConfigurationPages/Ui_HelpViewersPage.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,113 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Preferences/ConfigurationPages/HelpViewersPage.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_HelpViewersPage(object):
+    def setupUi(self, HelpViewersPage):
+        HelpViewersPage.setObjectName("HelpViewersPage")
+        HelpViewersPage.resize(535, 403)
+        self.verticalLayout_3 = QtWidgets.QVBoxLayout(HelpViewersPage)
+        self.verticalLayout_3.setObjectName("verticalLayout_3")
+        self.headerLabel = QtWidgets.QLabel(parent=HelpViewersPage)
+        self.headerLabel.setObjectName("headerLabel")
+        self.verticalLayout_3.addWidget(self.headerLabel)
+        self.line17 = QtWidgets.QFrame(parent=HelpViewersPage)
+        self.line17.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line17.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line17.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line17.setObjectName("line17")
+        self.verticalLayout_3.addWidget(self.line17)
+        self.groupBox = QtWidgets.QGroupBox(parent=HelpViewersPage)
+        self.groupBox.setObjectName("groupBox")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.groupBox)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.internalViewerButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.internalViewerButton.setChecked(True)
+        self.internalViewerButton.setObjectName("internalViewerButton")
+        self.horizontalLayout_2.addWidget(self.internalViewerButton)
+        self.helpBrowserButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.helpBrowserButton.setObjectName("helpBrowserButton")
+        self.horizontalLayout_2.addWidget(self.helpBrowserButton)
+        self.qtAssistantButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.qtAssistantButton.setObjectName("qtAssistantButton")
+        self.horizontalLayout_2.addWidget(self.qtAssistantButton)
+        self.webBrowserButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.webBrowserButton.setObjectName("webBrowserButton")
+        self.horizontalLayout_2.addWidget(self.webBrowserButton)
+        self.verticalLayout.addLayout(self.horizontalLayout_2)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.customViewerButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.customViewerButton.setObjectName("customViewerButton")
+        self.horizontalLayout.addWidget(self.customViewerButton)
+        self.customViewerPicker = EricPathPicker(parent=self.groupBox)
+        self.customViewerPicker.setEnabled(False)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.customViewerPicker.sizePolicy().hasHeightForWidth())
+        self.customViewerPicker.setSizePolicy(sizePolicy)
+        self.customViewerPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.customViewerPicker.setObjectName("customViewerPicker")
+        self.horizontalLayout.addWidget(self.customViewerPicker)
+        self.verticalLayout.addLayout(self.horizontalLayout)
+        self.verticalLayout_3.addWidget(self.groupBox)
+        self.line = QtWidgets.QFrame(parent=HelpViewersPage)
+        self.line.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line.setObjectName("line")
+        self.verticalLayout_3.addWidget(self.line)
+        self.TextLabel1_2_2_2 = QtWidgets.QLabel(parent=HelpViewersPage)
+        self.TextLabel1_2_2_2.setObjectName("TextLabel1_2_2_2")
+        self.verticalLayout_3.addWidget(self.TextLabel1_2_2_2)
+        self.groupBox_2 = QtWidgets.QGroupBox(parent=HelpViewersPage)
+        self.groupBox_2.setObjectName("groupBox_2")
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.groupBox_2)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.enforceQTBCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_2)
+        self.enforceQTBCheckBox.setObjectName("enforceQTBCheckBox")
+        self.verticalLayout_2.addWidget(self.enforceQTBCheckBox)
+        self.verticalLayout_3.addWidget(self.groupBox_2)
+        spacerItem = QtWidgets.QSpacerItem(479, 121, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout_3.addItem(spacerItem)
+
+        self.retranslateUi(HelpViewersPage)
+        self.customViewerButton.toggled['bool'].connect(self.customViewerPicker.setEnabled) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(HelpViewersPage)
+        HelpViewersPage.setTabOrder(self.internalViewerButton, self.helpBrowserButton)
+        HelpViewersPage.setTabOrder(self.helpBrowserButton, self.qtAssistantButton)
+        HelpViewersPage.setTabOrder(self.qtAssistantButton, self.webBrowserButton)
+        HelpViewersPage.setTabOrder(self.webBrowserButton, self.customViewerButton)
+        HelpViewersPage.setTabOrder(self.customViewerButton, self.customViewerPicker)
+
+    def retranslateUi(self, HelpViewersPage):
+        _translate = QtCore.QCoreApplication.translate
+        self.headerLabel.setText(_translate("HelpViewersPage", "<b>Configure help viewers</b>"))
+        self.groupBox.setTitle(_translate("HelpViewersPage", "Help Viewer"))
+        self.internalViewerButton.setToolTip(_translate("HelpViewersPage", "Select to use the internal help viewer"))
+        self.internalViewerButton.setText(_translate("HelpViewersPage", "Internal Viewer"))
+        self.helpBrowserButton.setToolTip(_translate("HelpViewersPage", "Select to use the Eric Web Browser"))
+        self.helpBrowserButton.setText(_translate("HelpViewersPage", "Eric Web Browser"))
+        self.qtAssistantButton.setToolTip(_translate("HelpViewersPage", "Select to use Qt Assistant"))
+        self.qtAssistantButton.setText(_translate("HelpViewersPage", "Qt Assistant"))
+        self.webBrowserButton.setToolTip(_translate("HelpViewersPage", "Select to use the configured web browser of the system"))
+        self.webBrowserButton.setText(_translate("HelpViewersPage", "System Web Browser"))
+        self.customViewerButton.setToolTip(_translate("HelpViewersPage", "Select to use a custom viewer"))
+        self.customViewerButton.setText(_translate("HelpViewersPage", "Custom"))
+        self.customViewerPicker.setToolTip(_translate("HelpViewersPage", "Enter the custom viewer to be used"))
+        self.TextLabel1_2_2_2.setText(_translate("HelpViewersPage", "<font color=\"#FF0000\"><b>Note:</b> All settings below are activated at the next startup of the application.</font>"))
+        self.groupBox_2.setTitle(_translate("HelpViewersPage", "Internal Viewer"))
+        self.enforceQTBCheckBox.setToolTip(_translate("HelpViewersPage", "Select this in order to enforce the use of the QTextBrowser based help viewer implementation."))
+        self.enforceQTBCheckBox.setWhatsThis(_translate("HelpViewersPage", "<b>Enforce \'QTextBrowser\' based viewer</b>\n"
+"<p>Select this in order to enforce the use of the QTextBrowser based help viewer implementation. Without this option the viewer implementation will be selected automatically from QWebEngine or QTextBrowser (in that order).</p>"))
+        self.enforceQTBCheckBox.setText(_translate("HelpViewersPage", "Enforce \'QTextBrowser\' based viewer"))
+from eric7.EricWidgets.EricPathPicker import EricPathPicker
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Preferences/ConfigurationPages/Ui_HexEditorPage.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,143 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Preferences/ConfigurationPages/HexEditorPage.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_HexEditorPage(object):
+    def setupUi(self, HexEditorPage):
+        HexEditorPage.setObjectName("HexEditorPage")
+        HexEditorPage.resize(520, 550)
+        self.verticalLayout = QtWidgets.QVBoxLayout(HexEditorPage)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.headerLabel = QtWidgets.QLabel(parent=HexEditorPage)
+        self.headerLabel.setObjectName("headerLabel")
+        self.verticalLayout.addWidget(self.headerLabel)
+        self.line14 = QtWidgets.QFrame(parent=HexEditorPage)
+        self.line14.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line14.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line14.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line14.setObjectName("line14")
+        self.verticalLayout.addWidget(self.line14)
+        self.horizontalLayout_4 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_4.setObjectName("horizontalLayout_4")
+        self.readOnlyCheckBox = QtWidgets.QCheckBox(parent=HexEditorPage)
+        self.readOnlyCheckBox.setObjectName("readOnlyCheckBox")
+        self.horizontalLayout_4.addWidget(self.readOnlyCheckBox)
+        self.overwriteCheckBox = QtWidgets.QCheckBox(parent=HexEditorPage)
+        self.overwriteCheckBox.setObjectName("overwriteCheckBox")
+        self.horizontalLayout_4.addWidget(self.overwriteCheckBox)
+        self.verticalLayout.addLayout(self.horizontalLayout_4)
+        self.groupBox_3 = QtWidgets.QGroupBox(parent=HexEditorPage)
+        self.groupBox_3.setObjectName("groupBox_3")
+        self.gridLayout_2 = QtWidgets.QGridLayout(self.groupBox_3)
+        self.gridLayout_2.setObjectName("gridLayout_2")
+        self.addressAreaCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_3)
+        self.addressAreaCheckBox.setObjectName("addressAreaCheckBox")
+        self.gridLayout_2.addWidget(self.addressAreaCheckBox, 0, 0, 1, 2)
+        self.hboxlayout = QtWidgets.QHBoxLayout()
+        self.hboxlayout.setObjectName("hboxlayout")
+        self.textLabel1_20 = QtWidgets.QLabel(parent=self.groupBox_3)
+        self.textLabel1_20.setObjectName("textLabel1_20")
+        self.hboxlayout.addWidget(self.textLabel1_20)
+        self.addressAreaWidthSpinBox = QtWidgets.QSpinBox(parent=self.groupBox_3)
+        self.addressAreaWidthSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.addressAreaWidthSpinBox.setMinimum(2)
+        self.addressAreaWidthSpinBox.setMaximum(12)
+        self.addressAreaWidthSpinBox.setSingleStep(2)
+        self.addressAreaWidthSpinBox.setProperty("value", 4)
+        self.addressAreaWidthSpinBox.setObjectName("addressAreaWidthSpinBox")
+        self.hboxlayout.addWidget(self.addressAreaWidthSpinBox)
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.hboxlayout.addItem(spacerItem)
+        self.gridLayout_2.addLayout(self.hboxlayout, 1, 0, 1, 2)
+        self.verticalLayout.addWidget(self.groupBox_3)
+        self.groupBox_4 = QtWidgets.QGroupBox(parent=HexEditorPage)
+        self.groupBox_4.setObjectName("groupBox_4")
+        self.horizontalLayout_3 = QtWidgets.QHBoxLayout(self.groupBox_4)
+        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
+        self.asciiAreaCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_4)
+        self.asciiAreaCheckBox.setObjectName("asciiAreaCheckBox")
+        self.horizontalLayout_3.addWidget(self.asciiAreaCheckBox)
+        self.verticalLayout.addWidget(self.groupBox_4)
+        self.groupBox = QtWidgets.QGroupBox(parent=HexEditorPage)
+        self.groupBox.setObjectName("groupBox")
+        self.gridLayout = QtWidgets.QGridLayout(self.groupBox)
+        self.gridLayout.setObjectName("gridLayout")
+        self.highlightingCheckBox = QtWidgets.QCheckBox(parent=self.groupBox)
+        self.highlightingCheckBox.setObjectName("highlightingCheckBox")
+        self.gridLayout.addWidget(self.highlightingCheckBox, 0, 0, 1, 2)
+        self.verticalLayout.addWidget(self.groupBox)
+        self.groupBox_5 = QtWidgets.QGroupBox(parent=HexEditorPage)
+        self.groupBox_5.setObjectName("groupBox_5")
+        self.horizontalLayout = QtWidgets.QHBoxLayout(self.groupBox_5)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.monospacedFontButton = QtWidgets.QPushButton(parent=self.groupBox_5)
+        self.monospacedFontButton.setObjectName("monospacedFontButton")
+        self.horizontalLayout.addWidget(self.monospacedFontButton)
+        self.monospacedFontSample = QtWidgets.QLineEdit(parent=self.groupBox_5)
+        self.monospacedFontSample.setFocusPolicy(QtCore.Qt.FocusPolicy.NoFocus)
+        self.monospacedFontSample.setText("01 23 45 67 89 ab cd ef 70 81 92 a3 b4 c5 d6 e7 f9")
+        self.monospacedFontSample.setAlignment(QtCore.Qt.AlignmentFlag.AlignHCenter)
+        self.monospacedFontSample.setReadOnly(True)
+        self.monospacedFontSample.setObjectName("monospacedFontSample")
+        self.horizontalLayout.addWidget(self.monospacedFontSample)
+        self.verticalLayout.addWidget(self.groupBox_5)
+        self.groupBox_7 = QtWidgets.QGroupBox(parent=HexEditorPage)
+        self.groupBox_7.setObjectName("groupBox_7")
+        self._2 = QtWidgets.QHBoxLayout(self.groupBox_7)
+        self._2.setObjectName("_2")
+        self.label = QtWidgets.QLabel(parent=self.groupBox_7)
+        self.label.setObjectName("label")
+        self._2.addWidget(self.label)
+        self.recentFilesSpinBox = QtWidgets.QSpinBox(parent=self.groupBox_7)
+        self.recentFilesSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.recentFilesSpinBox.setMinimum(5)
+        self.recentFilesSpinBox.setMaximum(50)
+        self.recentFilesSpinBox.setObjectName("recentFilesSpinBox")
+        self._2.addWidget(self.recentFilesSpinBox)
+        spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self._2.addItem(spacerItem1)
+        self.verticalLayout.addWidget(self.groupBox_7)
+        spacerItem2 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout.addItem(spacerItem2)
+
+        self.retranslateUi(HexEditorPage)
+        QtCore.QMetaObject.connectSlotsByName(HexEditorPage)
+        HexEditorPage.setTabOrder(self.readOnlyCheckBox, self.overwriteCheckBox)
+        HexEditorPage.setTabOrder(self.overwriteCheckBox, self.addressAreaCheckBox)
+        HexEditorPage.setTabOrder(self.addressAreaCheckBox, self.addressAreaWidthSpinBox)
+        HexEditorPage.setTabOrder(self.addressAreaWidthSpinBox, self.asciiAreaCheckBox)
+        HexEditorPage.setTabOrder(self.asciiAreaCheckBox, self.highlightingCheckBox)
+        HexEditorPage.setTabOrder(self.highlightingCheckBox, self.monospacedFontButton)
+
+    def retranslateUi(self, HexEditorPage):
+        _translate = QtCore.QCoreApplication.translate
+        self.headerLabel.setText(_translate("HexEditorPage", "<b>Configure Hex Editor</b>"))
+        self.readOnlyCheckBox.setToolTip(_translate("HexEditorPage", "Select whether files shall be opened in read only mode"))
+        self.readOnlyCheckBox.setText(_translate("HexEditorPage", "Open files \'read only\'"))
+        self.overwriteCheckBox.setToolTip(_translate("HexEditorPage", "Select whether the editor shall be started in Overwrite mode"))
+        self.overwriteCheckBox.setText(_translate("HexEditorPage", "Overwrite data"))
+        self.groupBox_3.setTitle(_translate("HexEditorPage", "Address Area"))
+        self.addressAreaCheckBox.setToolTip(_translate("HexEditorPage", "Select whether the address area shall be shown"))
+        self.addressAreaCheckBox.setText(_translate("HexEditorPage", "Show Address Area"))
+        self.textLabel1_20.setText(_translate("HexEditorPage", "Address Area Width:"))
+        self.addressAreaWidthSpinBox.setToolTip(_translate("HexEditorPage", "Enter the width of the address area in characters"))
+        self.addressAreaWidthSpinBox.setSuffix(_translate("HexEditorPage", " Chars"))
+        self.groupBox_4.setTitle(_translate("HexEditorPage", "ASCII Area"))
+        self.asciiAreaCheckBox.setToolTip(_translate("HexEditorPage", "Select whether the ASCII area shall be shown"))
+        self.asciiAreaCheckBox.setText(_translate("HexEditorPage", "Show ASCII Area"))
+        self.groupBox.setTitle(_translate("HexEditorPage", "Highlighting"))
+        self.highlightingCheckBox.setToolTip(_translate("HexEditorPage", "Select whether changed data shall be highlighted"))
+        self.highlightingCheckBox.setText(_translate("HexEditorPage", "Highlight Changed Data"))
+        self.groupBox_5.setTitle(_translate("HexEditorPage", "Font"))
+        self.monospacedFontButton.setToolTip(_translate("HexEditorPage", "Press to select the font to be used (this must be a monospaced font)"))
+        self.monospacedFontButton.setText(_translate("HexEditorPage", "Monospaced Font"))
+        self.groupBox_7.setTitle(_translate("HexEditorPage", "Recent Files"))
+        self.label.setText(_translate("HexEditorPage", "Number of recent files:"))
+        self.recentFilesSpinBox.setToolTip(_translate("HexEditorPage", "Enter the number of recent files to remember"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Preferences/ConfigurationPages/Ui_IconsPage.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,162 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Preferences/ConfigurationPages/IconsPage.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_IconsPage(object):
+    def setupUi(self, IconsPage):
+        IconsPage.setObjectName("IconsPage")
+        IconsPage.resize(591, 606)
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(IconsPage)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.headerLabel = QtWidgets.QLabel(parent=IconsPage)
+        self.headerLabel.setObjectName("headerLabel")
+        self.verticalLayout_2.addWidget(self.headerLabel)
+        self.line10 = QtWidgets.QFrame(parent=IconsPage)
+        self.line10.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line10.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line10.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line10.setObjectName("line10")
+        self.verticalLayout_2.addWidget(self.line10)
+        self.horizontalLayout_4 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_4.setObjectName("horizontalLayout_4")
+        self.label_5 = QtWidgets.QLabel(parent=IconsPage)
+        self.label_5.setObjectName("label_5")
+        self.horizontalLayout_4.addWidget(self.label_5)
+        self.iconSizeComboBox = QtWidgets.QComboBox(parent=IconsPage)
+        self.iconSizeComboBox.setObjectName("iconSizeComboBox")
+        self.horizontalLayout_4.addWidget(self.iconSizeComboBox)
+        spacerItem = QtWidgets.QSpacerItem(396, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_4.addItem(spacerItem)
+        self.verticalLayout_2.addLayout(self.horizontalLayout_4)
+        self.TextLabel1_2_2_2 = QtWidgets.QLabel(parent=IconsPage)
+        self.TextLabel1_2_2_2.setObjectName("TextLabel1_2_2_2")
+        self.verticalLayout_2.addWidget(self.TextLabel1_2_2_2)
+        self.vectorIconsCheckBox = QtWidgets.QCheckBox(parent=IconsPage)
+        self.vectorIconsCheckBox.setObjectName("vectorIconsCheckBox")
+        self.verticalLayout_2.addWidget(self.vectorIconsCheckBox)
+        self.groupBox_2 = QtWidgets.QGroupBox(parent=IconsPage)
+        self.groupBox_2.setObjectName("groupBox_2")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.groupBox_2)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
+        self.defaultAutomaticButton = QtWidgets.QRadioButton(parent=self.groupBox_2)
+        self.defaultAutomaticButton.setChecked(True)
+        self.defaultAutomaticButton.setObjectName("defaultAutomaticButton")
+        self.horizontalLayout_3.addWidget(self.defaultAutomaticButton)
+        self.defaultBreezeLightButton = QtWidgets.QRadioButton(parent=self.groupBox_2)
+        self.defaultBreezeLightButton.setObjectName("defaultBreezeLightButton")
+        self.horizontalLayout_3.addWidget(self.defaultBreezeLightButton)
+        self.defaultBreezeDarkButton = QtWidgets.QRadioButton(parent=self.groupBox_2)
+        self.defaultBreezeDarkButton.setObjectName("defaultBreezeDarkButton")
+        self.horizontalLayout_3.addWidget(self.defaultBreezeDarkButton)
+        self.verticalLayout.addLayout(self.horizontalLayout_3)
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_2.addItem(spacerItem1)
+        self.showDefaultIconsButton = QtWidgets.QPushButton(parent=self.groupBox_2)
+        self.showDefaultIconsButton.setObjectName("showDefaultIconsButton")
+        self.horizontalLayout_2.addWidget(self.showDefaultIconsButton)
+        spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_2.addItem(spacerItem2)
+        self.verticalLayout.addLayout(self.horizontalLayout_2)
+        self.verticalLayout_2.addWidget(self.groupBox_2)
+        self.groupBox = QtWidgets.QGroupBox(parent=IconsPage)
+        self.groupBox.setObjectName("groupBox")
+        self.gridLayout = QtWidgets.QGridLayout(self.groupBox)
+        self.gridLayout.setObjectName("gridLayout")
+        self.iconDirectoryList = QtWidgets.QListWidget(parent=self.groupBox)
+        self.iconDirectoryList.setAlternatingRowColors(True)
+        self.iconDirectoryList.setObjectName("iconDirectoryList")
+        self.gridLayout.addWidget(self.iconDirectoryList, 0, 0, 1, 1)
+        self.vboxlayout = QtWidgets.QVBoxLayout()
+        self.vboxlayout.setObjectName("vboxlayout")
+        spacerItem3 = QtWidgets.QSpacerItem(20, 209, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.vboxlayout.addItem(spacerItem3)
+        self.upButton = QtWidgets.QPushButton(parent=self.groupBox)
+        self.upButton.setEnabled(False)
+        self.upButton.setObjectName("upButton")
+        self.vboxlayout.addWidget(self.upButton)
+        self.downButton = QtWidgets.QPushButton(parent=self.groupBox)
+        self.downButton.setEnabled(False)
+        self.downButton.setObjectName("downButton")
+        self.vboxlayout.addWidget(self.downButton)
+        spacerItem4 = QtWidgets.QSpacerItem(20, 170, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.vboxlayout.addItem(spacerItem4)
+        self.gridLayout.addLayout(self.vboxlayout, 0, 1, 1, 1)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.deleteIconDirectoryButton = QtWidgets.QPushButton(parent=self.groupBox)
+        self.deleteIconDirectoryButton.setEnabled(False)
+        self.deleteIconDirectoryButton.setObjectName("deleteIconDirectoryButton")
+        self.horizontalLayout.addWidget(self.deleteIconDirectoryButton)
+        self.addIconDirectoryButton = QtWidgets.QPushButton(parent=self.groupBox)
+        self.addIconDirectoryButton.setEnabled(False)
+        self.addIconDirectoryButton.setObjectName("addIconDirectoryButton")
+        self.horizontalLayout.addWidget(self.addIconDirectoryButton)
+        self.iconDirectoryPicker = EricPathPicker(parent=self.groupBox)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.iconDirectoryPicker.sizePolicy().hasHeightForWidth())
+        self.iconDirectoryPicker.setSizePolicy(sizePolicy)
+        self.iconDirectoryPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.iconDirectoryPicker.setObjectName("iconDirectoryPicker")
+        self.horizontalLayout.addWidget(self.iconDirectoryPicker)
+        self.gridLayout.addLayout(self.horizontalLayout, 1, 0, 1, 1)
+        self.showIconsButton = QtWidgets.QPushButton(parent=self.groupBox)
+        self.showIconsButton.setEnabled(False)
+        self.showIconsButton.setObjectName("showIconsButton")
+        self.gridLayout.addWidget(self.showIconsButton, 1, 1, 1, 1)
+        self.verticalLayout_2.addWidget(self.groupBox)
+
+        self.retranslateUi(IconsPage)
+        QtCore.QMetaObject.connectSlotsByName(IconsPage)
+        IconsPage.setTabOrder(self.iconSizeComboBox, self.vectorIconsCheckBox)
+        IconsPage.setTabOrder(self.vectorIconsCheckBox, self.defaultAutomaticButton)
+        IconsPage.setTabOrder(self.defaultAutomaticButton, self.defaultBreezeLightButton)
+        IconsPage.setTabOrder(self.defaultBreezeLightButton, self.defaultBreezeDarkButton)
+        IconsPage.setTabOrder(self.defaultBreezeDarkButton, self.showDefaultIconsButton)
+        IconsPage.setTabOrder(self.showDefaultIconsButton, self.iconDirectoryList)
+        IconsPage.setTabOrder(self.iconDirectoryList, self.iconDirectoryPicker)
+        IconsPage.setTabOrder(self.iconDirectoryPicker, self.addIconDirectoryButton)
+        IconsPage.setTabOrder(self.addIconDirectoryButton, self.showIconsButton)
+        IconsPage.setTabOrder(self.showIconsButton, self.deleteIconDirectoryButton)
+        IconsPage.setTabOrder(self.deleteIconDirectoryButton, self.upButton)
+        IconsPage.setTabOrder(self.upButton, self.downButton)
+
+    def retranslateUi(self, IconsPage):
+        _translate = QtCore.QCoreApplication.translate
+        self.headerLabel.setText(_translate("IconsPage", "<b>Configure icons</b>"))
+        self.label_5.setText(_translate("IconsPage", "Icon Size:"))
+        self.iconSizeComboBox.setToolTip(_translate("IconsPage", "Select the icon size"))
+        self.TextLabel1_2_2_2.setText(_translate("IconsPage", "<font color=\"#FF0000\"><b>Note:</b> All settings below are activated at the next startup of the application.</font>"))
+        self.vectorIconsCheckBox.setToolTip(_translate("IconsPage", "Select this in order to prefer vector based SVG icons (pixel based icons as fallback). If unchecked pixel based are prefered."))
+        self.vectorIconsCheckBox.setText(_translate("IconsPage", "Prefer Vector Icons (SVG Icons)"))
+        self.groupBox_2.setTitle(_translate("IconsPage", "Default Icons"))
+        self.defaultAutomaticButton.setToolTip(_translate("IconsPage", "Select to select between Breeze (dark) and Breeze (light) based on the window lightness"))
+        self.defaultAutomaticButton.setText(_translate("IconsPage", "Automatic"))
+        self.defaultBreezeLightButton.setToolTip(_translate("IconsPage", "Select to use the Breeze vector icons for light window background"))
+        self.defaultBreezeLightButton.setText(_translate("IconsPage", "Breeze (light)"))
+        self.defaultBreezeDarkButton.setToolTip(_translate("IconsPage", "Select to use the Breeze vector icons for dark window background"))
+        self.defaultBreezeDarkButton.setText(_translate("IconsPage", "Breeze (dark)"))
+        self.showDefaultIconsButton.setToolTip(_translate("IconsPage", "Press to show a dialog with a preview of the selected default icon set"))
+        self.showDefaultIconsButton.setText(_translate("IconsPage", "Show"))
+        self.groupBox.setTitle(_translate("IconsPage", "Custom Icon Directories"))
+        self.iconDirectoryList.setToolTip(_translate("IconsPage", "List of icon directories"))
+        self.upButton.setText(_translate("IconsPage", "Up"))
+        self.downButton.setText(_translate("IconsPage", "Down"))
+        self.deleteIconDirectoryButton.setToolTip(_translate("IconsPage", "Press to delete the selected directory from the list"))
+        self.deleteIconDirectoryButton.setText(_translate("IconsPage", "Delete"))
+        self.addIconDirectoryButton.setToolTip(_translate("IconsPage", "Press to add the entered directory to the list"))
+        self.addIconDirectoryButton.setText(_translate("IconsPage", "Add"))
+        self.showIconsButton.setText(_translate("IconsPage", "Show"))
+from eric7.EricWidgets.EricPathPicker import EricPathPicker
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Preferences/ConfigurationPages/Ui_IconsPreviewDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,74 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Preferences/ConfigurationPages/IconsPreviewDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_IconsPreviewDialog(object):
+    def setupUi(self, IconsPreviewDialog):
+        IconsPreviewDialog.setObjectName("IconsPreviewDialog")
+        IconsPreviewDialog.resize(596, 541)
+        IconsPreviewDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(IconsPreviewDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.label = QtWidgets.QLabel(parent=IconsPreviewDialog)
+        self.label.setObjectName("label")
+        self.horizontalLayout.addWidget(self.label)
+        self.directoryCombo = QtWidgets.QComboBox(parent=IconsPreviewDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.directoryCombo.sizePolicy().hasHeightForWidth())
+        self.directoryCombo.setSizePolicy(sizePolicy)
+        self.directoryCombo.setObjectName("directoryCombo")
+        self.horizontalLayout.addWidget(self.directoryCombo)
+        self.verticalLayout.addLayout(self.horizontalLayout)
+        self.iconView = QtWidgets.QListWidget(parent=IconsPreviewDialog)
+        self.iconView.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.ExtendedSelection)
+        self.iconView.setMovement(QtWidgets.QListView.Movement.Free)
+        self.iconView.setFlow(QtWidgets.QListView.Flow.LeftToRight)
+        self.iconView.setGridSize(QtCore.QSize(100, 50))
+        self.iconView.setViewMode(QtWidgets.QListView.ViewMode.IconMode)
+        self.iconView.setObjectName("iconView")
+        self.verticalLayout.addWidget(self.iconView)
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.invertButton = QtWidgets.QPushButton(parent=IconsPreviewDialog)
+        self.invertButton.setCheckable(True)
+        self.invertButton.setObjectName("invertButton")
+        self.horizontalLayout_2.addWidget(self.invertButton)
+        self.refreshButton = QtWidgets.QPushButton(parent=IconsPreviewDialog)
+        self.refreshButton.setObjectName("refreshButton")
+        self.horizontalLayout_2.addWidget(self.refreshButton)
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_2.addItem(spacerItem)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=IconsPreviewDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.horizontalLayout_2.addWidget(self.buttonBox)
+        self.verticalLayout.addLayout(self.horizontalLayout_2)
+
+        self.retranslateUi(IconsPreviewDialog)
+        self.buttonBox.rejected.connect(IconsPreviewDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(IconsPreviewDialog)
+        IconsPreviewDialog.setTabOrder(self.directoryCombo, self.iconView)
+        IconsPreviewDialog.setTabOrder(self.iconView, self.invertButton)
+        IconsPreviewDialog.setTabOrder(self.invertButton, self.refreshButton)
+
+    def retranslateUi(self, IconsPreviewDialog):
+        _translate = QtCore.QCoreApplication.translate
+        IconsPreviewDialog.setWindowTitle(_translate("IconsPreviewDialog", "Icons Preview"))
+        self.label.setText(_translate("IconsPreviewDialog", "Directory:"))
+        self.directoryCombo.setToolTip(_translate("IconsPreviewDialog", "Select the icons directory to be shown"))
+        self.invertButton.setToolTip(_translate("IconsPreviewDialog", "Select to invert the background color"))
+        self.invertButton.setText(_translate("IconsPreviewDialog", "Invert Background"))
+        self.refreshButton.setToolTip(_translate("IconsPreviewDialog", "Select to refresh the icons display"))
+        self.refreshButton.setText(_translate("IconsPreviewDialog", "Refresh"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Preferences/ConfigurationPages/Ui_InterfaceLightPage.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,168 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Preferences/ConfigurationPages/InterfaceLightPage.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_InterfaceLightPage(object):
+    def setupUi(self, InterfaceLightPage):
+        InterfaceLightPage.setObjectName("InterfaceLightPage")
+        InterfaceLightPage.resize(555, 496)
+        self.verticalLayout = QtWidgets.QVBoxLayout(InterfaceLightPage)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.headerLabel = QtWidgets.QLabel(parent=InterfaceLightPage)
+        self.headerLabel.setObjectName("headerLabel")
+        self.verticalLayout.addWidget(self.headerLabel)
+        self.line9 = QtWidgets.QFrame(parent=InterfaceLightPage)
+        self.line9.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line9.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line9.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line9.setObjectName("line9")
+        self.verticalLayout.addWidget(self.line9)
+        self.groupBox = QtWidgets.QGroupBox(parent=InterfaceLightPage)
+        self.groupBox.setObjectName("groupBox")
+        self.gridLayout = QtWidgets.QGridLayout(self.groupBox)
+        self.gridLayout.setObjectName("gridLayout")
+        self.label_4 = QtWidgets.QLabel(parent=self.groupBox)
+        self.label_4.setObjectName("label_4")
+        self.gridLayout.addWidget(self.label_4, 0, 0, 1, 1)
+        self.styleComboBox = QtWidgets.QComboBox(parent=self.groupBox)
+        self.styleComboBox.setObjectName("styleComboBox")
+        self.gridLayout.addWidget(self.styleComboBox, 0, 1, 1, 1)
+        self.label_5 = QtWidgets.QLabel(parent=self.groupBox)
+        self.label_5.setObjectName("label_5")
+        self.gridLayout.addWidget(self.label_5, 1, 0, 1, 1)
+        self.styleSheetPicker = EricPathPicker(parent=self.groupBox)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.styleSheetPicker.sizePolicy().hasHeightForWidth())
+        self.styleSheetPicker.setSizePolicy(sizePolicy)
+        self.styleSheetPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.styleSheetPicker.setObjectName("styleSheetPicker")
+        self.gridLayout.addWidget(self.styleSheetPicker, 1, 1, 1, 1)
+        self.label_7 = QtWidgets.QLabel(parent=self.groupBox)
+        self.label_7.setObjectName("label_7")
+        self.gridLayout.addWidget(self.label_7, 2, 0, 1, 1)
+        self.styleIconsPathPicker = EricPathPicker(parent=self.groupBox)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.styleIconsPathPicker.sizePolicy().hasHeightForWidth())
+        self.styleIconsPathPicker.setSizePolicy(sizePolicy)
+        self.styleIconsPathPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.styleIconsPathPicker.setObjectName("styleIconsPathPicker")
+        self.gridLayout.addWidget(self.styleIconsPathPicker, 2, 1, 1, 1)
+        self.label_8 = QtWidgets.QLabel(parent=self.groupBox)
+        self.label_8.setObjectName("label_8")
+        self.gridLayout.addWidget(self.label_8, 3, 0, 1, 1)
+        self.itemSelectionStyleComboBox = QtWidgets.QComboBox(parent=self.groupBox)
+        self.itemSelectionStyleComboBox.setObjectName("itemSelectionStyleComboBox")
+        self.gridLayout.addWidget(self.itemSelectionStyleComboBox, 3, 1, 1, 1)
+        self.label_9 = QtWidgets.QLabel(parent=self.groupBox)
+        self.label_9.setObjectName("label_9")
+        self.gridLayout.addWidget(self.label_9, 4, 1, 1, 1)
+        self.verticalLayout.addWidget(self.groupBox)
+        self.sidebarsGroup = QtWidgets.QGroupBox(parent=InterfaceLightPage)
+        self.sidebarsGroup.setObjectName("sidebarsGroup")
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.sidebarsGroup)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.gridLayout_7 = QtWidgets.QGridLayout()
+        self.gridLayout_7.setObjectName("gridLayout_7")
+        self.iconBarButton = QtWidgets.QPushButton(parent=self.sidebarsGroup)
+        self.iconBarButton.setObjectName("iconBarButton")
+        self.gridLayout_7.addWidget(self.iconBarButton, 0, 0, 1, 2)
+        self.label_6 = QtWidgets.QLabel(parent=self.sidebarsGroup)
+        self.label_6.setObjectName("label_6")
+        self.gridLayout_7.addWidget(self.label_6, 1, 0, 1, 1)
+        self.iconSizeComboBox = QtWidgets.QComboBox(parent=self.sidebarsGroup)
+        self.iconSizeComboBox.setObjectName("iconSizeComboBox")
+        self.gridLayout_7.addWidget(self.iconSizeComboBox, 1, 1, 1, 1)
+        self.horizontalLayout_2.addLayout(self.gridLayout_7)
+        self.sampleLabel = QtWidgets.QLabel(parent=self.sidebarsGroup)
+        self.sampleLabel.setMinimumSize(QtCore.QSize(50, 50))
+        self.sampleLabel.setText("")
+        self.sampleLabel.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
+        self.sampleLabel.setObjectName("sampleLabel")
+        self.horizontalLayout_2.addWidget(self.sampleLabel)
+        self.highlightedSampleLabel = QtWidgets.QLabel(parent=self.sidebarsGroup)
+        self.highlightedSampleLabel.setMinimumSize(QtCore.QSize(50, 50))
+        self.highlightedSampleLabel.setText("")
+        self.highlightedSampleLabel.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
+        self.highlightedSampleLabel.setObjectName("highlightedSampleLabel")
+        self.horizontalLayout_2.addWidget(self.highlightedSampleLabel)
+        spacerItem = QtWidgets.QSpacerItem(396, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_2.addItem(spacerItem)
+        self.verticalLayout_2.addLayout(self.horizontalLayout_2)
+        self.verticalLayout.addWidget(self.sidebarsGroup)
+        self.line9_2 = QtWidgets.QFrame(parent=InterfaceLightPage)
+        self.line9_2.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line9_2.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line9_2.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line9_2.setObjectName("line9_2")
+        self.verticalLayout.addWidget(self.line9_2)
+        self.TextLabel1_2_2_2 = QtWidgets.QLabel(parent=InterfaceLightPage)
+        self.TextLabel1_2_2_2.setObjectName("TextLabel1_2_2_2")
+        self.verticalLayout.addWidget(self.TextLabel1_2_2_2)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.languageLabel = QtWidgets.QLabel(parent=InterfaceLightPage)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.languageLabel.sizePolicy().hasHeightForWidth())
+        self.languageLabel.setSizePolicy(sizePolicy)
+        self.languageLabel.setObjectName("languageLabel")
+        self.horizontalLayout.addWidget(self.languageLabel)
+        self.languageComboBox = QtWidgets.QComboBox(parent=InterfaceLightPage)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.languageComboBox.sizePolicy().hasHeightForWidth())
+        self.languageComboBox.setSizePolicy(sizePolicy)
+        self.languageComboBox.setObjectName("languageComboBox")
+        self.horizontalLayout.addWidget(self.languageComboBox)
+        self.verticalLayout.addLayout(self.horizontalLayout)
+        spacerItem1 = QtWidgets.QSpacerItem(537, 41, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout.addItem(spacerItem1)
+        self.languageLabel.setBuddy(self.languageComboBox)
+
+        self.retranslateUi(InterfaceLightPage)
+        QtCore.QMetaObject.connectSlotsByName(InterfaceLightPage)
+        InterfaceLightPage.setTabOrder(self.styleComboBox, self.styleSheetPicker)
+        InterfaceLightPage.setTabOrder(self.styleSheetPicker, self.styleIconsPathPicker)
+        InterfaceLightPage.setTabOrder(self.styleIconsPathPicker, self.itemSelectionStyleComboBox)
+        InterfaceLightPage.setTabOrder(self.itemSelectionStyleComboBox, self.iconBarButton)
+        InterfaceLightPage.setTabOrder(self.iconBarButton, self.iconSizeComboBox)
+        InterfaceLightPage.setTabOrder(self.iconSizeComboBox, self.languageComboBox)
+
+    def retranslateUi(self, InterfaceLightPage):
+        _translate = QtCore.QCoreApplication.translate
+        self.headerLabel.setText(_translate("InterfaceLightPage", "<b>Configure User Interface</b>"))
+        self.groupBox.setTitle(_translate("InterfaceLightPage", "Style"))
+        self.label_4.setText(_translate("InterfaceLightPage", "Style:"))
+        self.styleComboBox.setToolTip(_translate("InterfaceLightPage", "Select the interface style"))
+        self.label_5.setText(_translate("InterfaceLightPage", "Style Sheet:"))
+        self.styleSheetPicker.setToolTip(_translate("InterfaceLightPage", "Enter the path of the style sheet file"))
+        self.label_7.setText(_translate("InterfaceLightPage", "Style Icons Path:"))
+        self.styleIconsPathPicker.setToolTip(_translate("InterfaceLightPage", "Enter the path to the icons used within the style sheet (empty for default)"))
+        self.label_8.setText(_translate("InterfaceLightPage", "Item Selection Style:"))
+        self.itemSelectionStyleComboBox.setToolTip(_translate("InterfaceLightPage", "Select the style for item selection (default is platform dependent)."))
+        self.label_9.setText(_translate("InterfaceLightPage", "<b>Note:</b> This may not take effect on all views."))
+        self.sidebarsGroup.setTitle(_translate("InterfaceLightPage", "Sidebars"))
+        self.iconBarButton.setToolTip(_translate("InterfaceLightPage", "Select the icon bar background color"))
+        self.iconBarButton.setText(_translate("InterfaceLightPage", "Icon Bar Color"))
+        self.label_6.setText(_translate("InterfaceLightPage", "Icon Size:"))
+        self.iconSizeComboBox.setToolTip(_translate("InterfaceLightPage", "Select the icon size"))
+        self.TextLabel1_2_2_2.setText(_translate("InterfaceLightPage", "<font color=\"#FF0000\"><b>Note:</b> All settings below are activated at the next startup of the application.</font>"))
+        self.languageLabel.setText(_translate("InterfaceLightPage", "Language:"))
+        self.languageComboBox.setToolTip(_translate("InterfaceLightPage", "Select the interface language."))
+        self.languageComboBox.setWhatsThis(_translate("InterfaceLightPage", "The interface language can be selected from this list. If \"system\" is selected, the interface language is determined by the system. The selection of \"none\" means, that the default language will be used."))
+from eric7.EricWidgets.EricPathPicker import EricPathPicker
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Preferences/ConfigurationPages/Ui_InterfacePage.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,383 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Preferences/ConfigurationPages/InterfacePage.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_InterfacePage(object):
+    def setupUi(self, InterfacePage):
+        InterfacePage.setObjectName("InterfacePage")
+        InterfacePage.resize(550, 1235)
+        self.verticalLayout_3 = QtWidgets.QVBoxLayout(InterfacePage)
+        self.verticalLayout_3.setObjectName("verticalLayout_3")
+        self.headerLabel = QtWidgets.QLabel(parent=InterfacePage)
+        self.headerLabel.setObjectName("headerLabel")
+        self.verticalLayout_3.addWidget(self.headerLabel)
+        self.line9 = QtWidgets.QFrame(parent=InterfacePage)
+        self.line9.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line9.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line9.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line9.setObjectName("line9")
+        self.verticalLayout_3.addWidget(self.line9)
+        self.groupBox_4 = QtWidgets.QGroupBox(parent=InterfacePage)
+        self.groupBox_4.setObjectName("groupBox_4")
+        self.gridLayout_2 = QtWidgets.QGridLayout(self.groupBox_4)
+        self.gridLayout_2.setObjectName("gridLayout_2")
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.label_4 = QtWidgets.QLabel(parent=self.groupBox_4)
+        self.label_4.setObjectName("label_4")
+        self.horizontalLayout_2.addWidget(self.label_4)
+        self.fileFiltersEdit = QtWidgets.QLineEdit(parent=self.groupBox_4)
+        self.fileFiltersEdit.setObjectName("fileFiltersEdit")
+        self.horizontalLayout_2.addWidget(self.fileFiltersEdit)
+        self.gridLayout_2.addLayout(self.horizontalLayout_2, 3, 0, 1, 2)
+        self.uiBrowsersListFoldersFirstCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_4)
+        self.uiBrowsersListFoldersFirstCheckBox.setObjectName("uiBrowsersListFoldersFirstCheckBox")
+        self.gridLayout_2.addWidget(self.uiBrowsersListFoldersFirstCheckBox, 0, 0, 1, 1)
+        self.uiBrowsersHideNonPublicCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_4)
+        self.uiBrowsersHideNonPublicCheckBox.setObjectName("uiBrowsersHideNonPublicCheckBox")
+        self.gridLayout_2.addWidget(self.uiBrowsersHideNonPublicCheckBox, 0, 1, 1, 1)
+        self.uiBrowsersSortByOccurrenceCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_4)
+        self.uiBrowsersSortByOccurrenceCheckBox.setObjectName("uiBrowsersSortByOccurrenceCheckBox")
+        self.gridLayout_2.addWidget(self.uiBrowsersSortByOccurrenceCheckBox, 1, 0, 1, 1)
+        self.browserShowCodingCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_4)
+        self.browserShowCodingCheckBox.setObjectName("browserShowCodingCheckBox")
+        self.gridLayout_2.addWidget(self.browserShowCodingCheckBox, 1, 1, 1, 1)
+        self.verticalLayout_3.addWidget(self.groupBox_4)
+        self.uiCaptionShowsFilenameGroupBox = QtWidgets.QGroupBox(parent=InterfacePage)
+        self.uiCaptionShowsFilenameGroupBox.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.uiCaptionShowsFilenameGroupBox.setCheckable(True)
+        self.uiCaptionShowsFilenameGroupBox.setObjectName("uiCaptionShowsFilenameGroupBox")
+        self.hboxlayout = QtWidgets.QHBoxLayout(self.uiCaptionShowsFilenameGroupBox)
+        self.hboxlayout.setObjectName("hboxlayout")
+        self.label = QtWidgets.QLabel(parent=self.uiCaptionShowsFilenameGroupBox)
+        self.label.setObjectName("label")
+        self.hboxlayout.addWidget(self.label)
+        self.filenameLengthSpinBox = QtWidgets.QSpinBox(parent=self.uiCaptionShowsFilenameGroupBox)
+        self.filenameLengthSpinBox.setMinimum(10)
+        self.filenameLengthSpinBox.setMaximum(999)
+        self.filenameLengthSpinBox.setSingleStep(10)
+        self.filenameLengthSpinBox.setProperty("value", 100)
+        self.filenameLengthSpinBox.setObjectName("filenameLengthSpinBox")
+        self.hboxlayout.addWidget(self.filenameLengthSpinBox)
+        spacerItem = QtWidgets.QSpacerItem(31, 23, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.hboxlayout.addItem(spacerItem)
+        self.verticalLayout_3.addWidget(self.uiCaptionShowsFilenameGroupBox)
+        self.groupBox = QtWidgets.QGroupBox(parent=InterfacePage)
+        self.groupBox.setObjectName("groupBox")
+        self.gridLayout_3 = QtWidgets.QGridLayout(self.groupBox)
+        self.gridLayout_3.setObjectName("gridLayout_3")
+        self.label_2 = QtWidgets.QLabel(parent=self.groupBox)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout_3.addWidget(self.label_2, 0, 0, 1, 1)
+        self.styleComboBox = QtWidgets.QComboBox(parent=self.groupBox)
+        self.styleComboBox.setObjectName("styleComboBox")
+        self.gridLayout_3.addWidget(self.styleComboBox, 0, 1, 1, 1)
+        self.label_3 = QtWidgets.QLabel(parent=self.groupBox)
+        self.label_3.setObjectName("label_3")
+        self.gridLayout_3.addWidget(self.label_3, 1, 0, 1, 1)
+        self.styleSheetPicker = EricPathPicker(parent=self.groupBox)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.styleSheetPicker.sizePolicy().hasHeightForWidth())
+        self.styleSheetPicker.setSizePolicy(sizePolicy)
+        self.styleSheetPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.styleSheetPicker.setObjectName("styleSheetPicker")
+        self.gridLayout_3.addWidget(self.styleSheetPicker, 1, 1, 1, 1)
+        self.label_6 = QtWidgets.QLabel(parent=self.groupBox)
+        self.label_6.setObjectName("label_6")
+        self.gridLayout_3.addWidget(self.label_6, 2, 0, 1, 1)
+        self.styleIconsPathPicker = EricPathPicker(parent=self.groupBox)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.styleIconsPathPicker.sizePolicy().hasHeightForWidth())
+        self.styleIconsPathPicker.setSizePolicy(sizePolicy)
+        self.styleIconsPathPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.styleIconsPathPicker.setObjectName("styleIconsPathPicker")
+        self.gridLayout_3.addWidget(self.styleIconsPathPicker, 2, 1, 1, 1)
+        self.label_7 = QtWidgets.QLabel(parent=self.groupBox)
+        self.label_7.setObjectName("label_7")
+        self.gridLayout_3.addWidget(self.label_7, 3, 0, 1, 1)
+        self.itemSelectionStyleComboBox = QtWidgets.QComboBox(parent=self.groupBox)
+        self.itemSelectionStyleComboBox.setObjectName("itemSelectionStyleComboBox")
+        self.gridLayout_3.addWidget(self.itemSelectionStyleComboBox, 3, 1, 1, 1)
+        self.label_8 = QtWidgets.QLabel(parent=self.groupBox)
+        self.label_8.setObjectName("label_8")
+        self.gridLayout_3.addWidget(self.label_8, 4, 1, 1, 1)
+        self.verticalLayout_3.addWidget(self.groupBox)
+        self.groupBox_8 = QtWidgets.QGroupBox(parent=InterfacePage)
+        self.groupBox_8.setObjectName("groupBox_8")
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.groupBox_8)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.gridLayout_7 = QtWidgets.QGridLayout()
+        self.gridLayout_7.setObjectName("gridLayout_7")
+        self.iconBarButton = QtWidgets.QPushButton(parent=self.groupBox_8)
+        self.iconBarButton.setObjectName("iconBarButton")
+        self.gridLayout_7.addWidget(self.iconBarButton, 0, 0, 1, 2)
+        self.label_5 = QtWidgets.QLabel(parent=self.groupBox_8)
+        self.label_5.setObjectName("label_5")
+        self.gridLayout_7.addWidget(self.label_5, 1, 0, 1, 1)
+        self.iconSizeComboBox = QtWidgets.QComboBox(parent=self.groupBox_8)
+        self.iconSizeComboBox.setObjectName("iconSizeComboBox")
+        self.gridLayout_7.addWidget(self.iconSizeComboBox, 1, 1, 1, 1)
+        self.horizontalLayout.addLayout(self.gridLayout_7)
+        self.sampleLabel = QtWidgets.QLabel(parent=self.groupBox_8)
+        self.sampleLabel.setMinimumSize(QtCore.QSize(50, 50))
+        self.sampleLabel.setText("")
+        self.sampleLabel.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
+        self.sampleLabel.setObjectName("sampleLabel")
+        self.horizontalLayout.addWidget(self.sampleLabel)
+        self.highlightedSampleLabel = QtWidgets.QLabel(parent=self.groupBox_8)
+        self.highlightedSampleLabel.setMinimumSize(QtCore.QSize(50, 50))
+        self.highlightedSampleLabel.setText("")
+        self.highlightedSampleLabel.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
+        self.highlightedSampleLabel.setObjectName("highlightedSampleLabel")
+        self.horizontalLayout.addWidget(self.highlightedSampleLabel)
+        spacerItem1 = QtWidgets.QSpacerItem(396, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem1)
+        self.verticalLayout_2.addLayout(self.horizontalLayout)
+        self.line9_3 = QtWidgets.QFrame(parent=self.groupBox_8)
+        self.line9_3.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line9_3.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line9_3.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line9_3.setObjectName("line9_3")
+        self.verticalLayout_2.addWidget(self.line9_3)
+        self.TextLabel1_2_2_3 = QtWidgets.QLabel(parent=self.groupBox_8)
+        self.TextLabel1_2_2_3.setObjectName("TextLabel1_2_2_3")
+        self.verticalLayout_2.addWidget(self.TextLabel1_2_2_3)
+        self.combinedLeftRightSidebarCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_8)
+        self.combinedLeftRightSidebarCheckBox.setObjectName("combinedLeftRightSidebarCheckBox")
+        self.verticalLayout_2.addWidget(self.combinedLeftRightSidebarCheckBox)
+        self.verticalLayout_3.addWidget(self.groupBox_8)
+        self.line9_2 = QtWidgets.QFrame(parent=InterfacePage)
+        self.line9_2.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line9_2.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line9_2.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line9_2.setObjectName("line9_2")
+        self.verticalLayout_3.addWidget(self.line9_2)
+        self.TextLabel1_2_2_2 = QtWidgets.QLabel(parent=InterfacePage)
+        self.TextLabel1_2_2_2.setObjectName("TextLabel1_2_2_2")
+        self.verticalLayout_3.addWidget(self.TextLabel1_2_2_2)
+        self.gridLayout = QtWidgets.QGridLayout()
+        self.gridLayout.setObjectName("gridLayout")
+        self.layoutComboBox = QtWidgets.QComboBox(parent=InterfacePage)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.layoutComboBox.sizePolicy().hasHeightForWidth())
+        self.layoutComboBox.setSizePolicy(sizePolicy)
+        self.layoutComboBox.setObjectName("layoutComboBox")
+        self.layoutComboBox.addItem("")
+        self.layoutComboBox.addItem("")
+        self.gridLayout.addWidget(self.layoutComboBox, 1, 1, 1, 1)
+        self.languageComboBox = QtWidgets.QComboBox(parent=InterfacePage)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.languageComboBox.sizePolicy().hasHeightForWidth())
+        self.languageComboBox.setSizePolicy(sizePolicy)
+        self.languageComboBox.setObjectName("languageComboBox")
+        self.gridLayout.addWidget(self.languageComboBox, 0, 1, 1, 1)
+        self.languageLabel = QtWidgets.QLabel(parent=InterfacePage)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.languageLabel.sizePolicy().hasHeightForWidth())
+        self.languageLabel.setSizePolicy(sizePolicy)
+        self.languageLabel.setObjectName("languageLabel")
+        self.gridLayout.addWidget(self.languageLabel, 0, 0, 1, 1)
+        self.layoutLabel = QtWidgets.QLabel(parent=InterfacePage)
+        self.layoutLabel.setObjectName("layoutLabel")
+        self.gridLayout.addWidget(self.layoutLabel, 1, 0, 1, 1)
+        self.verticalLayout_3.addLayout(self.gridLayout)
+        self.groupBox_3 = QtWidgets.QGroupBox(parent=InterfacePage)
+        self.groupBox_3.setObjectName("groupBox_3")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.groupBox_3)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.groupBox_10 = QtWidgets.QGroupBox(parent=self.groupBox_3)
+        self.groupBox_10.setObjectName("groupBox_10")
+        self.gridLayout_5 = QtWidgets.QGridLayout(self.groupBox_10)
+        self.gridLayout_5.setObjectName("gridLayout_5")
+        self.symbolsCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_10)
+        self.symbolsCheckBox.setObjectName("symbolsCheckBox")
+        self.gridLayout_5.addWidget(self.symbolsCheckBox, 2, 0, 1, 1)
+        self.templateViewerCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_10)
+        self.templateViewerCheckBox.setObjectName("templateViewerCheckBox")
+        self.gridLayout_5.addWidget(self.templateViewerCheckBox, 1, 0, 1, 1)
+        self.fileBrowserCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_10)
+        self.fileBrowserCheckBox.setObjectName("fileBrowserCheckBox")
+        self.gridLayout_5.addWidget(self.fileBrowserCheckBox, 1, 1, 1, 1)
+        self.findReplaceCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_10)
+        self.findReplaceCheckBox.setObjectName("findReplaceCheckBox")
+        self.gridLayout_5.addWidget(self.findReplaceCheckBox, 0, 0, 1, 1)
+        self.findLocationCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_10)
+        self.findLocationCheckBox.setObjectName("findLocationCheckBox")
+        self.gridLayout_5.addWidget(self.findLocationCheckBox, 0, 1, 1, 1)
+        self.verticalLayout.addWidget(self.groupBox_10)
+        self.leftRightGroupBox = QtWidgets.QGroupBox(parent=self.groupBox_3)
+        self.leftRightGroupBox.setObjectName("leftRightGroupBox")
+        self.gridLayout_4 = QtWidgets.QGridLayout(self.leftRightGroupBox)
+        self.gridLayout_4.setObjectName("gridLayout_4")
+        self.codeDocumentationViewerCheckBox = QtWidgets.QCheckBox(parent=self.leftRightGroupBox)
+        self.codeDocumentationViewerCheckBox.setObjectName("codeDocumentationViewerCheckBox")
+        self.gridLayout_4.addWidget(self.codeDocumentationViewerCheckBox, 0, 0, 1, 1)
+        self.helpViewerCheckBox = QtWidgets.QCheckBox(parent=self.leftRightGroupBox)
+        self.helpViewerCheckBox.setObjectName("helpViewerCheckBox")
+        self.gridLayout_4.addWidget(self.helpViewerCheckBox, 0, 1, 1, 1)
+        self.condaCheckBox = QtWidgets.QCheckBox(parent=self.leftRightGroupBox)
+        self.condaCheckBox.setObjectName("condaCheckBox")
+        self.gridLayout_4.addWidget(self.condaCheckBox, 1, 0, 1, 1)
+        self.pypiCheckBox = QtWidgets.QCheckBox(parent=self.leftRightGroupBox)
+        self.pypiCheckBox.setObjectName("pypiCheckBox")
+        self.gridLayout_4.addWidget(self.pypiCheckBox, 1, 1, 1, 1)
+        self.cooperationCheckBox = QtWidgets.QCheckBox(parent=self.leftRightGroupBox)
+        self.cooperationCheckBox.setObjectName("cooperationCheckBox")
+        self.gridLayout_4.addWidget(self.cooperationCheckBox, 2, 0, 1, 1)
+        self.ircCheckBox = QtWidgets.QCheckBox(parent=self.leftRightGroupBox)
+        self.ircCheckBox.setObjectName("ircCheckBox")
+        self.gridLayout_4.addWidget(self.ircCheckBox, 2, 1, 1, 1)
+        self.microPythonCheckBox = QtWidgets.QCheckBox(parent=self.leftRightGroupBox)
+        self.microPythonCheckBox.setObjectName("microPythonCheckBox")
+        self.gridLayout_4.addWidget(self.microPythonCheckBox, 3, 0, 1, 1)
+        self.verticalLayout.addWidget(self.leftRightGroupBox)
+        self.groupBox_11 = QtWidgets.QGroupBox(parent=self.groupBox_3)
+        self.groupBox_11.setObjectName("groupBox_11")
+        self.gridLayout_6 = QtWidgets.QGridLayout(self.groupBox_11)
+        self.gridLayout_6.setObjectName("gridLayout_6")
+        self.numbersCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_11)
+        self.numbersCheckBox.setObjectName("numbersCheckBox")
+        self.gridLayout_6.addWidget(self.numbersCheckBox, 0, 0, 1, 1)
+        self.verticalLayout.addWidget(self.groupBox_11)
+        self.verticalLayout_3.addWidget(self.groupBox_3)
+        self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
+        spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_3.addItem(spacerItem2)
+        self.resetLayoutButton = QtWidgets.QPushButton(parent=InterfacePage)
+        self.resetLayoutButton.setObjectName("resetLayoutButton")
+        self.horizontalLayout_3.addWidget(self.resetLayoutButton)
+        spacerItem3 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_3.addItem(spacerItem3)
+        self.verticalLayout_3.addLayout(self.horizontalLayout_3)
+        spacerItem4 = QtWidgets.QSpacerItem(20, 0, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout_3.addItem(spacerItem4)
+        self.languageLabel.setBuddy(self.languageComboBox)
+
+        self.retranslateUi(InterfacePage)
+        QtCore.QMetaObject.connectSlotsByName(InterfacePage)
+        InterfacePage.setTabOrder(self.uiBrowsersListFoldersFirstCheckBox, self.uiBrowsersHideNonPublicCheckBox)
+        InterfacePage.setTabOrder(self.uiBrowsersHideNonPublicCheckBox, self.uiBrowsersSortByOccurrenceCheckBox)
+        InterfacePage.setTabOrder(self.uiBrowsersSortByOccurrenceCheckBox, self.browserShowCodingCheckBox)
+        InterfacePage.setTabOrder(self.browserShowCodingCheckBox, self.fileFiltersEdit)
+        InterfacePage.setTabOrder(self.fileFiltersEdit, self.uiCaptionShowsFilenameGroupBox)
+        InterfacePage.setTabOrder(self.uiCaptionShowsFilenameGroupBox, self.filenameLengthSpinBox)
+        InterfacePage.setTabOrder(self.filenameLengthSpinBox, self.styleComboBox)
+        InterfacePage.setTabOrder(self.styleComboBox, self.styleSheetPicker)
+        InterfacePage.setTabOrder(self.styleSheetPicker, self.styleIconsPathPicker)
+        InterfacePage.setTabOrder(self.styleIconsPathPicker, self.itemSelectionStyleComboBox)
+        InterfacePage.setTabOrder(self.itemSelectionStyleComboBox, self.iconBarButton)
+        InterfacePage.setTabOrder(self.iconBarButton, self.iconSizeComboBox)
+        InterfacePage.setTabOrder(self.iconSizeComboBox, self.combinedLeftRightSidebarCheckBox)
+        InterfacePage.setTabOrder(self.combinedLeftRightSidebarCheckBox, self.languageComboBox)
+        InterfacePage.setTabOrder(self.languageComboBox, self.layoutComboBox)
+        InterfacePage.setTabOrder(self.layoutComboBox, self.findReplaceCheckBox)
+        InterfacePage.setTabOrder(self.findReplaceCheckBox, self.findLocationCheckBox)
+        InterfacePage.setTabOrder(self.findLocationCheckBox, self.templateViewerCheckBox)
+        InterfacePage.setTabOrder(self.templateViewerCheckBox, self.fileBrowserCheckBox)
+        InterfacePage.setTabOrder(self.fileBrowserCheckBox, self.symbolsCheckBox)
+        InterfacePage.setTabOrder(self.symbolsCheckBox, self.codeDocumentationViewerCheckBox)
+        InterfacePage.setTabOrder(self.codeDocumentationViewerCheckBox, self.helpViewerCheckBox)
+        InterfacePage.setTabOrder(self.helpViewerCheckBox, self.condaCheckBox)
+        InterfacePage.setTabOrder(self.condaCheckBox, self.pypiCheckBox)
+        InterfacePage.setTabOrder(self.pypiCheckBox, self.cooperationCheckBox)
+        InterfacePage.setTabOrder(self.cooperationCheckBox, self.ircCheckBox)
+        InterfacePage.setTabOrder(self.ircCheckBox, self.microPythonCheckBox)
+        InterfacePage.setTabOrder(self.microPythonCheckBox, self.numbersCheckBox)
+        InterfacePage.setTabOrder(self.numbersCheckBox, self.resetLayoutButton)
+
+    def retranslateUi(self, InterfacePage):
+        _translate = QtCore.QCoreApplication.translate
+        self.headerLabel.setText(_translate("InterfacePage", "<b>Configure User Interface</b>"))
+        self.groupBox_4.setTitle(_translate("InterfacePage", "Browsers"))
+        self.label_4.setText(_translate("InterfacePage", "Filter out files:"))
+        self.fileFiltersEdit.setToolTip(_translate("InterfacePage", "Enter wildcard file patterns separated by semicolon. Files matching these patterns will not be shown by the file browsers."))
+        self.uiBrowsersListFoldersFirstCheckBox.setToolTip(_translate("InterfacePage", "Select, if folders should be listed first in the various browsers"))
+        self.uiBrowsersListFoldersFirstCheckBox.setText(_translate("InterfacePage", "List folders first in Browsers"))
+        self.uiBrowsersHideNonPublicCheckBox.setToolTip(_translate("InterfacePage", "Select to hide non public classes, methods and attributes in the browsers."))
+        self.uiBrowsersHideNonPublicCheckBox.setText(_translate("InterfacePage", "Hide non public members in Browsers"))
+        self.uiBrowsersSortByOccurrenceCheckBox.setToolTip(_translate("InterfacePage", "Select to sort file contents by occurrence"))
+        self.uiBrowsersSortByOccurrenceCheckBox.setText(_translate("InterfacePage", "Sort contents by occurrence"))
+        self.browserShowCodingCheckBox.setToolTip(_translate("InterfacePage", "Select to show the source code encoding"))
+        self.browserShowCodingCheckBox.setText(_translate("InterfacePage", "Show source file encoding"))
+        self.uiCaptionShowsFilenameGroupBox.setToolTip(_translate("InterfacePage", "Select, if the caption of the main window should show the filename of the current editor"))
+        self.uiCaptionShowsFilenameGroupBox.setTitle(_translate("InterfacePage", "Caption shows filename"))
+        self.label.setText(_translate("InterfacePage", "Filename Length"))
+        self.filenameLengthSpinBox.setToolTip(_translate("InterfacePage", "Enter the number of characters to be shown in the main window title."))
+        self.groupBox.setTitle(_translate("InterfacePage", "Style"))
+        self.label_2.setText(_translate("InterfacePage", "Style:"))
+        self.styleComboBox.setToolTip(_translate("InterfacePage", "Select the interface style"))
+        self.label_3.setText(_translate("InterfacePage", "Style Sheet:"))
+        self.styleSheetPicker.setToolTip(_translate("InterfacePage", "Enter the path of the style sheet file"))
+        self.label_6.setText(_translate("InterfacePage", "Style Icons Path:"))
+        self.styleIconsPathPicker.setToolTip(_translate("InterfacePage", "Enter the path to the icons used within the style sheet (empty for default)"))
+        self.label_7.setText(_translate("InterfacePage", "Item Selection Style:"))
+        self.itemSelectionStyleComboBox.setToolTip(_translate("InterfacePage", "Select the style for item selection (default is platform dependent)."))
+        self.label_8.setText(_translate("InterfacePage", "<b>Note:</b> This may not take effect on all views."))
+        self.groupBox_8.setTitle(_translate("InterfacePage", "Sidebars"))
+        self.iconBarButton.setToolTip(_translate("InterfacePage", "Select the icon bar background color"))
+        self.iconBarButton.setText(_translate("InterfacePage", "Icon Bar Color"))
+        self.label_5.setText(_translate("InterfacePage", "Icon Size:"))
+        self.iconSizeComboBox.setToolTip(_translate("InterfacePage", "Select the icon size"))
+        self.TextLabel1_2_2_3.setText(_translate("InterfacePage", "<font color=\"#FF0000\"><b>Note:</b> The following setting will be activated at the next startup of the application.</font>"))
+        self.combinedLeftRightSidebarCheckBox.setToolTip(_translate("InterfacePage", "Select to combine the left and right sidebar"))
+        self.combinedLeftRightSidebarCheckBox.setText(_translate("InterfacePage", "Combine left and right sidebar"))
+        self.TextLabel1_2_2_2.setText(_translate("InterfacePage", "<font color=\"#FF0000\"><b>Note:</b> All settings below are activated at the next startup of the application.</font>"))
+        self.layoutComboBox.setToolTip(_translate("InterfacePage", "Select the layout type."))
+        self.layoutComboBox.setItemText(0, _translate("InterfacePage", "Sidebars"))
+        self.layoutComboBox.setItemText(1, _translate("InterfacePage", "Toolboxes"))
+        self.languageComboBox.setToolTip(_translate("InterfacePage", "Select the interface language."))
+        self.languageComboBox.setWhatsThis(_translate("InterfacePage", "The interface language can be selected from this list. If \"system\" is selected, the interface language is determined by the system. The selection of \"none\" means, that the default language will be used."))
+        self.languageLabel.setText(_translate("InterfacePage", "Language:"))
+        self.layoutLabel.setText(_translate("InterfacePage", "Layout:"))
+        self.groupBox_3.setTitle(_translate("InterfacePage", "Integrated Tools Activation"))
+        self.groupBox_10.setTitle(_translate("InterfacePage", "Left Side"))
+        self.symbolsCheckBox.setToolTip(_translate("InterfacePage", "Select to activate the Symbols widget"))
+        self.symbolsCheckBox.setText(_translate("InterfacePage", "Symbols"))
+        self.templateViewerCheckBox.setToolTip(_translate("InterfacePage", "Select to activate the Template viewer"))
+        self.templateViewerCheckBox.setText(_translate("InterfacePage", "Template-Viewer"))
+        self.fileBrowserCheckBox.setToolTip(_translate("InterfacePage", "Select to activate the File-Browser widget"))
+        self.fileBrowserCheckBox.setText(_translate("InterfacePage", "File-Browser"))
+        self.findReplaceCheckBox.setToolTip(_translate("InterfacePage", "Select to activate the embedded Find/Replace In Files tool."))
+        self.findReplaceCheckBox.setText(_translate("InterfacePage", "Find/Replace In Files"))
+        self.findLocationCheckBox.setToolTip(_translate("InterfacePage", "Select to activate the embedded Find File tool."))
+        self.findLocationCheckBox.setText(_translate("InterfacePage", "Find File"))
+        self.leftRightGroupBox.setTitle(_translate("InterfacePage", "Right Side"))
+        self.codeDocumentationViewerCheckBox.setToolTip(_translate("InterfacePage", "Select to activate the Code Documentation Viewer"))
+        self.codeDocumentationViewerCheckBox.setText(_translate("InterfacePage", "Code Documentation Viewer"))
+        self.helpViewerCheckBox.setToolTip(_translate("InterfacePage", "Select to activate the Help Viewer widget"))
+        self.helpViewerCheckBox.setText(_translate("InterfacePage", "Help Viewer"))
+        self.condaCheckBox.setToolTip(_translate("InterfacePage", "Select to activate the conda package manager widget"))
+        self.condaCheckBox.setText(_translate("InterfacePage", "Conda Package Manager"))
+        self.pypiCheckBox.setToolTip(_translate("InterfacePage", "Select to activate the PyPI package manager widget"))
+        self.pypiCheckBox.setText(_translate("InterfacePage", "PyPI Package Manager"))
+        self.cooperationCheckBox.setToolTip(_translate("InterfacePage", "Select to activate the Cooperation widget"))
+        self.cooperationCheckBox.setText(_translate("InterfacePage", "Cooperation"))
+        self.ircCheckBox.setToolTip(_translate("InterfacePage", "Select to activate the IRC widget"))
+        self.ircCheckBox.setText(_translate("InterfacePage", "IRC"))
+        self.microPythonCheckBox.setToolTip(_translate("InterfacePage", "Select to activate the MicroPython widget"))
+        self.microPythonCheckBox.setText(_translate("InterfacePage", "MicroPython"))
+        self.groupBox_11.setTitle(_translate("InterfacePage", "Bottom Side"))
+        self.numbersCheckBox.setToolTip(_translate("InterfacePage", "Select to activate the Numbers widget"))
+        self.numbersCheckBox.setText(_translate("InterfacePage", "Numbers"))
+        self.resetLayoutButton.setText(_translate("InterfacePage", "Reset layout to factory defaults"))
+from eric7.EricWidgets.EricPathPicker import EricPathPicker
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Preferences/ConfigurationPages/Ui_IrcPage.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,531 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Preferences/ConfigurationPages/IrcPage.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_IrcPage(object):
+    def setupUi(self, IrcPage):
+        IrcPage.setObjectName("IrcPage")
+        IrcPage.resize(522, 1025)
+        self.verticalLayout_3 = QtWidgets.QVBoxLayout(IrcPage)
+        self.verticalLayout_3.setObjectName("verticalLayout_3")
+        self.headerLabel = QtWidgets.QLabel(parent=IrcPage)
+        self.headerLabel.setObjectName("headerLabel")
+        self.verticalLayout_3.addWidget(self.headerLabel)
+        self.line3 = QtWidgets.QFrame(parent=IrcPage)
+        self.line3.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line3.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line3.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line3.setObjectName("line3")
+        self.verticalLayout_3.addWidget(self.line3)
+        self.timestampGroup = QtWidgets.QGroupBox(parent=IrcPage)
+        self.timestampGroup.setCheckable(True)
+        self.timestampGroup.setObjectName("timestampGroup")
+        self.gridLayout = QtWidgets.QGridLayout(self.timestampGroup)
+        self.gridLayout.setObjectName("gridLayout")
+        self.label = QtWidgets.QLabel(parent=self.timestampGroup)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
+        self.timeFormatCombo = QtWidgets.QComboBox(parent=self.timestampGroup)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.timeFormatCombo.sizePolicy().hasHeightForWidth())
+        self.timeFormatCombo.setSizePolicy(sizePolicy)
+        self.timeFormatCombo.setObjectName("timeFormatCombo")
+        self.gridLayout.addWidget(self.timeFormatCombo, 0, 1, 1, 1)
+        self.label_2 = QtWidgets.QLabel(parent=self.timestampGroup)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 0, 2, 1, 1)
+        self.dateFormatCombo = QtWidgets.QComboBox(parent=self.timestampGroup)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.dateFormatCombo.sizePolicy().hasHeightForWidth())
+        self.dateFormatCombo.setSizePolicy(sizePolicy)
+        self.dateFormatCombo.setObjectName("dateFormatCombo")
+        self.gridLayout.addWidget(self.dateFormatCombo, 0, 3, 1, 1)
+        self.showDateCheckBox = QtWidgets.QCheckBox(parent=self.timestampGroup)
+        self.showDateCheckBox.setObjectName("showDateCheckBox")
+        self.gridLayout.addWidget(self.showDateCheckBox, 1, 0, 1, 4)
+        self.verticalLayout_3.addWidget(self.timestampGroup)
+        self.coloursGroup = QtWidgets.QGroupBox(parent=IrcPage)
+        self.coloursGroup.setObjectName("coloursGroup")
+        self.gridLayout_2 = QtWidgets.QGridLayout(self.coloursGroup)
+        self.gridLayout_2.setObjectName("gridLayout_2")
+        self.label_3 = QtWidgets.QLabel(parent=self.coloursGroup)
+        self.label_3.setObjectName("label_3")
+        self.gridLayout_2.addWidget(self.label_3, 0, 0, 1, 1)
+        self.networkButton = QtWidgets.QPushButton(parent=self.coloursGroup)
+        self.networkButton.setMinimumSize(QtCore.QSize(100, 0))
+        self.networkButton.setText("")
+        self.networkButton.setObjectName("networkButton")
+        self.gridLayout_2.addWidget(self.networkButton, 0, 1, 1, 1)
+        self.label_9 = QtWidgets.QLabel(parent=self.coloursGroup)
+        self.label_9.setObjectName("label_9")
+        self.gridLayout_2.addWidget(self.label_9, 0, 2, 1, 1)
+        self.nickButton = QtWidgets.QPushButton(parent=self.coloursGroup)
+        self.nickButton.setMinimumSize(QtCore.QSize(100, 0))
+        self.nickButton.setText("")
+        self.nickButton.setObjectName("nickButton")
+        self.gridLayout_2.addWidget(self.nickButton, 0, 3, 1, 1)
+        self.label_4 = QtWidgets.QLabel(parent=self.coloursGroup)
+        self.label_4.setObjectName("label_4")
+        self.gridLayout_2.addWidget(self.label_4, 1, 0, 1, 1)
+        self.serverButton = QtWidgets.QPushButton(parent=self.coloursGroup)
+        self.serverButton.setMinimumSize(QtCore.QSize(100, 0))
+        self.serverButton.setText("")
+        self.serverButton.setObjectName("serverButton")
+        self.gridLayout_2.addWidget(self.serverButton, 1, 1, 1, 1)
+        self.label_10 = QtWidgets.QLabel(parent=self.coloursGroup)
+        self.label_10.setObjectName("label_10")
+        self.gridLayout_2.addWidget(self.label_10, 1, 2, 1, 1)
+        self.ownNickButton = QtWidgets.QPushButton(parent=self.coloursGroup)
+        self.ownNickButton.setMinimumSize(QtCore.QSize(100, 0))
+        self.ownNickButton.setText("")
+        self.ownNickButton.setObjectName("ownNickButton")
+        self.gridLayout_2.addWidget(self.ownNickButton, 1, 3, 1, 1)
+        self.label_5 = QtWidgets.QLabel(parent=self.coloursGroup)
+        self.label_5.setObjectName("label_5")
+        self.gridLayout_2.addWidget(self.label_5, 2, 0, 1, 1)
+        self.channelButton = QtWidgets.QPushButton(parent=self.coloursGroup)
+        self.channelButton.setMinimumSize(QtCore.QSize(100, 0))
+        self.channelButton.setText("")
+        self.channelButton.setObjectName("channelButton")
+        self.gridLayout_2.addWidget(self.channelButton, 2, 1, 1, 1)
+        self.label_11 = QtWidgets.QLabel(parent=self.coloursGroup)
+        self.label_11.setObjectName("label_11")
+        self.gridLayout_2.addWidget(self.label_11, 2, 2, 1, 1)
+        self.joinButton = QtWidgets.QPushButton(parent=self.coloursGroup)
+        self.joinButton.setMinimumSize(QtCore.QSize(100, 0))
+        self.joinButton.setText("")
+        self.joinButton.setObjectName("joinButton")
+        self.gridLayout_2.addWidget(self.joinButton, 2, 3, 1, 1)
+        self.label_6 = QtWidgets.QLabel(parent=self.coloursGroup)
+        self.label_6.setObjectName("label_6")
+        self.gridLayout_2.addWidget(self.label_6, 3, 0, 1, 1)
+        self.errorButton = QtWidgets.QPushButton(parent=self.coloursGroup)
+        self.errorButton.setMinimumSize(QtCore.QSize(100, 0))
+        self.errorButton.setText("")
+        self.errorButton.setObjectName("errorButton")
+        self.gridLayout_2.addWidget(self.errorButton, 3, 1, 1, 1)
+        self.label_12 = QtWidgets.QLabel(parent=self.coloursGroup)
+        self.label_12.setObjectName("label_12")
+        self.gridLayout_2.addWidget(self.label_12, 3, 2, 1, 1)
+        self.leaveButton = QtWidgets.QPushButton(parent=self.coloursGroup)
+        self.leaveButton.setMinimumSize(QtCore.QSize(100, 0))
+        self.leaveButton.setText("")
+        self.leaveButton.setObjectName("leaveButton")
+        self.gridLayout_2.addWidget(self.leaveButton, 3, 3, 1, 1)
+        self.label_7 = QtWidgets.QLabel(parent=self.coloursGroup)
+        self.label_7.setObjectName("label_7")
+        self.gridLayout_2.addWidget(self.label_7, 4, 0, 1, 1)
+        self.timestampButton = QtWidgets.QPushButton(parent=self.coloursGroup)
+        self.timestampButton.setMinimumSize(QtCore.QSize(100, 0))
+        self.timestampButton.setText("")
+        self.timestampButton.setObjectName("timestampButton")
+        self.gridLayout_2.addWidget(self.timestampButton, 4, 1, 1, 1)
+        self.label_13 = QtWidgets.QLabel(parent=self.coloursGroup)
+        self.label_13.setObjectName("label_13")
+        self.gridLayout_2.addWidget(self.label_13, 4, 2, 1, 1)
+        self.infoButton = QtWidgets.QPushButton(parent=self.coloursGroup)
+        self.infoButton.setMinimumSize(QtCore.QSize(100, 0))
+        self.infoButton.setText("")
+        self.infoButton.setObjectName("infoButton")
+        self.gridLayout_2.addWidget(self.infoButton, 4, 3, 1, 1)
+        self.label_8 = QtWidgets.QLabel(parent=self.coloursGroup)
+        self.label_8.setObjectName("label_8")
+        self.gridLayout_2.addWidget(self.label_8, 5, 0, 1, 1)
+        self.hyperlinkButton = QtWidgets.QPushButton(parent=self.coloursGroup)
+        self.hyperlinkButton.setMinimumSize(QtCore.QSize(100, 0))
+        self.hyperlinkButton.setText("")
+        self.hyperlinkButton.setObjectName("hyperlinkButton")
+        self.gridLayout_2.addWidget(self.hyperlinkButton, 5, 1, 1, 1)
+        self.verticalLayout_3.addWidget(self.coloursGroup)
+        self.textColoursGroup = QtWidgets.QGroupBox(parent=IrcPage)
+        self.textColoursGroup.setCheckable(True)
+        self.textColoursGroup.setObjectName("textColoursGroup")
+        self.gridLayout_4 = QtWidgets.QGridLayout(self.textColoursGroup)
+        self.gridLayout_4.setObjectName("gridLayout_4")
+        self.label_15 = QtWidgets.QLabel(parent=self.textColoursGroup)
+        self.label_15.setText("0:")
+        self.label_15.setObjectName("label_15")
+        self.gridLayout_4.addWidget(self.label_15, 0, 0, 1, 1)
+        self.ircColor0Button = QtWidgets.QPushButton(parent=self.textColoursGroup)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.ircColor0Button.sizePolicy().hasHeightForWidth())
+        self.ircColor0Button.setSizePolicy(sizePolicy)
+        self.ircColor0Button.setObjectName("ircColor0Button")
+        self.gridLayout_4.addWidget(self.ircColor0Button, 0, 1, 1, 1)
+        self.label_19 = QtWidgets.QLabel(parent=self.textColoursGroup)
+        self.label_19.setText("4:")
+        self.label_19.setObjectName("label_19")
+        self.gridLayout_4.addWidget(self.label_19, 0, 2, 1, 1)
+        self.ircColor4Button = QtWidgets.QPushButton(parent=self.textColoursGroup)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.ircColor4Button.sizePolicy().hasHeightForWidth())
+        self.ircColor4Button.setSizePolicy(sizePolicy)
+        self.ircColor4Button.setObjectName("ircColor4Button")
+        self.gridLayout_4.addWidget(self.ircColor4Button, 0, 3, 1, 1)
+        self.label_23 = QtWidgets.QLabel(parent=self.textColoursGroup)
+        self.label_23.setText("8:")
+        self.label_23.setObjectName("label_23")
+        self.gridLayout_4.addWidget(self.label_23, 0, 4, 1, 1)
+        self.ircColor8Button = QtWidgets.QPushButton(parent=self.textColoursGroup)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.ircColor8Button.sizePolicy().hasHeightForWidth())
+        self.ircColor8Button.setSizePolicy(sizePolicy)
+        self.ircColor8Button.setObjectName("ircColor8Button")
+        self.gridLayout_4.addWidget(self.ircColor8Button, 0, 5, 1, 1)
+        self.label_27 = QtWidgets.QLabel(parent=self.textColoursGroup)
+        self.label_27.setText("12:")
+        self.label_27.setObjectName("label_27")
+        self.gridLayout_4.addWidget(self.label_27, 0, 6, 1, 1)
+        self.ircColor12Button = QtWidgets.QPushButton(parent=self.textColoursGroup)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.ircColor12Button.sizePolicy().hasHeightForWidth())
+        self.ircColor12Button.setSizePolicy(sizePolicy)
+        self.ircColor12Button.setObjectName("ircColor12Button")
+        self.gridLayout_4.addWidget(self.ircColor12Button, 0, 7, 1, 1)
+        self.label_16 = QtWidgets.QLabel(parent=self.textColoursGroup)
+        self.label_16.setText("1:")
+        self.label_16.setObjectName("label_16")
+        self.gridLayout_4.addWidget(self.label_16, 1, 0, 1, 1)
+        self.ircColor1Button = QtWidgets.QPushButton(parent=self.textColoursGroup)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.ircColor1Button.sizePolicy().hasHeightForWidth())
+        self.ircColor1Button.setSizePolicy(sizePolicy)
+        self.ircColor1Button.setObjectName("ircColor1Button")
+        self.gridLayout_4.addWidget(self.ircColor1Button, 1, 1, 1, 1)
+        self.label_20 = QtWidgets.QLabel(parent=self.textColoursGroup)
+        self.label_20.setText("5:")
+        self.label_20.setObjectName("label_20")
+        self.gridLayout_4.addWidget(self.label_20, 1, 2, 1, 1)
+        self.ircColor5Button = QtWidgets.QPushButton(parent=self.textColoursGroup)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.ircColor5Button.sizePolicy().hasHeightForWidth())
+        self.ircColor5Button.setSizePolicy(sizePolicy)
+        self.ircColor5Button.setObjectName("ircColor5Button")
+        self.gridLayout_4.addWidget(self.ircColor5Button, 1, 3, 1, 1)
+        self.label_24 = QtWidgets.QLabel(parent=self.textColoursGroup)
+        self.label_24.setText("9:")
+        self.label_24.setObjectName("label_24")
+        self.gridLayout_4.addWidget(self.label_24, 1, 4, 1, 1)
+        self.ircColor9Button = QtWidgets.QPushButton(parent=self.textColoursGroup)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.ircColor9Button.sizePolicy().hasHeightForWidth())
+        self.ircColor9Button.setSizePolicy(sizePolicy)
+        self.ircColor9Button.setObjectName("ircColor9Button")
+        self.gridLayout_4.addWidget(self.ircColor9Button, 1, 5, 1, 1)
+        self.label_28 = QtWidgets.QLabel(parent=self.textColoursGroup)
+        self.label_28.setText("13:")
+        self.label_28.setObjectName("label_28")
+        self.gridLayout_4.addWidget(self.label_28, 1, 6, 1, 1)
+        self.ircColor13Button = QtWidgets.QPushButton(parent=self.textColoursGroup)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.ircColor13Button.sizePolicy().hasHeightForWidth())
+        self.ircColor13Button.setSizePolicy(sizePolicy)
+        self.ircColor13Button.setObjectName("ircColor13Button")
+        self.gridLayout_4.addWidget(self.ircColor13Button, 1, 7, 1, 1)
+        self.label_17 = QtWidgets.QLabel(parent=self.textColoursGroup)
+        self.label_17.setText("2:")
+        self.label_17.setObjectName("label_17")
+        self.gridLayout_4.addWidget(self.label_17, 2, 0, 1, 1)
+        self.ircColor2Button = QtWidgets.QPushButton(parent=self.textColoursGroup)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.ircColor2Button.sizePolicy().hasHeightForWidth())
+        self.ircColor2Button.setSizePolicy(sizePolicy)
+        self.ircColor2Button.setObjectName("ircColor2Button")
+        self.gridLayout_4.addWidget(self.ircColor2Button, 2, 1, 1, 1)
+        self.label_21 = QtWidgets.QLabel(parent=self.textColoursGroup)
+        self.label_21.setText("6:")
+        self.label_21.setObjectName("label_21")
+        self.gridLayout_4.addWidget(self.label_21, 2, 2, 1, 1)
+        self.ircColor6Button = QtWidgets.QPushButton(parent=self.textColoursGroup)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.ircColor6Button.sizePolicy().hasHeightForWidth())
+        self.ircColor6Button.setSizePolicy(sizePolicy)
+        self.ircColor6Button.setObjectName("ircColor6Button")
+        self.gridLayout_4.addWidget(self.ircColor6Button, 2, 3, 1, 1)
+        self.label_25 = QtWidgets.QLabel(parent=self.textColoursGroup)
+        self.label_25.setText("10:")
+        self.label_25.setObjectName("label_25")
+        self.gridLayout_4.addWidget(self.label_25, 2, 4, 1, 1)
+        self.ircColor10Button = QtWidgets.QPushButton(parent=self.textColoursGroup)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.ircColor10Button.sizePolicy().hasHeightForWidth())
+        self.ircColor10Button.setSizePolicy(sizePolicy)
+        self.ircColor10Button.setObjectName("ircColor10Button")
+        self.gridLayout_4.addWidget(self.ircColor10Button, 2, 5, 1, 1)
+        self.label_29 = QtWidgets.QLabel(parent=self.textColoursGroup)
+        self.label_29.setText("14:")
+        self.label_29.setObjectName("label_29")
+        self.gridLayout_4.addWidget(self.label_29, 2, 6, 1, 1)
+        self.ircColor14Button = QtWidgets.QPushButton(parent=self.textColoursGroup)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.ircColor14Button.sizePolicy().hasHeightForWidth())
+        self.ircColor14Button.setSizePolicy(sizePolicy)
+        self.ircColor14Button.setObjectName("ircColor14Button")
+        self.gridLayout_4.addWidget(self.ircColor14Button, 2, 7, 1, 1)
+        self.label_18 = QtWidgets.QLabel(parent=self.textColoursGroup)
+        self.label_18.setText("3:")
+        self.label_18.setObjectName("label_18")
+        self.gridLayout_4.addWidget(self.label_18, 3, 0, 1, 1)
+        self.ircColor3Button = QtWidgets.QPushButton(parent=self.textColoursGroup)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.ircColor3Button.sizePolicy().hasHeightForWidth())
+        self.ircColor3Button.setSizePolicy(sizePolicy)
+        self.ircColor3Button.setObjectName("ircColor3Button")
+        self.gridLayout_4.addWidget(self.ircColor3Button, 3, 1, 1, 1)
+        self.label_22 = QtWidgets.QLabel(parent=self.textColoursGroup)
+        self.label_22.setText("7:")
+        self.label_22.setObjectName("label_22")
+        self.gridLayout_4.addWidget(self.label_22, 3, 2, 1, 1)
+        self.ircColor7Button = QtWidgets.QPushButton(parent=self.textColoursGroup)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.ircColor7Button.sizePolicy().hasHeightForWidth())
+        self.ircColor7Button.setSizePolicy(sizePolicy)
+        self.ircColor7Button.setObjectName("ircColor7Button")
+        self.gridLayout_4.addWidget(self.ircColor7Button, 3, 3, 1, 1)
+        self.label_26 = QtWidgets.QLabel(parent=self.textColoursGroup)
+        self.label_26.setText("11:")
+        self.label_26.setObjectName("label_26")
+        self.gridLayout_4.addWidget(self.label_26, 3, 4, 1, 1)
+        self.ircColor11Button = QtWidgets.QPushButton(parent=self.textColoursGroup)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.ircColor11Button.sizePolicy().hasHeightForWidth())
+        self.ircColor11Button.setSizePolicy(sizePolicy)
+        self.ircColor11Button.setObjectName("ircColor11Button")
+        self.gridLayout_4.addWidget(self.ircColor11Button, 3, 5, 1, 1)
+        self.label_30 = QtWidgets.QLabel(parent=self.textColoursGroup)
+        self.label_30.setText("15:")
+        self.label_30.setObjectName("label_30")
+        self.gridLayout_4.addWidget(self.label_30, 3, 6, 1, 1)
+        self.ircColor15Button = QtWidgets.QPushButton(parent=self.textColoursGroup)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.ircColor15Button.sizePolicy().hasHeightForWidth())
+        self.ircColor15Button.setSizePolicy(sizePolicy)
+        self.ircColor15Button.setObjectName("ircColor15Button")
+        self.gridLayout_4.addWidget(self.ircColor15Button, 3, 7, 1, 1)
+        self.verticalLayout_3.addWidget(self.textColoursGroup)
+        self.notificationsGroup = QtWidgets.QGroupBox(parent=IrcPage)
+        self.notificationsGroup.setCheckable(True)
+        self.notificationsGroup.setObjectName("notificationsGroup")
+        self.gridLayout_3 = QtWidgets.QGridLayout(self.notificationsGroup)
+        self.gridLayout_3.setObjectName("gridLayout_3")
+        self.joinLeaveCheckBox = QtWidgets.QCheckBox(parent=self.notificationsGroup)
+        self.joinLeaveCheckBox.setObjectName("joinLeaveCheckBox")
+        self.gridLayout_3.addWidget(self.joinLeaveCheckBox, 0, 0, 1, 1)
+        self.messageCheckBox = QtWidgets.QCheckBox(parent=self.notificationsGroup)
+        self.messageCheckBox.setObjectName("messageCheckBox")
+        self.gridLayout_3.addWidget(self.messageCheckBox, 1, 0, 1, 1)
+        self.ownNickCheckBox = QtWidgets.QCheckBox(parent=self.notificationsGroup)
+        self.ownNickCheckBox.setObjectName("ownNickCheckBox")
+        self.gridLayout_3.addWidget(self.ownNickCheckBox, 0, 1, 1, 1)
+        self.verticalLayout_3.addWidget(self.notificationsGroup)
+        self.whoGroup = QtWidgets.QGroupBox(parent=IrcPage)
+        self.whoGroup.setCheckable(True)
+        self.whoGroup.setChecked(False)
+        self.whoGroup.setObjectName("whoGroup")
+        self.gridLayout_5 = QtWidgets.QGridLayout(self.whoGroup)
+        self.gridLayout_5.setObjectName("gridLayout_5")
+        self.label_31 = QtWidgets.QLabel(parent=self.whoGroup)
+        self.label_31.setObjectName("label_31")
+        self.gridLayout_5.addWidget(self.label_31, 0, 0, 1, 1)
+        self.whoUsersSpinBox = QtWidgets.QSpinBox(parent=self.whoGroup)
+        self.whoUsersSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.whoUsersSpinBox.setMaximum(999)
+        self.whoUsersSpinBox.setObjectName("whoUsersSpinBox")
+        self.gridLayout_5.addWidget(self.whoUsersSpinBox, 0, 1, 1, 1)
+        spacerItem = QtWidgets.QSpacerItem(174, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout_5.addItem(spacerItem, 0, 2, 1, 1)
+        self.label_32 = QtWidgets.QLabel(parent=self.whoGroup)
+        self.label_32.setObjectName("label_32")
+        self.gridLayout_5.addWidget(self.label_32, 1, 0, 1, 1)
+        self.whoIntervalSpinBox = QtWidgets.QSpinBox(parent=self.whoGroup)
+        self.whoIntervalSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.whoIntervalSpinBox.setMinimum(30)
+        self.whoIntervalSpinBox.setMaximum(600)
+        self.whoIntervalSpinBox.setSingleStep(10)
+        self.whoIntervalSpinBox.setObjectName("whoIntervalSpinBox")
+        self.gridLayout_5.addWidget(self.whoIntervalSpinBox, 1, 1, 1, 1)
+        self.verticalLayout_3.addWidget(self.whoGroup)
+        self.markerGroup = QtWidgets.QGroupBox(parent=IrcPage)
+        self.markerGroup.setObjectName("markerGroup")
+        self.gridLayout_6 = QtWidgets.QGridLayout(self.markerGroup)
+        self.gridLayout_6.setObjectName("gridLayout_6")
+        self.markWhenHiddenCheckBox = QtWidgets.QCheckBox(parent=self.markerGroup)
+        self.markWhenHiddenCheckBox.setObjectName("markWhenHiddenCheckBox")
+        self.gridLayout_6.addWidget(self.markWhenHiddenCheckBox, 0, 0, 1, 3)
+        self.label_33 = QtWidgets.QLabel(parent=self.markerGroup)
+        self.label_33.setObjectName("label_33")
+        self.gridLayout_6.addWidget(self.label_33, 1, 0, 1, 1)
+        self.markerForegroundButton = QtWidgets.QPushButton(parent=self.markerGroup)
+        self.markerForegroundButton.setMinimumSize(QtCore.QSize(100, 0))
+        self.markerForegroundButton.setText("")
+        self.markerForegroundButton.setObjectName("markerForegroundButton")
+        self.gridLayout_6.addWidget(self.markerForegroundButton, 1, 1, 1, 1)
+        spacerItem1 = QtWidgets.QSpacerItem(240, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout_6.addItem(spacerItem1, 1, 2, 2, 1)
+        self.markerBackgroundButton = QtWidgets.QPushButton(parent=self.markerGroup)
+        self.markerBackgroundButton.setMinimumSize(QtCore.QSize(100, 0))
+        self.markerBackgroundButton.setText("")
+        self.markerBackgroundButton.setObjectName("markerBackgroundButton")
+        self.gridLayout_6.addWidget(self.markerBackgroundButton, 2, 1, 2, 1)
+        self.label_34 = QtWidgets.QLabel(parent=self.markerGroup)
+        self.label_34.setObjectName("label_34")
+        self.gridLayout_6.addWidget(self.label_34, 3, 0, 1, 1)
+        self.verticalLayout_3.addWidget(self.markerGroup)
+        self.shutdownGroup = QtWidgets.QGroupBox(parent=IrcPage)
+        self.shutdownGroup.setObjectName("shutdownGroup")
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.shutdownGroup)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.confirmShutdownCheckBox = QtWidgets.QCheckBox(parent=self.shutdownGroup)
+        self.confirmShutdownCheckBox.setObjectName("confirmShutdownCheckBox")
+        self.verticalLayout_2.addWidget(self.confirmShutdownCheckBox)
+        self.verticalLayout_3.addWidget(self.shutdownGroup)
+
+        self.retranslateUi(IrcPage)
+        QtCore.QMetaObject.connectSlotsByName(IrcPage)
+        IrcPage.setTabOrder(self.timestampGroup, self.timeFormatCombo)
+        IrcPage.setTabOrder(self.timeFormatCombo, self.dateFormatCombo)
+        IrcPage.setTabOrder(self.dateFormatCombo, self.showDateCheckBox)
+        IrcPage.setTabOrder(self.showDateCheckBox, self.networkButton)
+        IrcPage.setTabOrder(self.networkButton, self.serverButton)
+        IrcPage.setTabOrder(self.serverButton, self.channelButton)
+        IrcPage.setTabOrder(self.channelButton, self.errorButton)
+        IrcPage.setTabOrder(self.errorButton, self.timestampButton)
+        IrcPage.setTabOrder(self.timestampButton, self.hyperlinkButton)
+        IrcPage.setTabOrder(self.hyperlinkButton, self.nickButton)
+        IrcPage.setTabOrder(self.nickButton, self.ownNickButton)
+        IrcPage.setTabOrder(self.ownNickButton, self.joinButton)
+        IrcPage.setTabOrder(self.joinButton, self.leaveButton)
+        IrcPage.setTabOrder(self.leaveButton, self.infoButton)
+        IrcPage.setTabOrder(self.infoButton, self.textColoursGroup)
+        IrcPage.setTabOrder(self.textColoursGroup, self.ircColor0Button)
+        IrcPage.setTabOrder(self.ircColor0Button, self.ircColor1Button)
+        IrcPage.setTabOrder(self.ircColor1Button, self.ircColor2Button)
+        IrcPage.setTabOrder(self.ircColor2Button, self.ircColor3Button)
+        IrcPage.setTabOrder(self.ircColor3Button, self.ircColor4Button)
+        IrcPage.setTabOrder(self.ircColor4Button, self.ircColor5Button)
+        IrcPage.setTabOrder(self.ircColor5Button, self.ircColor6Button)
+        IrcPage.setTabOrder(self.ircColor6Button, self.ircColor7Button)
+        IrcPage.setTabOrder(self.ircColor7Button, self.ircColor8Button)
+        IrcPage.setTabOrder(self.ircColor8Button, self.ircColor9Button)
+        IrcPage.setTabOrder(self.ircColor9Button, self.ircColor10Button)
+        IrcPage.setTabOrder(self.ircColor10Button, self.ircColor11Button)
+        IrcPage.setTabOrder(self.ircColor11Button, self.ircColor12Button)
+        IrcPage.setTabOrder(self.ircColor12Button, self.ircColor13Button)
+        IrcPage.setTabOrder(self.ircColor13Button, self.ircColor14Button)
+        IrcPage.setTabOrder(self.ircColor14Button, self.ircColor15Button)
+        IrcPage.setTabOrder(self.ircColor15Button, self.notificationsGroup)
+        IrcPage.setTabOrder(self.notificationsGroup, self.joinLeaveCheckBox)
+        IrcPage.setTabOrder(self.joinLeaveCheckBox, self.messageCheckBox)
+        IrcPage.setTabOrder(self.messageCheckBox, self.ownNickCheckBox)
+        IrcPage.setTabOrder(self.ownNickCheckBox, self.whoGroup)
+        IrcPage.setTabOrder(self.whoGroup, self.whoUsersSpinBox)
+        IrcPage.setTabOrder(self.whoUsersSpinBox, self.whoIntervalSpinBox)
+        IrcPage.setTabOrder(self.whoIntervalSpinBox, self.markWhenHiddenCheckBox)
+        IrcPage.setTabOrder(self.markWhenHiddenCheckBox, self.markerForegroundButton)
+        IrcPage.setTabOrder(self.markerForegroundButton, self.markerBackgroundButton)
+        IrcPage.setTabOrder(self.markerBackgroundButton, self.confirmShutdownCheckBox)
+
+    def retranslateUi(self, IrcPage):
+        _translate = QtCore.QCoreApplication.translate
+        self.headerLabel.setText(_translate("IrcPage", "<b>Configure IRC</b>"))
+        self.timestampGroup.setToolTip(_translate("IrcPage", "Enable to show timestamps"))
+        self.timestampGroup.setTitle(_translate("IrcPage", "Show Timestamps"))
+        self.label.setText(_translate("IrcPage", "Time Format:"))
+        self.timeFormatCombo.setToolTip(_translate("IrcPage", "Select the time format to use"))
+        self.label_2.setText(_translate("IrcPage", "Date Format"))
+        self.dateFormatCombo.setToolTip(_translate("IrcPage", "Select the date format to use"))
+        self.showDateCheckBox.setToolTip(_translate("IrcPage", "Select to show the date in timestamps"))
+        self.showDateCheckBox.setText(_translate("IrcPage", "Show Date"))
+        self.coloursGroup.setTitle(_translate("IrcPage", "Colors"))
+        self.label_3.setText(_translate("IrcPage", "Network Messages:"))
+        self.networkButton.setToolTip(_translate("IrcPage", "Select the color for network messages"))
+        self.label_9.setText(_translate("IrcPage", "Nick Names:"))
+        self.nickButton.setToolTip(_translate("IrcPage", "Select the color for nick names"))
+        self.label_4.setText(_translate("IrcPage", "Server Messages:"))
+        self.serverButton.setToolTip(_translate("IrcPage", "Select the color for server messages"))
+        self.label_10.setText(_translate("IrcPage", "Own Nick Name:"))
+        self.ownNickButton.setToolTip(_translate("IrcPage", "Select the color for own nick name"))
+        self.label_5.setText(_translate("IrcPage", "Channel Messages:"))
+        self.channelButton.setToolTip(_translate("IrcPage", "Select the color for channel messages"))
+        self.label_11.setText(_translate("IrcPage", "Join Channel:"))
+        self.joinButton.setToolTip(_translate("IrcPage", "Select the color for join channel messages"))
+        self.label_6.setText(_translate("IrcPage", "Error Messages:"))
+        self.errorButton.setToolTip(_translate("IrcPage", "Select the color for error messages"))
+        self.label_12.setText(_translate("IrcPage", "Leave Channel:"))
+        self.leaveButton.setToolTip(_translate("IrcPage", "Select the color for leave channel messages"))
+        self.label_7.setText(_translate("IrcPage", "Timestamp:"))
+        self.timestampButton.setToolTip(_translate("IrcPage", "Select the color for timestamps"))
+        self.label_13.setText(_translate("IrcPage", "Channel Info:"))
+        self.infoButton.setToolTip(_translate("IrcPage", "Select the color for channel info messages"))
+        self.label_8.setText(_translate("IrcPage", "Hyperlink:"))
+        self.hyperlinkButton.setToolTip(_translate("IrcPage", "Select the color for hyperlinks"))
+        self.textColoursGroup.setToolTip(_translate("IrcPage", "Enable to allow colored text in IRC messages"))
+        self.textColoursGroup.setTitle(_translate("IrcPage", "Allow Colored Text in IRC Messages"))
+        self.notificationsGroup.setToolTip(_translate("IrcPage", "Enable to show notifications"))
+        self.notificationsGroup.setTitle(_translate("IrcPage", "Show Notifications"))
+        self.joinLeaveCheckBox.setToolTip(_translate("IrcPage", "Select to show a notification for join and leave events"))
+        self.joinLeaveCheckBox.setText(_translate("IrcPage", "Join/Leave Event"))
+        self.messageCheckBox.setToolTip(_translate("IrcPage", "Select to show a notification for every message"))
+        self.messageCheckBox.setText(_translate("IrcPage", "Every Message"))
+        self.ownNickCheckBox.setToolTip(_translate("IrcPage", "Select to show a notification for every mentioning of your nick"))
+        self.ownNickCheckBox.setText(_translate("IrcPage", "Mentioning of Own Nick"))
+        self.whoGroup.setToolTip(_translate("IrcPage", "Select this to enable the automatic lookup of user information for joined channels"))
+        self.whoGroup.setTitle(_translate("IrcPage", "Enable Automatic User Information Lookup (/WHO)"))
+        self.label_31.setText(_translate("IrcPage", "Max. Number of Users in Channel:"))
+        self.whoUsersSpinBox.setToolTip(_translate("IrcPage", "Enter the maximum numbers of users in a channel allowed for this function"))
+        self.label_32.setText(_translate("IrcPage", "Update Interval:"))
+        self.whoIntervalSpinBox.setToolTip(_translate("IrcPage", "Enter the user information update interval"))
+        self.whoIntervalSpinBox.setSuffix(_translate("IrcPage", " s"))
+        self.markerGroup.setTitle(_translate("IrcPage", "Marker"))
+        self.markWhenHiddenCheckBox.setToolTip(_translate("IrcPage", "Select to mark the current position, when the chat window is hidden"))
+        self.markWhenHiddenCheckBox.setText(_translate("IrcPage", "Mark Current Position When Hidden"))
+        self.label_33.setText(_translate("IrcPage", "Marker Foreground:"))
+        self.markerForegroundButton.setToolTip(_translate("IrcPage", "Select the foreground color for the marker"))
+        self.markerBackgroundButton.setToolTip(_translate("IrcPage", "Select the background color for the marker"))
+        self.label_34.setText(_translate("IrcPage", "Marker Background:"))
+        self.shutdownGroup.setTitle(_translate("IrcPage", "Shutdown"))
+        self.confirmShutdownCheckBox.setToolTip(_translate("IrcPage", "Select to confirm a shutdown operation while still connected to an IRC server"))
+        self.confirmShutdownCheckBox.setText(_translate("IrcPage", "Confirm Shutdown When Connected"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Preferences/ConfigurationPages/Ui_LogViewerPage.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,94 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Preferences/ConfigurationPages/LogViewerPage.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_LogViewerPage(object):
+    def setupUi(self, LogViewerPage):
+        LogViewerPage.setObjectName("LogViewerPage")
+        LogViewerPage.resize(601, 479)
+        self.verticalLayout = QtWidgets.QVBoxLayout(LogViewerPage)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.headerLabel = QtWidgets.QLabel(parent=LogViewerPage)
+        self.headerLabel.setObjectName("headerLabel")
+        self.verticalLayout.addWidget(self.headerLabel)
+        self.line9 = QtWidgets.QFrame(parent=LogViewerPage)
+        self.line9.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line9.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line9.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line9.setObjectName("line9")
+        self.verticalLayout.addWidget(self.line9)
+        self.lvAutoRaiseCheckBox = QtWidgets.QCheckBox(parent=LogViewerPage)
+        self.lvAutoRaiseCheckBox.setObjectName("lvAutoRaiseCheckBox")
+        self.verticalLayout.addWidget(self.lvAutoRaiseCheckBox)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.TextLabel3_2_2 = QtWidgets.QLabel(parent=LogViewerPage)
+        self.TextLabel3_2_2.setObjectName("TextLabel3_2_2")
+        self.horizontalLayout.addWidget(self.TextLabel3_2_2)
+        self.stderrTextColourButton = QtWidgets.QPushButton(parent=LogViewerPage)
+        self.stderrTextColourButton.setMinimumSize(QtCore.QSize(100, 0))
+        self.stderrTextColourButton.setText("")
+        self.stderrTextColourButton.setObjectName("stderrTextColourButton")
+        self.horizontalLayout.addWidget(self.stderrTextColourButton)
+        self.errorTextExample = QtWidgets.QLineEdit(parent=LogViewerPage)
+        self.errorTextExample.setReadOnly(True)
+        self.errorTextExample.setObjectName("errorTextExample")
+        self.horizontalLayout.addWidget(self.errorTextExample)
+        self.verticalLayout.addLayout(self.horizontalLayout)
+        self.label = QtWidgets.QLabel(parent=LogViewerPage)
+        self.label.setObjectName("label")
+        self.verticalLayout.addWidget(self.label)
+        self.filtersTabWidget = QtWidgets.QTabWidget(parent=LogViewerPage)
+        self.filtersTabWidget.setObjectName("filtersTabWidget")
+        self.stdout = QtWidgets.QWidget()
+        self.stdout.setObjectName("stdout")
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.stdout)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.stdoutFilterEdit = EricStringListEditWidget(parent=self.stdout)
+        self.stdoutFilterEdit.setObjectName("stdoutFilterEdit")
+        self.verticalLayout_2.addWidget(self.stdoutFilterEdit)
+        self.filtersTabWidget.addTab(self.stdout, "")
+        self.stderr = QtWidgets.QWidget()
+        self.stderr.setObjectName("stderr")
+        self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.stderr)
+        self.verticalLayout_3.setObjectName("verticalLayout_3")
+        self.stderrFilterEdit = EricStringListEditWidget(parent=self.stderr)
+        self.stderrFilterEdit.setObjectName("stderrFilterEdit")
+        self.verticalLayout_3.addWidget(self.stderrFilterEdit)
+        self.filtersTabWidget.addTab(self.stderr, "")
+        self.stdxxx = QtWidgets.QWidget()
+        self.stdxxx.setObjectName("stdxxx")
+        self.verticalLayout_4 = QtWidgets.QVBoxLayout(self.stdxxx)
+        self.verticalLayout_4.setObjectName("verticalLayout_4")
+        self.stdxxxFilterEdit = EricStringListEditWidget(parent=self.stdxxx)
+        self.stdxxxFilterEdit.setObjectName("stdxxxFilterEdit")
+        self.verticalLayout_4.addWidget(self.stdxxxFilterEdit)
+        self.filtersTabWidget.addTab(self.stdxxx, "")
+        self.verticalLayout.addWidget(self.filtersTabWidget)
+
+        self.retranslateUi(LogViewerPage)
+        self.filtersTabWidget.setCurrentIndex(0)
+        QtCore.QMetaObject.connectSlotsByName(LogViewerPage)
+        LogViewerPage.setTabOrder(self.lvAutoRaiseCheckBox, self.stderrTextColourButton)
+        LogViewerPage.setTabOrder(self.stderrTextColourButton, self.filtersTabWidget)
+
+    def retranslateUi(self, LogViewerPage):
+        _translate = QtCore.QCoreApplication.translate
+        self.headerLabel.setText(_translate("LogViewerPage", "<b>Configure Log Viewer</b>"))
+        self.lvAutoRaiseCheckBox.setToolTip(_translate("LogViewerPage", "Select to show the log-viewer upon new output"))
+        self.lvAutoRaiseCheckBox.setText(_translate("LogViewerPage", "Show upon new output"))
+        self.TextLabel3_2_2.setText(_translate("LogViewerPage", "Error Color:"))
+        self.stderrTextColourButton.setToolTip(_translate("LogViewerPage", "Select the color for text sent to stderr"))
+        self.errorTextExample.setText(_translate("LogViewerPage", "There was an error condition reported."))
+        self.label.setText(_translate("LogViewerPage", "Message Filters:"))
+        self.filtersTabWidget.setTabText(self.filtersTabWidget.indexOf(self.stdout), _translate("LogViewerPage", "Standard Output"))
+        self.filtersTabWidget.setTabText(self.filtersTabWidget.indexOf(self.stderr), _translate("LogViewerPage", "Standard Error"))
+        self.filtersTabWidget.setTabText(self.filtersTabWidget.indexOf(self.stdxxx), _translate("LogViewerPage", "Both"))
+from eric7.EricWidgets.EricStringListEditWidget import EricStringListEditWidget
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Preferences/ConfigurationPages/Ui_MainPasswordEntryDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,82 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Preferences/ConfigurationPages/MainPasswordEntryDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_MainPasswordEntryDialog(object):
+    def setupUi(self, MainPasswordEntryDialog):
+        MainPasswordEntryDialog.setObjectName("MainPasswordEntryDialog")
+        MainPasswordEntryDialog.resize(450, 322)
+        MainPasswordEntryDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(MainPasswordEntryDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.label = QtWidgets.QLabel(parent=MainPasswordEntryDialog)
+        self.label.setWordWrap(True)
+        self.label.setObjectName("label")
+        self.verticalLayout.addWidget(self.label)
+        spacerItem = QtWidgets.QSpacerItem(20, 28, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout.addItem(spacerItem)
+        self.gridLayout = QtWidgets.QGridLayout()
+        self.gridLayout.setObjectName("gridLayout")
+        self.label_2 = QtWidgets.QLabel(parent=MainPasswordEntryDialog)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 0, 0, 1, 1)
+        self.currentPasswordEdit = QtWidgets.QLineEdit(parent=MainPasswordEntryDialog)
+        self.currentPasswordEdit.setEchoMode(QtWidgets.QLineEdit.EchoMode.Password)
+        self.currentPasswordEdit.setObjectName("currentPasswordEdit")
+        self.gridLayout.addWidget(self.currentPasswordEdit, 0, 1, 1, 1)
+        self.label_3 = QtWidgets.QLabel(parent=MainPasswordEntryDialog)
+        self.label_3.setObjectName("label_3")
+        self.gridLayout.addWidget(self.label_3, 1, 0, 1, 1)
+        self.newPasswordEdit = QtWidgets.QLineEdit(parent=MainPasswordEntryDialog)
+        self.newPasswordEdit.setEchoMode(QtWidgets.QLineEdit.EchoMode.Password)
+        self.newPasswordEdit.setObjectName("newPasswordEdit")
+        self.gridLayout.addWidget(self.newPasswordEdit, 1, 1, 1, 1)
+        self.label_4 = QtWidgets.QLabel(parent=MainPasswordEntryDialog)
+        self.label_4.setObjectName("label_4")
+        self.gridLayout.addWidget(self.label_4, 2, 0, 1, 1)
+        self.newPasswordAgainEdit = QtWidgets.QLineEdit(parent=MainPasswordEntryDialog)
+        self.newPasswordAgainEdit.setEchoMode(QtWidgets.QLineEdit.EchoMode.Password)
+        self.newPasswordAgainEdit.setObjectName("newPasswordAgainEdit")
+        self.gridLayout.addWidget(self.newPasswordAgainEdit, 2, 1, 1, 1)
+        self.verticalLayout.addLayout(self.gridLayout)
+        self.passwordMeter = EricPasswordMeter(parent=MainPasswordEntryDialog)
+        self.passwordMeter.setObjectName("passwordMeter")
+        self.verticalLayout.addWidget(self.passwordMeter)
+        self.errorLabel = QtWidgets.QLabel(parent=MainPasswordEntryDialog)
+        self.errorLabel.setStyleSheet("color : red;")
+        self.errorLabel.setWordWrap(True)
+        self.errorLabel.setObjectName("errorLabel")
+        self.verticalLayout.addWidget(self.errorLabel)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=MainPasswordEntryDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(MainPasswordEntryDialog)
+        self.buttonBox.accepted.connect(MainPasswordEntryDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(MainPasswordEntryDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(MainPasswordEntryDialog)
+        MainPasswordEntryDialog.setTabOrder(self.currentPasswordEdit, self.newPasswordEdit)
+        MainPasswordEntryDialog.setTabOrder(self.newPasswordEdit, self.newPasswordAgainEdit)
+        MainPasswordEntryDialog.setTabOrder(self.newPasswordAgainEdit, self.buttonBox)
+
+    def retranslateUi(self, MainPasswordEntryDialog):
+        _translate = QtCore.QCoreApplication.translate
+        MainPasswordEntryDialog.setWindowTitle(_translate("MainPasswordEntryDialog", "Main Password"))
+        self.label.setText(_translate("MainPasswordEntryDialog", "<p>Enter your main password below. This password will be used to encrypt sensitive data. You will be asked once per session for this password when the data needs to be accessed for the first time.<br/><br/><b>Note: If you forget the main password, the encrypted data cannot be recovered!</b></p>"))
+        self.label_2.setText(_translate("MainPasswordEntryDialog", "Current Password:"))
+        self.currentPasswordEdit.setToolTip(_translate("MainPasswordEntryDialog", "Enter the current password"))
+        self.label_3.setText(_translate("MainPasswordEntryDialog", "New Password:"))
+        self.newPasswordEdit.setToolTip(_translate("MainPasswordEntryDialog", "Enter the new password"))
+        self.label_4.setText(_translate("MainPasswordEntryDialog", "New Password (again):"))
+        self.newPasswordAgainEdit.setToolTip(_translate("MainPasswordEntryDialog", "Repeat the new password"))
+        self.passwordMeter.setToolTip(_translate("MainPasswordEntryDialog", "Shows an indication for the password strength"))
+from eric7.EricWidgets.EricPasswordMeter import EricPasswordMeter
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Preferences/ConfigurationPages/Ui_MicroPythonPage.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,599 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Preferences/ConfigurationPages/MicroPythonPage.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_MicroPythonPage(object):
+    def setupUi(self, MicroPythonPage):
+        MicroPythonPage.setObjectName("MicroPythonPage")
+        MicroPythonPage.resize(541, 2150)
+        self.verticalLayout_3 = QtWidgets.QVBoxLayout(MicroPythonPage)
+        self.verticalLayout_3.setObjectName("verticalLayout_3")
+        self.headerLabel = QtWidgets.QLabel(parent=MicroPythonPage)
+        self.headerLabel.setObjectName("headerLabel")
+        self.verticalLayout_3.addWidget(self.headerLabel)
+        self.line9_3 = QtWidgets.QFrame(parent=MicroPythonPage)
+        self.line9_3.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line9_3.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line9_3.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line9_3.setObjectName("line9_3")
+        self.verticalLayout_3.addWidget(self.line9_3)
+        self.groupBox_4 = QtWidgets.QGroupBox(parent=MicroPythonPage)
+        self.groupBox_4.setObjectName("groupBox_4")
+        self.horizontalLayout_4 = QtWidgets.QHBoxLayout(self.groupBox_4)
+        self.horizontalLayout_4.setObjectName("horizontalLayout_4")
+        self.workspacePicker = EricPathPicker(parent=self.groupBox_4)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.workspacePicker.sizePolicy().hasHeightForWidth())
+        self.workspacePicker.setSizePolicy(sizePolicy)
+        self.workspacePicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.workspacePicker.setObjectName("workspacePicker")
+        self.horizontalLayout_4.addWidget(self.workspacePicker)
+        self.verticalLayout_3.addWidget(self.groupBox_4)
+        self.groupBox_12 = QtWidgets.QGroupBox(parent=MicroPythonPage)
+        self.groupBox_12.setObjectName("groupBox_12")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.groupBox_12)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.manualSelectionCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_12)
+        self.manualSelectionCheckBox.setObjectName("manualSelectionCheckBox")
+        self.verticalLayout.addWidget(self.manualSelectionCheckBox)
+        self.verticalLayout_3.addWidget(self.groupBox_12)
+        self.groupBox_2 = QtWidgets.QGroupBox(parent=MicroPythonPage)
+        self.groupBox_2.setObjectName("groupBox_2")
+        self.gridLayout_2 = QtWidgets.QGridLayout(self.groupBox_2)
+        self.gridLayout_2.setObjectName("gridLayout_2")
+        self.label_2 = QtWidgets.QLabel(parent=self.groupBox_2)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout_2.addWidget(self.label_2, 0, 0, 1, 1)
+        self.serialTimeoutSpinBox = QtWidgets.QSpinBox(parent=self.groupBox_2)
+        self.serialTimeoutSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.serialTimeoutSpinBox.setMinimum(1)
+        self.serialTimeoutSpinBox.setMaximum(30)
+        self.serialTimeoutSpinBox.setObjectName("serialTimeoutSpinBox")
+        self.gridLayout_2.addWidget(self.serialTimeoutSpinBox, 0, 1, 1, 1)
+        spacerItem = QtWidgets.QSpacerItem(195, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout_2.addItem(spacerItem, 0, 2, 1, 1)
+        self.label_33 = QtWidgets.QLabel(parent=self.groupBox_2)
+        self.label_33.setObjectName("label_33")
+        self.gridLayout_2.addWidget(self.label_33, 1, 0, 1, 1)
+        self.webreplTimeoutSpinBox = QtWidgets.QSpinBox(parent=self.groupBox_2)
+        self.webreplTimeoutSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.webreplTimeoutSpinBox.setMinimum(1)
+        self.webreplTimeoutSpinBox.setMaximum(30)
+        self.webreplTimeoutSpinBox.setObjectName("webreplTimeoutSpinBox")
+        self.gridLayout_2.addWidget(self.webreplTimeoutSpinBox, 1, 1, 1, 1)
+        self.verticalLayout_3.addWidget(self.groupBox_2)
+        self.groupBox_19 = QtWidgets.QGroupBox(parent=MicroPythonPage)
+        self.groupBox_19.setObjectName("groupBox_19")
+        self.horizontalLayout_9 = QtWidgets.QHBoxLayout(self.groupBox_19)
+        self.horizontalLayout_9.setObjectName("horizontalLayout_9")
+        self.syncTimeCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_19)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.syncTimeCheckBox.sizePolicy().hasHeightForWidth())
+        self.syncTimeCheckBox.setSizePolicy(sizePolicy)
+        self.syncTimeCheckBox.setObjectName("syncTimeCheckBox")
+        self.horizontalLayout_9.addWidget(self.syncTimeCheckBox)
+        self.verticalLayout_3.addWidget(self.groupBox_19)
+        self.groupBox = QtWidgets.QGroupBox(parent=MicroPythonPage)
+        self.groupBox.setObjectName("groupBox")
+        self.gridLayout = QtWidgets.QGridLayout(self.groupBox)
+        self.gridLayout.setObjectName("gridLayout")
+        self.label = QtWidgets.QLabel(parent=self.groupBox)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
+        self.colorSchemeComboBox = QtWidgets.QComboBox(parent=self.groupBox)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.colorSchemeComboBox.sizePolicy().hasHeightForWidth())
+        self.colorSchemeComboBox.setSizePolicy(sizePolicy)
+        self.colorSchemeComboBox.setObjectName("colorSchemeComboBox")
+        self.gridLayout.addWidget(self.colorSchemeComboBox, 0, 1, 1, 1)
+        self.replWrapCheckBox = QtWidgets.QCheckBox(parent=self.groupBox)
+        self.replWrapCheckBox.setObjectName("replWrapCheckBox")
+        self.gridLayout.addWidget(self.replWrapCheckBox, 1, 0, 1, 2)
+        self.verticalLayout_3.addWidget(self.groupBox)
+        self.groupBox_7 = QtWidgets.QGroupBox(parent=MicroPythonPage)
+        self.groupBox_7.setObjectName("groupBox_7")
+        self.horizontalLayout_3 = QtWidgets.QHBoxLayout(self.groupBox_7)
+        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
+        self.label_11 = QtWidgets.QLabel(parent=self.groupBox_7)
+        self.label_11.setObjectName("label_11")
+        self.horizontalLayout_3.addWidget(self.label_11)
+        self.chartThemeComboBox = QtWidgets.QComboBox(parent=self.groupBox_7)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.chartThemeComboBox.sizePolicy().hasHeightForWidth())
+        self.chartThemeComboBox.setSizePolicy(sizePolicy)
+        self.chartThemeComboBox.setObjectName("chartThemeComboBox")
+        self.horizontalLayout_3.addWidget(self.chartThemeComboBox)
+        self.verticalLayout_3.addWidget(self.groupBox_7)
+        self.groupBox_13 = QtWidgets.QGroupBox(parent=MicroPythonPage)
+        self.groupBox_13.setObjectName("groupBox_13")
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.groupBox_13)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.horizontalLayout_5 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_5.setObjectName("horizontalLayout_5")
+        self.label_13 = QtWidgets.QLabel(parent=self.groupBox_13)
+        self.label_13.setObjectName("label_13")
+        self.horizontalLayout_5.addWidget(self.label_13)
+        self.countryEdit = QtWidgets.QLineEdit(parent=self.groupBox_13)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.countryEdit.sizePolicy().hasHeightForWidth())
+        self.countryEdit.setSizePolicy(sizePolicy)
+        self.countryEdit.setMaxLength(3)
+        self.countryEdit.setClearButtonEnabled(True)
+        self.countryEdit.setObjectName("countryEdit")
+        self.horizontalLayout_5.addWidget(self.countryEdit)
+        spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_5.addItem(spacerItem1)
+        self.verticalLayout_2.addLayout(self.horizontalLayout_5)
+        self.groupBox_14 = QtWidgets.QGroupBox(parent=self.groupBox_13)
+        self.groupBox_14.setObjectName("groupBox_14")
+        self.gridLayout_8 = QtWidgets.QGridLayout(self.groupBox_14)
+        self.gridLayout_8.setObjectName("gridLayout_8")
+        self.label_8 = QtWidgets.QLabel(parent=self.groupBox_14)
+        self.label_8.setObjectName("label_8")
+        self.gridLayout_8.addWidget(self.label_8, 0, 0, 1, 1)
+        self.ssidEdit = QtWidgets.QLineEdit(parent=self.groupBox_14)
+        self.ssidEdit.setClearButtonEnabled(True)
+        self.ssidEdit.setObjectName("ssidEdit")
+        self.gridLayout_8.addWidget(self.ssidEdit, 0, 1, 1, 2)
+        self.label_9 = QtWidgets.QLabel(parent=self.groupBox_14)
+        self.label_9.setObjectName("label_9")
+        self.gridLayout_8.addWidget(self.label_9, 1, 0, 1, 1)
+        self.passwordEdit = QtWidgets.QLineEdit(parent=self.groupBox_14)
+        self.passwordEdit.setEchoMode(QtWidgets.QLineEdit.EchoMode.Password)
+        self.passwordEdit.setClearButtonEnabled(True)
+        self.passwordEdit.setObjectName("passwordEdit")
+        self.gridLayout_8.addWidget(self.passwordEdit, 1, 1, 1, 1)
+        self.showPasswordButton = QtWidgets.QToolButton(parent=self.groupBox_14)
+        self.showPasswordButton.setCheckable(True)
+        self.showPasswordButton.setObjectName("showPasswordButton")
+        self.gridLayout_8.addWidget(self.showPasswordButton, 1, 2, 1, 1)
+        self.verticalLayout_2.addWidget(self.groupBox_14)
+        self.groupBox_15 = QtWidgets.QGroupBox(parent=self.groupBox_13)
+        self.groupBox_15.setObjectName("groupBox_15")
+        self.gridLayout_10 = QtWidgets.QGridLayout(self.groupBox_15)
+        self.gridLayout_10.setObjectName("gridLayout_10")
+        self.label_10 = QtWidgets.QLabel(parent=self.groupBox_15)
+        self.label_10.setObjectName("label_10")
+        self.gridLayout_10.addWidget(self.label_10, 0, 0, 1, 1)
+        self.apSsidEdit = QtWidgets.QLineEdit(parent=self.groupBox_15)
+        self.apSsidEdit.setClearButtonEnabled(True)
+        self.apSsidEdit.setObjectName("apSsidEdit")
+        self.gridLayout_10.addWidget(self.apSsidEdit, 0, 1, 1, 2)
+        self.label_12 = QtWidgets.QLabel(parent=self.groupBox_15)
+        self.label_12.setObjectName("label_12")
+        self.gridLayout_10.addWidget(self.label_12, 1, 0, 1, 1)
+        self.apPasswordEdit = QtWidgets.QLineEdit(parent=self.groupBox_15)
+        self.apPasswordEdit.setEchoMode(QtWidgets.QLineEdit.EchoMode.Password)
+        self.apPasswordEdit.setClearButtonEnabled(True)
+        self.apPasswordEdit.setObjectName("apPasswordEdit")
+        self.gridLayout_10.addWidget(self.apPasswordEdit, 1, 1, 1, 1)
+        self.apShowPasswordButton = QtWidgets.QToolButton(parent=self.groupBox_15)
+        self.apShowPasswordButton.setCheckable(True)
+        self.apShowPasswordButton.setObjectName("apShowPasswordButton")
+        self.gridLayout_10.addWidget(self.apShowPasswordButton, 1, 2, 1, 1)
+        self.label_23 = QtWidgets.QLabel(parent=self.groupBox_15)
+        self.label_23.setObjectName("label_23")
+        self.gridLayout_10.addWidget(self.label_23, 2, 0, 1, 1)
+        self.horizontalLayout_6 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_6.setObjectName("horizontalLayout_6")
+        self.apSecurityComboBox = QtWidgets.QComboBox(parent=self.groupBox_15)
+        self.apSecurityComboBox.setObjectName("apSecurityComboBox")
+        self.horizontalLayout_6.addWidget(self.apSecurityComboBox)
+        spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_6.addItem(spacerItem2)
+        self.gridLayout_10.addLayout(self.horizontalLayout_6, 2, 1, 1, 2)
+        self.ipv4GroupBox = QtWidgets.QGroupBox(parent=self.groupBox_15)
+        self.ipv4GroupBox.setFocusPolicy(QtCore.Qt.FocusPolicy.NoFocus)
+        self.ipv4GroupBox.setObjectName("ipv4GroupBox")
+        self.horizontalLayout_7 = QtWidgets.QHBoxLayout(self.ipv4GroupBox)
+        self.horizontalLayout_7.setObjectName("horizontalLayout_7")
+        self.gridLayout_9 = QtWidgets.QGridLayout()
+        self.gridLayout_9.setObjectName("gridLayout_9")
+        self.label_24 = QtWidgets.QLabel(parent=self.ipv4GroupBox)
+        self.label_24.setObjectName("label_24")
+        self.gridLayout_9.addWidget(self.label_24, 0, 0, 1, 1)
+        self.apAddressEdit = EricIPv4InputWidget(parent=self.ipv4GroupBox)
+        self.apAddressEdit.setFocusPolicy(QtCore.Qt.FocusPolicy.NoFocus)
+        self.apAddressEdit.setObjectName("apAddressEdit")
+        self.gridLayout_9.addWidget(self.apAddressEdit, 0, 1, 1, 1)
+        self.label_25 = QtWidgets.QLabel(parent=self.ipv4GroupBox)
+        self.label_25.setObjectName("label_25")
+        self.gridLayout_9.addWidget(self.label_25, 1, 0, 1, 1)
+        self.apNetmaskEdit = EricIPv4InputWidget(parent=self.ipv4GroupBox)
+        self.apNetmaskEdit.setFocusPolicy(QtCore.Qt.FocusPolicy.NoFocus)
+        self.apNetmaskEdit.setObjectName("apNetmaskEdit")
+        self.gridLayout_9.addWidget(self.apNetmaskEdit, 1, 1, 1, 1)
+        self.label_26 = QtWidgets.QLabel(parent=self.ipv4GroupBox)
+        self.label_26.setObjectName("label_26")
+        self.gridLayout_9.addWidget(self.label_26, 2, 0, 1, 1)
+        self.apGatewayEdit = EricIPv4InputWidget(parent=self.ipv4GroupBox)
+        self.apGatewayEdit.setFocusPolicy(QtCore.Qt.FocusPolicy.NoFocus)
+        self.apGatewayEdit.setObjectName("apGatewayEdit")
+        self.gridLayout_9.addWidget(self.apGatewayEdit, 2, 1, 1, 1)
+        self.label_27 = QtWidgets.QLabel(parent=self.ipv4GroupBox)
+        self.label_27.setObjectName("label_27")
+        self.gridLayout_9.addWidget(self.label_27, 3, 0, 1, 1)
+        self.apDnsEdit = EricIPv4InputWidget(parent=self.ipv4GroupBox)
+        self.apDnsEdit.setFocusPolicy(QtCore.Qt.FocusPolicy.NoFocus)
+        self.apDnsEdit.setObjectName("apDnsEdit")
+        self.gridLayout_9.addWidget(self.apDnsEdit, 3, 1, 1, 1)
+        self.horizontalLayout_7.addLayout(self.gridLayout_9)
+        spacerItem3 = QtWidgets.QSpacerItem(273, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_7.addItem(spacerItem3)
+        self.gridLayout_10.addWidget(self.ipv4GroupBox, 3, 0, 1, 3)
+        self.verticalLayout_2.addWidget(self.groupBox_15)
+        self.verticalLayout_3.addWidget(self.groupBox_13)
+        self.groupBox_16 = QtWidgets.QGroupBox(parent=MicroPythonPage)
+        self.groupBox_16.setObjectName("groupBox_16")
+        self.gridLayout_11 = QtWidgets.QGridLayout(self.groupBox_16)
+        self.gridLayout_11.setObjectName("gridLayout_11")
+        self.label_29 = QtWidgets.QLabel(parent=self.groupBox_16)
+        self.label_29.setObjectName("label_29")
+        self.gridLayout_11.addWidget(self.label_29, 0, 0, 1, 1)
+        self.ntpServerEdit = QtWidgets.QLineEdit(parent=self.groupBox_16)
+        self.ntpServerEdit.setClearButtonEnabled(True)
+        self.ntpServerEdit.setObjectName("ntpServerEdit")
+        self.gridLayout_11.addWidget(self.ntpServerEdit, 0, 1, 1, 2)
+        self.label_28 = QtWidgets.QLabel(parent=self.groupBox_16)
+        self.label_28.setObjectName("label_28")
+        self.gridLayout_11.addWidget(self.label_28, 1, 0, 1, 1)
+        self.ntpOffsetSpinBox = QtWidgets.QSpinBox(parent=self.groupBox_16)
+        self.ntpOffsetSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.ntpOffsetSpinBox.setMinimum(-12)
+        self.ntpOffsetSpinBox.setMaximum(12)
+        self.ntpOffsetSpinBox.setObjectName("ntpOffsetSpinBox")
+        self.gridLayout_11.addWidget(self.ntpOffsetSpinBox, 1, 1, 1, 1)
+        self.ntpDstCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_16)
+        self.ntpDstCheckBox.setObjectName("ntpDstCheckBox")
+        self.gridLayout_11.addWidget(self.ntpDstCheckBox, 1, 2, 1, 1)
+        self.label_30 = QtWidgets.QLabel(parent=self.groupBox_16)
+        self.label_30.setObjectName("label_30")
+        self.gridLayout_11.addWidget(self.label_30, 2, 0, 1, 1)
+        self.ntpTimeoutSpinBox = QtWidgets.QSpinBox(parent=self.groupBox_16)
+        self.ntpTimeoutSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.ntpTimeoutSpinBox.setMinimum(5)
+        self.ntpTimeoutSpinBox.setMaximum(15)
+        self.ntpTimeoutSpinBox.setProperty("value", 10)
+        self.ntpTimeoutSpinBox.setObjectName("ntpTimeoutSpinBox")
+        self.gridLayout_11.addWidget(self.ntpTimeoutSpinBox, 2, 1, 1, 1)
+        spacerItem4 = QtWidgets.QSpacerItem(317, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout_11.addItem(spacerItem4, 2, 2, 1, 1)
+        self.verticalLayout_3.addWidget(self.groupBox_16)
+        self.groupBox_3 = QtWidgets.QGroupBox(parent=MicroPythonPage)
+        self.groupBox_3.setObjectName("groupBox_3")
+        self.horizontalLayout = QtWidgets.QHBoxLayout(self.groupBox_3)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.label_3 = QtWidgets.QLabel(parent=self.groupBox_3)
+        self.label_3.setObjectName("label_3")
+        self.horizontalLayout.addWidget(self.label_3)
+        self.mpyCrossPicker = EricPathPicker(parent=self.groupBox_3)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.mpyCrossPicker.sizePolicy().hasHeightForWidth())
+        self.mpyCrossPicker.setSizePolicy(sizePolicy)
+        self.mpyCrossPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.mpyCrossPicker.setObjectName("mpyCrossPicker")
+        self.horizontalLayout.addWidget(self.mpyCrossPicker)
+        self.mpyCrossInstallButton = QtWidgets.QPushButton(parent=self.groupBox_3)
+        self.mpyCrossInstallButton.setObjectName("mpyCrossInstallButton")
+        self.horizontalLayout.addWidget(self.mpyCrossInstallButton)
+        self.verticalLayout_3.addWidget(self.groupBox_3)
+        self.groupBox_5 = QtWidgets.QGroupBox(parent=MicroPythonPage)
+        self.groupBox_5.setObjectName("groupBox_5")
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.groupBox_5)
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.label_7 = QtWidgets.QLabel(parent=self.groupBox_5)
+        self.label_7.setObjectName("label_7")
+        self.horizontalLayout_2.addWidget(self.label_7)
+        self.dfuUtilPathPicker = EricPathPicker(parent=self.groupBox_5)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.dfuUtilPathPicker.sizePolicy().hasHeightForWidth())
+        self.dfuUtilPathPicker.setSizePolicy(sizePolicy)
+        self.dfuUtilPathPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.dfuUtilPathPicker.setObjectName("dfuUtilPathPicker")
+        self.horizontalLayout_2.addWidget(self.dfuUtilPathPicker)
+        self.verticalLayout_3.addWidget(self.groupBox_5)
+        self.groupBox_17 = QtWidgets.QGroupBox(parent=MicroPythonPage)
+        self.groupBox_17.setObjectName("groupBox_17")
+        self.gridLayout_12 = QtWidgets.QGridLayout(self.groupBox_17)
+        self.gridLayout_12.setObjectName("gridLayout_12")
+        self.label_31 = QtWidgets.QLabel(parent=self.groupBox_17)
+        self.label_31.setObjectName("label_31")
+        self.gridLayout_12.addWidget(self.label_31, 0, 0, 1, 1)
+        self.stInfoPathPicker = EricPathPicker(parent=self.groupBox_17)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.stInfoPathPicker.sizePolicy().hasHeightForWidth())
+        self.stInfoPathPicker.setSizePolicy(sizePolicy)
+        self.stInfoPathPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.stInfoPathPicker.setObjectName("stInfoPathPicker")
+        self.gridLayout_12.addWidget(self.stInfoPathPicker, 0, 1, 1, 1)
+        self.label_32 = QtWidgets.QLabel(parent=self.groupBox_17)
+        self.label_32.setObjectName("label_32")
+        self.gridLayout_12.addWidget(self.label_32, 1, 0, 1, 1)
+        self.stFlashPathPicker = EricPathPicker(parent=self.groupBox_17)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.stFlashPathPicker.sizePolicy().hasHeightForWidth())
+        self.stFlashPathPicker.setSizePolicy(sizePolicy)
+        self.stFlashPathPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.stFlashPathPicker.setObjectName("stFlashPathPicker")
+        self.gridLayout_12.addWidget(self.stFlashPathPicker, 1, 1, 1, 1)
+        self.verticalLayout_3.addWidget(self.groupBox_17)
+        self.groupBox_8 = QtWidgets.QGroupBox(parent=MicroPythonPage)
+        self.groupBox_8.setObjectName("groupBox_8")
+        self.gridLayout_5 = QtWidgets.QGridLayout(self.groupBox_8)
+        self.gridLayout_5.setObjectName("gridLayout_5")
+        self.label_14 = QtWidgets.QLabel(parent=self.groupBox_8)
+        self.label_14.setObjectName("label_14")
+        self.gridLayout_5.addWidget(self.label_14, 0, 0, 1, 1)
+        self.micropythonFirmwareUrlLineEdit = QtWidgets.QLineEdit(parent=self.groupBox_8)
+        self.micropythonFirmwareUrlLineEdit.setClearButtonEnabled(True)
+        self.micropythonFirmwareUrlLineEdit.setObjectName("micropythonFirmwareUrlLineEdit")
+        self.gridLayout_5.addWidget(self.micropythonFirmwareUrlLineEdit, 0, 1, 1, 1)
+        self.label_15 = QtWidgets.QLabel(parent=self.groupBox_8)
+        self.label_15.setObjectName("label_15")
+        self.gridLayout_5.addWidget(self.label_15, 1, 0, 1, 1)
+        self.micropythonDocuUrlLineEdit = QtWidgets.QLineEdit(parent=self.groupBox_8)
+        self.micropythonDocuUrlLineEdit.setClearButtonEnabled(True)
+        self.micropythonDocuUrlLineEdit.setObjectName("micropythonDocuUrlLineEdit")
+        self.gridLayout_5.addWidget(self.micropythonDocuUrlLineEdit, 1, 1, 1, 1)
+        self.verticalLayout_3.addWidget(self.groupBox_8)
+        self.groupBox_9 = QtWidgets.QGroupBox(parent=MicroPythonPage)
+        self.groupBox_9.setObjectName("groupBox_9")
+        self.gridLayout_6 = QtWidgets.QGridLayout(self.groupBox_9)
+        self.gridLayout_6.setObjectName("gridLayout_6")
+        self.label_17 = QtWidgets.QLabel(parent=self.groupBox_9)
+        self.label_17.setObjectName("label_17")
+        self.gridLayout_6.addWidget(self.label_17, 0, 0, 1, 1)
+        self.circuitpythonFirmwareUrlLineEdit = QtWidgets.QLineEdit(parent=self.groupBox_9)
+        self.circuitpythonFirmwareUrlLineEdit.setClearButtonEnabled(True)
+        self.circuitpythonFirmwareUrlLineEdit.setObjectName("circuitpythonFirmwareUrlLineEdit")
+        self.gridLayout_6.addWidget(self.circuitpythonFirmwareUrlLineEdit, 0, 1, 1, 1)
+        self.label_22 = QtWidgets.QLabel(parent=self.groupBox_9)
+        self.label_22.setObjectName("label_22")
+        self.gridLayout_6.addWidget(self.label_22, 1, 0, 1, 1)
+        self.circuitpythonLibrariesUrlLineEdit = QtWidgets.QLineEdit(parent=self.groupBox_9)
+        self.circuitpythonLibrariesUrlLineEdit.setText("")
+        self.circuitpythonLibrariesUrlLineEdit.setClearButtonEnabled(True)
+        self.circuitpythonLibrariesUrlLineEdit.setObjectName("circuitpythonLibrariesUrlLineEdit")
+        self.gridLayout_6.addWidget(self.circuitpythonLibrariesUrlLineEdit, 1, 1, 1, 1)
+        self.label_16 = QtWidgets.QLabel(parent=self.groupBox_9)
+        self.label_16.setObjectName("label_16")
+        self.gridLayout_6.addWidget(self.label_16, 2, 0, 1, 1)
+        self.circuitpythonDocuUrlLineEdit = QtWidgets.QLineEdit(parent=self.groupBox_9)
+        self.circuitpythonDocuUrlLineEdit.setClearButtonEnabled(True)
+        self.circuitpythonDocuUrlLineEdit.setObjectName("circuitpythonDocuUrlLineEdit")
+        self.gridLayout_6.addWidget(self.circuitpythonDocuUrlLineEdit, 2, 1, 1, 1)
+        self.verticalLayout_3.addWidget(self.groupBox_9)
+        self.groupBox_10 = QtWidgets.QGroupBox(parent=MicroPythonPage)
+        self.groupBox_10.setObjectName("groupBox_10")
+        self.gridLayout_7 = QtWidgets.QGridLayout(self.groupBox_10)
+        self.gridLayout_7.setObjectName("gridLayout_7")
+        self.label_18 = QtWidgets.QLabel(parent=self.groupBox_10)
+        self.label_18.setObjectName("label_18")
+        self.gridLayout_7.addWidget(self.label_18, 0, 0, 1, 1)
+        self.microbitFirmwareUrlLineEdit = QtWidgets.QLineEdit(parent=self.groupBox_10)
+        self.microbitFirmwareUrlLineEdit.setClearButtonEnabled(True)
+        self.microbitFirmwareUrlLineEdit.setObjectName("microbitFirmwareUrlLineEdit")
+        self.gridLayout_7.addWidget(self.microbitFirmwareUrlLineEdit, 0, 1, 1, 1)
+        self.groupBox_6 = QtWidgets.QGroupBox(parent=self.groupBox_10)
+        self.groupBox_6.setObjectName("groupBox_6")
+        self.gridLayout_3 = QtWidgets.QGridLayout(self.groupBox_6)
+        self.gridLayout_3.setObjectName("gridLayout_3")
+        self.label_4 = QtWidgets.QLabel(parent=self.groupBox_6)
+        self.label_4.setObjectName("label_4")
+        self.gridLayout_3.addWidget(self.label_4, 0, 0, 1, 1)
+        self.microbitV1MicroPythonUrlLineEdit = QtWidgets.QLineEdit(parent=self.groupBox_6)
+        self.microbitV1MicroPythonUrlLineEdit.setClearButtonEnabled(True)
+        self.microbitV1MicroPythonUrlLineEdit.setObjectName("microbitV1MicroPythonUrlLineEdit")
+        self.gridLayout_3.addWidget(self.microbitV1MicroPythonUrlLineEdit, 0, 1, 1, 1)
+        self.label_6 = QtWidgets.QLabel(parent=self.groupBox_6)
+        self.label_6.setObjectName("label_6")
+        self.gridLayout_3.addWidget(self.label_6, 1, 0, 1, 1)
+        self.microbitV2MicroPythonUrlLineEdit = QtWidgets.QLineEdit(parent=self.groupBox_6)
+        self.microbitV2MicroPythonUrlLineEdit.setClearButtonEnabled(True)
+        self.microbitV2MicroPythonUrlLineEdit.setObjectName("microbitV2MicroPythonUrlLineEdit")
+        self.gridLayout_3.addWidget(self.microbitV2MicroPythonUrlLineEdit, 1, 1, 1, 1)
+        self.gridLayout_7.addWidget(self.groupBox_6, 1, 0, 1, 2)
+        self.label_19 = QtWidgets.QLabel(parent=self.groupBox_10)
+        self.label_19.setObjectName("label_19")
+        self.gridLayout_7.addWidget(self.label_19, 2, 0, 1, 1)
+        self.microbitDocuUrlLineEdit = QtWidgets.QLineEdit(parent=self.groupBox_10)
+        self.microbitDocuUrlLineEdit.setClearButtonEnabled(True)
+        self.microbitDocuUrlLineEdit.setObjectName("microbitDocuUrlLineEdit")
+        self.gridLayout_7.addWidget(self.microbitDocuUrlLineEdit, 2, 1, 1, 1)
+        self.verticalLayout_3.addWidget(self.groupBox_10)
+        self.groupBox_11 = QtWidgets.QGroupBox(parent=MicroPythonPage)
+        self.groupBox_11.setObjectName("groupBox_11")
+        self.gridLayout_4 = QtWidgets.QGridLayout(self.groupBox_11)
+        self.gridLayout_4.setObjectName("gridLayout_4")
+        self.label_21 = QtWidgets.QLabel(parent=self.groupBox_11)
+        self.label_21.setObjectName("label_21")
+        self.gridLayout_4.addWidget(self.label_21, 0, 0, 1, 1)
+        self.calliopeFirmwareUrlLineEdit = QtWidgets.QLineEdit(parent=self.groupBox_11)
+        self.calliopeFirmwareUrlLineEdit.setClearButtonEnabled(True)
+        self.calliopeFirmwareUrlLineEdit.setObjectName("calliopeFirmwareUrlLineEdit")
+        self.gridLayout_4.addWidget(self.calliopeFirmwareUrlLineEdit, 0, 1, 1, 1)
+        self.label_5 = QtWidgets.QLabel(parent=self.groupBox_11)
+        self.label_5.setObjectName("label_5")
+        self.gridLayout_4.addWidget(self.label_5, 1, 0, 1, 1)
+        self.calliopeMicroPythonUrlLineEdit = QtWidgets.QLineEdit(parent=self.groupBox_11)
+        self.calliopeMicroPythonUrlLineEdit.setClearButtonEnabled(True)
+        self.calliopeMicroPythonUrlLineEdit.setObjectName("calliopeMicroPythonUrlLineEdit")
+        self.gridLayout_4.addWidget(self.calliopeMicroPythonUrlLineEdit, 1, 1, 1, 1)
+        self.label_20 = QtWidgets.QLabel(parent=self.groupBox_11)
+        self.label_20.setObjectName("label_20")
+        self.gridLayout_4.addWidget(self.label_20, 2, 0, 1, 1)
+        self.calliopeDocuUrlLineEdit = QtWidgets.QLineEdit(parent=self.groupBox_11)
+        self.calliopeDocuUrlLineEdit.setClearButtonEnabled(True)
+        self.calliopeDocuUrlLineEdit.setObjectName("calliopeDocuUrlLineEdit")
+        self.gridLayout_4.addWidget(self.calliopeDocuUrlLineEdit, 2, 1, 1, 1)
+        self.verticalLayout_3.addWidget(self.groupBox_11)
+        spacerItem5 = QtWidgets.QSpacerItem(20, 32, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout_3.addItem(spacerItem5)
+
+        self.retranslateUi(MicroPythonPage)
+        QtCore.QMetaObject.connectSlotsByName(MicroPythonPage)
+        MicroPythonPage.setTabOrder(self.workspacePicker, self.manualSelectionCheckBox)
+        MicroPythonPage.setTabOrder(self.manualSelectionCheckBox, self.serialTimeoutSpinBox)
+        MicroPythonPage.setTabOrder(self.serialTimeoutSpinBox, self.webreplTimeoutSpinBox)
+        MicroPythonPage.setTabOrder(self.webreplTimeoutSpinBox, self.syncTimeCheckBox)
+        MicroPythonPage.setTabOrder(self.syncTimeCheckBox, self.colorSchemeComboBox)
+        MicroPythonPage.setTabOrder(self.colorSchemeComboBox, self.replWrapCheckBox)
+        MicroPythonPage.setTabOrder(self.replWrapCheckBox, self.chartThemeComboBox)
+        MicroPythonPage.setTabOrder(self.chartThemeComboBox, self.countryEdit)
+        MicroPythonPage.setTabOrder(self.countryEdit, self.ssidEdit)
+        MicroPythonPage.setTabOrder(self.ssidEdit, self.passwordEdit)
+        MicroPythonPage.setTabOrder(self.passwordEdit, self.showPasswordButton)
+        MicroPythonPage.setTabOrder(self.showPasswordButton, self.apSsidEdit)
+        MicroPythonPage.setTabOrder(self.apSsidEdit, self.apPasswordEdit)
+        MicroPythonPage.setTabOrder(self.apPasswordEdit, self.apShowPasswordButton)
+        MicroPythonPage.setTabOrder(self.apShowPasswordButton, self.apSecurityComboBox)
+        MicroPythonPage.setTabOrder(self.apSecurityComboBox, self.ntpServerEdit)
+        MicroPythonPage.setTabOrder(self.ntpServerEdit, self.ntpOffsetSpinBox)
+        MicroPythonPage.setTabOrder(self.ntpOffsetSpinBox, self.ntpDstCheckBox)
+        MicroPythonPage.setTabOrder(self.ntpDstCheckBox, self.ntpTimeoutSpinBox)
+        MicroPythonPage.setTabOrder(self.ntpTimeoutSpinBox, self.mpyCrossPicker)
+        MicroPythonPage.setTabOrder(self.mpyCrossPicker, self.mpyCrossInstallButton)
+        MicroPythonPage.setTabOrder(self.mpyCrossInstallButton, self.dfuUtilPathPicker)
+        MicroPythonPage.setTabOrder(self.dfuUtilPathPicker, self.stInfoPathPicker)
+        MicroPythonPage.setTabOrder(self.stInfoPathPicker, self.stFlashPathPicker)
+        MicroPythonPage.setTabOrder(self.stFlashPathPicker, self.micropythonFirmwareUrlLineEdit)
+        MicroPythonPage.setTabOrder(self.micropythonFirmwareUrlLineEdit, self.micropythonDocuUrlLineEdit)
+        MicroPythonPage.setTabOrder(self.micropythonDocuUrlLineEdit, self.circuitpythonFirmwareUrlLineEdit)
+        MicroPythonPage.setTabOrder(self.circuitpythonFirmwareUrlLineEdit, self.circuitpythonLibrariesUrlLineEdit)
+        MicroPythonPage.setTabOrder(self.circuitpythonLibrariesUrlLineEdit, self.circuitpythonDocuUrlLineEdit)
+        MicroPythonPage.setTabOrder(self.circuitpythonDocuUrlLineEdit, self.microbitFirmwareUrlLineEdit)
+        MicroPythonPage.setTabOrder(self.microbitFirmwareUrlLineEdit, self.microbitV1MicroPythonUrlLineEdit)
+        MicroPythonPage.setTabOrder(self.microbitV1MicroPythonUrlLineEdit, self.microbitV2MicroPythonUrlLineEdit)
+        MicroPythonPage.setTabOrder(self.microbitV2MicroPythonUrlLineEdit, self.microbitDocuUrlLineEdit)
+        MicroPythonPage.setTabOrder(self.microbitDocuUrlLineEdit, self.calliopeFirmwareUrlLineEdit)
+        MicroPythonPage.setTabOrder(self.calliopeFirmwareUrlLineEdit, self.calliopeMicroPythonUrlLineEdit)
+        MicroPythonPage.setTabOrder(self.calliopeMicroPythonUrlLineEdit, self.calliopeDocuUrlLineEdit)
+
+    def retranslateUi(self, MicroPythonPage):
+        _translate = QtCore.QCoreApplication.translate
+        self.headerLabel.setText(_translate("MicroPythonPage", "<b>Configure MicroPython</b>"))
+        self.groupBox_4.setTitle(_translate("MicroPythonPage", "Workspace"))
+        self.workspacePicker.setToolTip(_translate("MicroPythonPage", "Enter the name of the MicroPython workspace directory"))
+        self.groupBox_12.setTitle(_translate("MicroPythonPage", "Device Selection"))
+        self.manualSelectionCheckBox.setToolTip(_translate("MicroPythonPage", "Select to enable manual selection of devices (e.g. for unknown devices)"))
+        self.manualSelectionCheckBox.setText(_translate("MicroPythonPage", "Enable manual device selection"))
+        self.groupBox_2.setTitle(_translate("MicroPythonPage", "Device Communication"))
+        self.label_2.setText(_translate("MicroPythonPage", "Serial Link Timeout:"))
+        self.serialTimeoutSpinBox.setToolTip(_translate("MicroPythonPage", "Enter the timout value"))
+        self.serialTimeoutSpinBox.setSuffix(_translate("MicroPythonPage", " s"))
+        self.label_33.setText(_translate("MicroPythonPage", "WebRepl Timeout:"))
+        self.webreplTimeoutSpinBox.setToolTip(_translate("MicroPythonPage", "Enter the timout value"))
+        self.webreplTimeoutSpinBox.setSuffix(_translate("MicroPythonPage", " s"))
+        self.groupBox_19.setTitle(_translate("MicroPythonPage", "Device Time"))
+        self.syncTimeCheckBox.setToolTip(_translate("MicroPythonPage", "Select to synchronize the time after connection is established"))
+        self.syncTimeCheckBox.setText(_translate("MicroPythonPage", "Synchronize Time at Connect"))
+        self.groupBox.setTitle(_translate("MicroPythonPage", "REPL Pane"))
+        self.label.setText(_translate("MicroPythonPage", "Color Scheme for ANSI Escape Codes:"))
+        self.colorSchemeComboBox.setToolTip(_translate("MicroPythonPage", "Select the color scheme to be applied for ANSI color escape codes"))
+        self.replWrapCheckBox.setToolTip(_translate("MicroPythonPage", "Select to wrap long line in the REPL pane"))
+        self.replWrapCheckBox.setText(_translate("MicroPythonPage", "Wrap long lines"))
+        self.groupBox_7.setTitle(_translate("MicroPythonPage", "Chart Pane"))
+        self.label_11.setText(_translate("MicroPythonPage", "Color Theme:"))
+        self.chartThemeComboBox.setToolTip(_translate("MicroPythonPage", "Select the color scheme of the chart"))
+        self.groupBox_13.setTitle(_translate("MicroPythonPage", "WiFi"))
+        self.label_13.setText(_translate("MicroPythonPage", "Country:"))
+        self.countryEdit.setToolTip(_translate("MicroPythonPage", "Enter the country code for the WiFi interface"))
+        self.groupBox_14.setTitle(_translate("MicroPythonPage", "Client"))
+        self.label_8.setText(_translate("MicroPythonPage", "Name:"))
+        self.ssidEdit.setToolTip(_translate("MicroPythonPage", "Enter the network name (SSID) to connect to"))
+        self.label_9.setText(_translate("MicroPythonPage", "Password:"))
+        self.passwordEdit.setToolTip(_translate("MicroPythonPage", "Enter the network password"))
+        self.showPasswordButton.setToolTip(_translate("MicroPythonPage", "Press to show the password"))
+        self.groupBox_15.setTitle(_translate("MicroPythonPage", "Access Point"))
+        self.label_10.setText(_translate("MicroPythonPage", "Name:"))
+        self.apSsidEdit.setToolTip(_translate("MicroPythonPage", "Enter the network name (SSID) to publish"))
+        self.label_12.setText(_translate("MicroPythonPage", "Password:"))
+        self.apPasswordEdit.setToolTip(_translate("MicroPythonPage", "Enter the network password"))
+        self.apShowPasswordButton.setToolTip(_translate("MicroPythonPage", "Press to show the password"))
+        self.label_23.setText(_translate("MicroPythonPage", "Security:"))
+        self.apSecurityComboBox.setToolTip(_translate("MicroPythonPage", "Select the security mode"))
+        self.ipv4GroupBox.setTitle(_translate("MicroPythonPage", "IPv4 Configuration"))
+        self.label_24.setText(_translate("MicroPythonPage", "Address:"))
+        self.label_25.setText(_translate("MicroPythonPage", "Netmask:"))
+        self.label_26.setText(_translate("MicroPythonPage", "Gateway:"))
+        self.label_27.setText(_translate("MicroPythonPage", "DNS:"))
+        self.groupBox_16.setTitle(_translate("MicroPythonPage", "NTP Parameter"))
+        self.label_29.setText(_translate("MicroPythonPage", "NTP Server:"))
+        self.ntpServerEdit.setToolTip(_translate("MicroPythonPage", "Enter the name of the NTP server."))
+        self.label_28.setText(_translate("MicroPythonPage", "Time Zone Offset:"))
+        self.ntpOffsetSpinBox.setToolTip(_translate("MicroPythonPage", "Enter the time zone offset to UTC."))
+        self.ntpOffsetSpinBox.setSuffix(_translate("MicroPythonPage", " h"))
+        self.ntpDstCheckBox.setToolTip(_translate("MicroPythonPage", "Select to indicate that daylight savings is in effect (i.e. 1h plus to UTC)."))
+        self.ntpDstCheckBox.setText(_translate("MicroPythonPage", "Is Daylight Savings"))
+        self.label_30.setText(_translate("MicroPythonPage", "Timeout:"))
+        self.ntpTimeoutSpinBox.setToolTip(_translate("MicroPythonPage", "Enter the timeout in seconds."))
+        self.ntpTimeoutSpinBox.setSuffix(_translate("MicroPythonPage", " s"))
+        self.groupBox_3.setTitle(_translate("MicroPythonPage", "MPY Cross Compiler"))
+        self.label_3.setText(_translate("MicroPythonPage", "Program:"))
+        self.mpyCrossPicker.setToolTip(_translate("MicroPythonPage", "Enter the path of the cross compiler executable"))
+        self.mpyCrossInstallButton.setToolTip(_translate("MicroPythonPage", "Press to install \'mpy-cross\' alongside the eric IDE."))
+        self.mpyCrossInstallButton.setText(_translate("MicroPythonPage", "Install"))
+        self.groupBox_5.setTitle(_translate("MicroPythonPage", "PyBoard"))
+        self.label_7.setText(_translate("MicroPythonPage", "dfu-util Path:"))
+        self.dfuUtilPathPicker.setToolTip(_translate("MicroPythonPage", "Enter the path of the dfu-util flashing executable"))
+        self.groupBox_17.setTitle(_translate("MicroPythonPage", "STLink"))
+        self.label_31.setText(_translate("MicroPythonPage", "st-info Path:"))
+        self.stInfoPathPicker.setToolTip(_translate("MicroPythonPage", "Enter the path of the st-info executable"))
+        self.label_32.setText(_translate("MicroPythonPage", "st-flash Path:"))
+        self.stFlashPathPicker.setToolTip(_translate("MicroPythonPage", "Enter the path of the st-flash flashing executable"))
+        self.groupBox_8.setTitle(_translate("MicroPythonPage", "MicroPython"))
+        self.label_14.setText(_translate("MicroPythonPage", "Firmware:"))
+        self.micropythonFirmwareUrlLineEdit.setToolTip(_translate("MicroPythonPage", "Enter the URL for the MicroPython firmware for PyBoard, ESP8266 and ESP32"))
+        self.label_15.setText(_translate("MicroPythonPage", "Documentation:"))
+        self.micropythonDocuUrlLineEdit.setToolTip(_translate("MicroPythonPage", "Enter the URL for the MicroPython documentation"))
+        self.groupBox_9.setTitle(_translate("MicroPythonPage", "CircuitPython"))
+        self.label_17.setText(_translate("MicroPythonPage", "Firmware:"))
+        self.circuitpythonFirmwareUrlLineEdit.setToolTip(_translate("MicroPythonPage", "Enter the URL for the CircuitPython firmware"))
+        self.label_22.setText(_translate("MicroPythonPage", "Libraries:"))
+        self.circuitpythonLibrariesUrlLineEdit.setToolTip(_translate("MicroPythonPage", "Enter the URL for the CircuitPython libraries"))
+        self.label_16.setText(_translate("MicroPythonPage", "Documentation:"))
+        self.circuitpythonDocuUrlLineEdit.setToolTip(_translate("MicroPythonPage", "Enter the URL for the CircuitPython documentation"))
+        self.groupBox_10.setTitle(_translate("MicroPythonPage", "BBC micro:bit"))
+        self.label_18.setText(_translate("MicroPythonPage", "Firmware:"))
+        self.microbitFirmwareUrlLineEdit.setToolTip(_translate("MicroPythonPage", "Enter the URL for the BBC micro:bit DAPLink Firmware"))
+        self.groupBox_6.setTitle(_translate("MicroPythonPage", "MicroPython"))
+        self.label_4.setText(_translate("MicroPythonPage", "micro:bit V1:"))
+        self.microbitV1MicroPythonUrlLineEdit.setToolTip(_translate("MicroPythonPage", "Enter the URL for the BBC micro:bit V1 MicroPython Firmware"))
+        self.label_6.setText(_translate("MicroPythonPage", "micro:bit V2:"))
+        self.microbitV2MicroPythonUrlLineEdit.setToolTip(_translate("MicroPythonPage", "Enter the URL for the BBC micro:bit V2 MicroPython Firmware"))
+        self.label_19.setText(_translate("MicroPythonPage", "Documentation:"))
+        self.microbitDocuUrlLineEdit.setToolTip(_translate("MicroPythonPage", "Enter the URL for the BBC micro:bit MicroPython documentation"))
+        self.groupBox_11.setTitle(_translate("MicroPythonPage", "Calliope mini:"))
+        self.label_21.setText(_translate("MicroPythonPage", "Firmware:"))
+        self.calliopeFirmwareUrlLineEdit.setToolTip(_translate("MicroPythonPage", "Enter the URL for the Callope mini Firmware"))
+        self.label_5.setText(_translate("MicroPythonPage", "MicroPython:"))
+        self.calliopeMicroPythonUrlLineEdit.setToolTip(_translate("MicroPythonPage", "Enter the URL for the Calliope mini MicroPython Firmware"))
+        self.label_20.setText(_translate("MicroPythonPage", "Documentation:"))
+        self.calliopeDocuUrlLineEdit.setToolTip(_translate("MicroPythonPage", "Enter the URL for the Calliope mini MicroPython documentation"))
+from eric7.EricNetwork.EricIPv4InputWidget import EricIPv4InputWidget
+from eric7.EricWidgets.EricPathPicker import EricPathPicker
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Preferences/ConfigurationPages/Ui_MimeTypesPage.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,76 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Preferences/ConfigurationPages/MimeTypesPage.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_MimeTypesPage(object):
+    def setupUi(self, MimeTypesPage):
+        MimeTypesPage.setObjectName("MimeTypesPage")
+        MimeTypesPage.resize(480, 515)
+        self.verticalLayout_3 = QtWidgets.QVBoxLayout(MimeTypesPage)
+        self.verticalLayout_3.setObjectName("verticalLayout_3")
+        self.headerLabel = QtWidgets.QLabel(parent=MimeTypesPage)
+        self.headerLabel.setObjectName("headerLabel")
+        self.verticalLayout_3.addWidget(self.headerLabel)
+        self.line9 = QtWidgets.QFrame(parent=MimeTypesPage)
+        self.line9.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line9.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line9.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line9.setObjectName("line9")
+        self.verticalLayout_3.addWidget(self.line9)
+        self.label = QtWidgets.QLabel(parent=MimeTypesPage)
+        self.label.setWordWrap(True)
+        self.label.setObjectName("label")
+        self.verticalLayout_3.addWidget(self.label)
+        self.groupBox = QtWidgets.QGroupBox(parent=MimeTypesPage)
+        self.groupBox.setObjectName("groupBox")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.groupBox)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.textMimeTypesList = EricStringListEditWidget(parent=self.groupBox)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.textMimeTypesList.sizePolicy().hasHeightForWidth())
+        self.textMimeTypesList.setSizePolicy(sizePolicy)
+        self.textMimeTypesList.setFocusPolicy(QtCore.Qt.FocusPolicy.WheelFocus)
+        self.textMimeTypesList.setObjectName("textMimeTypesList")
+        self.verticalLayout.addWidget(self.textMimeTypesList)
+        self.verticalLayout_3.addWidget(self.groupBox)
+        self.groupBox_2 = QtWidgets.QGroupBox(parent=MimeTypesPage)
+        self.groupBox_2.setObjectName("groupBox_2")
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.groupBox_2)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.textFilePatternsList = EricStringListEditWidget(parent=self.groupBox_2)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.textFilePatternsList.sizePolicy().hasHeightForWidth())
+        self.textFilePatternsList.setSizePolicy(sizePolicy)
+        self.textFilePatternsList.setFocusPolicy(QtCore.Qt.FocusPolicy.WheelFocus)
+        self.textFilePatternsList.setObjectName("textFilePatternsList")
+        self.verticalLayout_2.addWidget(self.textFilePatternsList)
+        self.verticalLayout_3.addWidget(self.groupBox_2)
+        self.loadUnknownCheckBox = QtWidgets.QCheckBox(parent=MimeTypesPage)
+        self.loadUnknownCheckBox.setObjectName("loadUnknownCheckBox")
+        self.verticalLayout_3.addWidget(self.loadUnknownCheckBox)
+
+        self.retranslateUi(MimeTypesPage)
+        QtCore.QMetaObject.connectSlotsByName(MimeTypesPage)
+        MimeTypesPage.setTabOrder(self.textMimeTypesList, self.textFilePatternsList)
+        MimeTypesPage.setTabOrder(self.textFilePatternsList, self.loadUnknownCheckBox)
+
+    def retranslateUi(self, MimeTypesPage):
+        _translate = QtCore.QCoreApplication.translate
+        self.headerLabel.setText(_translate("MimeTypesPage", "<b>Configure Text Mimetypes and File Patterns</b>"))
+        self.label.setText(_translate("MimeTypesPage", "Files of the mime types configured below are opened in an eric editor (in addition to all \'text\' mime types)."))
+        self.groupBox.setTitle(_translate("MimeTypesPage", "MimeTypes"))
+        self.groupBox_2.setTitle(_translate("MimeTypesPage", "File Patterns"))
+        self.loadUnknownCheckBox.setToolTip(_translate("MimeTypesPage", "Load files whose type cannot be determined as being text."))
+        self.loadUnknownCheckBox.setText(_translate("MimeTypesPage", "Load files of unknown type"))
+from eric7.EricWidgets.EricStringListEditWidget import EricStringListEditWidget
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Preferences/ConfigurationPages/Ui_MultiProjectPage.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,99 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Preferences/ConfigurationPages/MultiProjectPage.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_MultiProjectPage(object):
+    def setupUi(self, MultiProjectPage):
+        MultiProjectPage.setObjectName("MultiProjectPage")
+        MultiProjectPage.resize(494, 362)
+        self.verticalLayout = QtWidgets.QVBoxLayout(MultiProjectPage)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.headerLabel = QtWidgets.QLabel(parent=MultiProjectPage)
+        self.headerLabel.setObjectName("headerLabel")
+        self.verticalLayout.addWidget(self.headerLabel)
+        self.line8 = QtWidgets.QFrame(parent=MultiProjectPage)
+        self.line8.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line8.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line8.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line8.setObjectName("line8")
+        self.verticalLayout.addWidget(self.line8)
+        self.groupBox_2 = QtWidgets.QGroupBox(parent=MultiProjectPage)
+        self.groupBox_2.setObjectName("groupBox_2")
+        self.horizontalLayout = QtWidgets.QHBoxLayout(self.groupBox_2)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.workspacePicker = EricPathPicker(parent=self.groupBox_2)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.workspacePicker.sizePolicy().hasHeightForWidth())
+        self.workspacePicker.setSizePolicy(sizePolicy)
+        self.workspacePicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.workspacePicker.setObjectName("workspacePicker")
+        self.horizontalLayout.addWidget(self.workspacePicker)
+        self.verticalLayout.addWidget(self.groupBox_2)
+        self.groupBox = QtWidgets.QGroupBox(parent=MultiProjectPage)
+        self.groupBox.setObjectName("groupBox")
+        self.vboxlayout = QtWidgets.QVBoxLayout(self.groupBox)
+        self.vboxlayout.setObjectName("vboxlayout")
+        self.openMainAutomaticallyCheckBox = QtWidgets.QCheckBox(parent=self.groupBox)
+        self.openMainAutomaticallyCheckBox.setObjectName("openMainAutomaticallyCheckBox")
+        self.vboxlayout.addWidget(self.openMainAutomaticallyCheckBox)
+        self.verticalLayout.addWidget(self.groupBox)
+        self.groupBox_6 = QtWidgets.QGroupBox(parent=MultiProjectPage)
+        self.groupBox_6.setObjectName("groupBox_6")
+        self.vboxlayout1 = QtWidgets.QVBoxLayout(self.groupBox_6)
+        self.vboxlayout1.setObjectName("vboxlayout1")
+        self.multiProjectTimestampCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_6)
+        self.multiProjectTimestampCheckBox.setObjectName("multiProjectTimestampCheckBox")
+        self.vboxlayout1.addWidget(self.multiProjectTimestampCheckBox)
+        self.verticalLayout.addWidget(self.groupBox_6)
+        self.groupBox_7 = QtWidgets.QGroupBox(parent=MultiProjectPage)
+        self.groupBox_7.setObjectName("groupBox_7")
+        self.vboxlayout2 = QtWidgets.QVBoxLayout(self.groupBox_7)
+        self.vboxlayout2.setObjectName("vboxlayout2")
+        self.hboxlayout = QtWidgets.QHBoxLayout()
+        self.hboxlayout.setObjectName("hboxlayout")
+        self.label = QtWidgets.QLabel(parent=self.groupBox_7)
+        self.label.setObjectName("label")
+        self.hboxlayout.addWidget(self.label)
+        self.multiProjectRecentSpinBox = QtWidgets.QSpinBox(parent=self.groupBox_7)
+        self.multiProjectRecentSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.multiProjectRecentSpinBox.setMinimum(5)
+        self.multiProjectRecentSpinBox.setMaximum(50)
+        self.multiProjectRecentSpinBox.setObjectName("multiProjectRecentSpinBox")
+        self.hboxlayout.addWidget(self.multiProjectRecentSpinBox)
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.hboxlayout.addItem(spacerItem)
+        self.vboxlayout2.addLayout(self.hboxlayout)
+        self.verticalLayout.addWidget(self.groupBox_7)
+        spacerItem1 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout.addItem(spacerItem1)
+
+        self.retranslateUi(MultiProjectPage)
+        QtCore.QMetaObject.connectSlotsByName(MultiProjectPage)
+        MultiProjectPage.setTabOrder(self.workspacePicker, self.openMainAutomaticallyCheckBox)
+        MultiProjectPage.setTabOrder(self.openMainAutomaticallyCheckBox, self.multiProjectTimestampCheckBox)
+        MultiProjectPage.setTabOrder(self.multiProjectTimestampCheckBox, self.multiProjectRecentSpinBox)
+
+    def retranslateUi(self, MultiProjectPage):
+        _translate = QtCore.QCoreApplication.translate
+        self.headerLabel.setText(_translate("MultiProjectPage", "<b>Configure multiproject settings</b>"))
+        self.groupBox_2.setTitle(_translate("MultiProjectPage", "Workspace"))
+        self.workspacePicker.setToolTip(_translate("MultiProjectPage", "Enter the name of the workspace directory"))
+        self.groupBox.setTitle(_translate("MultiProjectPage", "Main Project"))
+        self.openMainAutomaticallyCheckBox.setToolTip(_translate("MultiProjectPage", "Select to open the main project automatically upon opening the multiproject"))
+        self.openMainAutomaticallyCheckBox.setText(_translate("MultiProjectPage", "Open main project automatically"))
+        self.groupBox_6.setTitle(_translate("MultiProjectPage", "Files"))
+        self.multiProjectTimestampCheckBox.setToolTip(_translate("MultiProjectPage", "Select, if a timestamp should be written to all Multi Project files"))
+        self.multiProjectTimestampCheckBox.setText(_translate("MultiProjectPage", "Include timestamp in Multi Project files"))
+        self.groupBox_7.setTitle(_translate("MultiProjectPage", "Recent Multiprojects"))
+        self.label.setText(_translate("MultiProjectPage", "Number of recent multiprojects:"))
+        self.multiProjectRecentSpinBox.setToolTip(_translate("MultiProjectPage", "Enter the number of recent multiprojects to remember"))
+from eric7.EricWidgets.EricPathPicker import EricPathPicker
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Preferences/ConfigurationPages/Ui_NetworkPage.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,304 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Preferences/ConfigurationPages/NetworkPage.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_NetworkPage(object):
+    def setupUi(self, NetworkPage):
+        NetworkPage.setObjectName("NetworkPage")
+        NetworkPage.resize(589, 1129)
+        self.verticalLayout_7 = QtWidgets.QVBoxLayout(NetworkPage)
+        self.verticalLayout_7.setObjectName("verticalLayout_7")
+        self.headerLabel = QtWidgets.QLabel(parent=NetworkPage)
+        self.headerLabel.setObjectName("headerLabel")
+        self.verticalLayout_7.addWidget(self.headerLabel)
+        self.line9_3 = QtWidgets.QFrame(parent=NetworkPage)
+        self.line9_3.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line9_3.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line9_3.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line9_3.setObjectName("line9_3")
+        self.verticalLayout_7.addWidget(self.line9_3)
+        self.groupBox_3 = QtWidgets.QGroupBox(parent=NetworkPage)
+        self.groupBox_3.setObjectName("groupBox_3")
+        self.verticalLayout_5 = QtWidgets.QVBoxLayout(self.groupBox_3)
+        self.verticalLayout_5.setObjectName("verticalLayout_5")
+        self.dynamicOnlineCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_3)
+        self.dynamicOnlineCheckBox.setObjectName("dynamicOnlineCheckBox")
+        self.verticalLayout_5.addWidget(self.dynamicOnlineCheckBox)
+        self.verticalLayout_7.addWidget(self.groupBox_3)
+        self.groupBox_2 = QtWidgets.QGroupBox(parent=NetworkPage)
+        self.groupBox_2.setObjectName("groupBox_2")
+        self.verticalLayout_6 = QtWidgets.QVBoxLayout(self.groupBox_2)
+        self.verticalLayout_6.setObjectName("verticalLayout_6")
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.label_6 = QtWidgets.QLabel(parent=self.groupBox_2)
+        self.label_6.setObjectName("label_6")
+        self.horizontalLayout.addWidget(self.label_6)
+        self.downloadDirPicker = EricPathPicker(parent=self.groupBox_2)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.downloadDirPicker.sizePolicy().hasHeightForWidth())
+        self.downloadDirPicker.setSizePolicy(sizePolicy)
+        self.downloadDirPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.downloadDirPicker.setObjectName("downloadDirPicker")
+        self.horizontalLayout.addWidget(self.downloadDirPicker)
+        self.verticalLayout_6.addLayout(self.horizontalLayout)
+        self.requestFilenameCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_2)
+        self.requestFilenameCheckBox.setObjectName("requestFilenameCheckBox")
+        self.verticalLayout_6.addWidget(self.requestFilenameCheckBox)
+        self.cleanupGroup = QtWidgets.QGroupBox(parent=self.groupBox_2)
+        self.cleanupGroup.setObjectName("cleanupGroup")
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.cleanupGroup)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.cleanupNeverButton = QtWidgets.QRadioButton(parent=self.cleanupGroup)
+        self.cleanupNeverButton.setObjectName("cleanupNeverButton")
+        self.verticalLayout_2.addWidget(self.cleanupNeverButton)
+        self.cleanupExitButton = QtWidgets.QRadioButton(parent=self.cleanupGroup)
+        self.cleanupExitButton.setObjectName("cleanupExitButton")
+        self.verticalLayout_2.addWidget(self.cleanupExitButton)
+        self.cleanupSuccessfulButton = QtWidgets.QRadioButton(parent=self.cleanupGroup)
+        self.cleanupSuccessfulButton.setObjectName("cleanupSuccessfulButton")
+        self.verticalLayout_2.addWidget(self.cleanupSuccessfulButton)
+        self.verticalLayout_6.addWidget(self.cleanupGroup)
+        self.displayGroup = QtWidgets.QGroupBox(parent=self.groupBox_2)
+        self.displayGroup.setObjectName("displayGroup")
+        self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.displayGroup)
+        self.verticalLayout_3.setObjectName("verticalLayout_3")
+        self.openOnStartCheckBox = QtWidgets.QCheckBox(parent=self.displayGroup)
+        self.openOnStartCheckBox.setObjectName("openOnStartCheckBox")
+        self.verticalLayout_3.addWidget(self.openOnStartCheckBox)
+        self.closeOnFinishedCheckBox = QtWidgets.QCheckBox(parent=self.displayGroup)
+        self.closeOnFinishedCheckBox.setObjectName("closeOnFinishedCheckBox")
+        self.verticalLayout_3.addWidget(self.closeOnFinishedCheckBox)
+        self.verticalLayout_6.addWidget(self.displayGroup)
+        self.verticalLayout_7.addWidget(self.groupBox_2)
+        self.proxyGroup = QtWidgets.QGroupBox(parent=NetworkPage)
+        self.proxyGroup.setCheckable(False)
+        self.proxyGroup.setChecked(False)
+        self.proxyGroup.setObjectName("proxyGroup")
+        self.verticalLayout_4 = QtWidgets.QVBoxLayout(self.proxyGroup)
+        self.verticalLayout_4.setObjectName("verticalLayout_4")
+        self.noProxyButton = QtWidgets.QRadioButton(parent=self.proxyGroup)
+        self.noProxyButton.setChecked(True)
+        self.noProxyButton.setObjectName("noProxyButton")
+        self.verticalLayout_4.addWidget(self.noProxyButton)
+        self.systemProxyButton = QtWidgets.QRadioButton(parent=self.proxyGroup)
+        self.systemProxyButton.setObjectName("systemProxyButton")
+        self.verticalLayout_4.addWidget(self.systemProxyButton)
+        self.manualProxyButton = QtWidgets.QRadioButton(parent=self.proxyGroup)
+        self.manualProxyButton.setChecked(False)
+        self.manualProxyButton.setObjectName("manualProxyButton")
+        self.verticalLayout_4.addWidget(self.manualProxyButton)
+        self.groupBox = QtWidgets.QGroupBox(parent=self.proxyGroup)
+        self.groupBox.setEnabled(False)
+        self.groupBox.setFlat(False)
+        self.groupBox.setObjectName("groupBox")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.groupBox)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.groupBox_6 = QtWidgets.QGroupBox(parent=self.groupBox)
+        self.groupBox_6.setObjectName("groupBox_6")
+        self.gridLayout_2 = QtWidgets.QGridLayout(self.groupBox_6)
+        self.gridLayout_2.setObjectName("gridLayout_2")
+        self.label_13 = QtWidgets.QLabel(parent=self.groupBox_6)
+        self.label_13.setObjectName("label_13")
+        self.gridLayout_2.addWidget(self.label_13, 0, 0, 1, 1)
+        self.httpProxyHostEdit = QtWidgets.QLineEdit(parent=self.groupBox_6)
+        self.httpProxyHostEdit.setObjectName("httpProxyHostEdit")
+        self.gridLayout_2.addWidget(self.httpProxyHostEdit, 0, 1, 1, 1)
+        self.label_2 = QtWidgets.QLabel(parent=self.groupBox_6)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout_2.addWidget(self.label_2, 0, 2, 1, 1)
+        self.httpProxyPortSpin = QtWidgets.QSpinBox(parent=self.groupBox_6)
+        self.httpProxyPortSpin.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight)
+        self.httpProxyPortSpin.setMinimum(1)
+        self.httpProxyPortSpin.setMaximum(65535)
+        self.httpProxyPortSpin.setProperty("value", 80)
+        self.httpProxyPortSpin.setObjectName("httpProxyPortSpin")
+        self.gridLayout_2.addWidget(self.httpProxyPortSpin, 0, 3, 1, 1)
+        self.httpProxyForAllCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_6)
+        self.httpProxyForAllCheckBox.setObjectName("httpProxyForAllCheckBox")
+        self.gridLayout_2.addWidget(self.httpProxyForAllCheckBox, 1, 0, 1, 4)
+        self.verticalLayout.addWidget(self.groupBox_6)
+        self.groupBox_5 = QtWidgets.QGroupBox(parent=self.groupBox)
+        self.groupBox_5.setObjectName("groupBox_5")
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.groupBox_5)
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.label_12 = QtWidgets.QLabel(parent=self.groupBox_5)
+        self.label_12.setObjectName("label_12")
+        self.horizontalLayout_2.addWidget(self.label_12)
+        self.httpsProxyHostEdit = QtWidgets.QLineEdit(parent=self.groupBox_5)
+        self.httpsProxyHostEdit.setObjectName("httpsProxyHostEdit")
+        self.horizontalLayout_2.addWidget(self.httpsProxyHostEdit)
+        self.label_5 = QtWidgets.QLabel(parent=self.groupBox_5)
+        self.label_5.setObjectName("label_5")
+        self.horizontalLayout_2.addWidget(self.label_5)
+        self.httpsProxyPortSpin = QtWidgets.QSpinBox(parent=self.groupBox_5)
+        self.httpsProxyPortSpin.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight)
+        self.httpsProxyPortSpin.setMinimum(1)
+        self.httpsProxyPortSpin.setMaximum(65535)
+        self.httpsProxyPortSpin.setProperty("value", 443)
+        self.httpsProxyPortSpin.setObjectName("httpsProxyPortSpin")
+        self.horizontalLayout_2.addWidget(self.httpsProxyPortSpin)
+        self.verticalLayout.addWidget(self.groupBox_5)
+        self.groupBox_4 = QtWidgets.QGroupBox(parent=self.groupBox)
+        self.groupBox_4.setObjectName("groupBox_4")
+        self.gridLayout = QtWidgets.QGridLayout(self.groupBox_4)
+        self.gridLayout.setObjectName("gridLayout")
+        self.label_8 = QtWidgets.QLabel(parent=self.groupBox_4)
+        self.label_8.setObjectName("label_8")
+        self.gridLayout.addWidget(self.label_8, 0, 0, 1, 1)
+        self.ftpProxyTypeCombo = QtWidgets.QComboBox(parent=self.groupBox_4)
+        self.ftpProxyTypeCombo.setObjectName("ftpProxyTypeCombo")
+        self.gridLayout.addWidget(self.ftpProxyTypeCombo, 0, 1, 1, 3)
+        self.label_3 = QtWidgets.QLabel(parent=self.groupBox_4)
+        self.label_3.setObjectName("label_3")
+        self.gridLayout.addWidget(self.label_3, 1, 0, 1, 1)
+        self.ftpProxyHostEdit = QtWidgets.QLineEdit(parent=self.groupBox_4)
+        self.ftpProxyHostEdit.setObjectName("ftpProxyHostEdit")
+        self.gridLayout.addWidget(self.ftpProxyHostEdit, 1, 1, 1, 1)
+        self.label_7 = QtWidgets.QLabel(parent=self.groupBox_4)
+        self.label_7.setObjectName("label_7")
+        self.gridLayout.addWidget(self.label_7, 1, 2, 1, 1)
+        self.ftpProxyPortSpin = QtWidgets.QSpinBox(parent=self.groupBox_4)
+        self.ftpProxyPortSpin.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight)
+        self.ftpProxyPortSpin.setMinimum(1)
+        self.ftpProxyPortSpin.setMaximum(65535)
+        self.ftpProxyPortSpin.setProperty("value", 21)
+        self.ftpProxyPortSpin.setObjectName("ftpProxyPortSpin")
+        self.gridLayout.addWidget(self.ftpProxyPortSpin, 1, 3, 1, 1)
+        self.label_9 = QtWidgets.QLabel(parent=self.groupBox_4)
+        self.label_9.setObjectName("label_9")
+        self.gridLayout.addWidget(self.label_9, 2, 0, 1, 1)
+        self.ftpProxyUserEdit = QtWidgets.QLineEdit(parent=self.groupBox_4)
+        self.ftpProxyUserEdit.setObjectName("ftpProxyUserEdit")
+        self.gridLayout.addWidget(self.ftpProxyUserEdit, 2, 1, 1, 3)
+        self.label_10 = QtWidgets.QLabel(parent=self.groupBox_4)
+        self.label_10.setObjectName("label_10")
+        self.gridLayout.addWidget(self.label_10, 3, 0, 1, 1)
+        self.ftpProxyPasswordEdit = QtWidgets.QLineEdit(parent=self.groupBox_4)
+        self.ftpProxyPasswordEdit.setEchoMode(QtWidgets.QLineEdit.EchoMode.Password)
+        self.ftpProxyPasswordEdit.setObjectName("ftpProxyPasswordEdit")
+        self.gridLayout.addWidget(self.ftpProxyPasswordEdit, 3, 1, 1, 3)
+        self.label_11 = QtWidgets.QLabel(parent=self.groupBox_4)
+        self.label_11.setObjectName("label_11")
+        self.gridLayout.addWidget(self.label_11, 4, 0, 1, 1)
+        self.ftpProxyAccountEdit = QtWidgets.QLineEdit(parent=self.groupBox_4)
+        self.ftpProxyAccountEdit.setObjectName("ftpProxyAccountEdit")
+        self.gridLayout.addWidget(self.ftpProxyAccountEdit, 4, 1, 1, 3)
+        self.verticalLayout.addWidget(self.groupBox_4)
+        self.verticalLayout_4.addWidget(self.groupBox)
+        self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
+        self.label = QtWidgets.QLabel(parent=self.proxyGroup)
+        self.label.setObjectName("label")
+        self.horizontalLayout_3.addWidget(self.label)
+        self.exceptionsEdit = QtWidgets.QLineEdit(parent=self.proxyGroup)
+        self.exceptionsEdit.setObjectName("exceptionsEdit")
+        self.horizontalLayout_3.addWidget(self.exceptionsEdit)
+        self.verticalLayout_4.addLayout(self.horizontalLayout_3)
+        self.clearProxyPasswordsButton = QtWidgets.QPushButton(parent=self.proxyGroup)
+        self.clearProxyPasswordsButton.setObjectName("clearProxyPasswordsButton")
+        self.verticalLayout_4.addWidget(self.clearProxyPasswordsButton)
+        self.verticalLayout_7.addWidget(self.proxyGroup)
+        spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout_7.addItem(spacerItem)
+
+        self.retranslateUi(NetworkPage)
+        self.manualProxyButton.toggled['bool'].connect(self.groupBox.setEnabled) # type: ignore
+        self.httpProxyForAllCheckBox.toggled['bool'].connect(self.groupBox_5.setDisabled) # type: ignore
+        self.httpProxyForAllCheckBox.toggled['bool'].connect(self.groupBox_4.setDisabled) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(NetworkPage)
+        NetworkPage.setTabOrder(self.dynamicOnlineCheckBox, self.downloadDirPicker)
+        NetworkPage.setTabOrder(self.downloadDirPicker, self.requestFilenameCheckBox)
+        NetworkPage.setTabOrder(self.requestFilenameCheckBox, self.cleanupNeverButton)
+        NetworkPage.setTabOrder(self.cleanupNeverButton, self.cleanupExitButton)
+        NetworkPage.setTabOrder(self.cleanupExitButton, self.cleanupSuccessfulButton)
+        NetworkPage.setTabOrder(self.cleanupSuccessfulButton, self.openOnStartCheckBox)
+        NetworkPage.setTabOrder(self.openOnStartCheckBox, self.closeOnFinishedCheckBox)
+        NetworkPage.setTabOrder(self.closeOnFinishedCheckBox, self.noProxyButton)
+        NetworkPage.setTabOrder(self.noProxyButton, self.systemProxyButton)
+        NetworkPage.setTabOrder(self.systemProxyButton, self.manualProxyButton)
+        NetworkPage.setTabOrder(self.manualProxyButton, self.httpProxyHostEdit)
+        NetworkPage.setTabOrder(self.httpProxyHostEdit, self.httpProxyPortSpin)
+        NetworkPage.setTabOrder(self.httpProxyPortSpin, self.httpProxyForAllCheckBox)
+        NetworkPage.setTabOrder(self.httpProxyForAllCheckBox, self.httpsProxyHostEdit)
+        NetworkPage.setTabOrder(self.httpsProxyHostEdit, self.httpsProxyPortSpin)
+        NetworkPage.setTabOrder(self.httpsProxyPortSpin, self.ftpProxyTypeCombo)
+        NetworkPage.setTabOrder(self.ftpProxyTypeCombo, self.ftpProxyHostEdit)
+        NetworkPage.setTabOrder(self.ftpProxyHostEdit, self.ftpProxyPortSpin)
+        NetworkPage.setTabOrder(self.ftpProxyPortSpin, self.ftpProxyUserEdit)
+        NetworkPage.setTabOrder(self.ftpProxyUserEdit, self.ftpProxyPasswordEdit)
+        NetworkPage.setTabOrder(self.ftpProxyPasswordEdit, self.ftpProxyAccountEdit)
+        NetworkPage.setTabOrder(self.ftpProxyAccountEdit, self.exceptionsEdit)
+        NetworkPage.setTabOrder(self.exceptionsEdit, self.clearProxyPasswordsButton)
+
+    def retranslateUi(self, NetworkPage):
+        _translate = QtCore.QCoreApplication.translate
+        self.headerLabel.setText(_translate("NetworkPage", "<b>Configure Network</b>"))
+        self.groupBox_3.setTitle(_translate("NetworkPage", "Reachability Status"))
+        self.dynamicOnlineCheckBox.setToolTip(_translate("NetworkPage", "Select to determine the Internet reachability status dynamically (assume Internet reachability if unchecked)"))
+        self.dynamicOnlineCheckBox.setText(_translate("NetworkPage", "Dynamic Reachability Status Determination"))
+        self.groupBox_2.setTitle(_translate("NetworkPage", "Downloads"))
+        self.label_6.setText(_translate("NetworkPage", "Download directory:"))
+        self.downloadDirPicker.setToolTip(_translate("NetworkPage", "Enter the download directory (leave empty to use the default location)"))
+        self.requestFilenameCheckBox.setToolTip(_translate("NetworkPage", "Select to ask the user for a download filename"))
+        self.requestFilenameCheckBox.setText(_translate("NetworkPage", "Request name of downloaded file"))
+        self.cleanupGroup.setTitle(_translate("NetworkPage", "Download Manager Cleanup Policy"))
+        self.cleanupNeverButton.setToolTip(_translate("NetworkPage", "Select to never cleanup automatically"))
+        self.cleanupNeverButton.setText(_translate("NetworkPage", "Never"))
+        self.cleanupExitButton.setToolTip(_translate("NetworkPage", "Select to cleanup upon exiting"))
+        self.cleanupExitButton.setText(_translate("NetworkPage", "When exiting the application"))
+        self.cleanupSuccessfulButton.setToolTip(_translate("NetworkPage", "Select to cleanup after a successful download"))
+        self.cleanupSuccessfulButton.setText(_translate("NetworkPage", "When download finished successfully"))
+        self.displayGroup.setTitle(_translate("NetworkPage", "Download Manager Display Policy"))
+        self.openOnStartCheckBox.setToolTip(_translate("NetworkPage", "Select to open the download manager dialog when starting a download"))
+        self.openOnStartCheckBox.setText(_translate("NetworkPage", "Open when starting download"))
+        self.closeOnFinishedCheckBox.setToolTip(_translate("NetworkPage", "Select to close the download manager dialog when the last download is finished"))
+        self.closeOnFinishedCheckBox.setText(_translate("NetworkPage", "Close when downloads finished"))
+        self.proxyGroup.setToolTip(_translate("NetworkPage", "Select to use a web proxy"))
+        self.proxyGroup.setTitle(_translate("NetworkPage", "Network Proxy"))
+        self.noProxyButton.setToolTip(_translate("NetworkPage", "Select to not use a network proxy"))
+        self.noProxyButton.setText(_translate("NetworkPage", "Do not use proxy"))
+        self.systemProxyButton.setToolTip(_translate("NetworkPage", "Select to use the system proxy configuration"))
+        self.systemProxyButton.setText(_translate("NetworkPage", "Use system proxy configuration"))
+        self.manualProxyButton.setToolTip(_translate("NetworkPage", "Select to use an application specific proxy configuration"))
+        self.manualProxyButton.setText(_translate("NetworkPage", "Manual proxy configuration:"))
+        self.groupBox.setTitle(_translate("NetworkPage", "Manual proxy settings"))
+        self.groupBox_6.setTitle(_translate("NetworkPage", "HTTP-Proxy"))
+        self.label_13.setText(_translate("NetworkPage", "Hostname:"))
+        self.httpProxyHostEdit.setToolTip(_translate("NetworkPage", "Enter the name of the HTTP proxy host"))
+        self.label_2.setText(_translate("NetworkPage", "Port:"))
+        self.httpProxyPortSpin.setToolTip(_translate("NetworkPage", "Enter the HTTP proxy port"))
+        self.httpProxyForAllCheckBox.setToolTip(_translate("NetworkPage", "Select to use the HTTP proxy for all"))
+        self.httpProxyForAllCheckBox.setText(_translate("NetworkPage", "Use this proxy for all protocols"))
+        self.groupBox_5.setTitle(_translate("NetworkPage", "HTTPS-Proxy"))
+        self.label_12.setText(_translate("NetworkPage", "Hostname:"))
+        self.httpsProxyHostEdit.setToolTip(_translate("NetworkPage", "Enter the name of the HTTPS proxy host"))
+        self.label_5.setText(_translate("NetworkPage", "Port:"))
+        self.httpsProxyPortSpin.setToolTip(_translate("NetworkPage", "Enter the HTTPS proxy port"))
+        self.groupBox_4.setTitle(_translate("NetworkPage", "FTP-Proxy"))
+        self.label_8.setText(_translate("NetworkPage", "Proxy Type:"))
+        self.ftpProxyTypeCombo.setToolTip(_translate("NetworkPage", "Select the type of the FTP proxy"))
+        self.label_3.setText(_translate("NetworkPage", "Hostname:"))
+        self.ftpProxyHostEdit.setToolTip(_translate("NetworkPage", "Enter the name of the FTP proxy host"))
+        self.label_7.setText(_translate("NetworkPage", "Port:"))
+        self.ftpProxyPortSpin.setToolTip(_translate("NetworkPage", "Enter the FTP proxy port"))
+        self.label_9.setText(_translate("NetworkPage", "User Name:"))
+        self.ftpProxyUserEdit.setToolTip(_translate("NetworkPage", "Enter the user name for the proxy authentication"))
+        self.label_10.setText(_translate("NetworkPage", "Password:"))
+        self.ftpProxyPasswordEdit.setToolTip(_translate("NetworkPage", "Enter the password for the proxy authentication"))
+        self.label_11.setText(_translate("NetworkPage", "Account:"))
+        self.ftpProxyAccountEdit.setToolTip(_translate("NetworkPage", "Enter the account info for the proxy authentication"))
+        self.label.setText(_translate("NetworkPage", "Exceptions:"))
+        self.exceptionsEdit.setToolTip(_translate("NetworkPage", "Enter host names or IP-addresses for which the proxy is to be circumvented separated by \',\' (wildcards * or ? may be used)"))
+        self.clearProxyPasswordsButton.setToolTip(_translate("NetworkPage", "Press to clear the saved passwords for the Http(s) proxy"))
+        self.clearProxyPasswordsButton.setText(_translate("NetworkPage", "Clear HTTP(S) Proxy Passwords"))
+from eric7.EricWidgets.EricPathPicker import EricPathPicker
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Preferences/ConfigurationPages/Ui_NetworkProxyPage.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,219 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Preferences/ConfigurationPages/NetworkProxyPage.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_NetworkProxyPage(object):
+    def setupUi(self, NetworkProxyPage):
+        NetworkProxyPage.setObjectName("NetworkProxyPage")
+        NetworkProxyPage.resize(589, 1129)
+        self.verticalLayout_7 = QtWidgets.QVBoxLayout(NetworkProxyPage)
+        self.verticalLayout_7.setObjectName("verticalLayout_7")
+        self.headerLabel = QtWidgets.QLabel(parent=NetworkProxyPage)
+        self.headerLabel.setObjectName("headerLabel")
+        self.verticalLayout_7.addWidget(self.headerLabel)
+        self.line9_3 = QtWidgets.QFrame(parent=NetworkProxyPage)
+        self.line9_3.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line9_3.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line9_3.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line9_3.setObjectName("line9_3")
+        self.verticalLayout_7.addWidget(self.line9_3)
+        self.proxyGroup = QtWidgets.QGroupBox(parent=NetworkProxyPage)
+        self.proxyGroup.setCheckable(False)
+        self.proxyGroup.setChecked(False)
+        self.proxyGroup.setObjectName("proxyGroup")
+        self.verticalLayout_4 = QtWidgets.QVBoxLayout(self.proxyGroup)
+        self.verticalLayout_4.setObjectName("verticalLayout_4")
+        self.noProxyButton = QtWidgets.QRadioButton(parent=self.proxyGroup)
+        self.noProxyButton.setChecked(True)
+        self.noProxyButton.setObjectName("noProxyButton")
+        self.verticalLayout_4.addWidget(self.noProxyButton)
+        self.systemProxyButton = QtWidgets.QRadioButton(parent=self.proxyGroup)
+        self.systemProxyButton.setObjectName("systemProxyButton")
+        self.verticalLayout_4.addWidget(self.systemProxyButton)
+        self.manualProxyButton = QtWidgets.QRadioButton(parent=self.proxyGroup)
+        self.manualProxyButton.setChecked(False)
+        self.manualProxyButton.setObjectName("manualProxyButton")
+        self.verticalLayout_4.addWidget(self.manualProxyButton)
+        self.groupBox = QtWidgets.QGroupBox(parent=self.proxyGroup)
+        self.groupBox.setEnabled(False)
+        self.groupBox.setFlat(False)
+        self.groupBox.setObjectName("groupBox")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.groupBox)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.groupBox_6 = QtWidgets.QGroupBox(parent=self.groupBox)
+        self.groupBox_6.setObjectName("groupBox_6")
+        self.gridLayout_2 = QtWidgets.QGridLayout(self.groupBox_6)
+        self.gridLayout_2.setObjectName("gridLayout_2")
+        self.label_13 = QtWidgets.QLabel(parent=self.groupBox_6)
+        self.label_13.setObjectName("label_13")
+        self.gridLayout_2.addWidget(self.label_13, 0, 0, 1, 1)
+        self.httpProxyHostEdit = QtWidgets.QLineEdit(parent=self.groupBox_6)
+        self.httpProxyHostEdit.setObjectName("httpProxyHostEdit")
+        self.gridLayout_2.addWidget(self.httpProxyHostEdit, 0, 1, 1, 1)
+        self.label_2 = QtWidgets.QLabel(parent=self.groupBox_6)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout_2.addWidget(self.label_2, 0, 2, 1, 1)
+        self.httpProxyPortSpin = QtWidgets.QSpinBox(parent=self.groupBox_6)
+        self.httpProxyPortSpin.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight)
+        self.httpProxyPortSpin.setMinimum(1)
+        self.httpProxyPortSpin.setMaximum(65535)
+        self.httpProxyPortSpin.setProperty("value", 80)
+        self.httpProxyPortSpin.setObjectName("httpProxyPortSpin")
+        self.gridLayout_2.addWidget(self.httpProxyPortSpin, 0, 3, 1, 1)
+        self.httpProxyForAllCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_6)
+        self.httpProxyForAllCheckBox.setObjectName("httpProxyForAllCheckBox")
+        self.gridLayout_2.addWidget(self.httpProxyForAllCheckBox, 1, 0, 1, 4)
+        self.verticalLayout.addWidget(self.groupBox_6)
+        self.groupBox_5 = QtWidgets.QGroupBox(parent=self.groupBox)
+        self.groupBox_5.setObjectName("groupBox_5")
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.groupBox_5)
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.label_12 = QtWidgets.QLabel(parent=self.groupBox_5)
+        self.label_12.setObjectName("label_12")
+        self.horizontalLayout_2.addWidget(self.label_12)
+        self.httpsProxyHostEdit = QtWidgets.QLineEdit(parent=self.groupBox_5)
+        self.httpsProxyHostEdit.setObjectName("httpsProxyHostEdit")
+        self.horizontalLayout_2.addWidget(self.httpsProxyHostEdit)
+        self.label_5 = QtWidgets.QLabel(parent=self.groupBox_5)
+        self.label_5.setObjectName("label_5")
+        self.horizontalLayout_2.addWidget(self.label_5)
+        self.httpsProxyPortSpin = QtWidgets.QSpinBox(parent=self.groupBox_5)
+        self.httpsProxyPortSpin.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight)
+        self.httpsProxyPortSpin.setMinimum(1)
+        self.httpsProxyPortSpin.setMaximum(65535)
+        self.httpsProxyPortSpin.setProperty("value", 443)
+        self.httpsProxyPortSpin.setObjectName("httpsProxyPortSpin")
+        self.horizontalLayout_2.addWidget(self.httpsProxyPortSpin)
+        self.verticalLayout.addWidget(self.groupBox_5)
+        self.groupBox_4 = QtWidgets.QGroupBox(parent=self.groupBox)
+        self.groupBox_4.setObjectName("groupBox_4")
+        self.gridLayout = QtWidgets.QGridLayout(self.groupBox_4)
+        self.gridLayout.setObjectName("gridLayout")
+        self.label_8 = QtWidgets.QLabel(parent=self.groupBox_4)
+        self.label_8.setObjectName("label_8")
+        self.gridLayout.addWidget(self.label_8, 0, 0, 1, 1)
+        self.ftpProxyTypeCombo = QtWidgets.QComboBox(parent=self.groupBox_4)
+        self.ftpProxyTypeCombo.setObjectName("ftpProxyTypeCombo")
+        self.gridLayout.addWidget(self.ftpProxyTypeCombo, 0, 1, 1, 3)
+        self.label_3 = QtWidgets.QLabel(parent=self.groupBox_4)
+        self.label_3.setObjectName("label_3")
+        self.gridLayout.addWidget(self.label_3, 1, 0, 1, 1)
+        self.ftpProxyHostEdit = QtWidgets.QLineEdit(parent=self.groupBox_4)
+        self.ftpProxyHostEdit.setObjectName("ftpProxyHostEdit")
+        self.gridLayout.addWidget(self.ftpProxyHostEdit, 1, 1, 1, 1)
+        self.label_7 = QtWidgets.QLabel(parent=self.groupBox_4)
+        self.label_7.setObjectName("label_7")
+        self.gridLayout.addWidget(self.label_7, 1, 2, 1, 1)
+        self.ftpProxyPortSpin = QtWidgets.QSpinBox(parent=self.groupBox_4)
+        self.ftpProxyPortSpin.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight)
+        self.ftpProxyPortSpin.setMinimum(1)
+        self.ftpProxyPortSpin.setMaximum(65535)
+        self.ftpProxyPortSpin.setProperty("value", 21)
+        self.ftpProxyPortSpin.setObjectName("ftpProxyPortSpin")
+        self.gridLayout.addWidget(self.ftpProxyPortSpin, 1, 3, 1, 1)
+        self.label_9 = QtWidgets.QLabel(parent=self.groupBox_4)
+        self.label_9.setObjectName("label_9")
+        self.gridLayout.addWidget(self.label_9, 2, 0, 1, 1)
+        self.ftpProxyUserEdit = QtWidgets.QLineEdit(parent=self.groupBox_4)
+        self.ftpProxyUserEdit.setObjectName("ftpProxyUserEdit")
+        self.gridLayout.addWidget(self.ftpProxyUserEdit, 2, 1, 1, 3)
+        self.label_10 = QtWidgets.QLabel(parent=self.groupBox_4)
+        self.label_10.setObjectName("label_10")
+        self.gridLayout.addWidget(self.label_10, 3, 0, 1, 1)
+        self.ftpProxyPasswordEdit = QtWidgets.QLineEdit(parent=self.groupBox_4)
+        self.ftpProxyPasswordEdit.setEchoMode(QtWidgets.QLineEdit.EchoMode.Password)
+        self.ftpProxyPasswordEdit.setObjectName("ftpProxyPasswordEdit")
+        self.gridLayout.addWidget(self.ftpProxyPasswordEdit, 3, 1, 1, 3)
+        self.label_11 = QtWidgets.QLabel(parent=self.groupBox_4)
+        self.label_11.setObjectName("label_11")
+        self.gridLayout.addWidget(self.label_11, 4, 0, 1, 1)
+        self.ftpProxyAccountEdit = QtWidgets.QLineEdit(parent=self.groupBox_4)
+        self.ftpProxyAccountEdit.setObjectName("ftpProxyAccountEdit")
+        self.gridLayout.addWidget(self.ftpProxyAccountEdit, 4, 1, 1, 3)
+        self.verticalLayout.addWidget(self.groupBox_4)
+        self.verticalLayout_4.addWidget(self.groupBox)
+        self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
+        self.label = QtWidgets.QLabel(parent=self.proxyGroup)
+        self.label.setObjectName("label")
+        self.horizontalLayout_3.addWidget(self.label)
+        self.exceptionsEdit = QtWidgets.QLineEdit(parent=self.proxyGroup)
+        self.exceptionsEdit.setObjectName("exceptionsEdit")
+        self.horizontalLayout_3.addWidget(self.exceptionsEdit)
+        self.verticalLayout_4.addLayout(self.horizontalLayout_3)
+        self.clearProxyPasswordsButton = QtWidgets.QPushButton(parent=self.proxyGroup)
+        self.clearProxyPasswordsButton.setObjectName("clearProxyPasswordsButton")
+        self.verticalLayout_4.addWidget(self.clearProxyPasswordsButton)
+        self.verticalLayout_7.addWidget(self.proxyGroup)
+        spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout_7.addItem(spacerItem)
+
+        self.retranslateUi(NetworkProxyPage)
+        self.manualProxyButton.toggled['bool'].connect(self.groupBox.setEnabled) # type: ignore
+        self.httpProxyForAllCheckBox.toggled['bool'].connect(self.groupBox_5.setDisabled) # type: ignore
+        self.httpProxyForAllCheckBox.toggled['bool'].connect(self.groupBox_4.setDisabled) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(NetworkProxyPage)
+        NetworkProxyPage.setTabOrder(self.noProxyButton, self.systemProxyButton)
+        NetworkProxyPage.setTabOrder(self.systemProxyButton, self.manualProxyButton)
+        NetworkProxyPage.setTabOrder(self.manualProxyButton, self.httpProxyHostEdit)
+        NetworkProxyPage.setTabOrder(self.httpProxyHostEdit, self.httpProxyPortSpin)
+        NetworkProxyPage.setTabOrder(self.httpProxyPortSpin, self.httpProxyForAllCheckBox)
+        NetworkProxyPage.setTabOrder(self.httpProxyForAllCheckBox, self.httpsProxyHostEdit)
+        NetworkProxyPage.setTabOrder(self.httpsProxyHostEdit, self.httpsProxyPortSpin)
+        NetworkProxyPage.setTabOrder(self.httpsProxyPortSpin, self.ftpProxyTypeCombo)
+        NetworkProxyPage.setTabOrder(self.ftpProxyTypeCombo, self.ftpProxyHostEdit)
+        NetworkProxyPage.setTabOrder(self.ftpProxyHostEdit, self.ftpProxyPortSpin)
+        NetworkProxyPage.setTabOrder(self.ftpProxyPortSpin, self.ftpProxyUserEdit)
+        NetworkProxyPage.setTabOrder(self.ftpProxyUserEdit, self.ftpProxyPasswordEdit)
+        NetworkProxyPage.setTabOrder(self.ftpProxyPasswordEdit, self.ftpProxyAccountEdit)
+        NetworkProxyPage.setTabOrder(self.ftpProxyAccountEdit, self.exceptionsEdit)
+        NetworkProxyPage.setTabOrder(self.exceptionsEdit, self.clearProxyPasswordsButton)
+
+    def retranslateUi(self, NetworkProxyPage):
+        _translate = QtCore.QCoreApplication.translate
+        self.headerLabel.setText(_translate("NetworkProxyPage", "<b>Configure Network Proxy</b>"))
+        self.proxyGroup.setToolTip(_translate("NetworkProxyPage", "Select to use a web proxy"))
+        self.proxyGroup.setTitle(_translate("NetworkProxyPage", "Network Proxy"))
+        self.noProxyButton.setToolTip(_translate("NetworkProxyPage", "Select to not use a network proxy"))
+        self.noProxyButton.setText(_translate("NetworkProxyPage", "Do not use proxy"))
+        self.systemProxyButton.setToolTip(_translate("NetworkProxyPage", "Select to use the system proxy configuration"))
+        self.systemProxyButton.setText(_translate("NetworkProxyPage", "Use system proxy configuration"))
+        self.manualProxyButton.setToolTip(_translate("NetworkProxyPage", "Select to use an application specific proxy configuration"))
+        self.manualProxyButton.setText(_translate("NetworkProxyPage", "Manual proxy configuration:"))
+        self.groupBox.setTitle(_translate("NetworkProxyPage", "Manual proxy settings"))
+        self.groupBox_6.setTitle(_translate("NetworkProxyPage", "HTTP-Proxy"))
+        self.label_13.setText(_translate("NetworkProxyPage", "Hostname:"))
+        self.httpProxyHostEdit.setToolTip(_translate("NetworkProxyPage", "Enter the name of the HTTP proxy host"))
+        self.label_2.setText(_translate("NetworkProxyPage", "Port:"))
+        self.httpProxyPortSpin.setToolTip(_translate("NetworkProxyPage", "Enter the HTTP proxy port"))
+        self.httpProxyForAllCheckBox.setToolTip(_translate("NetworkProxyPage", "Select to use the HTTP proxy for all"))
+        self.httpProxyForAllCheckBox.setText(_translate("NetworkProxyPage", "Use this proxy for all protocols"))
+        self.groupBox_5.setTitle(_translate("NetworkProxyPage", "HTTPS-Proxy"))
+        self.label_12.setText(_translate("NetworkProxyPage", "Hostname:"))
+        self.httpsProxyHostEdit.setToolTip(_translate("NetworkProxyPage", "Enter the name of the HTTPS proxy host"))
+        self.label_5.setText(_translate("NetworkProxyPage", "Port:"))
+        self.httpsProxyPortSpin.setToolTip(_translate("NetworkProxyPage", "Enter the HTTPS proxy port"))
+        self.groupBox_4.setTitle(_translate("NetworkProxyPage", "FTP-Proxy"))
+        self.label_8.setText(_translate("NetworkProxyPage", "Proxy Type:"))
+        self.ftpProxyTypeCombo.setToolTip(_translate("NetworkProxyPage", "Select the type of the FTP proxy"))
+        self.label_3.setText(_translate("NetworkProxyPage", "Hostname:"))
+        self.ftpProxyHostEdit.setToolTip(_translate("NetworkProxyPage", "Enter the name of the FTP proxy host"))
+        self.label_7.setText(_translate("NetworkProxyPage", "Port:"))
+        self.ftpProxyPortSpin.setToolTip(_translate("NetworkProxyPage", "Enter the FTP proxy port"))
+        self.label_9.setText(_translate("NetworkProxyPage", "User Name:"))
+        self.ftpProxyUserEdit.setToolTip(_translate("NetworkProxyPage", "Enter the user name for the proxy authentication"))
+        self.label_10.setText(_translate("NetworkProxyPage", "Password:"))
+        self.ftpProxyPasswordEdit.setToolTip(_translate("NetworkProxyPage", "Enter the password for the proxy authentication"))
+        self.label_11.setText(_translate("NetworkProxyPage", "Account:"))
+        self.ftpProxyAccountEdit.setToolTip(_translate("NetworkProxyPage", "Enter the account info for the proxy authentication"))
+        self.label.setText(_translate("NetworkProxyPage", "Exceptions:"))
+        self.exceptionsEdit.setToolTip(_translate("NetworkProxyPage", "Enter host names or IP-addresses for which the proxy is to be circumvented separated by \',\' (wildcards * or ? may be used)"))
+        self.clearProxyPasswordsButton.setToolTip(_translate("NetworkProxyPage", "Press to clear the saved passwords for the Http(s) proxy"))
+        self.clearProxyPasswordsButton.setText(_translate("NetworkProxyPage", "Clear HTTP(S) Proxy Passwords"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Preferences/ConfigurationPages/Ui_NotificationsPage.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,232 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Preferences/ConfigurationPages/NotificationsPage.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_NotificationsPage(object):
+    def setupUi(self, NotificationsPage):
+        NotificationsPage.setObjectName("NotificationsPage")
+        NotificationsPage.resize(550, 615)
+        NotificationsPage.setWindowTitle("")
+        self.verticalLayout_3 = QtWidgets.QVBoxLayout(NotificationsPage)
+        self.verticalLayout_3.setObjectName("verticalLayout_3")
+        self.headerLabel = QtWidgets.QLabel(parent=NotificationsPage)
+        self.headerLabel.setObjectName("headerLabel")
+        self.verticalLayout_3.addWidget(self.headerLabel)
+        self.line11 = QtWidgets.QFrame(parent=NotificationsPage)
+        self.line11.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line11.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line11.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line11.setObjectName("line11")
+        self.verticalLayout_3.addWidget(self.line11)
+        self.gridLayout_2 = QtWidgets.QGridLayout()
+        self.gridLayout_2.setObjectName("gridLayout_2")
+        self.label = QtWidgets.QLabel(parent=NotificationsPage)
+        self.label.setObjectName("label")
+        self.gridLayout_2.addWidget(self.label, 0, 0, 1, 1)
+        self.timeoutSpinBox = QtWidgets.QSpinBox(parent=NotificationsPage)
+        self.timeoutSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.timeoutSpinBox.setMinimum(1)
+        self.timeoutSpinBox.setMaximum(10)
+        self.timeoutSpinBox.setObjectName("timeoutSpinBox")
+        self.gridLayout_2.addWidget(self.timeoutSpinBox, 0, 1, 1, 1)
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout_2.addItem(spacerItem, 0, 2, 1, 1)
+        self.groupBox = QtWidgets.QGroupBox(parent=NotificationsPage)
+        self.groupBox.setObjectName("groupBox")
+        self.gridLayout = QtWidgets.QGridLayout(self.groupBox)
+        self.gridLayout.setObjectName("gridLayout")
+        self.label_2 = QtWidgets.QLabel(parent=self.groupBox)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 0, 0, 1, 1)
+        self.xSpinBox = QtWidgets.QSpinBox(parent=self.groupBox)
+        self.xSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.xSpinBox.setMinimum(-10000)
+        self.xSpinBox.setMaximum(10000)
+        self.xSpinBox.setObjectName("xSpinBox")
+        self.gridLayout.addWidget(self.xSpinBox, 0, 1, 1, 1)
+        self.label_3 = QtWidgets.QLabel(parent=self.groupBox)
+        self.label_3.setObjectName("label_3")
+        self.gridLayout.addWidget(self.label_3, 0, 2, 1, 1)
+        self.ySpinBox = QtWidgets.QSpinBox(parent=self.groupBox)
+        self.ySpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.ySpinBox.setMinimum(-10000)
+        self.ySpinBox.setMaximum(10000)
+        self.ySpinBox.setObjectName("ySpinBox")
+        self.gridLayout.addWidget(self.ySpinBox, 0, 3, 1, 1)
+        self.visualButton = QtWidgets.QPushButton(parent=self.groupBox)
+        self.visualButton.setCheckable(True)
+        self.visualButton.setObjectName("visualButton")
+        self.gridLayout.addWidget(self.visualButton, 1, 0, 1, 4)
+        self.gridLayout_2.addWidget(self.groupBox, 1, 0, 1, 2)
+        self.verticalLayout_3.addLayout(self.gridLayout_2)
+        self.groupBox_2 = QtWidgets.QGroupBox(parent=NotificationsPage)
+        self.groupBox_2.setObjectName("groupBox_2")
+        self.gridLayout_3 = QtWidgets.QGridLayout(self.groupBox_2)
+        self.gridLayout_3.setObjectName("gridLayout_3")
+        self.warningFgButton = QtWidgets.QPushButton(parent=self.groupBox_2)
+        self.warningFgButton.setObjectName("warningFgButton")
+        self.gridLayout_3.addWidget(self.warningFgButton, 0, 0, 1, 1)
+        self.warningBgButton = QtWidgets.QPushButton(parent=self.groupBox_2)
+        self.warningBgButton.setObjectName("warningBgButton")
+        self.gridLayout_3.addWidget(self.warningBgButton, 0, 1, 1, 1)
+        self.warningResetButton = QtWidgets.QPushButton(parent=self.groupBox_2)
+        self.warningResetButton.setObjectName("warningResetButton")
+        self.gridLayout_3.addWidget(self.warningResetButton, 0, 2, 1, 1)
+        self.warningDefaultButton = QtWidgets.QPushButton(parent=self.groupBox_2)
+        self.warningDefaultButton.setObjectName("warningDefaultButton")
+        self.gridLayout_3.addWidget(self.warningDefaultButton, 0, 3, 1, 1)
+        self.warningFrame = QtWidgets.QFrame(parent=self.groupBox_2)
+        self.warningFrame.setFrameShape(QtWidgets.QFrame.Shape.StyledPanel)
+        self.warningFrame.setFrameShadow(QtWidgets.QFrame.Shadow.Raised)
+        self.warningFrame.setObjectName("warningFrame")
+        self.horizontalLayout = QtWidgets.QHBoxLayout(self.warningFrame)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.warningIcon = QtWidgets.QLabel(parent=self.warningFrame)
+        self.warningIcon.setMaximumSize(QtCore.QSize(48, 48))
+        self.warningIcon.setText("")
+        self.warningIcon.setObjectName("warningIcon")
+        self.horizontalLayout.addWidget(self.warningIcon)
+        self.warningLayout = QtWidgets.QVBoxLayout()
+        self.warningLayout.setObjectName("warningLayout")
+        self.warningHeading = QtWidgets.QLabel(parent=self.warningFrame)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.warningHeading.sizePolicy().hasHeightForWidth())
+        self.warningHeading.setSizePolicy(sizePolicy)
+        self.warningHeading.setMinimumSize(QtCore.QSize(335, 0))
+        font = QtGui.QFont()
+        font.setBold(True)
+        font.setWeight(75)
+        self.warningHeading.setFont(font)
+        self.warningHeading.setObjectName("warningHeading")
+        self.warningLayout.addWidget(self.warningHeading)
+        self.warningMessage = QtWidgets.QLabel(parent=self.warningFrame)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.warningMessage.sizePolicy().hasHeightForWidth())
+        self.warningMessage.setSizePolicy(sizePolicy)
+        self.warningMessage.setMinimumSize(QtCore.QSize(335, 0))
+        self.warningMessage.setAlignment(QtCore.Qt.AlignmentFlag.AlignLeading|QtCore.Qt.AlignmentFlag.AlignLeft|QtCore.Qt.AlignmentFlag.AlignTop)
+        self.warningMessage.setWordWrap(True)
+        self.warningMessage.setObjectName("warningMessage")
+        self.warningLayout.addWidget(self.warningMessage)
+        self.horizontalLayout.addLayout(self.warningLayout)
+        self.gridLayout_3.addWidget(self.warningFrame, 1, 0, 1, 4)
+        self.verticalLayout_3.addWidget(self.groupBox_2)
+        self.groupBox_3 = QtWidgets.QGroupBox(parent=NotificationsPage)
+        self.groupBox_3.setObjectName("groupBox_3")
+        self.gridLayout_4 = QtWidgets.QGridLayout(self.groupBox_3)
+        self.gridLayout_4.setObjectName("gridLayout_4")
+        self.criticalFgButton = QtWidgets.QPushButton(parent=self.groupBox_3)
+        self.criticalFgButton.setObjectName("criticalFgButton")
+        self.gridLayout_4.addWidget(self.criticalFgButton, 0, 0, 1, 1)
+        self.criticalBgButton = QtWidgets.QPushButton(parent=self.groupBox_3)
+        self.criticalBgButton.setObjectName("criticalBgButton")
+        self.gridLayout_4.addWidget(self.criticalBgButton, 0, 1, 1, 1)
+        self.criticalResetButton = QtWidgets.QPushButton(parent=self.groupBox_3)
+        self.criticalResetButton.setObjectName("criticalResetButton")
+        self.gridLayout_4.addWidget(self.criticalResetButton, 0, 2, 1, 1)
+        self.criticalDefaultButton = QtWidgets.QPushButton(parent=self.groupBox_3)
+        self.criticalDefaultButton.setObjectName("criticalDefaultButton")
+        self.gridLayout_4.addWidget(self.criticalDefaultButton, 0, 3, 1, 1)
+        self.criticalFrame = QtWidgets.QFrame(parent=self.groupBox_3)
+        self.criticalFrame.setFrameShape(QtWidgets.QFrame.Shape.StyledPanel)
+        self.criticalFrame.setFrameShadow(QtWidgets.QFrame.Shadow.Raised)
+        self.criticalFrame.setObjectName("criticalFrame")
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.criticalFrame)
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.criticalIcon = QtWidgets.QLabel(parent=self.criticalFrame)
+        self.criticalIcon.setMaximumSize(QtCore.QSize(48, 48))
+        self.criticalIcon.setText("")
+        self.criticalIcon.setObjectName("criticalIcon")
+        self.horizontalLayout_2.addWidget(self.criticalIcon)
+        self.criticalLayout = QtWidgets.QVBoxLayout()
+        self.criticalLayout.setObjectName("criticalLayout")
+        self.criticalHeading = QtWidgets.QLabel(parent=self.criticalFrame)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.criticalHeading.sizePolicy().hasHeightForWidth())
+        self.criticalHeading.setSizePolicy(sizePolicy)
+        self.criticalHeading.setMinimumSize(QtCore.QSize(335, 0))
+        font = QtGui.QFont()
+        font.setBold(True)
+        font.setWeight(75)
+        self.criticalHeading.setFont(font)
+        self.criticalHeading.setObjectName("criticalHeading")
+        self.criticalLayout.addWidget(self.criticalHeading)
+        self.criticalMessage = QtWidgets.QLabel(parent=self.criticalFrame)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.criticalMessage.sizePolicy().hasHeightForWidth())
+        self.criticalMessage.setSizePolicy(sizePolicy)
+        self.criticalMessage.setMinimumSize(QtCore.QSize(335, 0))
+        self.criticalMessage.setAlignment(QtCore.Qt.AlignmentFlag.AlignLeading|QtCore.Qt.AlignmentFlag.AlignLeft|QtCore.Qt.AlignmentFlag.AlignTop)
+        self.criticalMessage.setWordWrap(True)
+        self.criticalMessage.setObjectName("criticalMessage")
+        self.criticalLayout.addWidget(self.criticalMessage)
+        self.horizontalLayout_2.addLayout(self.criticalLayout)
+        self.gridLayout_4.addWidget(self.criticalFrame, 1, 0, 1, 4)
+        self.verticalLayout_3.addWidget(self.groupBox_3)
+        spacerItem1 = QtWidgets.QSpacerItem(20, 142, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout_3.addItem(spacerItem1)
+
+        self.retranslateUi(NotificationsPage)
+        QtCore.QMetaObject.connectSlotsByName(NotificationsPage)
+        NotificationsPage.setTabOrder(self.timeoutSpinBox, self.xSpinBox)
+        NotificationsPage.setTabOrder(self.xSpinBox, self.ySpinBox)
+        NotificationsPage.setTabOrder(self.ySpinBox, self.visualButton)
+        NotificationsPage.setTabOrder(self.visualButton, self.warningFgButton)
+        NotificationsPage.setTabOrder(self.warningFgButton, self.warningBgButton)
+        NotificationsPage.setTabOrder(self.warningBgButton, self.warningResetButton)
+        NotificationsPage.setTabOrder(self.warningResetButton, self.warningDefaultButton)
+        NotificationsPage.setTabOrder(self.warningDefaultButton, self.criticalFgButton)
+        NotificationsPage.setTabOrder(self.criticalFgButton, self.criticalBgButton)
+        NotificationsPage.setTabOrder(self.criticalBgButton, self.criticalResetButton)
+        NotificationsPage.setTabOrder(self.criticalResetButton, self.criticalDefaultButton)
+
+    def retranslateUi(self, NotificationsPage):
+        _translate = QtCore.QCoreApplication.translate
+        self.headerLabel.setText(_translate("NotificationsPage", "<b>Configure notification settings</b>"))
+        self.label.setText(_translate("NotificationsPage", "Auto Close Timeout:"))
+        self.timeoutSpinBox.setToolTip(_translate("NotificationsPage", "Enter the timeout for closing the notification"))
+        self.timeoutSpinBox.setSuffix(_translate("NotificationsPage", " s"))
+        self.groupBox.setTitle(_translate("NotificationsPage", "Position"))
+        self.label_2.setText(_translate("NotificationsPage", "X:"))
+        self.xSpinBox.setToolTip(_translate("NotificationsPage", "Enter the X-position the notification should be shown at"))
+        self.label_3.setText(_translate("NotificationsPage", "Y:"))
+        self.ySpinBox.setToolTip(_translate("NotificationsPage", "Enter the Y-position the notification should be shown at"))
+        self.visualButton.setToolTip(_translate("NotificationsPage", "Press to select the position visually, release to get it"))
+        self.visualButton.setText(_translate("NotificationsPage", "Visual Selection"))
+        self.groupBox_2.setTitle(_translate("NotificationsPage", "Warning Notification"))
+        self.warningFgButton.setToolTip(_translate("NotificationsPage", "Press to select the foreground color"))
+        self.warningFgButton.setText(_translate("NotificationsPage", "Foreground"))
+        self.warningBgButton.setToolTip(_translate("NotificationsPage", "Press to select the background color"))
+        self.warningBgButton.setText(_translate("NotificationsPage", "Background"))
+        self.warningResetButton.setToolTip(_translate("NotificationsPage", "Press to reset the colors to the current values"))
+        self.warningResetButton.setText(_translate("NotificationsPage", "Reset"))
+        self.warningDefaultButton.setToolTip(_translate("NotificationsPage", "Press to reset the colors to default values"))
+        self.warningDefaultButton.setText(_translate("NotificationsPage", "Default"))
+        self.warningHeading.setText(_translate("NotificationsPage", "Warning"))
+        self.warningMessage.setText(_translate("NotificationsPage", "This is a message to notify about a warning."))
+        self.groupBox_3.setTitle(_translate("NotificationsPage", "Critical Notification"))
+        self.criticalFgButton.setToolTip(_translate("NotificationsPage", "Press to select the foreground color"))
+        self.criticalFgButton.setText(_translate("NotificationsPage", "Foreground"))
+        self.criticalBgButton.setToolTip(_translate("NotificationsPage", "Press to select the background color"))
+        self.criticalBgButton.setText(_translate("NotificationsPage", "Background"))
+        self.criticalResetButton.setToolTip(_translate("NotificationsPage", "Press to reset the colors to the current values"))
+        self.criticalResetButton.setText(_translate("NotificationsPage", "Reset"))
+        self.criticalDefaultButton.setToolTip(_translate("NotificationsPage", "Press to reset the colors to default values"))
+        self.criticalDefaultButton.setText(_translate("NotificationsPage", "Default"))
+        self.criticalHeading.setText(_translate("NotificationsPage", "Critical"))
+        self.criticalMessage.setText(_translate("NotificationsPage", "This is a message to notify about a critical event."))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Preferences/ConfigurationPages/Ui_PdfViewerPage.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,80 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Preferences/ConfigurationPages/PdfViewerPage.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_PdfViewerPage(object):
+    def setupUi(self, PdfViewerPage):
+        PdfViewerPage.setObjectName("PdfViewerPage")
+        PdfViewerPage.resize(400, 372)
+        self.verticalLayout = QtWidgets.QVBoxLayout(PdfViewerPage)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.headerLabel = QtWidgets.QLabel(parent=PdfViewerPage)
+        self.headerLabel.setObjectName("headerLabel")
+        self.verticalLayout.addWidget(self.headerLabel)
+        self.line14 = QtWidgets.QFrame(parent=PdfViewerPage)
+        self.line14.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line14.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line14.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line14.setObjectName("line14")
+        self.verticalLayout.addWidget(self.line14)
+        self.groupBox = QtWidgets.QGroupBox(parent=PdfViewerPage)
+        self.groupBox.setObjectName("groupBox")
+        self.gridLayout = QtWidgets.QGridLayout(self.groupBox)
+        self.gridLayout.setObjectName("gridLayout")
+        self.label_2 = QtWidgets.QLabel(parent=self.groupBox)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 0, 0, 1, 1)
+        self.contextLengthSpinBox = QtWidgets.QSpinBox(parent=self.groupBox)
+        self.contextLengthSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.contextLengthSpinBox.setMinimum(10)
+        self.contextLengthSpinBox.setMaximum(60)
+        self.contextLengthSpinBox.setObjectName("contextLengthSpinBox")
+        self.gridLayout.addWidget(self.contextLengthSpinBox, 0, 1, 1, 1)
+        spacerItem = QtWidgets.QSpacerItem(203, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout.addItem(spacerItem, 0, 2, 1, 1)
+        self.highlightCheckBox = QtWidgets.QCheckBox(parent=self.groupBox)
+        self.highlightCheckBox.setObjectName("highlightCheckBox")
+        self.gridLayout.addWidget(self.highlightCheckBox, 1, 0, 1, 3)
+        self.verticalLayout.addWidget(self.groupBox)
+        self.groupBox_7 = QtWidgets.QGroupBox(parent=PdfViewerPage)
+        self.groupBox_7.setObjectName("groupBox_7")
+        self._2 = QtWidgets.QHBoxLayout(self.groupBox_7)
+        self._2.setObjectName("_2")
+        self.label = QtWidgets.QLabel(parent=self.groupBox_7)
+        self.label.setObjectName("label")
+        self._2.addWidget(self.label)
+        self.recentFilesSpinBox = QtWidgets.QSpinBox(parent=self.groupBox_7)
+        self.recentFilesSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.recentFilesSpinBox.setMinimum(5)
+        self.recentFilesSpinBox.setMaximum(50)
+        self.recentFilesSpinBox.setObjectName("recentFilesSpinBox")
+        self._2.addWidget(self.recentFilesSpinBox)
+        spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self._2.addItem(spacerItem1)
+        self.verticalLayout.addWidget(self.groupBox_7)
+        spacerItem2 = QtWidgets.QSpacerItem(20, 132, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout.addItem(spacerItem2)
+
+        self.retranslateUi(PdfViewerPage)
+        QtCore.QMetaObject.connectSlotsByName(PdfViewerPage)
+        PdfViewerPage.setTabOrder(self.contextLengthSpinBox, self.highlightCheckBox)
+        PdfViewerPage.setTabOrder(self.highlightCheckBox, self.recentFilesSpinBox)
+
+    def retranslateUi(self, PdfViewerPage):
+        _translate = QtCore.QCoreApplication.translate
+        self.headerLabel.setText(_translate("PdfViewerPage", "<b>Configure PDF Viewer</b>"))
+        self.groupBox.setTitle(_translate("PdfViewerPage", "Search"))
+        self.label_2.setText(_translate("PdfViewerPage", "Context Length:"))
+        self.contextLengthSpinBox.setToolTip(_translate("PdfViewerPage", "Enter the amount of characters to show before and after the search string."))
+        self.highlightCheckBox.setToolTip(_translate("PdfViewerPage", "Select to highlight all search results in the document."))
+        self.highlightCheckBox.setText(_translate("PdfViewerPage", "Highlight all search results"))
+        self.groupBox_7.setTitle(_translate("PdfViewerPage", "Recent Files"))
+        self.label.setText(_translate("PdfViewerPage", "Number of recent files:"))
+        self.recentFilesSpinBox.setToolTip(_translate("PdfViewerPage", "Enter the number of recent files to remember"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Preferences/ConfigurationPages/Ui_PipPage.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,118 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Preferences/ConfigurationPages/PipPage.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_PipPage(object):
+    def setupUi(self, PipPage):
+        PipPage.setObjectName("PipPage")
+        PipPage.resize(532, 494)
+        self.verticalLayout_3 = QtWidgets.QVBoxLayout(PipPage)
+        self.verticalLayout_3.setObjectName("verticalLayout_3")
+        self.headerLabel = QtWidgets.QLabel(parent=PipPage)
+        self.headerLabel.setObjectName("headerLabel")
+        self.verticalLayout_3.addWidget(self.headerLabel)
+        self.line9_3 = QtWidgets.QFrame(parent=PipPage)
+        self.line9_3.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line9_3.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line9_3.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line9_3.setObjectName("line9_3")
+        self.verticalLayout_3.addWidget(self.line9_3)
+        self.groupBox_2 = QtWidgets.QGroupBox(parent=PipPage)
+        self.groupBox_2.setObjectName("groupBox_2")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.groupBox_2)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.indexEdit = QtWidgets.QLineEdit(parent=self.groupBox_2)
+        self.indexEdit.setClearButtonEnabled(True)
+        self.indexEdit.setObjectName("indexEdit")
+        self.verticalLayout.addWidget(self.indexEdit)
+        self.indexLabel = QtWidgets.QLabel(parent=self.groupBox_2)
+        self.indexLabel.setText("")
+        self.indexLabel.setWordWrap(True)
+        self.indexLabel.setOpenExternalLinks(True)
+        self.indexLabel.setObjectName("indexLabel")
+        self.verticalLayout.addWidget(self.indexLabel)
+        self.verticalLayout_3.addWidget(self.groupBox_2)
+        self.vulnerabilityGroup = QtWidgets.QGroupBox(parent=PipPage)
+        self.vulnerabilityGroup.setCheckable(True)
+        self.vulnerabilityGroup.setObjectName("vulnerabilityGroup")
+        self.gridLayout = QtWidgets.QGridLayout(self.vulnerabilityGroup)
+        self.gridLayout.setObjectName("gridLayout")
+        self.label = QtWidgets.QLabel(parent=self.vulnerabilityGroup)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
+        self.safetyDbMirrorEdit = QtWidgets.QLineEdit(parent=self.vulnerabilityGroup)
+        self.safetyDbMirrorEdit.setClearButtonEnabled(True)
+        self.safetyDbMirrorEdit.setObjectName("safetyDbMirrorEdit")
+        self.gridLayout.addWidget(self.safetyDbMirrorEdit, 0, 1, 1, 2)
+        self.safetyDbMirrorLabel = QtWidgets.QLabel(parent=self.vulnerabilityGroup)
+        self.safetyDbMirrorLabel.setWordWrap(True)
+        self.safetyDbMirrorLabel.setOpenExternalLinks(True)
+        self.safetyDbMirrorLabel.setObjectName("safetyDbMirrorLabel")
+        self.gridLayout.addWidget(self.safetyDbMirrorLabel, 1, 0, 1, 3)
+        self.label_2 = QtWidgets.QLabel(parent=self.vulnerabilityGroup)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 2, 0, 1, 1)
+        self.validitySpinBox = QtWidgets.QSpinBox(parent=self.vulnerabilityGroup)
+        self.validitySpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.validitySpinBox.setMinimum(2)
+        self.validitySpinBox.setMaximum(168)
+        self.validitySpinBox.setObjectName("validitySpinBox")
+        self.gridLayout.addWidget(self.validitySpinBox, 2, 1, 1, 1)
+        spacerItem = QtWidgets.QSpacerItem(330, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout.addItem(spacerItem, 2, 2, 1, 1)
+        self.verticalLayout_3.addWidget(self.vulnerabilityGroup)
+        self.groupBox = QtWidgets.QGroupBox(parent=PipPage)
+        self.groupBox.setObjectName("groupBox")
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.groupBox)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.noGlobalsCheckBox = QtWidgets.QCheckBox(parent=self.groupBox)
+        self.noGlobalsCheckBox.setObjectName("noGlobalsCheckBox")
+        self.verticalLayout_2.addWidget(self.noGlobalsCheckBox)
+        self.noCondaCheckBox = QtWidgets.QCheckBox(parent=self.groupBox)
+        self.noCondaCheckBox.setObjectName("noCondaCheckBox")
+        self.verticalLayout_2.addWidget(self.noCondaCheckBox)
+        self.verticalLayout_3.addWidget(self.groupBox)
+        spacerItem1 = QtWidgets.QSpacerItem(20, 234, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout_3.addItem(spacerItem1)
+
+        self.retranslateUi(PipPage)
+        QtCore.QMetaObject.connectSlotsByName(PipPage)
+        PipPage.setTabOrder(self.indexEdit, self.vulnerabilityGroup)
+        PipPage.setTabOrder(self.vulnerabilityGroup, self.safetyDbMirrorEdit)
+        PipPage.setTabOrder(self.safetyDbMirrorEdit, self.validitySpinBox)
+        PipPage.setTabOrder(self.validitySpinBox, self.noCondaCheckBox)
+
+    def retranslateUi(self, PipPage):
+        _translate = QtCore.QCoreApplication.translate
+        self.headerLabel.setText(_translate("PipPage", "<b>Configure pip</b>"))
+        self.groupBox_2.setTitle(_translate("PipPage", "Index URL"))
+        self.indexEdit.setToolTip(_translate("PipPage", "Enter the URL of the package index or leave empty to use the default"))
+        self.vulnerabilityGroup.setToolTip(_translate("PipPage", "Select to enable the display of vulnerability information."))
+        self.vulnerabilityGroup.setTitle(_translate("PipPage", "Vulnerability Checks"))
+        self.label.setText(_translate("PipPage", "Safety DB URL:"))
+        self.safetyDbMirrorEdit.setToolTip(_translate("PipPage", "Enter the base URL for the Safety DB mirror to be used"))
+        self.label_2.setText(_translate("PipPage", "Cache Validity:"))
+        self.validitySpinBox.setToolTip(_translate("PipPage", "Enter the Safety DB cache validity time in hours (2 hours up to 7 days)"))
+        self.validitySpinBox.setSuffix(_translate("PipPage", " hours"))
+        self.groupBox.setTitle(_translate("PipPage", "Environment"))
+        self.noGlobalsCheckBox.setToolTip(_translate("PipPage", "Select to exclude global environments"))
+        self.noGlobalsCheckBox.setText(_translate("PipPage", "Don\'t show global environments"))
+        self.noCondaCheckBox.setToolTip(_translate("PipPage", "Select to exclude conda managed environments"))
+        self.noCondaCheckBox.setText(_translate("PipPage", "Don\'t show \'Conda\' environments"))
+
+
+if __name__ == "__main__":
+    import sys
+    app = QtWidgets.QApplication(sys.argv)
+    PipPage = QtWidgets.QWidget()
+    ui = Ui_PipPage()
+    ui.setupUi(PipPage)
+    PipPage.show()
+    sys.exit(app.exec())
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Preferences/ConfigurationPages/Ui_PluginManagerPage.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,177 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Preferences/ConfigurationPages/PluginManagerPage.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_PluginManagerPage(object):
+    def setupUi(self, PluginManagerPage):
+        PluginManagerPage.setObjectName("PluginManagerPage")
+        PluginManagerPage.resize(528, 608)
+        self.verticalLayout_3 = QtWidgets.QVBoxLayout(PluginManagerPage)
+        self.verticalLayout_3.setObjectName("verticalLayout_3")
+        self.headerLabel = QtWidgets.QLabel(parent=PluginManagerPage)
+        self.headerLabel.setObjectName("headerLabel")
+        self.verticalLayout_3.addWidget(self.headerLabel)
+        self.line9_2 = QtWidgets.QFrame(parent=PluginManagerPage)
+        self.line9_2.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line9_2.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line9_2.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line9_2.setObjectName("line9_2")
+        self.verticalLayout_3.addWidget(self.line9_2)
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.label = QtWidgets.QLabel(parent=PluginManagerPage)
+        self.label.setObjectName("label")
+        self.horizontalLayout_2.addWidget(self.label)
+        self.downloadDirPicker = EricPathPicker(parent=PluginManagerPage)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.downloadDirPicker.sizePolicy().hasHeightForWidth())
+        self.downloadDirPicker.setSizePolicy(sizePolicy)
+        self.downloadDirPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.downloadDirPicker.setObjectName("downloadDirPicker")
+        self.horizontalLayout_2.addWidget(self.downloadDirPicker)
+        self.verticalLayout_3.addLayout(self.horizontalLayout_2)
+        self.groupBox = QtWidgets.QGroupBox(parent=PluginManagerPage)
+        self.groupBox.setObjectName("groupBox")
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.groupBox)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.horizontalLayout_4 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_4.setObjectName("horizontalLayout_4")
+        self.label_2 = QtWidgets.QLabel(parent=self.groupBox)
+        self.label_2.setObjectName("label_2")
+        self.horizontalLayout_4.addWidget(self.label_2)
+        self.generationsSpinBox = QtWidgets.QSpinBox(parent=self.groupBox)
+        self.generationsSpinBox.setMinimum(1)
+        self.generationsSpinBox.setMaximum(9)
+        self.generationsSpinBox.setObjectName("generationsSpinBox")
+        self.horizontalLayout_4.addWidget(self.generationsSpinBox)
+        spacerItem = QtWidgets.QSpacerItem(252, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_4.addItem(spacerItem)
+        self.verticalLayout_2.addLayout(self.horizontalLayout_4)
+        self.keepHiddenCheckBox = QtWidgets.QCheckBox(parent=self.groupBox)
+        self.keepHiddenCheckBox.setObjectName("keepHiddenCheckBox")
+        self.verticalLayout_2.addWidget(self.keepHiddenCheckBox)
+        self.startupCleanupCheckBox = QtWidgets.QCheckBox(parent=self.groupBox)
+        self.startupCleanupCheckBox.setObjectName("startupCleanupCheckBox")
+        self.verticalLayout_2.addWidget(self.startupCleanupCheckBox)
+        self.verticalLayout_3.addWidget(self.groupBox)
+        self.unencryptedCheckBox = QtWidgets.QCheckBox(parent=PluginManagerPage)
+        self.unencryptedCheckBox.setObjectName("unencryptedCheckBox")
+        self.verticalLayout_3.addWidget(self.unencryptedCheckBox)
+        self.TextLabel1_2_2_2_3 = QtWidgets.QLabel(parent=PluginManagerPage)
+        self.TextLabel1_2_2_2_3.setObjectName("TextLabel1_2_2_2_3")
+        self.verticalLayout_3.addWidget(self.TextLabel1_2_2_2_3)
+        self.activateExternalPluginsCheckBox = QtWidgets.QCheckBox(parent=PluginManagerPage)
+        self.activateExternalPluginsCheckBox.setObjectName("activateExternalPluginsCheckBox")
+        self.verticalLayout_3.addWidget(self.activateExternalPluginsCheckBox)
+        self.groupBox_2 = QtWidgets.QGroupBox(parent=PluginManagerPage)
+        self.groupBox_2.setObjectName("groupBox_2")
+        self.horizontalLayout_3 = QtWidgets.QHBoxLayout(self.groupBox_2)
+        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
+        self.noCheckRadioButton = QtWidgets.QRadioButton(parent=self.groupBox_2)
+        self.noCheckRadioButton.setObjectName("noCheckRadioButton")
+        self.horizontalLayout_3.addWidget(self.noCheckRadioButton)
+        self.alwaysCheckRadioButton = QtWidgets.QRadioButton(parent=self.groupBox_2)
+        self.alwaysCheckRadioButton.setObjectName("alwaysCheckRadioButton")
+        self.horizontalLayout_3.addWidget(self.alwaysCheckRadioButton)
+        self.dailyCheckRadioButton = QtWidgets.QRadioButton(parent=self.groupBox_2)
+        self.dailyCheckRadioButton.setObjectName("dailyCheckRadioButton")
+        self.horizontalLayout_3.addWidget(self.dailyCheckRadioButton)
+        self.weeklyCheckRadioButton = QtWidgets.QRadioButton(parent=self.groupBox_2)
+        self.weeklyCheckRadioButton.setObjectName("weeklyCheckRadioButton")
+        self.horizontalLayout_3.addWidget(self.weeklyCheckRadioButton)
+        self.monthlyCheckRadioButton = QtWidgets.QRadioButton(parent=self.groupBox_2)
+        self.monthlyCheckRadioButton.setObjectName("monthlyCheckRadioButton")
+        self.horizontalLayout_3.addWidget(self.monthlyCheckRadioButton)
+        self.verticalLayout_3.addWidget(self.groupBox_2)
+        self.downloadedOnlyCheckBox = QtWidgets.QCheckBox(parent=PluginManagerPage)
+        self.downloadedOnlyCheckBox.setObjectName("downloadedOnlyCheckBox")
+        self.verticalLayout_3.addWidget(self.downloadedOnlyCheckBox)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.label_4 = QtWidgets.QLabel(parent=PluginManagerPage)
+        self.label_4.setObjectName("label_4")
+        self.horizontalLayout.addWidget(self.label_4)
+        self.repositoryUrlEdit = QtWidgets.QLineEdit(parent=PluginManagerPage)
+        self.repositoryUrlEdit.setReadOnly(True)
+        self.repositoryUrlEdit.setObjectName("repositoryUrlEdit")
+        self.horizontalLayout.addWidget(self.repositoryUrlEdit)
+        self.repositoryUrlEditButton = QtWidgets.QPushButton(parent=PluginManagerPage)
+        self.repositoryUrlEditButton.setCheckable(True)
+        self.repositoryUrlEditButton.setObjectName("repositoryUrlEditButton")
+        self.horizontalLayout.addWidget(self.repositoryUrlEditButton)
+        self.verticalLayout_3.addLayout(self.horizontalLayout)
+        self.groupBox_3 = QtWidgets.QGroupBox(parent=PluginManagerPage)
+        self.groupBox_3.setObjectName("groupBox_3")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.groupBox_3)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.autoInstallCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_3)
+        self.autoInstallCheckBox.setObjectName("autoInstallCheckBox")
+        self.verticalLayout.addWidget(self.autoInstallCheckBox)
+        self.verticalLayout_3.addWidget(self.groupBox_3)
+        spacerItem1 = QtWidgets.QSpacerItem(435, 121, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout_3.addItem(spacerItem1)
+
+        self.retranslateUi(PluginManagerPage)
+        QtCore.QMetaObject.connectSlotsByName(PluginManagerPage)
+        PluginManagerPage.setTabOrder(self.downloadDirPicker, self.generationsSpinBox)
+        PluginManagerPage.setTabOrder(self.generationsSpinBox, self.keepHiddenCheckBox)
+        PluginManagerPage.setTabOrder(self.keepHiddenCheckBox, self.startupCleanupCheckBox)
+        PluginManagerPage.setTabOrder(self.startupCleanupCheckBox, self.unencryptedCheckBox)
+        PluginManagerPage.setTabOrder(self.unencryptedCheckBox, self.activateExternalPluginsCheckBox)
+        PluginManagerPage.setTabOrder(self.activateExternalPluginsCheckBox, self.noCheckRadioButton)
+        PluginManagerPage.setTabOrder(self.noCheckRadioButton, self.alwaysCheckRadioButton)
+        PluginManagerPage.setTabOrder(self.alwaysCheckRadioButton, self.dailyCheckRadioButton)
+        PluginManagerPage.setTabOrder(self.dailyCheckRadioButton, self.weeklyCheckRadioButton)
+        PluginManagerPage.setTabOrder(self.weeklyCheckRadioButton, self.monthlyCheckRadioButton)
+        PluginManagerPage.setTabOrder(self.monthlyCheckRadioButton, self.downloadedOnlyCheckBox)
+        PluginManagerPage.setTabOrder(self.downloadedOnlyCheckBox, self.repositoryUrlEdit)
+        PluginManagerPage.setTabOrder(self.repositoryUrlEdit, self.repositoryUrlEditButton)
+        PluginManagerPage.setTabOrder(self.repositoryUrlEditButton, self.autoInstallCheckBox)
+
+    def retranslateUi(self, PluginManagerPage):
+        _translate = QtCore.QCoreApplication.translate
+        self.headerLabel.setText(_translate("PluginManagerPage", "<b>Configure plugin manager</b>"))
+        self.label.setText(_translate("PluginManagerPage", "Plugins download directory:"))
+        self.downloadDirPicker.setToolTip(_translate("PluginManagerPage", "Enter the plugins download directory"))
+        self.groupBox.setTitle(_translate("PluginManagerPage", "Download Housekeeping"))
+        self.label_2.setText(_translate("PluginManagerPage", "No. of generations to keep:"))
+        self.generationsSpinBox.setToolTip(_translate("PluginManagerPage", "Enter the number of generations to keep for each plugin"))
+        self.keepHiddenCheckBox.setToolTip(_translate("PluginManagerPage", "Select to keep generations of hidden plugins"))
+        self.keepHiddenCheckBox.setText(_translate("PluginManagerPage", "Keep generations of hidden plugins"))
+        self.startupCleanupCheckBox.setToolTip(_translate("PluginManagerPage", "Select to cleanup the plugins download area during startuo"))
+        self.startupCleanupCheckBox.setText(_translate("PluginManagerPage", "Cleanup during startup"))
+        self.unencryptedCheckBox.setToolTip(_translate("PluginManagerPage", "<p>Select to force the use of <b>http://</b> instead of <b>https://</b>.</p>"))
+        self.unencryptedCheckBox.setText(_translate("PluginManagerPage", "Enforce unencrypted downloads"))
+        self.TextLabel1_2_2_2_3.setText(_translate("PluginManagerPage", "<font color=\"#FF0000\"><b>Note:</b> The following settings are activated at the next startup of the application.</font>"))
+        self.activateExternalPluginsCheckBox.setToolTip(_translate("PluginManagerPage", "Select to enable external plugins to be loaded"))
+        self.activateExternalPluginsCheckBox.setText(_translate("PluginManagerPage", "Load external plugins"))
+        self.groupBox_2.setTitle(_translate("PluginManagerPage", "Check for plugin updates"))
+        self.noCheckRadioButton.setToolTip(_translate("PluginManagerPage", "Select to disable update checking"))
+        self.noCheckRadioButton.setText(_translate("PluginManagerPage", "Never"))
+        self.alwaysCheckRadioButton.setToolTip(_translate("PluginManagerPage", "Select to check for updates whenever eric is started"))
+        self.alwaysCheckRadioButton.setText(_translate("PluginManagerPage", "Always"))
+        self.dailyCheckRadioButton.setToolTip(_translate("PluginManagerPage", "Select to check for updates once a day"))
+        self.dailyCheckRadioButton.setText(_translate("PluginManagerPage", "Daily"))
+        self.weeklyCheckRadioButton.setToolTip(_translate("PluginManagerPage", "Select to check for updates once a week"))
+        self.weeklyCheckRadioButton.setText(_translate("PluginManagerPage", "Weekly"))
+        self.monthlyCheckRadioButton.setToolTip(_translate("PluginManagerPage", "Select to check for updates once a month"))
+        self.monthlyCheckRadioButton.setText(_translate("PluginManagerPage", "Monthly"))
+        self.downloadedOnlyCheckBox.setToolTip(_translate("PluginManagerPage", "Select to check only already installed plugins for updates"))
+        self.downloadedOnlyCheckBox.setText(_translate("PluginManagerPage", "Check only installed plugins for updates"))
+        self.label_4.setText(_translate("PluginManagerPage", "Repository URL:"))
+        self.repositoryUrlEdit.setToolTip(_translate("PluginManagerPage", "Shows the repository URL"))
+        self.repositoryUrlEditButton.setToolTip(_translate("PluginManagerPage", "Press to edit the plugin repository URL"))
+        self.repositoryUrlEditButton.setText(_translate("PluginManagerPage", "Edit URL"))
+        self.groupBox_3.setTitle(_translate("PluginManagerPage", "Startup Behavior"))
+        self.autoInstallCheckBox.setToolTip(_translate("PluginManagerPage", "Select, to check for missing plugin dependencies at startup and install them"))
+        self.autoInstallCheckBox.setText(_translate("PluginManagerPage", "Automatic dependencies installation"))
+from eric7.EricWidgets.EricPathPicker import EricPathPicker
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Preferences/ConfigurationPages/Ui_PrinterPage.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,214 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Preferences/ConfigurationPages/PrinterPage.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_PrinterPage(object):
+    def setupUi(self, PrinterPage):
+        PrinterPage.setObjectName("PrinterPage")
+        PrinterPage.resize(507, 592)
+        self.verticalLayout = QtWidgets.QVBoxLayout(PrinterPage)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.headerLabel = QtWidgets.QLabel(parent=PrinterPage)
+        self.headerLabel.setObjectName("headerLabel")
+        self.verticalLayout.addWidget(self.headerLabel)
+        self.line7 = QtWidgets.QFrame(parent=PrinterPage)
+        self.line7.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line7.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line7.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line7.setObjectName("line7")
+        self.verticalLayout.addWidget(self.line7)
+        self.gridLayout = QtWidgets.QGridLayout()
+        self.gridLayout.setObjectName("gridLayout")
+        self.TextLabel1 = QtWidgets.QLabel(parent=PrinterPage)
+        self.TextLabel1.setObjectName("TextLabel1")
+        self.gridLayout.addWidget(self.TextLabel1, 0, 0, 1, 1)
+        self.printerNameEdit = QtWidgets.QLineEdit(parent=PrinterPage)
+        self.printerNameEdit.setObjectName("printerNameEdit")
+        self.gridLayout.addWidget(self.printerNameEdit, 0, 1, 1, 3)
+        self.TextLabel2 = QtWidgets.QLabel(parent=PrinterPage)
+        self.TextLabel2.setAlignment(QtCore.Qt.AlignmentFlag.AlignTop)
+        self.TextLabel2.setObjectName("TextLabel2")
+        self.gridLayout.addWidget(self.TextLabel2, 1, 0, 1, 1)
+        self.frame_2 = QtWidgets.QFrame(parent=PrinterPage)
+        self.frame_2.setFrameShape(QtWidgets.QFrame.Shape.NoFrame)
+        self.frame_2.setObjectName("frame_2")
+        self.vboxlayout = QtWidgets.QVBoxLayout(self.frame_2)
+        self.vboxlayout.setContentsMargins(0, 0, 0, 0)
+        self.vboxlayout.setObjectName("vboxlayout")
+        self.printerColorButton = QtWidgets.QRadioButton(parent=self.frame_2)
+        self.printerColorButton.setObjectName("printerColorButton")
+        self.vboxlayout.addWidget(self.printerColorButton)
+        self.printerGrayscaleButton = QtWidgets.QRadioButton(parent=self.frame_2)
+        self.printerGrayscaleButton.setObjectName("printerGrayscaleButton")
+        self.vboxlayout.addWidget(self.printerGrayscaleButton)
+        self.gridLayout.addWidget(self.frame_2, 1, 1, 1, 3)
+        self.TextLabel4 = QtWidgets.QLabel(parent=PrinterPage)
+        self.TextLabel4.setAlignment(QtCore.Qt.AlignmentFlag.AlignTop)
+        self.TextLabel4.setObjectName("TextLabel4")
+        self.gridLayout.addWidget(self.TextLabel4, 2, 0, 1, 1)
+        self.frame = QtWidgets.QFrame(parent=PrinterPage)
+        self.frame.setFrameShape(QtWidgets.QFrame.Shape.NoFrame)
+        self.frame.setObjectName("frame")
+        self.vboxlayout1 = QtWidgets.QVBoxLayout(self.frame)
+        self.vboxlayout1.setContentsMargins(0, 0, 0, 0)
+        self.vboxlayout1.setSpacing(6)
+        self.vboxlayout1.setObjectName("vboxlayout1")
+        self.printFirstPageFirstButton = QtWidgets.QRadioButton(parent=self.frame)
+        self.printFirstPageFirstButton.setObjectName("printFirstPageFirstButton")
+        self.vboxlayout1.addWidget(self.printFirstPageFirstButton)
+        self.printFirstPageLastButton = QtWidgets.QRadioButton(parent=self.frame)
+        self.printFirstPageLastButton.setObjectName("printFirstPageLastButton")
+        self.vboxlayout1.addWidget(self.printFirstPageLastButton)
+        self.gridLayout.addWidget(self.frame, 2, 1, 1, 3)
+        self.TextLabel3 = QtWidgets.QLabel(parent=PrinterPage)
+        self.TextLabel3.setObjectName("TextLabel3")
+        self.gridLayout.addWidget(self.TextLabel3, 3, 0, 1, 1)
+        self.printMagnificationSpinBox = QtWidgets.QSpinBox(parent=PrinterPage)
+        self.printMagnificationSpinBox.setMinimum(-10)
+        self.printMagnificationSpinBox.setMaximum(10)
+        self.printMagnificationSpinBox.setProperty("value", -3)
+        self.printMagnificationSpinBox.setObjectName("printMagnificationSpinBox")
+        self.gridLayout.addWidget(self.printMagnificationSpinBox, 3, 1, 1, 1)
+        spacerItem = QtWidgets.QSpacerItem(251, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout.addItem(spacerItem, 3, 2, 1, 2)
+        self.label = QtWidgets.QLabel(parent=PrinterPage)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 4, 0, 1, 1)
+        self.resolutionSpinBox = QtWidgets.QSpinBox(parent=PrinterPage)
+        self.resolutionSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.resolutionSpinBox.setMaximum(6000)
+        self.resolutionSpinBox.setSingleStep(50)
+        self.resolutionSpinBox.setObjectName("resolutionSpinBox")
+        self.gridLayout.addWidget(self.resolutionSpinBox, 4, 1, 1, 2)
+        spacerItem1 = QtWidgets.QSpacerItem(208, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout.addItem(spacerItem1, 4, 3, 1, 1)
+        self.printheaderFontButton = QtWidgets.QPushButton(parent=PrinterPage)
+        self.printheaderFontButton.setObjectName("printheaderFontButton")
+        self.gridLayout.addWidget(self.printheaderFontButton, 5, 0, 1, 1)
+        self.printheaderFontSample = QtWidgets.QLineEdit(parent=PrinterPage)
+        self.printheaderFontSample.setFocusPolicy(QtCore.Qt.FocusPolicy.NoFocus)
+        self.printheaderFontSample.setAlignment(QtCore.Qt.AlignmentFlag.AlignHCenter)
+        self.printheaderFontSample.setReadOnly(True)
+        self.printheaderFontSample.setObjectName("printheaderFontSample")
+        self.gridLayout.addWidget(self.printheaderFontSample, 5, 1, 1, 3)
+        self.verticalLayout.addLayout(self.gridLayout)
+        self.hboxlayout = QtWidgets.QHBoxLayout()
+        self.hboxlayout.setObjectName("hboxlayout")
+        self.groupBox = QtWidgets.QGroupBox(parent=PrinterPage)
+        self.groupBox.setObjectName("groupBox")
+        self.gridlayout = QtWidgets.QGridLayout(self.groupBox)
+        self.gridlayout.setObjectName("gridlayout")
+        self.topMarginSpinBox = QtWidgets.QDoubleSpinBox(parent=self.groupBox)
+        self.topMarginSpinBox.setDecimals(1)
+        self.topMarginSpinBox.setMaximum(9.9)
+        self.topMarginSpinBox.setSingleStep(0.5)
+        self.topMarginSpinBox.setObjectName("topMarginSpinBox")
+        self.gridlayout.addWidget(self.topMarginSpinBox, 0, 1, 1, 1)
+        self.leftMarginSpinBox = QtWidgets.QDoubleSpinBox(parent=self.groupBox)
+        self.leftMarginSpinBox.setDecimals(1)
+        self.leftMarginSpinBox.setMaximum(9.9)
+        self.leftMarginSpinBox.setSingleStep(0.5)
+        self.leftMarginSpinBox.setObjectName("leftMarginSpinBox")
+        self.gridlayout.addWidget(self.leftMarginSpinBox, 1, 0, 1, 1)
+        self.rightMarginSpinBox = QtWidgets.QDoubleSpinBox(parent=self.groupBox)
+        self.rightMarginSpinBox.setDecimals(1)
+        self.rightMarginSpinBox.setMaximum(9.9)
+        self.rightMarginSpinBox.setSingleStep(0.5)
+        self.rightMarginSpinBox.setObjectName("rightMarginSpinBox")
+        self.gridlayout.addWidget(self.rightMarginSpinBox, 1, 2, 1, 1)
+        self.bottomMarginSpinBox = QtWidgets.QDoubleSpinBox(parent=self.groupBox)
+        self.bottomMarginSpinBox.setDecimals(1)
+        self.bottomMarginSpinBox.setMaximum(9.9)
+        self.bottomMarginSpinBox.setSingleStep(0.5)
+        self.bottomMarginSpinBox.setObjectName("bottomMarginSpinBox")
+        self.gridlayout.addWidget(self.bottomMarginSpinBox, 2, 1, 1, 1)
+        self.hboxlayout.addWidget(self.groupBox)
+        spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.hboxlayout.addItem(spacerItem2)
+        self.verticalLayout.addLayout(self.hboxlayout)
+        self.printColorModeBox = QtWidgets.QGroupBox(parent=PrinterPage)
+        self.printColorModeBox.setObjectName("printColorModeBox")
+        self.gridLayout_2 = QtWidgets.QGridLayout(self.printColorModeBox)
+        self.gridLayout_2.setObjectName("gridLayout_2")
+        self.normalModeButton = QtWidgets.QRadioButton(parent=self.printColorModeBox)
+        self.normalModeButton.setObjectName("normalModeButton")
+        self.gridLayout_2.addWidget(self.normalModeButton, 0, 0, 1, 1)
+        self.invertLightModeButton = QtWidgets.QRadioButton(parent=self.printColorModeBox)
+        self.invertLightModeButton.setObjectName("invertLightModeButton")
+        self.gridLayout_2.addWidget(self.invertLightModeButton, 0, 1, 1, 1)
+        self.blackOnWhiteModeButton = QtWidgets.QRadioButton(parent=self.printColorModeBox)
+        self.blackOnWhiteModeButton.setObjectName("blackOnWhiteModeButton")
+        self.gridLayout_2.addWidget(self.blackOnWhiteModeButton, 0, 2, 1, 1)
+        self.colorOnWhiteModeButton = QtWidgets.QRadioButton(parent=self.printColorModeBox)
+        self.colorOnWhiteModeButton.setObjectName("colorOnWhiteModeButton")
+        self.gridLayout_2.addWidget(self.colorOnWhiteModeButton, 1, 0, 1, 1)
+        self.colorOnWhiteDefaultModeButton = QtWidgets.QRadioButton(parent=self.printColorModeBox)
+        self.colorOnWhiteDefaultModeButton.setObjectName("colorOnWhiteDefaultModeButton")
+        self.gridLayout_2.addWidget(self.colorOnWhiteDefaultModeButton, 1, 1, 1, 1)
+        self.screenColorsModeButton = QtWidgets.QRadioButton(parent=self.printColorModeBox)
+        self.screenColorsModeButton.setObjectName("screenColorsModeButton")
+        self.gridLayout_2.addWidget(self.screenColorsModeButton, 1, 2, 1, 1)
+        self.verticalLayout.addWidget(self.printColorModeBox)
+        spacerItem3 = QtWidgets.QSpacerItem(428, 61, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout.addItem(spacerItem3)
+
+        self.retranslateUi(PrinterPage)
+        QtCore.QMetaObject.connectSlotsByName(PrinterPage)
+        PrinterPage.setTabOrder(self.printerNameEdit, self.printerColorButton)
+        PrinterPage.setTabOrder(self.printerColorButton, self.printerGrayscaleButton)
+        PrinterPage.setTabOrder(self.printerGrayscaleButton, self.printFirstPageFirstButton)
+        PrinterPage.setTabOrder(self.printFirstPageFirstButton, self.printFirstPageLastButton)
+        PrinterPage.setTabOrder(self.printFirstPageLastButton, self.printMagnificationSpinBox)
+        PrinterPage.setTabOrder(self.printMagnificationSpinBox, self.resolutionSpinBox)
+        PrinterPage.setTabOrder(self.resolutionSpinBox, self.printheaderFontButton)
+        PrinterPage.setTabOrder(self.printheaderFontButton, self.topMarginSpinBox)
+        PrinterPage.setTabOrder(self.topMarginSpinBox, self.leftMarginSpinBox)
+        PrinterPage.setTabOrder(self.leftMarginSpinBox, self.rightMarginSpinBox)
+        PrinterPage.setTabOrder(self.rightMarginSpinBox, self.bottomMarginSpinBox)
+
+    def retranslateUi(self, PrinterPage):
+        _translate = QtCore.QCoreApplication.translate
+        self.headerLabel.setText(_translate("PrinterPage", "<b>Configure printer settings</b>"))
+        self.TextLabel1.setText(_translate("PrinterPage", "Printername:"))
+        self.TextLabel2.setText(_translate("PrinterPage", "Color Mode:"))
+        self.printerColorButton.setText(_translate("PrinterPage", "Color"))
+        self.printerGrayscaleButton.setText(_translate("PrinterPage", "Gray Scale"))
+        self.TextLabel4.setText(_translate("PrinterPage", "Page Order:"))
+        self.printFirstPageFirstButton.setText(_translate("PrinterPage", "First Page First"))
+        self.printFirstPageLastButton.setText(_translate("PrinterPage", "Last Page First"))
+        self.TextLabel3.setText(_translate("PrinterPage", "Magnification:"))
+        self.label.setText(_translate("PrinterPage", "Resolution:"))
+        self.resolutionSpinBox.setToolTip(_translate("PrinterPage", "Select the printer resolution "))
+        self.resolutionSpinBox.setSuffix(_translate("PrinterPage", " DPI"))
+        self.printheaderFontButton.setToolTip(_translate("PrinterPage", "Press to select the font for the page headers"))
+        self.printheaderFontButton.setText(_translate("PrinterPage", "Header Font"))
+        self.printheaderFontSample.setText(_translate("PrinterPage", "Header Font"))
+        self.groupBox.setTitle(_translate("PrinterPage", "Margins"))
+        self.topMarginSpinBox.setToolTip(_translate("PrinterPage", "Enter the top margin in cm."))
+        self.topMarginSpinBox.setSuffix(_translate("PrinterPage", " cm"))
+        self.leftMarginSpinBox.setToolTip(_translate("PrinterPage", "Enter the left margin in cm."))
+        self.leftMarginSpinBox.setSuffix(_translate("PrinterPage", " cm"))
+        self.rightMarginSpinBox.setToolTip(_translate("PrinterPage", "Enter the right margin in cm."))
+        self.rightMarginSpinBox.setSuffix(_translate("PrinterPage", " cm"))
+        self.bottomMarginSpinBox.setToolTip(_translate("PrinterPage", "Enter the bottom margin in cm."))
+        self.bottomMarginSpinBox.setSuffix(_translate("PrinterPage", " cm"))
+        self.printColorModeBox.setTitle(_translate("PrinterPage", "Editor Print Color Mode"))
+        self.normalModeButton.setToolTip(_translate("PrinterPage", "Print using the current screen colors (except line numbers)."))
+        self.normalModeButton.setText(_translate("PrinterPage", "Normal"))
+        self.invertLightModeButton.setToolTip(_translate("PrinterPage", "Invert the light value of all colors and print on a light background."))
+        self.invertLightModeButton.setText(_translate("PrinterPage", "Invert Light"))
+        self.blackOnWhiteModeButton.setToolTip(_translate("PrinterPage", "Print all text as black on a white background."))
+        self.blackOnWhiteModeButton.setText(_translate("PrinterPage", "Black on White"))
+        self.colorOnWhiteModeButton.setToolTip(_translate("PrinterPage", "Print everything in its own color on a white background."))
+        self.colorOnWhiteModeButton.setText(_translate("PrinterPage", "Color on White"))
+        self.colorOnWhiteDefaultModeButton.setToolTip(_translate("PrinterPage", "Print everything in its own color on a white background (incl. line numbers)."))
+        self.colorOnWhiteDefaultModeButton.setText(_translate("PrinterPage", "Color on White Default"))
+        self.screenColorsModeButton.setToolTip(_translate("PrinterPage", "Print using the current screen colours for both foreground and background."))
+        self.screenColorsModeButton.setText(_translate("PrinterPage", "Screen Colors"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Preferences/ConfigurationPages/Ui_ProjectBrowserPage.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,108 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Preferences/ConfigurationPages/ProjectBrowserPage.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_ProjectBrowserPage(object):
+    def setupUi(self, ProjectBrowserPage):
+        ProjectBrowserPage.setObjectName("ProjectBrowserPage")
+        ProjectBrowserPage.resize(617, 709)
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(ProjectBrowserPage)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.headerLabel = QtWidgets.QLabel(parent=ProjectBrowserPage)
+        self.headerLabel.setObjectName("headerLabel")
+        self.verticalLayout_2.addWidget(self.headerLabel)
+        self.line8 = QtWidgets.QFrame(parent=ProjectBrowserPage)
+        self.line8.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line8.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line8.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line8.setObjectName("line8")
+        self.verticalLayout_2.addWidget(self.line8)
+        self.groupBox = QtWidgets.QGroupBox(parent=ProjectBrowserPage)
+        self.groupBox.setObjectName("groupBox")
+        self.horizontalLayout = QtWidgets.QHBoxLayout(self.groupBox)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.label = QtWidgets.QLabel(parent=self.groupBox)
+        self.label.setObjectName("label")
+        self.horizontalLayout.addWidget(self.label)
+        self.pbHighlightedButton = QtWidgets.QPushButton(parent=self.groupBox)
+        self.pbHighlightedButton.setMinimumSize(QtCore.QSize(100, 0))
+        self.pbHighlightedButton.setText("")
+        self.pbHighlightedButton.setObjectName("pbHighlightedButton")
+        self.horizontalLayout.addWidget(self.pbHighlightedButton)
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem)
+        self.verticalLayout_2.addWidget(self.groupBox)
+        self.pbGroup = QtWidgets.QGroupBox(parent=ProjectBrowserPage)
+        self.pbGroup.setObjectName("pbGroup")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.pbGroup)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.hboxlayout = QtWidgets.QHBoxLayout()
+        self.hboxlayout.setObjectName("hboxlayout")
+        self.label_6 = QtWidgets.QLabel(parent=self.pbGroup)
+        self.label_6.setObjectName("label_6")
+        self.hboxlayout.addWidget(self.label_6)
+        self.projectTypeCombo = QtWidgets.QComboBox(parent=self.pbGroup)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.projectTypeCombo.sizePolicy().hasHeightForWidth())
+        self.projectTypeCombo.setSizePolicy(sizePolicy)
+        self.projectTypeCombo.setObjectName("projectTypeCombo")
+        self.hboxlayout.addWidget(self.projectTypeCombo)
+        self.verticalLayout.addLayout(self.hboxlayout)
+        self.projectBrowserListWidget = QtWidgets.QListWidget(parent=self.pbGroup)
+        self.projectBrowserListWidget.setAlternatingRowColors(True)
+        self.projectBrowserListWidget.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.NoSelection)
+        self.projectBrowserListWidget.setObjectName("projectBrowserListWidget")
+        self.verticalLayout.addWidget(self.projectBrowserListWidget)
+        self.verticalLayout_2.addWidget(self.pbGroup)
+        self.gridLayout_2 = QtWidgets.QGridLayout()
+        self.gridLayout_2.setObjectName("gridLayout_2")
+        self.followEditorCheckBox = QtWidgets.QCheckBox(parent=ProjectBrowserPage)
+        self.followEditorCheckBox.setObjectName("followEditorCheckBox")
+        self.gridLayout_2.addWidget(self.followEditorCheckBox, 0, 0, 1, 1)
+        self.followCursorLineCheckBox = QtWidgets.QCheckBox(parent=ProjectBrowserPage)
+        self.followCursorLineCheckBox.setObjectName("followCursorLineCheckBox")
+        self.gridLayout_2.addWidget(self.followCursorLineCheckBox, 1, 0, 1, 1)
+        self.autoPopulateCheckBox = QtWidgets.QCheckBox(parent=ProjectBrowserPage)
+        self.autoPopulateCheckBox.setObjectName("autoPopulateCheckBox")
+        self.gridLayout_2.addWidget(self.autoPopulateCheckBox, 1, 1, 1, 1)
+        self.showHiddenCheckBox = QtWidgets.QCheckBox(parent=ProjectBrowserPage)
+        self.showHiddenCheckBox.setObjectName("showHiddenCheckBox")
+        self.gridLayout_2.addWidget(self.showHiddenCheckBox, 2, 0, 1, 1)
+        self.verticalLayout_2.addLayout(self.gridLayout_2)
+        spacerItem1 = QtWidgets.QSpacerItem(599, 21, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout_2.addItem(spacerItem1)
+
+        self.retranslateUi(ProjectBrowserPage)
+        QtCore.QMetaObject.connectSlotsByName(ProjectBrowserPage)
+        ProjectBrowserPage.setTabOrder(self.pbHighlightedButton, self.projectTypeCombo)
+        ProjectBrowserPage.setTabOrder(self.projectTypeCombo, self.followEditorCheckBox)
+        ProjectBrowserPage.setTabOrder(self.followEditorCheckBox, self.followCursorLineCheckBox)
+        ProjectBrowserPage.setTabOrder(self.followCursorLineCheckBox, self.autoPopulateCheckBox)
+
+    def retranslateUi(self, ProjectBrowserPage):
+        _translate = QtCore.QCoreApplication.translate
+        self.headerLabel.setText(_translate("ProjectBrowserPage", "<b>Configure project viewer settings</b>"))
+        self.groupBox.setTitle(_translate("ProjectBrowserPage", "Colors"))
+        self.label.setText(_translate("ProjectBrowserPage", "Highlighted entries (Others):"))
+        self.pbHighlightedButton.setToolTip(_translate("ProjectBrowserPage", "Select the color for highlighted entries in the Others viewer."))
+        self.pbGroup.setTitle(_translate("ProjectBrowserPage", "Visible Project Browsers"))
+        self.label_6.setText(_translate("ProjectBrowserPage", "Projecttype:"))
+        self.projectTypeCombo.setToolTip(_translate("ProjectBrowserPage", "Select the project type to be configured"))
+        self.projectBrowserListWidget.setSortingEnabled(True)
+        self.followEditorCheckBox.setToolTip(_translate("ProjectBrowserPage", "Select to make the project browsers highlight the file of the current editor."))
+        self.followEditorCheckBox.setText(_translate("ProjectBrowserPage", "Highlight file of current editor"))
+        self.followCursorLineCheckBox.setToolTip(_translate("ProjectBrowserPage", "Select to follow the cursor line of the current editor"))
+        self.followCursorLineCheckBox.setText(_translate("ProjectBrowserPage", "Follow cursor line of current editor"))
+        self.autoPopulateCheckBox.setToolTip(_translate("ProjectBrowserPage", "Select to populate entries automatically when following the cursor line of the current editor"))
+        self.autoPopulateCheckBox.setText(_translate("ProjectBrowserPage", "Populate entry when following the cursor line"))
+        self.showHiddenCheckBox.setToolTip(_translate("ProjectBrowserPage", "Select to show hidden files in the various browsers"))
+        self.showHiddenCheckBox.setText(_translate("ProjectBrowserPage", "Show hidden files"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Preferences/ConfigurationPages/Ui_ProjectPage.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,211 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Preferences/ConfigurationPages/ProjectPage.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_ProjectPage(object):
+    def setupUi(self, ProjectPage):
+        ProjectPage.setObjectName("ProjectPage")
+        ProjectPage.resize(602, 894)
+        self.verticalLayout_3 = QtWidgets.QVBoxLayout(ProjectPage)
+        self.verticalLayout_3.setObjectName("verticalLayout_3")
+        self.headerLabel = QtWidgets.QLabel(parent=ProjectPage)
+        self.headerLabel.setObjectName("headerLabel")
+        self.verticalLayout_3.addWidget(self.headerLabel)
+        self.line8 = QtWidgets.QFrame(parent=ProjectPage)
+        self.line8.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line8.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line8.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line8.setObjectName("line8")
+        self.verticalLayout_3.addWidget(self.line8)
+        self.groupBox_10 = QtWidgets.QGroupBox(parent=ProjectPage)
+        self.groupBox_10.setObjectName("groupBox_10")
+        self.horizontalLayout_3 = QtWidgets.QHBoxLayout(self.groupBox_10)
+        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
+        self.projectAutoSaveCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_10)
+        self.projectAutoSaveCheckBox.setObjectName("projectAutoSaveCheckBox")
+        self.horizontalLayout_3.addWidget(self.projectAutoSaveCheckBox)
+        self.verticalLayout_3.addWidget(self.groupBox_10)
+        self.groupBox_6 = QtWidgets.QGroupBox(parent=ProjectPage)
+        self.groupBox_6.setObjectName("groupBox_6")
+        self.vboxlayout = QtWidgets.QVBoxLayout(self.groupBox_6)
+        self.vboxlayout.setObjectName("vboxlayout")
+        self.projectTimestampCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_6)
+        self.projectTimestampCheckBox.setObjectName("projectTimestampCheckBox")
+        self.vboxlayout.addWidget(self.projectTimestampCheckBox)
+        self.verticalLayout_3.addWidget(self.groupBox_6)
+        self.groupBox_2 = QtWidgets.QGroupBox(parent=ProjectPage)
+        self.groupBox_2.setObjectName("groupBox_2")
+        self.gridlayout = QtWidgets.QGridLayout(self.groupBox_2)
+        self.gridlayout.setObjectName("gridlayout")
+        self.projectSearchNewFilesRecursiveCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_2)
+        self.projectSearchNewFilesRecursiveCheckBox.setObjectName("projectSearchNewFilesRecursiveCheckBox")
+        self.gridlayout.addWidget(self.projectSearchNewFilesRecursiveCheckBox, 0, 0, 1, 1)
+        self.projectSearchNewFilesCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_2)
+        self.projectSearchNewFilesCheckBox.setObjectName("projectSearchNewFilesCheckBox")
+        self.gridlayout.addWidget(self.projectSearchNewFilesCheckBox, 0, 1, 1, 1)
+        self.projectAutoIncludeNewFilesCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_2)
+        self.projectAutoIncludeNewFilesCheckBox.setEnabled(False)
+        self.projectAutoIncludeNewFilesCheckBox.setObjectName("projectAutoIncludeNewFilesCheckBox")
+        self.gridlayout.addWidget(self.projectAutoIncludeNewFilesCheckBox, 1, 1, 1, 1)
+        self.verticalLayout_3.addWidget(self.groupBox_2)
+        self.groupBox_4 = QtWidgets.QGroupBox(parent=ProjectPage)
+        self.groupBox_4.setObjectName("groupBox_4")
+        self.gridlayout1 = QtWidgets.QGridLayout(self.groupBox_4)
+        self.gridlayout1.setObjectName("gridlayout1")
+        self.projectLoadDebugPropertiesCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_4)
+        self.projectLoadDebugPropertiesCheckBox.setObjectName("projectLoadDebugPropertiesCheckBox")
+        self.gridlayout1.addWidget(self.projectLoadDebugPropertiesCheckBox, 0, 0, 1, 1)
+        self.projectSaveDebugPropertiesCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_4)
+        self.projectSaveDebugPropertiesCheckBox.setObjectName("projectSaveDebugPropertiesCheckBox")
+        self.gridlayout1.addWidget(self.projectSaveDebugPropertiesCheckBox, 0, 1, 1, 1)
+        self.verticalLayout_3.addWidget(self.groupBox_4)
+        self.groupBox_3 = QtWidgets.QGroupBox(parent=ProjectPage)
+        self.groupBox_3.setObjectName("groupBox_3")
+        self.gridlayout2 = QtWidgets.QGridLayout(self.groupBox_3)
+        self.gridlayout2.setObjectName("gridlayout2")
+        self.projectLoadSessionCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_3)
+        self.projectLoadSessionCheckBox.setObjectName("projectLoadSessionCheckBox")
+        self.gridlayout2.addWidget(self.projectLoadSessionCheckBox, 0, 0, 1, 1)
+        self.projectSaveSessionCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_3)
+        self.projectSaveSessionCheckBox.setObjectName("projectSaveSessionCheckBox")
+        self.gridlayout2.addWidget(self.projectSaveSessionCheckBox, 0, 1, 1, 1)
+        self.projectSessionAllBpCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_3)
+        self.projectSessionAllBpCheckBox.setObjectName("projectSessionAllBpCheckBox")
+        self.gridlayout2.addWidget(self.projectSessionAllBpCheckBox, 1, 1, 1, 1)
+        self.verticalLayout_3.addWidget(self.groupBox_3)
+        self.groupBox_5 = QtWidgets.QGroupBox(parent=ProjectPage)
+        self.groupBox_5.setObjectName("groupBox_5")
+        self.gridLayout = QtWidgets.QGridLayout(self.groupBox_5)
+        self.gridLayout.setObjectName("gridLayout")
+        self.projectAutoCompileFormsCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_5)
+        self.projectAutoCompileFormsCheckBox.setObjectName("projectAutoCompileFormsCheckBox")
+        self.gridLayout.addWidget(self.projectAutoCompileFormsCheckBox, 0, 0, 1, 1)
+        self.projectAutoCompileResourcesCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_5)
+        self.projectAutoCompileResourcesCheckBox.setObjectName("projectAutoCompileResourcesCheckBox")
+        self.gridLayout.addWidget(self.projectAutoCompileResourcesCheckBox, 0, 1, 1, 1)
+        self.projectAutoMakeCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_5)
+        self.projectAutoMakeCheckBox.setObjectName("projectAutoMakeCheckBox")
+        self.gridLayout.addWidget(self.projectAutoMakeCheckBox, 1, 0, 1, 1)
+        self.verticalLayout_3.addWidget(self.groupBox_5)
+        self.groupBox = QtWidgets.QGroupBox(parent=ProjectPage)
+        self.groupBox.setObjectName("groupBox")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.groupBox)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.pythonVariantCheckBox = QtWidgets.QCheckBox(parent=self.groupBox)
+        self.pythonVariantCheckBox.setObjectName("pythonVariantCheckBox")
+        self.verticalLayout.addWidget(self.pythonVariantCheckBox)
+        self.verticalLayout_3.addWidget(self.groupBox)
+        self.groupBox_9 = QtWidgets.QGroupBox(parent=ProjectPage)
+        self.groupBox_9.setObjectName("groupBox_9")
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.groupBox_9)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.restartShellCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_9)
+        self.restartShellCheckBox.setObjectName("restartShellCheckBox")
+        self.verticalLayout_2.addWidget(self.restartShellCheckBox)
+        self.verticalLayout_3.addWidget(self.groupBox_9)
+        self.groupBox_7 = QtWidgets.QGroupBox(parent=ProjectPage)
+        self.groupBox_7.setObjectName("groupBox_7")
+        self.horizontalLayout = QtWidgets.QHBoxLayout(self.groupBox_7)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.label = QtWidgets.QLabel(parent=self.groupBox_7)
+        self.label.setObjectName("label")
+        self.horizontalLayout.addWidget(self.label)
+        self.projectRecentSpinBox = QtWidgets.QSpinBox(parent=self.groupBox_7)
+        self.projectRecentSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.projectRecentSpinBox.setMinimum(5)
+        self.projectRecentSpinBox.setMaximum(50)
+        self.projectRecentSpinBox.setObjectName("projectRecentSpinBox")
+        self.horizontalLayout.addWidget(self.projectRecentSpinBox)
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem)
+        self.verticalLayout_3.addWidget(self.groupBox_7)
+        self.groupBox_8 = QtWidgets.QGroupBox(parent=ProjectPage)
+        self.groupBox_8.setObjectName("groupBox_8")
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.groupBox_8)
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.autosaveTasksCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_8)
+        self.autosaveTasksCheckBox.setObjectName("autosaveTasksCheckBox")
+        self.horizontalLayout_2.addWidget(self.autosaveTasksCheckBox)
+        self.rescanTasksCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_8)
+        self.rescanTasksCheckBox.setObjectName("rescanTasksCheckBox")
+        self.horizontalLayout_2.addWidget(self.rescanTasksCheckBox)
+        self.verticalLayout_3.addWidget(self.groupBox_8)
+        spacerItem1 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout_3.addItem(spacerItem1)
+
+        self.retranslateUi(ProjectPage)
+        self.projectSearchNewFilesCheckBox.toggled['bool'].connect(self.projectAutoIncludeNewFilesCheckBox.setEnabled) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(ProjectPage)
+        ProjectPage.setTabOrder(self.projectAutoSaveCheckBox, self.projectTimestampCheckBox)
+        ProjectPage.setTabOrder(self.projectTimestampCheckBox, self.projectSearchNewFilesRecursiveCheckBox)
+        ProjectPage.setTabOrder(self.projectSearchNewFilesRecursiveCheckBox, self.projectSearchNewFilesCheckBox)
+        ProjectPage.setTabOrder(self.projectSearchNewFilesCheckBox, self.projectAutoIncludeNewFilesCheckBox)
+        ProjectPage.setTabOrder(self.projectAutoIncludeNewFilesCheckBox, self.projectLoadDebugPropertiesCheckBox)
+        ProjectPage.setTabOrder(self.projectLoadDebugPropertiesCheckBox, self.projectSaveDebugPropertiesCheckBox)
+        ProjectPage.setTabOrder(self.projectSaveDebugPropertiesCheckBox, self.projectLoadSessionCheckBox)
+        ProjectPage.setTabOrder(self.projectLoadSessionCheckBox, self.projectSaveSessionCheckBox)
+        ProjectPage.setTabOrder(self.projectSaveSessionCheckBox, self.projectSessionAllBpCheckBox)
+        ProjectPage.setTabOrder(self.projectSessionAllBpCheckBox, self.projectAutoCompileFormsCheckBox)
+        ProjectPage.setTabOrder(self.projectAutoCompileFormsCheckBox, self.projectAutoCompileResourcesCheckBox)
+        ProjectPage.setTabOrder(self.projectAutoCompileResourcesCheckBox, self.projectAutoMakeCheckBox)
+        ProjectPage.setTabOrder(self.projectAutoMakeCheckBox, self.pythonVariantCheckBox)
+        ProjectPage.setTabOrder(self.pythonVariantCheckBox, self.restartShellCheckBox)
+        ProjectPage.setTabOrder(self.restartShellCheckBox, self.projectRecentSpinBox)
+        ProjectPage.setTabOrder(self.projectRecentSpinBox, self.autosaveTasksCheckBox)
+        ProjectPage.setTabOrder(self.autosaveTasksCheckBox, self.rescanTasksCheckBox)
+
+    def retranslateUi(self, ProjectPage):
+        _translate = QtCore.QCoreApplication.translate
+        self.headerLabel.setText(_translate("ProjectPage", "<b>Configure project settings</b>"))
+        self.groupBox_10.setTitle(_translate("ProjectPage", "Project"))
+        self.projectAutoSaveCheckBox.setToolTip(_translate("ProjectPage", "Enable to save the project file automatically whenever there is a change"))
+        self.projectAutoSaveCheckBox.setText(_translate("ProjectPage", "Save project automatically when changed"))
+        self.groupBox_6.setTitle(_translate("ProjectPage", "Files"))
+        self.projectTimestampCheckBox.setToolTip(_translate("ProjectPage", "Select, if a timestamp should be written to all Project files"))
+        self.projectTimestampCheckBox.setText(_translate("ProjectPage", "Include timestamp in Project files"))
+        self.groupBox_2.setTitle(_translate("ProjectPage", "Search new files"))
+        self.projectSearchNewFilesRecursiveCheckBox.setText(_translate("ProjectPage", "Search for new files recursively"))
+        self.projectSearchNewFilesCheckBox.setToolTip(_translate("ProjectPage", "Select whether a search for new files on a project open should be performed."))
+        self.projectSearchNewFilesCheckBox.setText(_translate("ProjectPage", "Search for new files on open"))
+        self.projectAutoIncludeNewFilesCheckBox.setToolTip(_translate("ProjectPage", "Select whether the found files should be included automatically."))
+        self.projectAutoIncludeNewFilesCheckBox.setText(_translate("ProjectPage", "Automatically include found files"))
+        self.groupBox_4.setTitle(_translate("ProjectPage", "Debugger Properties"))
+        self.projectLoadDebugPropertiesCheckBox.setToolTip(_translate("ProjectPage", "Select, whether a project debugger properties file shall be read on opening the project"))
+        self.projectLoadDebugPropertiesCheckBox.setText(_translate("ProjectPage", "Load debugger properties upon opening"))
+        self.projectSaveDebugPropertiesCheckBox.setToolTip(_translate("ProjectPage", "Select, whether a project debugger properties file shall be written on closing the project"))
+        self.projectSaveDebugPropertiesCheckBox.setText(_translate("ProjectPage", "Save debugger properties upon closing"))
+        self.groupBox_3.setTitle(_translate("ProjectPage", "Sessions"))
+        self.projectLoadSessionCheckBox.setToolTip(_translate("ProjectPage", "Select, whether a project session file shall be read on opening the project"))
+        self.projectLoadSessionCheckBox.setText(_translate("ProjectPage", "Load session upon opening"))
+        self.projectSaveSessionCheckBox.setToolTip(_translate("ProjectPage", "Select, whether a project session file shall be written on closing the project"))
+        self.projectSaveSessionCheckBox.setText(_translate("ProjectPage", "Save session upon closing"))
+        self.projectSessionAllBpCheckBox.setToolTip(_translate("ProjectPage", "Select whether all breakpoints should be saved to the session file."))
+        self.projectSessionAllBpCheckBox.setText(_translate("ProjectPage", "Save all breakpoints"))
+        self.groupBox_5.setTitle(_translate("ProjectPage", "Automations"))
+        self.projectAutoCompileFormsCheckBox.setToolTip(_translate("ProjectPage", "Select, if changed forms should be compiled automatically upon a run action"))
+        self.projectAutoCompileFormsCheckBox.setText(_translate("ProjectPage", "Compile changed forms"))
+        self.projectAutoCompileResourcesCheckBox.setToolTip(_translate("ProjectPage", "Select, if changed resources should be compiled automatically upon a run action"))
+        self.projectAutoCompileResourcesCheckBox.setText(_translate("ProjectPage", "Compile changed resources"))
+        self.projectAutoMakeCheckBox.setToolTip(_translate("ProjectPage", "Select to execute the configured \'make\' command before a run action is performed"))
+        self.projectAutoMakeCheckBox.setText(_translate("ProjectPage", "Execute make"))
+        self.groupBox.setTitle(_translate("ProjectPage", "Python Variant"))
+        self.pythonVariantCheckBox.setToolTip(_translate("ProjectPage", "Select to determine the Python variant from the project language"))
+        self.pythonVariantCheckBox.setText(_translate("ProjectPage", "Determine Python variant from project language"))
+        self.groupBox_9.setTitle(_translate("ProjectPage", "Shell"))
+        self.restartShellCheckBox.setToolTip(_translate("ProjectPage", "Select to restart the shell with the interpreter of the project (if configured)"))
+        self.restartShellCheckBox.setText(_translate("ProjectPage", "Restart Shell for project upon opening"))
+        self.groupBox_7.setTitle(_translate("ProjectPage", "Recent Projects"))
+        self.label.setText(_translate("ProjectPage", "Number of recent projects:"))
+        self.projectRecentSpinBox.setToolTip(_translate("ProjectPage", "Enter the number of recent projects to remember"))
+        self.groupBox_8.setTitle(_translate("ProjectPage", "Tasks"))
+        self.autosaveTasksCheckBox.setToolTip(_translate("ProjectPage", "Select to save the project tasks automatically"))
+        self.autosaveTasksCheckBox.setText(_translate("ProjectPage", "Save tasks automatically"))
+        self.rescanTasksCheckBox.setToolTip(_translate("ProjectPage", "Select to rescan the project tasks when a project is opened"))
+        self.rescanTasksCheckBox.setText(_translate("ProjectPage", "Rescan tasks upon opening"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Preferences/ConfigurationPages/Ui_PythonPage.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,191 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Preferences/ConfigurationPages/PythonPage.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_PythonPage(object):
+    def setupUi(self, PythonPage):
+        PythonPage.setObjectName("PythonPage")
+        PythonPage.resize(529, 564)
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(PythonPage)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.headerLabel = QtWidgets.QLabel(parent=PythonPage)
+        self.headerLabel.setObjectName("headerLabel")
+        self.verticalLayout_2.addWidget(self.headerLabel)
+        self.line11_2_2_2_2 = QtWidgets.QFrame(parent=PythonPage)
+        self.line11_2_2_2_2.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line11_2_2_2_2.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line11_2_2_2_2.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line11_2_2_2_2.setObjectName("line11_2_2_2_2")
+        self.verticalLayout_2.addWidget(self.line11_2_2_2_2)
+        self.groupBox = QtWidgets.QGroupBox(parent=PythonPage)
+        self.groupBox.setObjectName("groupBox")
+        self.gridLayout = QtWidgets.QGridLayout(self.groupBox)
+        self.gridLayout.setObjectName("gridLayout")
+        self.label = QtWidgets.QLabel(parent=self.groupBox)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
+        self.stringEncodingComboBox = QtWidgets.QComboBox(parent=self.groupBox)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.stringEncodingComboBox.sizePolicy().hasHeightForWidth())
+        self.stringEncodingComboBox.setSizePolicy(sizePolicy)
+        self.stringEncodingComboBox.setObjectName("stringEncodingComboBox")
+        self.gridLayout.addWidget(self.stringEncodingComboBox, 0, 1, 1, 1)
+        self.label_2 = QtWidgets.QLabel(parent=self.groupBox)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 1, 0, 1, 1)
+        self.ioEncodingComboBox = QtWidgets.QComboBox(parent=self.groupBox)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.ioEncodingComboBox.sizePolicy().hasHeightForWidth())
+        self.ioEncodingComboBox.setSizePolicy(sizePolicy)
+        self.ioEncodingComboBox.setObjectName("ioEncodingComboBox")
+        self.gridLayout.addWidget(self.ioEncodingComboBox, 1, 1, 1, 1)
+        self.verticalLayout_2.addWidget(self.groupBox)
+        self.groupBox_3 = QtWidgets.QGroupBox(parent=PythonPage)
+        self.groupBox_3.setObjectName("groupBox_3")
+        self.gridLayout_2 = QtWidgets.QGridLayout(self.groupBox_3)
+        self.gridLayout_2.setObjectName("gridLayout_2")
+        self.label_3 = QtWidgets.QLabel(parent=self.groupBox_3)
+        self.label_3.setWordWrap(True)
+        self.label_3.setObjectName("label_3")
+        self.gridLayout_2.addWidget(self.label_3, 0, 0, 1, 2)
+        self.label_5 = QtWidgets.QLabel(parent=self.groupBox_3)
+        self.label_5.setObjectName("label_5")
+        self.gridLayout_2.addWidget(self.label_5, 1, 0, 1, 1)
+        self.py3ExtensionsEdit = QtWidgets.QLineEdit(parent=self.groupBox_3)
+        self.py3ExtensionsEdit.setObjectName("py3ExtensionsEdit")
+        self.gridLayout_2.addWidget(self.py3ExtensionsEdit, 1, 1, 1, 1)
+        self.verticalLayout_2.addWidget(self.groupBox_3)
+        self.groupBox_2 = QtWidgets.QGroupBox(parent=PythonPage)
+        self.groupBox_2.setObjectName("groupBox_2")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.groupBox_2)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.label_6 = QtWidgets.QLabel(parent=self.groupBox_2)
+        self.label_6.setWordWrap(True)
+        self.label_6.setObjectName("label_6")
+        self.verticalLayout.addWidget(self.label_6)
+        self.groupBox_4 = QtWidgets.QGroupBox(parent=self.groupBox_2)
+        self.groupBox_4.setObjectName("groupBox_4")
+        self.gridLayout_3 = QtWidgets.QGridLayout(self.groupBox_4)
+        self.gridLayout_3.setObjectName("gridLayout_3")
+        self.label_9 = QtWidgets.QLabel(parent=self.groupBox_4)
+        self.label_9.setObjectName("label_9")
+        self.gridLayout_3.addWidget(self.label_9, 0, 0, 1, 1)
+        self.py3EnvironmentEdit = QtWidgets.QLineEdit(parent=self.groupBox_4)
+        self.py3EnvironmentEdit.setReadOnly(True)
+        self.py3EnvironmentEdit.setObjectName("py3EnvironmentEdit")
+        self.gridLayout_3.addWidget(self.py3EnvironmentEdit, 0, 1, 1, 1)
+        self.verticalLayout.addWidget(self.groupBox_4)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem)
+        self.refreshButton = QtWidgets.QPushButton(parent=self.groupBox_2)
+        self.refreshButton.setObjectName("refreshButton")
+        self.horizontalLayout.addWidget(self.refreshButton)
+        spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem1)
+        self.verticalLayout.addLayout(self.horizontalLayout)
+        self.verticalLayout_2.addWidget(self.groupBox_2)
+        self.groupBox_5 = QtWidgets.QGroupBox(parent=PythonPage)
+        self.groupBox_5.setObjectName("groupBox_5")
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.groupBox_5)
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.label_4 = QtWidgets.QLabel(parent=self.groupBox_5)
+        self.label_4.setObjectName("label_4")
+        self.horizontalLayout_2.addWidget(self.label_4)
+        self.astErrorItemButton = QtWidgets.QPushButton(parent=self.groupBox_5)
+        self.astErrorItemButton.setMinimumSize(QtCore.QSize(100, 0))
+        self.astErrorItemButton.setText("")
+        self.astErrorItemButton.setObjectName("astErrorItemButton")
+        self.horizontalLayout_2.addWidget(self.astErrorItemButton)
+        spacerItem2 = QtWidgets.QSpacerItem(392, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_2.addItem(spacerItem2)
+        self.verticalLayout_2.addWidget(self.groupBox_5)
+        self.groupBox_6 = QtWidgets.QGroupBox(parent=PythonPage)
+        self.groupBox_6.setObjectName("groupBox_6")
+        self.gridLayout_4 = QtWidgets.QGridLayout(self.groupBox_6)
+        self.gridLayout_4.setObjectName("gridLayout_4")
+        self.label_7 = QtWidgets.QLabel(parent=self.groupBox_6)
+        self.label_7.setObjectName("label_7")
+        self.gridLayout_4.addWidget(self.label_7, 0, 0, 1, 1)
+        self.disErrorItemButton = QtWidgets.QPushButton(parent=self.groupBox_6)
+        self.disErrorItemButton.setMinimumSize(QtCore.QSize(100, 0))
+        self.disErrorItemButton.setText("")
+        self.disErrorItemButton.setObjectName("disErrorItemButton")
+        self.gridLayout_4.addWidget(self.disErrorItemButton, 0, 1, 1, 1)
+        spacerItem3 = QtWidgets.QSpacerItem(369, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout_4.addItem(spacerItem3, 0, 2, 1, 1)
+        self.label_8 = QtWidgets.QLabel(parent=self.groupBox_6)
+        self.label_8.setObjectName("label_8")
+        self.gridLayout_4.addWidget(self.label_8, 1, 0, 1, 1)
+        self.disCurrentInstructionButton = QtWidgets.QPushButton(parent=self.groupBox_6)
+        self.disCurrentInstructionButton.setMinimumSize(QtCore.QSize(100, 0))
+        self.disCurrentInstructionButton.setText("")
+        self.disCurrentInstructionButton.setObjectName("disCurrentInstructionButton")
+        self.gridLayout_4.addWidget(self.disCurrentInstructionButton, 1, 1, 1, 1)
+        self.label_10 = QtWidgets.QLabel(parent=self.groupBox_6)
+        self.label_10.setObjectName("label_10")
+        self.gridLayout_4.addWidget(self.label_10, 2, 0, 1, 1)
+        self.disLabeledInstructionButton = QtWidgets.QPushButton(parent=self.groupBox_6)
+        self.disLabeledInstructionButton.setMinimumSize(QtCore.QSize(100, 0))
+        self.disLabeledInstructionButton.setText("")
+        self.disLabeledInstructionButton.setObjectName("disLabeledInstructionButton")
+        self.gridLayout_4.addWidget(self.disLabeledInstructionButton, 2, 1, 1, 1)
+        self.showCodeInfoDetailsCeckBox = QtWidgets.QCheckBox(parent=self.groupBox_6)
+        self.showCodeInfoDetailsCeckBox.setObjectName("showCodeInfoDetailsCeckBox")
+        self.gridLayout_4.addWidget(self.showCodeInfoDetailsCeckBox, 3, 0, 1, 3)
+        self.verticalLayout_2.addWidget(self.groupBox_6)
+        spacerItem4 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout_2.addItem(spacerItem4)
+
+        self.retranslateUi(PythonPage)
+        QtCore.QMetaObject.connectSlotsByName(PythonPage)
+        PythonPage.setTabOrder(self.stringEncodingComboBox, self.ioEncodingComboBox)
+        PythonPage.setTabOrder(self.ioEncodingComboBox, self.py3ExtensionsEdit)
+        PythonPage.setTabOrder(self.py3ExtensionsEdit, self.py3EnvironmentEdit)
+        PythonPage.setTabOrder(self.py3EnvironmentEdit, self.refreshButton)
+        PythonPage.setTabOrder(self.refreshButton, self.astErrorItemButton)
+        PythonPage.setTabOrder(self.astErrorItemButton, self.disErrorItemButton)
+        PythonPage.setTabOrder(self.disErrorItemButton, self.disCurrentInstructionButton)
+        PythonPage.setTabOrder(self.disCurrentInstructionButton, self.disLabeledInstructionButton)
+
+    def retranslateUi(self, PythonPage):
+        _translate = QtCore.QCoreApplication.translate
+        self.headerLabel.setText(_translate("PythonPage", "<b>Configure Python</b>"))
+        self.groupBox.setTitle(_translate("PythonPage", "Encoding"))
+        self.label.setText(_translate("PythonPage", "String Encoding:"))
+        self.stringEncodingComboBox.setToolTip(_translate("PythonPage", "Select the string encoding to be used."))
+        self.label_2.setText(_translate("PythonPage", "I/O Encoding:"))
+        self.ioEncodingComboBox.setToolTip(_translate("PythonPage", "Select the string encoding used by commandline tools."))
+        self.groupBox_3.setTitle(_translate("PythonPage", "Source association"))
+        self.label_3.setText(_translate("PythonPage", "Enter the file extensions to be associated with Python separated by a space."))
+        self.label_5.setText(_translate("PythonPage", "Python 3:"))
+        self.groupBox_2.setTitle(_translate("PythonPage", "Python Environments"))
+        self.label_6.setText(_translate("PythonPage", "Please configure the Python environments on the \'Python3 Debugger\' page."))
+        self.groupBox_4.setTitle(_translate("PythonPage", "Currently selected environments"))
+        self.label_9.setText(_translate("PythonPage", "Python 3:"))
+        self.refreshButton.setToolTip(_translate("PythonPage", "Press to update the display of the currently selected environments"))
+        self.refreshButton.setText(_translate("PythonPage", "Refresh"))
+        self.groupBox_5.setTitle(_translate("PythonPage", "AST Viewer"))
+        self.label_4.setText(_translate("PythonPage", "Error Messages:"))
+        self.astErrorItemButton.setToolTip(_translate("PythonPage", "Select the color for error messages"))
+        self.groupBox_6.setTitle(_translate("PythonPage", "Disassembly Viewer"))
+        self.label_7.setText(_translate("PythonPage", "Error Messages:"))
+        self.disErrorItemButton.setToolTip(_translate("PythonPage", "Select the color for error messages"))
+        self.label_8.setText(_translate("PythonPage", "Current Instruction:"))
+        self.disCurrentInstructionButton.setToolTip(_translate("PythonPage", "Select the color for the current instruction"))
+        self.label_10.setText(_translate("PythonPage", "Labeled Instruction:"))
+        self.disLabeledInstructionButton.setToolTip(_translate("PythonPage", "Select the color for labeled instructions"))
+        self.showCodeInfoDetailsCeckBox.setToolTip(_translate("PythonPage", "Select to show code information subsections expanded"))
+        self.showCodeInfoDetailsCeckBox.setText(_translate("PythonPage", "Show all code information subsections"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Preferences/ConfigurationPages/Ui_QtPage.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,449 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Preferences/ConfigurationPages/QtPage.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_QtPage(object):
+    def setupUi(self, QtPage):
+        QtPage.setObjectName("QtPage")
+        QtPage.resize(556, 1316)
+        self.verticalLayout_10 = QtWidgets.QVBoxLayout(QtPage)
+        self.verticalLayout_10.setObjectName("verticalLayout_10")
+        self.headerLabel = QtWidgets.QLabel(parent=QtPage)
+        self.headerLabel.setObjectName("headerLabel")
+        self.verticalLayout_10.addWidget(self.headerLabel)
+        self.line12 = QtWidgets.QFrame(parent=QtPage)
+        self.line12.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line12.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line12.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line12.setObjectName("line12")
+        self.verticalLayout_10.addWidget(self.line12)
+        self.groupBox_6 = QtWidgets.QGroupBox(parent=QtPage)
+        self.groupBox_6.setObjectName("groupBox_6")
+        self.verticalLayout_8 = QtWidgets.QVBoxLayout(self.groupBox_6)
+        self.verticalLayout_8.setObjectName("verticalLayout_8")
+        self.groupBox_3 = QtWidgets.QGroupBox(parent=self.groupBox_6)
+        self.groupBox_3.setObjectName("groupBox_3")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.groupBox_3)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.TextLabel1_2_2_5 = QtWidgets.QLabel(parent=self.groupBox_3)
+        self.TextLabel1_2_2_5.setObjectName("TextLabel1_2_2_5")
+        self.verticalLayout.addWidget(self.TextLabel1_2_2_5)
+        self.qtTransPicker = EricPathPicker(parent=self.groupBox_3)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.qtTransPicker.sizePolicy().hasHeightForWidth())
+        self.qtTransPicker.setSizePolicy(sizePolicy)
+        self.qtTransPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.qtTransPicker.setObjectName("qtTransPicker")
+        self.verticalLayout.addWidget(self.qtTransPicker)
+        self.textLabel1_2_4 = QtWidgets.QLabel(parent=self.groupBox_3)
+        self.textLabel1_2_4.setWordWrap(True)
+        self.textLabel1_2_4.setObjectName("textLabel1_2_4")
+        self.verticalLayout.addWidget(self.textLabel1_2_4)
+        self.verticalLayout_8.addWidget(self.groupBox_3)
+        self.groupBox_4 = QtWidgets.QGroupBox(parent=self.groupBox_6)
+        self.groupBox_4.setObjectName("groupBox_4")
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.groupBox_4)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.label_4 = QtWidgets.QLabel(parent=self.groupBox_4)
+        self.label_4.setObjectName("label_4")
+        self.horizontalLayout.addWidget(self.label_4)
+        self.qtToolsDirPicker = EricPathPicker(parent=self.groupBox_4)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.qtToolsDirPicker.sizePolicy().hasHeightForWidth())
+        self.qtToolsDirPicker.setSizePolicy(sizePolicy)
+        self.qtToolsDirPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.qtToolsDirPicker.setObjectName("qtToolsDirPicker")
+        self.horizontalLayout.addWidget(self.qtToolsDirPicker)
+        self.verticalLayout_2.addLayout(self.horizontalLayout)
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.label_3 = QtWidgets.QLabel(parent=self.groupBox_4)
+        self.label_3.setObjectName("label_3")
+        self.horizontalLayout_2.addWidget(self.label_3)
+        self.qtPrefixEdit = QtWidgets.QLineEdit(parent=self.groupBox_4)
+        self.qtPrefixEdit.setObjectName("qtPrefixEdit")
+        self.horizontalLayout_2.addWidget(self.qtPrefixEdit)
+        self.label_5 = QtWidgets.QLabel(parent=self.groupBox_4)
+        self.label_5.setObjectName("label_5")
+        self.horizontalLayout_2.addWidget(self.label_5)
+        self.qtPostfixEdit = QtWidgets.QLineEdit(parent=self.groupBox_4)
+        self.qtPostfixEdit.setObjectName("qtPostfixEdit")
+        self.horizontalLayout_2.addWidget(self.qtPostfixEdit)
+        self.qtSampleLabel = QtWidgets.QLabel(parent=self.groupBox_4)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(1)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.qtSampleLabel.sizePolicy().hasHeightForWidth())
+        self.qtSampleLabel.setSizePolicy(sizePolicy)
+        self.qtSampleLabel.setObjectName("qtSampleLabel")
+        self.horizontalLayout_2.addWidget(self.qtSampleLabel)
+        self.verticalLayout_2.addLayout(self.horizontalLayout_2)
+        self.horizontalLayout_11 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_11.setObjectName("horizontalLayout_11")
+        self.label_14 = QtWidgets.QLabel(parent=self.groupBox_4)
+        self.label_14.setObjectName("label_14")
+        self.horizontalLayout_11.addWidget(self.label_14)
+        self.qhelpgeneratorPicker = EricPathPicker(parent=self.groupBox_4)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.qhelpgeneratorPicker.sizePolicy().hasHeightForWidth())
+        self.qhelpgeneratorPicker.setSizePolicy(sizePolicy)
+        self.qhelpgeneratorPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.qhelpgeneratorPicker.setObjectName("qhelpgeneratorPicker")
+        self.horizontalLayout_11.addWidget(self.qhelpgeneratorPicker)
+        self.verticalLayout_2.addLayout(self.horizontalLayout_11)
+        self.verticalLayout_8.addWidget(self.groupBox_4)
+        self.verticalLayout_10.addWidget(self.groupBox_6)
+        self.groupBox_7 = QtWidgets.QGroupBox(parent=QtPage)
+        self.groupBox_7.setObjectName("groupBox_7")
+        self.verticalLayout_6 = QtWidgets.QVBoxLayout(self.groupBox_7)
+        self.verticalLayout_6.setObjectName("verticalLayout_6")
+        self.groupBox_5 = QtWidgets.QGroupBox(parent=self.groupBox_7)
+        self.groupBox_5.setObjectName("groupBox_5")
+        self.verticalLayout_7 = QtWidgets.QVBoxLayout(self.groupBox_5)
+        self.verticalLayout_7.setObjectName("verticalLayout_7")
+        self.horizontalLayout_9 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_9.setObjectName("horizontalLayout_9")
+        self.label = QtWidgets.QLabel(parent=self.groupBox_5)
+        self.label.setObjectName("label")
+        self.horizontalLayout_9.addWidget(self.label)
+        self.pyqt5VenvComboBox = QtWidgets.QComboBox(parent=self.groupBox_5)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.pyqt5VenvComboBox.sizePolicy().hasHeightForWidth())
+        self.pyqt5VenvComboBox.setSizePolicy(sizePolicy)
+        self.pyqt5VenvComboBox.setObjectName("pyqt5VenvComboBox")
+        self.horizontalLayout_9.addWidget(self.pyqt5VenvComboBox)
+        self.pyqt5VenvDlgButton = QtWidgets.QToolButton(parent=self.groupBox_5)
+        self.pyqt5VenvDlgButton.setText("")
+        self.pyqt5VenvDlgButton.setObjectName("pyqt5VenvDlgButton")
+        self.horizontalLayout_9.addWidget(self.pyqt5VenvDlgButton)
+        self.pyqt5VenvRefreshButton = QtWidgets.QToolButton(parent=self.groupBox_5)
+        self.pyqt5VenvRefreshButton.setText("")
+        self.pyqt5VenvRefreshButton.setObjectName("pyqt5VenvRefreshButton")
+        self.horizontalLayout_9.addWidget(self.pyqt5VenvRefreshButton)
+        self.verticalLayout_7.addLayout(self.horizontalLayout_9)
+        self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
+        self.label_6 = QtWidgets.QLabel(parent=self.groupBox_5)
+        self.label_6.setObjectName("label_6")
+        self.horizontalLayout_3.addWidget(self.label_6)
+        self.pyqtToolsDirPicker = EricPathPicker(parent=self.groupBox_5)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.pyqtToolsDirPicker.sizePolicy().hasHeightForWidth())
+        self.pyqtToolsDirPicker.setSizePolicy(sizePolicy)
+        self.pyqtToolsDirPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.pyqtToolsDirPicker.setObjectName("pyqtToolsDirPicker")
+        self.horizontalLayout_3.addWidget(self.pyqtToolsDirPicker)
+        self.verticalLayout_7.addLayout(self.horizontalLayout_3)
+        self.groupBox = QtWidgets.QGroupBox(parent=self.groupBox_5)
+        self.groupBox.setObjectName("groupBox")
+        self.gridLayout = QtWidgets.QGridLayout(self.groupBox)
+        self.gridLayout.setObjectName("gridLayout")
+        self.label_2 = QtWidgets.QLabel(parent=self.groupBox)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 0, 0, 1, 1)
+        self.pyuicIndentSpinBox = QtWidgets.QSpinBox(parent=self.groupBox)
+        self.pyuicIndentSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.pyuicIndentSpinBox.setMinimum(2)
+        self.pyuicIndentSpinBox.setMaximum(16)
+        self.pyuicIndentSpinBox.setProperty("value", 4)
+        self.pyuicIndentSpinBox.setObjectName("pyuicIndentSpinBox")
+        self.gridLayout.addWidget(self.pyuicIndentSpinBox, 0, 1, 1, 1)
+        spacerItem = QtWidgets.QSpacerItem(448, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout.addItem(spacerItem, 0, 2, 1, 1)
+        self.pyuicImportsCheckBox = QtWidgets.QCheckBox(parent=self.groupBox)
+        self.pyuicImportsCheckBox.setObjectName("pyuicImportsCheckBox")
+        self.gridLayout.addWidget(self.pyuicImportsCheckBox, 1, 0, 1, 3)
+        self.pyuicExecuteCheckBox = QtWidgets.QCheckBox(parent=self.groupBox)
+        self.pyuicExecuteCheckBox.setObjectName("pyuicExecuteCheckBox")
+        self.gridLayout.addWidget(self.pyuicExecuteCheckBox, 2, 0, 1, 3)
+        self.verticalLayout_7.addWidget(self.groupBox)
+        self.verticalLayout_6.addWidget(self.groupBox_5)
+        self.groupBox_8 = QtWidgets.QGroupBox(parent=self.groupBox_7)
+        self.groupBox_8.setObjectName("groupBox_8")
+        self.verticalLayout_5 = QtWidgets.QVBoxLayout(self.groupBox_8)
+        self.verticalLayout_5.setObjectName("verticalLayout_5")
+        self.horizontalLayout_8 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_8.setObjectName("horizontalLayout_8")
+        self.label_10 = QtWidgets.QLabel(parent=self.groupBox_8)
+        self.label_10.setObjectName("label_10")
+        self.horizontalLayout_8.addWidget(self.label_10)
+        self.pyqt6VenvComboBox = QtWidgets.QComboBox(parent=self.groupBox_8)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.pyqt6VenvComboBox.sizePolicy().hasHeightForWidth())
+        self.pyqt6VenvComboBox.setSizePolicy(sizePolicy)
+        self.pyqt6VenvComboBox.setObjectName("pyqt6VenvComboBox")
+        self.horizontalLayout_8.addWidget(self.pyqt6VenvComboBox)
+        self.pyqt6VenvDlgButton = QtWidgets.QToolButton(parent=self.groupBox_8)
+        self.pyqt6VenvDlgButton.setText("")
+        self.pyqt6VenvDlgButton.setObjectName("pyqt6VenvDlgButton")
+        self.horizontalLayout_8.addWidget(self.pyqt6VenvDlgButton)
+        self.pyqt6VenvRefreshButton = QtWidgets.QToolButton(parent=self.groupBox_8)
+        self.pyqt6VenvRefreshButton.setText("")
+        self.pyqt6VenvRefreshButton.setObjectName("pyqt6VenvRefreshButton")
+        self.horizontalLayout_8.addWidget(self.pyqt6VenvRefreshButton)
+        self.verticalLayout_5.addLayout(self.horizontalLayout_8)
+        self.horizontalLayout_4 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_4.setObjectName("horizontalLayout_4")
+        self.label_8 = QtWidgets.QLabel(parent=self.groupBox_8)
+        self.label_8.setObjectName("label_8")
+        self.horizontalLayout_4.addWidget(self.label_8)
+        self.pyqt6ToolsDirPicker = EricPathPicker(parent=self.groupBox_8)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.pyqt6ToolsDirPicker.sizePolicy().hasHeightForWidth())
+        self.pyqt6ToolsDirPicker.setSizePolicy(sizePolicy)
+        self.pyqt6ToolsDirPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.pyqt6ToolsDirPicker.setObjectName("pyqt6ToolsDirPicker")
+        self.horizontalLayout_4.addWidget(self.pyqt6ToolsDirPicker)
+        self.verticalLayout_5.addLayout(self.horizontalLayout_4)
+        self.groupBox_9 = QtWidgets.QGroupBox(parent=self.groupBox_8)
+        self.groupBox_9.setObjectName("groupBox_9")
+        self.gridLayout_3 = QtWidgets.QGridLayout(self.groupBox_9)
+        self.gridLayout_3.setObjectName("gridLayout_3")
+        spacerItem1 = QtWidgets.QSpacerItem(448, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout_3.addItem(spacerItem1, 0, 2, 1, 1)
+        self.pyuic6ExecuteCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_9)
+        self.pyuic6ExecuteCheckBox.setObjectName("pyuic6ExecuteCheckBox")
+        self.gridLayout_3.addWidget(self.pyuic6ExecuteCheckBox, 1, 0, 1, 3)
+        self.pyuic6IndentSpinBox = QtWidgets.QSpinBox(parent=self.groupBox_9)
+        self.pyuic6IndentSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.pyuic6IndentSpinBox.setMinimum(2)
+        self.pyuic6IndentSpinBox.setMaximum(16)
+        self.pyuic6IndentSpinBox.setProperty("value", 4)
+        self.pyuic6IndentSpinBox.setObjectName("pyuic6IndentSpinBox")
+        self.gridLayout_3.addWidget(self.pyuic6IndentSpinBox, 0, 1, 1, 1)
+        self.label_9 = QtWidgets.QLabel(parent=self.groupBox_9)
+        self.label_9.setObjectName("label_9")
+        self.gridLayout_3.addWidget(self.label_9, 0, 0, 1, 1)
+        self.verticalLayout_5.addWidget(self.groupBox_9)
+        self.verticalLayout_6.addWidget(self.groupBox_8)
+        self.verticalLayout_10.addWidget(self.groupBox_7)
+        self.groupBox_10 = QtWidgets.QGroupBox(parent=QtPage)
+        self.groupBox_10.setObjectName("groupBox_10")
+        self.verticalLayout_9 = QtWidgets.QVBoxLayout(self.groupBox_10)
+        self.verticalLayout_9.setObjectName("verticalLayout_9")
+        self.pyside2Group = QtWidgets.QGroupBox(parent=self.groupBox_10)
+        self.pyside2Group.setObjectName("pyside2Group")
+        self.verticalLayout_4 = QtWidgets.QVBoxLayout(self.pyside2Group)
+        self.verticalLayout_4.setObjectName("verticalLayout_4")
+        self.horizontalLayout_7 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_7.setObjectName("horizontalLayout_7")
+        self.label_11 = QtWidgets.QLabel(parent=self.pyside2Group)
+        self.label_11.setObjectName("label_11")
+        self.horizontalLayout_7.addWidget(self.label_11)
+        self.pyside2VenvComboBox = QtWidgets.QComboBox(parent=self.pyside2Group)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.pyside2VenvComboBox.sizePolicy().hasHeightForWidth())
+        self.pyside2VenvComboBox.setSizePolicy(sizePolicy)
+        self.pyside2VenvComboBox.setObjectName("pyside2VenvComboBox")
+        self.horizontalLayout_7.addWidget(self.pyside2VenvComboBox)
+        self.pyside2VenvDlgButton = QtWidgets.QToolButton(parent=self.pyside2Group)
+        self.pyside2VenvDlgButton.setText("")
+        self.pyside2VenvDlgButton.setObjectName("pyside2VenvDlgButton")
+        self.horizontalLayout_7.addWidget(self.pyside2VenvDlgButton)
+        self.pyside2VenvRefreshButton = QtWidgets.QToolButton(parent=self.pyside2Group)
+        self.pyside2VenvRefreshButton.setText("")
+        self.pyside2VenvRefreshButton.setObjectName("pyside2VenvRefreshButton")
+        self.horizontalLayout_7.addWidget(self.pyside2VenvRefreshButton)
+        self.verticalLayout_4.addLayout(self.horizontalLayout_7)
+        self.horizontalLayout_5 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_5.setObjectName("horizontalLayout_5")
+        self.label_7 = QtWidgets.QLabel(parent=self.pyside2Group)
+        self.label_7.setObjectName("label_7")
+        self.horizontalLayout_5.addWidget(self.label_7)
+        self.pyside2ToolsDirPicker = EricPathPicker(parent=self.pyside2Group)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.pyside2ToolsDirPicker.sizePolicy().hasHeightForWidth())
+        self.pyside2ToolsDirPicker.setSizePolicy(sizePolicy)
+        self.pyside2ToolsDirPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.pyside2ToolsDirPicker.setObjectName("pyside2ToolsDirPicker")
+        self.horizontalLayout_5.addWidget(self.pyside2ToolsDirPicker)
+        self.verticalLayout_4.addLayout(self.horizontalLayout_5)
+        self.groupBox_2 = QtWidgets.QGroupBox(parent=self.pyside2Group)
+        self.groupBox_2.setObjectName("groupBox_2")
+        self.gridLayout_2 = QtWidgets.QGridLayout(self.groupBox_2)
+        self.gridLayout_2.setObjectName("gridLayout_2")
+        self.pyside2uicImportsCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_2)
+        self.pyside2uicImportsCheckBox.setObjectName("pyside2uicImportsCheckBox")
+        self.gridLayout_2.addWidget(self.pyside2uicImportsCheckBox, 0, 0, 1, 2)
+        self.verticalLayout_4.addWidget(self.groupBox_2)
+        self.verticalLayout_9.addWidget(self.pyside2Group)
+        self.pyside2Group_2 = QtWidgets.QGroupBox(parent=self.groupBox_10)
+        self.pyside2Group_2.setObjectName("pyside2Group_2")
+        self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.pyside2Group_2)
+        self.verticalLayout_3.setObjectName("verticalLayout_3")
+        self.horizontalLayout_6 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_6.setObjectName("horizontalLayout_6")
+        self.label_12 = QtWidgets.QLabel(parent=self.pyside2Group_2)
+        self.label_12.setObjectName("label_12")
+        self.horizontalLayout_6.addWidget(self.label_12)
+        self.pyside6VenvComboBox = QtWidgets.QComboBox(parent=self.pyside2Group_2)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.pyside6VenvComboBox.sizePolicy().hasHeightForWidth())
+        self.pyside6VenvComboBox.setSizePolicy(sizePolicy)
+        self.pyside6VenvComboBox.setObjectName("pyside6VenvComboBox")
+        self.horizontalLayout_6.addWidget(self.pyside6VenvComboBox)
+        self.pyside6VenvDlgButton = QtWidgets.QToolButton(parent=self.pyside2Group_2)
+        self.pyside6VenvDlgButton.setText("")
+        self.pyside6VenvDlgButton.setObjectName("pyside6VenvDlgButton")
+        self.horizontalLayout_6.addWidget(self.pyside6VenvDlgButton)
+        self.pyside6VenvRefreshButton = QtWidgets.QToolButton(parent=self.pyside2Group_2)
+        self.pyside6VenvRefreshButton.setText("")
+        self.pyside6VenvRefreshButton.setObjectName("pyside6VenvRefreshButton")
+        self.horizontalLayout_6.addWidget(self.pyside6VenvRefreshButton)
+        self.verticalLayout_3.addLayout(self.horizontalLayout_6)
+        self.horizontalLayout_10 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_10.setObjectName("horizontalLayout_10")
+        self.label_13 = QtWidgets.QLabel(parent=self.pyside2Group_2)
+        self.label_13.setObjectName("label_13")
+        self.horizontalLayout_10.addWidget(self.label_13)
+        self.pyside6ToolsDirPicker = EricPathPicker(parent=self.pyside2Group_2)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.pyside6ToolsDirPicker.sizePolicy().hasHeightForWidth())
+        self.pyside6ToolsDirPicker.setSizePolicy(sizePolicy)
+        self.pyside6ToolsDirPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.pyside6ToolsDirPicker.setObjectName("pyside6ToolsDirPicker")
+        self.horizontalLayout_10.addWidget(self.pyside6ToolsDirPicker)
+        self.verticalLayout_3.addLayout(self.horizontalLayout_10)
+        self.groupBox_11 = QtWidgets.QGroupBox(parent=self.pyside2Group_2)
+        self.groupBox_11.setObjectName("groupBox_11")
+        self.gridLayout_4 = QtWidgets.QGridLayout(self.groupBox_11)
+        self.gridLayout_4.setObjectName("gridLayout_4")
+        self.pyside6uicImportsCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_11)
+        self.pyside6uicImportsCheckBox.setObjectName("pyside6uicImportsCheckBox")
+        self.gridLayout_4.addWidget(self.pyside6uicImportsCheckBox, 0, 0, 1, 2)
+        self.verticalLayout_3.addWidget(self.groupBox_11)
+        self.verticalLayout_9.addWidget(self.pyside2Group_2)
+        self.verticalLayout_10.addWidget(self.groupBox_10)
+        spacerItem2 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout_10.addItem(spacerItem2)
+
+        self.retranslateUi(QtPage)
+        QtCore.QMetaObject.connectSlotsByName(QtPage)
+        QtPage.setTabOrder(self.qtTransPicker, self.qtToolsDirPicker)
+        QtPage.setTabOrder(self.qtToolsDirPicker, self.qtPrefixEdit)
+        QtPage.setTabOrder(self.qtPrefixEdit, self.qtPostfixEdit)
+        QtPage.setTabOrder(self.qtPostfixEdit, self.qhelpgeneratorPicker)
+        QtPage.setTabOrder(self.qhelpgeneratorPicker, self.pyqt5VenvComboBox)
+        QtPage.setTabOrder(self.pyqt5VenvComboBox, self.pyqt5VenvDlgButton)
+        QtPage.setTabOrder(self.pyqt5VenvDlgButton, self.pyqt5VenvRefreshButton)
+        QtPage.setTabOrder(self.pyqt5VenvRefreshButton, self.pyqtToolsDirPicker)
+        QtPage.setTabOrder(self.pyqtToolsDirPicker, self.pyuicIndentSpinBox)
+        QtPage.setTabOrder(self.pyuicIndentSpinBox, self.pyuicImportsCheckBox)
+        QtPage.setTabOrder(self.pyuicImportsCheckBox, self.pyuicExecuteCheckBox)
+        QtPage.setTabOrder(self.pyuicExecuteCheckBox, self.pyqt6VenvComboBox)
+        QtPage.setTabOrder(self.pyqt6VenvComboBox, self.pyqt6VenvDlgButton)
+        QtPage.setTabOrder(self.pyqt6VenvDlgButton, self.pyqt6VenvRefreshButton)
+        QtPage.setTabOrder(self.pyqt6VenvRefreshButton, self.pyqt6ToolsDirPicker)
+        QtPage.setTabOrder(self.pyqt6ToolsDirPicker, self.pyuic6IndentSpinBox)
+        QtPage.setTabOrder(self.pyuic6IndentSpinBox, self.pyuic6ExecuteCheckBox)
+        QtPage.setTabOrder(self.pyuic6ExecuteCheckBox, self.pyside2VenvComboBox)
+        QtPage.setTabOrder(self.pyside2VenvComboBox, self.pyside2VenvDlgButton)
+        QtPage.setTabOrder(self.pyside2VenvDlgButton, self.pyside2VenvRefreshButton)
+        QtPage.setTabOrder(self.pyside2VenvRefreshButton, self.pyside2ToolsDirPicker)
+        QtPage.setTabOrder(self.pyside2ToolsDirPicker, self.pyside2uicImportsCheckBox)
+        QtPage.setTabOrder(self.pyside2uicImportsCheckBox, self.pyside6VenvComboBox)
+        QtPage.setTabOrder(self.pyside6VenvComboBox, self.pyside6VenvDlgButton)
+        QtPage.setTabOrder(self.pyside6VenvDlgButton, self.pyside6VenvRefreshButton)
+        QtPage.setTabOrder(self.pyside6VenvRefreshButton, self.pyside6ToolsDirPicker)
+        QtPage.setTabOrder(self.pyside6ToolsDirPicker, self.pyside6uicImportsCheckBox)
+
+    def retranslateUi(self, QtPage):
+        _translate = QtCore.QCoreApplication.translate
+        self.headerLabel.setText(_translate("QtPage", "<b>Configure Qt</b>"))
+        self.groupBox_6.setTitle(_translate("QtPage", "Qt"))
+        self.groupBox_3.setTitle(_translate("QtPage", "Qt Translations Directory"))
+        self.TextLabel1_2_2_5.setText(_translate("QtPage", "<font color=\"#FF0000\"><b>Note:</b> This setting is activated at the next startup of the application.</font>"))
+        self.qtTransPicker.setToolTip(_translate("QtPage", "Enter the path of the Qt translations directory."))
+        self.textLabel1_2_4.setText(_translate("QtPage", "<b>Note:</b> Leave this entry empty to use the path compiled into the Qt library."))
+        self.groupBox_4.setTitle(_translate("QtPage", "Qt Tools"))
+        self.label_4.setText(_translate("QtPage", "Tools Directory:"))
+        self.qtToolsDirPicker.setToolTip(_translate("QtPage", "Enter the path of the Qt tools directory, if they are not found."))
+        self.label_3.setText(_translate("QtPage", "Qt-Prefix:"))
+        self.qtPrefixEdit.setToolTip(_translate("QtPage", "Enter the prefix for the Qt tools name"))
+        self.qtPrefixEdit.setWhatsThis(_translate("QtPage", "<b>Qt-Prefix</b>\n"
+"<p>Enter a prefix used to determine the Qt tool executable name. It is composed of the prefix, the tool name and the postfix. The executable extension is added automatically on Windows.</p>"))
+        self.label_5.setText(_translate("QtPage", "Qt-Postfix:"))
+        self.qtPostfixEdit.setToolTip(_translate("QtPage", "Enter the postfix for the Qt tools name"))
+        self.qtPostfixEdit.setWhatsThis(_translate("QtPage", "<b>Qt-Postfix</b>\n"
+"<p>Enter a postfix used to determine the Qt tool executable name. It is composed of the prefix, the tool name and the postfix. The executable extension is added automatically on Windows.</p>"))
+        self.qtSampleLabel.setToolTip(_translate("QtPage", "This gives an example of the complete tool name"))
+        self.qtSampleLabel.setText(_translate("QtPage", "designer"))
+        self.label_14.setText(_translate("QtPage", "\'qhelpgenerator\':"))
+        self.qhelpgeneratorPicker.setToolTip(_translate("QtPage", "Enter the path of the \'qhelpgenerator\' program, if it cannot be found automatically."))
+        self.groupBox_7.setTitle(_translate("QtPage", "PyQt"))
+        self.groupBox_5.setTitle(_translate("QtPage", "PyQt 5"))
+        self.label.setText(_translate("QtPage", "Virtual Environment:"))
+        self.pyqt5VenvComboBox.setToolTip(_translate("QtPage", "Select the virtual environment to be used"))
+        self.pyqt5VenvDlgButton.setToolTip(_translate("QtPage", "Press to open the virtual environment manager dialog"))
+        self.pyqt5VenvRefreshButton.setToolTip(_translate("QtPage", "Press to refresh the list of vitual environments"))
+        self.label_6.setText(_translate("QtPage", "Tools Directory:"))
+        self.pyqtToolsDirPicker.setToolTip(_translate("QtPage", "Enter the path of the PyQt 5 tools directory, if they are not found."))
+        self.groupBox.setTitle(_translate("QtPage", "pyuic5 Options"))
+        self.label_2.setText(_translate("QtPage", "Indent Width:"))
+        self.pyuicIndentSpinBox.setToolTip(_translate("QtPage", "Select the indent width (default: 4)"))
+        self.pyuicImportsCheckBox.setText(_translate("QtPage", "Generate imports relative to \'.\'"))
+        self.pyuicExecuteCheckBox.setToolTip(_translate("QtPage", "Select to generate extra code to test and display the form"))
+        self.pyuicExecuteCheckBox.setText(_translate("QtPage", "Generate Extra Test Code"))
+        self.groupBox_8.setTitle(_translate("QtPage", "PyQt 6"))
+        self.label_10.setText(_translate("QtPage", "Virtual Environment:"))
+        self.pyqt6VenvComboBox.setToolTip(_translate("QtPage", "Select the virtual environment to be used"))
+        self.pyqt6VenvDlgButton.setToolTip(_translate("QtPage", "Press to open the virtual environment manager dialog"))
+        self.pyqt6VenvRefreshButton.setToolTip(_translate("QtPage", "Press to refresh the list of vitual environments"))
+        self.label_8.setText(_translate("QtPage", "Tools Directory:"))
+        self.pyqt6ToolsDirPicker.setToolTip(_translate("QtPage", "Enter the path of the PyQt 6 tools directory, if they are not found."))
+        self.groupBox_9.setTitle(_translate("QtPage", "pyuic6 Options"))
+        self.pyuic6ExecuteCheckBox.setToolTip(_translate("QtPage", "Select to generate extra code to test and display the form"))
+        self.pyuic6ExecuteCheckBox.setText(_translate("QtPage", "Generate Extra Test Code"))
+        self.pyuic6IndentSpinBox.setToolTip(_translate("QtPage", "Select the indent width (default: 4)"))
+        self.label_9.setText(_translate("QtPage", "Indent Width:"))
+        self.groupBox_10.setTitle(_translate("QtPage", "PySide"))
+        self.pyside2Group.setTitle(_translate("QtPage", "PySide2"))
+        self.label_11.setText(_translate("QtPage", "Virtual Environment:"))
+        self.pyside2VenvComboBox.setToolTip(_translate("QtPage", "Select the virtual environment to be used"))
+        self.pyside2VenvDlgButton.setToolTip(_translate("QtPage", "Press to open the virtual environment manager dialog"))
+        self.pyside2VenvRefreshButton.setToolTip(_translate("QtPage", "Press to refresh the list of vitual environments"))
+        self.label_7.setText(_translate("QtPage", "Tools Directory:"))
+        self.pyside2ToolsDirPicker.setToolTip(_translate("QtPage", "Enter the path of the PySide2 tools directory, if they are not found."))
+        self.groupBox_2.setTitle(_translate("QtPage", "pyside2-uic Options"))
+        self.pyside2uicImportsCheckBox.setText(_translate("QtPage", "Generate imports relative to \'.\'"))
+        self.pyside2Group_2.setTitle(_translate("QtPage", "PySide6"))
+        self.label_12.setText(_translate("QtPage", "Virtual Environment:"))
+        self.pyside6VenvComboBox.setToolTip(_translate("QtPage", "Select the virtual environment to be used"))
+        self.pyside6VenvDlgButton.setToolTip(_translate("QtPage", "Press to open the virtual environment manager dialog"))
+        self.pyside6VenvRefreshButton.setToolTip(_translate("QtPage", "Press to refresh the list of vitual environments"))
+        self.label_13.setText(_translate("QtPage", "Tools Directory:"))
+        self.pyside6ToolsDirPicker.setToolTip(_translate("QtPage", "Enter the path of the PySide6 tools directory, if they are not found."))
+        self.groupBox_11.setTitle(_translate("QtPage", "pyside6-uic Options"))
+        self.pyside6uicImportsCheckBox.setText(_translate("QtPage", "Generate imports relative to \'.\'"))
+from eric7.EricWidgets.EricPathPicker import EricPathPicker
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Preferences/ConfigurationPages/Ui_SecurityPage.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,75 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Preferences/ConfigurationPages/SecurityPage.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_SecurityPage(object):
+    def setupUi(self, SecurityPage):
+        SecurityPage.setObjectName("SecurityPage")
+        SecurityPage.resize(400, 250)
+        self.verticalLayout_3 = QtWidgets.QVBoxLayout(SecurityPage)
+        self.verticalLayout_3.setObjectName("verticalLayout_3")
+        self.headerLabel = QtWidgets.QLabel(parent=SecurityPage)
+        self.headerLabel.setObjectName("headerLabel")
+        self.verticalLayout_3.addWidget(self.headerLabel)
+        self.line1 = QtWidgets.QFrame(parent=SecurityPage)
+        self.line1.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line1.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line1.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line1.setObjectName("line1")
+        self.verticalLayout_3.addWidget(self.line1)
+        self.groupBox = QtWidgets.QGroupBox(parent=SecurityPage)
+        self.groupBox.setObjectName("groupBox")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.groupBox)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.savePasswordsCheckBox = QtWidgets.QCheckBox(parent=self.groupBox)
+        self.savePasswordsCheckBox.setObjectName("savePasswordsCheckBox")
+        self.verticalLayout.addWidget(self.savePasswordsCheckBox)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.mainPasswordCheckBox = QtWidgets.QCheckBox(parent=self.groupBox)
+        self.mainPasswordCheckBox.setObjectName("mainPasswordCheckBox")
+        self.horizontalLayout.addWidget(self.mainPasswordCheckBox)
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem)
+        self.mainPasswordButton = QtWidgets.QPushButton(parent=self.groupBox)
+        self.mainPasswordButton.setEnabled(False)
+        self.mainPasswordButton.setObjectName("mainPasswordButton")
+        self.horizontalLayout.addWidget(self.mainPasswordButton)
+        self.verticalLayout.addLayout(self.horizontalLayout)
+        self.verticalLayout_3.addWidget(self.groupBox)
+        self.certificateErrorsGroup = QtWidgets.QGroupBox(parent=SecurityPage)
+        self.certificateErrorsGroup.setObjectName("certificateErrorsGroup")
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.certificateErrorsGroup)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.alwaysRejectCheckBox = QtWidgets.QCheckBox(parent=self.certificateErrorsGroup)
+        self.alwaysRejectCheckBox.setObjectName("alwaysRejectCheckBox")
+        self.verticalLayout_2.addWidget(self.alwaysRejectCheckBox)
+        self.verticalLayout_3.addWidget(self.certificateErrorsGroup)
+        spacerItem1 = QtWidgets.QSpacerItem(20, 113, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout_3.addItem(spacerItem1)
+
+        self.retranslateUi(SecurityPage)
+        QtCore.QMetaObject.connectSlotsByName(SecurityPage)
+        SecurityPage.setTabOrder(self.savePasswordsCheckBox, self.mainPasswordCheckBox)
+        SecurityPage.setTabOrder(self.mainPasswordCheckBox, self.mainPasswordButton)
+
+    def retranslateUi(self, SecurityPage):
+        _translate = QtCore.QCoreApplication.translate
+        self.headerLabel.setText(_translate("SecurityPage", "<b>Configure security settings</b>"))
+        self.groupBox.setTitle(_translate("SecurityPage", "Passwords"))
+        self.savePasswordsCheckBox.setToolTip(_translate("SecurityPage", "Select to save passwords"))
+        self.savePasswordsCheckBox.setText(_translate("SecurityPage", "Save passwords"))
+        self.mainPasswordCheckBox.setToolTip(_translate("SecurityPage", "Select to use a main password"))
+        self.mainPasswordCheckBox.setText(_translate("SecurityPage", "Use Main Password"))
+        self.mainPasswordButton.setToolTip(_translate("SecurityPage", "Press to change the main password"))
+        self.mainPasswordButton.setText(_translate("SecurityPage", "Change Main Password..."))
+        self.certificateErrorsGroup.setTitle(_translate("SecurityPage", "Certificate Errors"))
+        self.alwaysRejectCheckBox.setToolTip(_translate("SecurityPage", "Select to always reject web pages with certificate issues"))
+        self.alwaysRejectCheckBox.setText(_translate("SecurityPage", "Always reject URLs with certificate errors"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Preferences/ConfigurationPages/Ui_ShellPage.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,189 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Preferences/ConfigurationPages/ShellPage.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_ShellPage(object):
+    def setupUi(self, ShellPage):
+        ShellPage.setObjectName("ShellPage")
+        ShellPage.resize(573, 677)
+        self.verticalLayout = QtWidgets.QVBoxLayout(ShellPage)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.headerLabel = QtWidgets.QLabel(parent=ShellPage)
+        self.headerLabel.setObjectName("headerLabel")
+        self.verticalLayout.addWidget(self.headerLabel)
+        self.line14 = QtWidgets.QFrame(parent=ShellPage)
+        self.line14.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line14.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line14.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line14.setObjectName("line14")
+        self.verticalLayout.addWidget(self.line14)
+        self.gridlayout = QtWidgets.QGridLayout()
+        self.gridlayout.setObjectName("gridlayout")
+        self.shellLinenoCheckBox = QtWidgets.QCheckBox(parent=ShellPage)
+        self.shellLinenoCheckBox.setObjectName("shellLinenoCheckBox")
+        self.gridlayout.addWidget(self.shellLinenoCheckBox, 0, 0, 1, 1)
+        self.shellCTEnabledCheckBox = QtWidgets.QCheckBox(parent=ShellPage)
+        self.shellCTEnabledCheckBox.setObjectName("shellCTEnabledCheckBox")
+        self.gridlayout.addWidget(self.shellCTEnabledCheckBox, 1, 1, 1, 1)
+        self.shellWordWrapCheckBox = QtWidgets.QCheckBox(parent=ShellPage)
+        self.shellWordWrapCheckBox.setObjectName("shellWordWrapCheckBox")
+        self.gridlayout.addWidget(self.shellWordWrapCheckBox, 0, 1, 1, 1)
+        self.shellACEnabledCheckBox = QtWidgets.QCheckBox(parent=ShellPage)
+        self.shellACEnabledCheckBox.setObjectName("shellACEnabledCheckBox")
+        self.gridlayout.addWidget(self.shellACEnabledCheckBox, 1, 0, 1, 1)
+        self.shellSyntaxHighlightingCheckBox = QtWidgets.QCheckBox(parent=ShellPage)
+        self.shellSyntaxHighlightingCheckBox.setObjectName("shellSyntaxHighlightingCheckBox")
+        self.gridlayout.addWidget(self.shellSyntaxHighlightingCheckBox, 2, 0, 1, 1)
+        self.rememberCheckBox = QtWidgets.QCheckBox(parent=ShellPage)
+        self.rememberCheckBox.setObjectName("rememberCheckBox")
+        self.gridlayout.addWidget(self.rememberCheckBox, 2, 1, 1, 1)
+        self.verticalLayout.addLayout(self.gridlayout)
+        self.groupBox = QtWidgets.QGroupBox(parent=ShellPage)
+        self.groupBox.setObjectName("groupBox")
+        self.gridLayout = QtWidgets.QGridLayout(self.groupBox)
+        self.gridLayout.setObjectName("gridLayout")
+        self.textLabel1_20 = QtWidgets.QLabel(parent=self.groupBox)
+        self.textLabel1_20.setObjectName("textLabel1_20")
+        self.gridLayout.addWidget(self.textLabel1_20, 0, 0, 1, 1)
+        self.shellHistorySpinBox = QtWidgets.QSpinBox(parent=self.groupBox)
+        self.shellHistorySpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.shellHistorySpinBox.setAccelerated(True)
+        self.shellHistorySpinBox.setMinimum(10)
+        self.shellHistorySpinBox.setMaximum(1000)
+        self.shellHistorySpinBox.setSingleStep(10)
+        self.shellHistorySpinBox.setProperty("value", 100)
+        self.shellHistorySpinBox.setObjectName("shellHistorySpinBox")
+        self.gridLayout.addWidget(self.shellHistorySpinBox, 0, 1, 1, 1)
+        spacerItem = QtWidgets.QSpacerItem(343, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout.addItem(spacerItem, 0, 2, 1, 1)
+        self.label = QtWidgets.QLabel(parent=self.groupBox)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 1, 0, 1, 1)
+        self.shellHistoryStyleComboBox = QtWidgets.QComboBox(parent=self.groupBox)
+        self.shellHistoryStyleComboBox.setObjectName("shellHistoryStyleComboBox")
+        self.gridLayout.addWidget(self.shellHistoryStyleComboBox, 1, 1, 1, 2)
+        self.shellHistoryWrapCheckBox = QtWidgets.QCheckBox(parent=self.groupBox)
+        self.shellHistoryWrapCheckBox.setObjectName("shellHistoryWrapCheckBox")
+        self.gridLayout.addWidget(self.shellHistoryWrapCheckBox, 2, 0, 1, 3)
+        self.shellHistoryCursorKeysCheckBox = QtWidgets.QCheckBox(parent=self.groupBox)
+        self.shellHistoryCursorKeysCheckBox.setObjectName("shellHistoryCursorKeysCheckBox")
+        self.gridLayout.addWidget(self.shellHistoryCursorKeysCheckBox, 3, 0, 1, 3)
+        self.verticalLayout.addWidget(self.groupBox)
+        self.groupBox_5 = QtWidgets.QGroupBox(parent=ShellPage)
+        self.groupBox_5.setObjectName("groupBox_5")
+        self.gridLayout_2 = QtWidgets.QGridLayout(self.groupBox_5)
+        self.gridLayout_2.setObjectName("gridLayout_2")
+        self.monospacedFontButton = QtWidgets.QPushButton(parent=self.groupBox_5)
+        self.monospacedFontButton.setObjectName("monospacedFontButton")
+        self.gridLayout_2.addWidget(self.monospacedFontButton, 0, 0, 1, 1)
+        self.monospacedFontSample = QtWidgets.QLineEdit(parent=self.groupBox_5)
+        self.monospacedFontSample.setFocusPolicy(QtCore.Qt.FocusPolicy.NoFocus)
+        self.monospacedFontSample.setAlignment(QtCore.Qt.AlignmentFlag.AlignHCenter)
+        self.monospacedFontSample.setReadOnly(True)
+        self.monospacedFontSample.setObjectName("monospacedFontSample")
+        self.gridLayout_2.addWidget(self.monospacedFontSample, 0, 1, 1, 1)
+        self.monospacedCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_5)
+        self.monospacedCheckBox.setObjectName("monospacedCheckBox")
+        self.gridLayout_2.addWidget(self.monospacedCheckBox, 0, 2, 1, 1)
+        self.linenumbersFontButton = QtWidgets.QPushButton(parent=self.groupBox_5)
+        self.linenumbersFontButton.setObjectName("linenumbersFontButton")
+        self.gridLayout_2.addWidget(self.linenumbersFontButton, 1, 0, 1, 1)
+        self.marginsFontSample = QtWidgets.QLineEdit(parent=self.groupBox_5)
+        self.marginsFontSample.setMinimumSize(QtCore.QSize(200, 0))
+        self.marginsFontSample.setFocusPolicy(QtCore.Qt.FocusPolicy.NoFocus)
+        self.marginsFontSample.setAlignment(QtCore.Qt.AlignmentFlag.AlignHCenter)
+        self.marginsFontSample.setReadOnly(True)
+        self.marginsFontSample.setObjectName("marginsFontSample")
+        self.gridLayout_2.addWidget(self.marginsFontSample, 1, 1, 1, 1)
+        self.verticalLayout.addWidget(self.groupBox_5)
+        self.groupBox_2 = QtWidgets.QGroupBox(parent=ShellPage)
+        self.groupBox_2.setObjectName("groupBox_2")
+        self.horizontalLayout = QtWidgets.QHBoxLayout(self.groupBox_2)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.label_2 = QtWidgets.QLabel(parent=self.groupBox_2)
+        self.label_2.setObjectName("label_2")
+        self.horizontalLayout.addWidget(self.label_2)
+        self.timeoutSpinBox = QtWidgets.QSpinBox(parent=self.groupBox_2)
+        self.timeoutSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.timeoutSpinBox.setAccelerated(True)
+        self.timeoutSpinBox.setMinimum(5)
+        self.timeoutSpinBox.setMaximum(600)
+        self.timeoutSpinBox.setObjectName("timeoutSpinBox")
+        self.horizontalLayout.addWidget(self.timeoutSpinBox)
+        spacerItem1 = QtWidgets.QSpacerItem(289, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem1)
+        self.verticalLayout.addWidget(self.groupBox_2)
+        self.stdOutErrCheckBox = QtWidgets.QCheckBox(parent=ShellPage)
+        self.stdOutErrCheckBox.setObjectName("stdOutErrCheckBox")
+        self.verticalLayout.addWidget(self.stdOutErrCheckBox)
+        spacerItem2 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout.addItem(spacerItem2)
+
+        self.retranslateUi(ShellPage)
+        self.shellSyntaxHighlightingCheckBox.toggled['bool'].connect(self.monospacedFontButton.setDisabled) # type: ignore
+        self.shellSyntaxHighlightingCheckBox.toggled['bool'].connect(self.monospacedFontSample.setDisabled) # type: ignore
+        self.shellSyntaxHighlightingCheckBox.toggled['bool'].connect(self.monospacedCheckBox.setDisabled) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(ShellPage)
+        ShellPage.setTabOrder(self.shellLinenoCheckBox, self.shellWordWrapCheckBox)
+        ShellPage.setTabOrder(self.shellWordWrapCheckBox, self.shellACEnabledCheckBox)
+        ShellPage.setTabOrder(self.shellACEnabledCheckBox, self.shellCTEnabledCheckBox)
+        ShellPage.setTabOrder(self.shellCTEnabledCheckBox, self.shellSyntaxHighlightingCheckBox)
+        ShellPage.setTabOrder(self.shellSyntaxHighlightingCheckBox, self.rememberCheckBox)
+        ShellPage.setTabOrder(self.rememberCheckBox, self.shellHistorySpinBox)
+        ShellPage.setTabOrder(self.shellHistorySpinBox, self.shellHistoryStyleComboBox)
+        ShellPage.setTabOrder(self.shellHistoryStyleComboBox, self.shellHistoryWrapCheckBox)
+        ShellPage.setTabOrder(self.shellHistoryWrapCheckBox, self.shellHistoryCursorKeysCheckBox)
+        ShellPage.setTabOrder(self.shellHistoryCursorKeysCheckBox, self.monospacedFontButton)
+        ShellPage.setTabOrder(self.monospacedFontButton, self.monospacedCheckBox)
+        ShellPage.setTabOrder(self.monospacedCheckBox, self.linenumbersFontButton)
+        ShellPage.setTabOrder(self.linenumbersFontButton, self.timeoutSpinBox)
+        ShellPage.setTabOrder(self.timeoutSpinBox, self.stdOutErrCheckBox)
+
+    def retranslateUi(self, ShellPage):
+        _translate = QtCore.QCoreApplication.translate
+        self.headerLabel.setText(_translate("ShellPage", "<b>Configure Shell</b>"))
+        self.shellLinenoCheckBox.setToolTip(_translate("ShellPage", "Select whether line numbers margin should be shown."))
+        self.shellLinenoCheckBox.setText(_translate("ShellPage", "Show Line Numbers Margin"))
+        self.shellCTEnabledCheckBox.setToolTip(_translate("ShellPage", "Select this to enable calltips"))
+        self.shellCTEnabledCheckBox.setText(_translate("ShellPage", "Calltips Enabled"))
+        self.shellWordWrapCheckBox.setToolTip(_translate("ShellPage", "Select to enable wrapping at word boundaries"))
+        self.shellWordWrapCheckBox.setText(_translate("ShellPage", "Word Wrap Enabled"))
+        self.shellACEnabledCheckBox.setToolTip(_translate("ShellPage", "Select this to enable autocompletion"))
+        self.shellACEnabledCheckBox.setText(_translate("ShellPage", "Autocompletion Enabled"))
+        self.shellSyntaxHighlightingCheckBox.setToolTip(_translate("ShellPage", "Select to enable syntax highlighting"))
+        self.shellSyntaxHighlightingCheckBox.setText(_translate("ShellPage", "Syntax Highlighting Enabled"))
+        self.rememberCheckBox.setToolTip(_translate("ShellPage", "Select to start with the most recently used virtual environment"))
+        self.rememberCheckBox.setText(_translate("ShellPage", "Start with most recently used virtual environment"))
+        self.groupBox.setTitle(_translate("ShellPage", "History"))
+        self.textLabel1_20.setText(_translate("ShellPage", "max. History Entries:"))
+        self.shellHistorySpinBox.setToolTip(_translate("ShellPage", "Enter the number of history entries allowed"))
+        self.label.setText(_translate("ShellPage", "Navigation Style:"))
+        self.shellHistoryStyleComboBox.setToolTip(_translate("ShellPage", "Select the history style"))
+        self.shellHistoryWrapCheckBox.setToolTip(_translate("ShellPage", "Select to wrap around while navigating through the history"))
+        self.shellHistoryWrapCheckBox.setText(_translate("ShellPage", "Wrap around while navigating"))
+        self.shellHistoryCursorKeysCheckBox.setToolTip(_translate("ShellPage", "Select to make Up- and Down-keys move in history"))
+        self.shellHistoryCursorKeysCheckBox.setWhatsThis(_translate("ShellPage", "<b>Up/Down keys navigate in history<b>\n"
+"<p>Select this entry to make Up- and Down-keys navigate in history. If unselected history navigation may be performed by Ctrl-Up or Ctrl-Down.</p>"))
+        self.shellHistoryCursorKeysCheckBox.setText(_translate("ShellPage", "Up/Down keys navigate in history"))
+        self.groupBox_5.setTitle(_translate("ShellPage", "Font"))
+        self.monospacedFontButton.setToolTip(_translate("ShellPage", "Press to select the font to be used as the monospaced font"))
+        self.monospacedFontButton.setText(_translate("ShellPage", "Monospaced Font"))
+        self.monospacedFontSample.setText(_translate("ShellPage", "Monospaced Text"))
+        self.monospacedCheckBox.setToolTip(_translate("ShellPage", "Select, whether the monospaced font should be used as default"))
+        self.monospacedCheckBox.setText(_translate("ShellPage", "Use monospaced as default"))
+        self.linenumbersFontButton.setToolTip(_translate("ShellPage", "Press to select the font for the line numbers"))
+        self.linenumbersFontButton.setText(_translate("ShellPage", "Line Numbers Font"))
+        self.marginsFontSample.setText(_translate("ShellPage", "2345"))
+        self.groupBox_2.setTitle(_translate("ShellPage", "Interpreter"))
+        self.label_2.setText(_translate("ShellPage", "Statement Execution Timeout:"))
+        self.timeoutSpinBox.setToolTip(_translate("ShellPage", "Enter the timeout in seconds after which the shell will not wait for the result of the current statement execution."))
+        self.timeoutSpinBox.setSuffix(_translate("ShellPage", " s"))
+        self.stdOutErrCheckBox.setToolTip(_translate("ShellPage", "Select to show debugger stdout and stderr"))
+        self.stdOutErrCheckBox.setText(_translate("ShellPage", "Show stdout and stderr of debugger"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Preferences/ConfigurationPages/Ui_TasksPage.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,181 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Preferences/ConfigurationPages/TasksPage.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_TasksPage(object):
+    def setupUi(self, TasksPage):
+        TasksPage.setObjectName("TasksPage")
+        TasksPage.resize(413, 618)
+        self.verticalLayout = QtWidgets.QVBoxLayout(TasksPage)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.headerLabel = QtWidgets.QLabel(parent=TasksPage)
+        self.headerLabel.setObjectName("headerLabel")
+        self.verticalLayout.addWidget(self.headerLabel)
+        self.line11_2_2_2 = QtWidgets.QFrame(parent=TasksPage)
+        self.line11_2_2_2.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line11_2_2_2.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line11_2_2_2.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line11_2_2_2.setObjectName("line11_2_2_2")
+        self.verticalLayout.addWidget(self.line11_2_2_2)
+        self.groupBox = QtWidgets.QGroupBox(parent=TasksPage)
+        self.groupBox.setObjectName("groupBox")
+        self.gridLayout = QtWidgets.QGridLayout(self.groupBox)
+        self.gridLayout.setObjectName("gridLayout")
+        self.textLabel5_3 = QtWidgets.QLabel(parent=self.groupBox)
+        self.textLabel5_3.setObjectName("textLabel5_3")
+        self.gridLayout.addWidget(self.textLabel5_3, 0, 0, 1, 1)
+        self.tasksMarkerFixmeEdit = QtWidgets.QLineEdit(parent=self.groupBox)
+        self.tasksMarkerFixmeEdit.setText("")
+        self.tasksMarkerFixmeEdit.setObjectName("tasksMarkerFixmeEdit")
+        self.gridLayout.addWidget(self.tasksMarkerFixmeEdit, 0, 1, 1, 1)
+        self.textLabel4_4 = QtWidgets.QLabel(parent=self.groupBox)
+        self.textLabel4_4.setObjectName("textLabel4_4")
+        self.gridLayout.addWidget(self.textLabel4_4, 1, 0, 1, 1)
+        self.tasksMarkerWarningEdit = QtWidgets.QLineEdit(parent=self.groupBox)
+        self.tasksMarkerWarningEdit.setObjectName("tasksMarkerWarningEdit")
+        self.gridLayout.addWidget(self.tasksMarkerWarningEdit, 1, 1, 1, 1)
+        self.textLabel4_3 = QtWidgets.QLabel(parent=self.groupBox)
+        self.textLabel4_3.setObjectName("textLabel4_3")
+        self.gridLayout.addWidget(self.textLabel4_3, 2, 0, 1, 1)
+        self.tasksMarkerTodoEdit = QtWidgets.QLineEdit(parent=self.groupBox)
+        self.tasksMarkerTodoEdit.setObjectName("tasksMarkerTodoEdit")
+        self.gridLayout.addWidget(self.tasksMarkerTodoEdit, 2, 1, 1, 1)
+        self.textLabel4_5 = QtWidgets.QLabel(parent=self.groupBox)
+        self.textLabel4_5.setObjectName("textLabel4_5")
+        self.gridLayout.addWidget(self.textLabel4_5, 3, 0, 1, 1)
+        self.tasksMarkerNoteEdit = QtWidgets.QLineEdit(parent=self.groupBox)
+        self.tasksMarkerNoteEdit.setObjectName("tasksMarkerNoteEdit")
+        self.gridLayout.addWidget(self.tasksMarkerNoteEdit, 3, 1, 1, 1)
+        self.textLabel4_7 = QtWidgets.QLabel(parent=self.groupBox)
+        self.textLabel4_7.setObjectName("textLabel4_7")
+        self.gridLayout.addWidget(self.textLabel4_7, 4, 0, 1, 1)
+        self.tasksMarkerTestEdit = QtWidgets.QLineEdit(parent=self.groupBox)
+        self.tasksMarkerTestEdit.setObjectName("tasksMarkerTestEdit")
+        self.gridLayout.addWidget(self.tasksMarkerTestEdit, 4, 1, 1, 1)
+        self.textLabel4_6 = QtWidgets.QLabel(parent=self.groupBox)
+        self.textLabel4_6.setObjectName("textLabel4_6")
+        self.gridLayout.addWidget(self.textLabel4_6, 5, 0, 1, 1)
+        self.tasksMarkerDocuEdit = QtWidgets.QLineEdit(parent=self.groupBox)
+        self.tasksMarkerDocuEdit.setObjectName("tasksMarkerDocuEdit")
+        self.gridLayout.addWidget(self.tasksMarkerDocuEdit, 5, 1, 1, 1)
+        self.verticalLayout.addWidget(self.groupBox)
+        self.groupBox_2 = QtWidgets.QGroupBox(parent=TasksPage)
+        self.groupBox_2.setObjectName("groupBox_2")
+        self.gridLayout_2 = QtWidgets.QGridLayout(self.groupBox_2)
+        self.gridLayout_2.setObjectName("gridLayout_2")
+        self.textLabel2_8 = QtWidgets.QLabel(parent=self.groupBox_2)
+        self.textLabel2_8.setObjectName("textLabel2_8")
+        self.gridLayout_2.addWidget(self.textLabel2_8, 0, 0, 1, 1)
+        self.tasksFixmeColourButton = QtWidgets.QPushButton(parent=self.groupBox_2)
+        self.tasksFixmeColourButton.setMinimumSize(QtCore.QSize(100, 0))
+        self.tasksFixmeColourButton.setText("")
+        self.tasksFixmeColourButton.setObjectName("tasksFixmeColourButton")
+        self.gridLayout_2.addWidget(self.tasksFixmeColourButton, 0, 1, 1, 1)
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout_2.addItem(spacerItem, 0, 2, 1, 1)
+        self.textLabel6_3 = QtWidgets.QLabel(parent=self.groupBox_2)
+        self.textLabel6_3.setObjectName("textLabel6_3")
+        self.gridLayout_2.addWidget(self.textLabel6_3, 1, 0, 1, 1)
+        self.tasksWarningColourButton = QtWidgets.QPushButton(parent=self.groupBox_2)
+        self.tasksWarningColourButton.setMinimumSize(QtCore.QSize(100, 0))
+        self.tasksWarningColourButton.setText("")
+        self.tasksWarningColourButton.setObjectName("tasksWarningColourButton")
+        self.gridLayout_2.addWidget(self.tasksWarningColourButton, 1, 1, 1, 1)
+        self.textLabel1_3 = QtWidgets.QLabel(parent=self.groupBox_2)
+        self.textLabel1_3.setObjectName("textLabel1_3")
+        self.gridLayout_2.addWidget(self.textLabel1_3, 2, 0, 1, 1)
+        self.tasksTodoColourButton = QtWidgets.QPushButton(parent=self.groupBox_2)
+        self.tasksTodoColourButton.setMinimumSize(QtCore.QSize(100, 0))
+        self.tasksTodoColourButton.setText("")
+        self.tasksTodoColourButton.setObjectName("tasksTodoColourButton")
+        self.gridLayout_2.addWidget(self.tasksTodoColourButton, 2, 1, 1, 1)
+        self.textLabel3_4 = QtWidgets.QLabel(parent=self.groupBox_2)
+        self.textLabel3_4.setObjectName("textLabel3_4")
+        self.gridLayout_2.addWidget(self.textLabel3_4, 3, 0, 1, 1)
+        self.tasksNoteColourButton = QtWidgets.QPushButton(parent=self.groupBox_2)
+        self.tasksNoteColourButton.setMinimumSize(QtCore.QSize(100, 0))
+        self.tasksNoteColourButton.setText("")
+        self.tasksNoteColourButton.setObjectName("tasksNoteColourButton")
+        self.gridLayout_2.addWidget(self.tasksNoteColourButton, 3, 1, 1, 1)
+        self.textLabel1_4 = QtWidgets.QLabel(parent=self.groupBox_2)
+        self.textLabel1_4.setObjectName("textLabel1_4")
+        self.gridLayout_2.addWidget(self.textLabel1_4, 4, 0, 1, 1)
+        self.tasksTestColourButton = QtWidgets.QPushButton(parent=self.groupBox_2)
+        self.tasksTestColourButton.setMinimumSize(QtCore.QSize(100, 0))
+        self.tasksTestColourButton.setText("")
+        self.tasksTestColourButton.setObjectName("tasksTestColourButton")
+        self.gridLayout_2.addWidget(self.tasksTestColourButton, 4, 1, 1, 1)
+        self.textLabel3_5 = QtWidgets.QLabel(parent=self.groupBox_2)
+        self.textLabel3_5.setObjectName("textLabel3_5")
+        self.gridLayout_2.addWidget(self.textLabel3_5, 5, 0, 1, 1)
+        self.tasksDocuColourButton = QtWidgets.QPushButton(parent=self.groupBox_2)
+        self.tasksDocuColourButton.setMinimumSize(QtCore.QSize(100, 0))
+        self.tasksDocuColourButton.setText("")
+        self.tasksDocuColourButton.setObjectName("tasksDocuColourButton")
+        self.gridLayout_2.addWidget(self.tasksDocuColourButton, 5, 1, 1, 1)
+        self.verticalLayout.addWidget(self.groupBox_2)
+        self.groupBox_3 = QtWidgets.QGroupBox(parent=TasksPage)
+        self.groupBox_3.setObjectName("groupBox_3")
+        self.horizontalLayout = QtWidgets.QHBoxLayout(self.groupBox_3)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.clearCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_3)
+        self.clearCheckBox.setObjectName("clearCheckBox")
+        self.horizontalLayout.addWidget(self.clearCheckBox)
+        self.verticalLayout.addWidget(self.groupBox_3)
+        spacerItem1 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout.addItem(spacerItem1)
+
+        self.retranslateUi(TasksPage)
+        QtCore.QMetaObject.connectSlotsByName(TasksPage)
+        TasksPage.setTabOrder(self.tasksMarkerFixmeEdit, self.tasksMarkerWarningEdit)
+        TasksPage.setTabOrder(self.tasksMarkerWarningEdit, self.tasksMarkerTodoEdit)
+        TasksPage.setTabOrder(self.tasksMarkerTodoEdit, self.tasksMarkerNoteEdit)
+        TasksPage.setTabOrder(self.tasksMarkerNoteEdit, self.tasksMarkerTestEdit)
+        TasksPage.setTabOrder(self.tasksMarkerTestEdit, self.tasksMarkerDocuEdit)
+        TasksPage.setTabOrder(self.tasksMarkerDocuEdit, self.tasksFixmeColourButton)
+        TasksPage.setTabOrder(self.tasksFixmeColourButton, self.tasksWarningColourButton)
+        TasksPage.setTabOrder(self.tasksWarningColourButton, self.tasksTodoColourButton)
+        TasksPage.setTabOrder(self.tasksTodoColourButton, self.tasksNoteColourButton)
+        TasksPage.setTabOrder(self.tasksNoteColourButton, self.tasksTestColourButton)
+        TasksPage.setTabOrder(self.tasksTestColourButton, self.tasksDocuColourButton)
+        TasksPage.setTabOrder(self.tasksDocuColourButton, self.clearCheckBox)
+
+    def retranslateUi(self, TasksPage):
+        _translate = QtCore.QCoreApplication.translate
+        self.headerLabel.setText(_translate("TasksPage", "<b>Configure Tasks</b>"))
+        self.groupBox.setTitle(_translate("TasksPage", "Tasks Markers"))
+        self.textLabel5_3.setText(_translate("TasksPage", "Bugfix tasks:"))
+        self.tasksMarkerFixmeEdit.setToolTip(_translate("TasksPage", "Enter the tasks markers separated by a space character."))
+        self.textLabel4_4.setText(_translate("TasksPage", "Warning tasks:"))
+        self.tasksMarkerWarningEdit.setToolTip(_translate("TasksPage", "Enter the tasks markers separated by a space character."))
+        self.textLabel4_3.setText(_translate("TasksPage", "Todo tasks:"))
+        self.tasksMarkerTodoEdit.setToolTip(_translate("TasksPage", "Enter the tasks markers separated by a space character."))
+        self.textLabel4_5.setText(_translate("TasksPage", "Note tasks:"))
+        self.tasksMarkerNoteEdit.setToolTip(_translate("TasksPage", "Enter the tasks markers separated by a space character."))
+        self.textLabel4_7.setText(_translate("TasksPage", "Test tasks:"))
+        self.tasksMarkerTestEdit.setToolTip(_translate("TasksPage", "Enter the tasks markers separated by a space character."))
+        self.textLabel4_6.setText(_translate("TasksPage", "Documentation tasks:"))
+        self.tasksMarkerDocuEdit.setToolTip(_translate("TasksPage", "Enter the tasks markers separated by a space character."))
+        self.groupBox_2.setTitle(_translate("TasksPage", "Tasks Background Colors"))
+        self.textLabel2_8.setText(_translate("TasksPage", "Bugfix tasks:"))
+        self.tasksFixmeColourButton.setToolTip(_translate("TasksPage", "Select the background color for these tasks."))
+        self.textLabel6_3.setText(_translate("TasksPage", "Warning tasks:"))
+        self.tasksWarningColourButton.setToolTip(_translate("TasksPage", "Select the background color for these tasks."))
+        self.textLabel1_3.setText(_translate("TasksPage", "Todo tasks:"))
+        self.tasksTodoColourButton.setToolTip(_translate("TasksPage", "Select the background color for these tasks."))
+        self.textLabel3_4.setText(_translate("TasksPage", "Note tasks:"))
+        self.tasksNoteColourButton.setToolTip(_translate("TasksPage", "Select the background color for these tasks."))
+        self.textLabel1_4.setText(_translate("TasksPage", "Test tasks:"))
+        self.tasksTestColourButton.setToolTip(_translate("TasksPage", "Select the background color for these tasks."))
+        self.textLabel3_5.setText(_translate("TasksPage", "Documentation tasks:"))
+        self.tasksDocuColourButton.setToolTip(_translate("TasksPage", "Select the background color for these tasks."))
+        self.groupBox_3.setTitle(_translate("TasksPage", "Tasks Handling"))
+        self.clearCheckBox.setToolTip(_translate("TasksPage", "Select to clear global file tasks when the file is closed"))
+        self.clearCheckBox.setText(_translate("TasksPage", "Clear global file task when file is closed"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Preferences/ConfigurationPages/Ui_TemplatesPage.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,120 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Preferences/ConfigurationPages/TemplatesPage.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_TemplatesPage(object):
+    def setupUi(self, TemplatesPage):
+        TemplatesPage.setObjectName("TemplatesPage")
+        TemplatesPage.resize(414, 478)
+        self.verticalLayout = QtWidgets.QVBoxLayout(TemplatesPage)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.headerLabel = QtWidgets.QLabel(parent=TemplatesPage)
+        self.headerLabel.setObjectName("headerLabel")
+        self.verticalLayout.addWidget(self.headerLabel)
+        self.line11_2_2_2_2_2 = QtWidgets.QFrame(parent=TemplatesPage)
+        self.line11_2_2_2_2_2.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line11_2_2_2_2_2.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line11_2_2_2_2_2.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line11_2_2_2_2_2.setObjectName("line11_2_2_2_2_2")
+        self.verticalLayout.addWidget(self.line11_2_2_2_2_2)
+        self.groupBox = QtWidgets.QGroupBox(parent=TemplatesPage)
+        self.groupBox.setObjectName("groupBox")
+        self.vboxlayout = QtWidgets.QVBoxLayout(self.groupBox)
+        self.vboxlayout.setObjectName("vboxlayout")
+        self.templatesAutoOpenGroupsCheckBox = QtWidgets.QCheckBox(parent=self.groupBox)
+        self.templatesAutoOpenGroupsCheckBox.setObjectName("templatesAutoOpenGroupsCheckBox")
+        self.vboxlayout.addWidget(self.templatesAutoOpenGroupsCheckBox)
+        self.verticalLayout.addWidget(self.groupBox)
+        self.groupBox_2 = QtWidgets.QGroupBox(parent=TemplatesPage)
+        self.groupBox_2.setObjectName("groupBox_2")
+        self.vboxlayout1 = QtWidgets.QVBoxLayout(self.groupBox_2)
+        self.vboxlayout1.setObjectName("vboxlayout1")
+        self.hboxlayout = QtWidgets.QHBoxLayout()
+        self.hboxlayout.setObjectName("hboxlayout")
+        self.textLabel1_19 = QtWidgets.QLabel(parent=self.groupBox_2)
+        self.textLabel1_19.setObjectName("textLabel1_19")
+        self.hboxlayout.addWidget(self.textLabel1_19)
+        self.templatesSeparatorCharEdit = QtWidgets.QLineEdit(parent=self.groupBox_2)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.templatesSeparatorCharEdit.sizePolicy().hasHeightForWidth())
+        self.templatesSeparatorCharEdit.setSizePolicy(sizePolicy)
+        self.templatesSeparatorCharEdit.setMaxLength(1)
+        self.templatesSeparatorCharEdit.setObjectName("templatesSeparatorCharEdit")
+        self.hboxlayout.addWidget(self.templatesSeparatorCharEdit)
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.hboxlayout.addItem(spacerItem)
+        self.vboxlayout1.addLayout(self.hboxlayout)
+        self.groupBox_3 = QtWidgets.QGroupBox(parent=self.groupBox_2)
+        self.groupBox_3.setObjectName("groupBox_3")
+        self.vboxlayout2 = QtWidgets.QVBoxLayout(self.groupBox_3)
+        self.vboxlayout2.setObjectName("vboxlayout2")
+        self.templatesMultiDialogButton = QtWidgets.QRadioButton(parent=self.groupBox_3)
+        self.templatesMultiDialogButton.setObjectName("templatesMultiDialogButton")
+        self.vboxlayout2.addWidget(self.templatesMultiDialogButton)
+        self.templatesSingleDialogButton = QtWidgets.QRadioButton(parent=self.groupBox_3)
+        self.templatesSingleDialogButton.setObjectName("templatesSingleDialogButton")
+        self.vboxlayout2.addWidget(self.templatesSingleDialogButton)
+        self.vboxlayout1.addWidget(self.groupBox_3)
+        self.verticalLayout.addWidget(self.groupBox_2)
+        self.groupBox_4 = QtWidgets.QGroupBox(parent=TemplatesPage)
+        self.groupBox_4.setObjectName("groupBox_4")
+        self.vboxlayout3 = QtWidgets.QVBoxLayout(self.groupBox_4)
+        self.vboxlayout3.setObjectName("vboxlayout3")
+        self.templatesToolTipCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_4)
+        self.templatesToolTipCheckBox.setObjectName("templatesToolTipCheckBox")
+        self.vboxlayout3.addWidget(self.templatesToolTipCheckBox)
+        self.verticalLayout.addWidget(self.groupBox_4)
+        self.groupBox_5 = QtWidgets.QGroupBox(parent=TemplatesPage)
+        self.groupBox_5.setObjectName("groupBox_5")
+        self.gridLayout = QtWidgets.QGridLayout(self.groupBox_5)
+        self.gridLayout.setObjectName("gridLayout")
+        self.editorFontButton = QtWidgets.QPushButton(parent=self.groupBox_5)
+        self.editorFontButton.setObjectName("editorFontButton")
+        self.gridLayout.addWidget(self.editorFontButton, 0, 0, 1, 1)
+        self.editorFontSample = QtWidgets.QLineEdit(parent=self.groupBox_5)
+        self.editorFontSample.setFocusPolicy(QtCore.Qt.FocusPolicy.NoFocus)
+        self.editorFontSample.setAlignment(QtCore.Qt.AlignmentFlag.AlignHCenter)
+        self.editorFontSample.setReadOnly(True)
+        self.editorFontSample.setObjectName("editorFontSample")
+        self.gridLayout.addWidget(self.editorFontSample, 0, 1, 1, 1)
+        self.verticalLayout.addWidget(self.groupBox_5)
+        spacerItem1 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout.addItem(spacerItem1)
+
+        self.retranslateUi(TemplatesPage)
+        QtCore.QMetaObject.connectSlotsByName(TemplatesPage)
+        TemplatesPage.setTabOrder(self.templatesAutoOpenGroupsCheckBox, self.templatesSeparatorCharEdit)
+        TemplatesPage.setTabOrder(self.templatesSeparatorCharEdit, self.templatesMultiDialogButton)
+        TemplatesPage.setTabOrder(self.templatesMultiDialogButton, self.templatesSingleDialogButton)
+        TemplatesPage.setTabOrder(self.templatesSingleDialogButton, self.templatesToolTipCheckBox)
+
+    def retranslateUi(self, TemplatesPage):
+        _translate = QtCore.QCoreApplication.translate
+        self.headerLabel.setText(_translate("TemplatesPage", "<b>Configure Templates</b>"))
+        self.groupBox.setTitle(_translate("TemplatesPage", "Groups"))
+        self.templatesAutoOpenGroupsCheckBox.setToolTip(_translate("TemplatesPage", "Select, if groups having entries should be opened automatically"))
+        self.templatesAutoOpenGroupsCheckBox.setText(_translate("TemplatesPage", "Expand groups automatically"))
+        self.groupBox_2.setTitle(_translate("TemplatesPage", "Variables"))
+        self.textLabel1_19.setText(_translate("TemplatesPage", "Separator:"))
+        self.templatesSeparatorCharEdit.setToolTip(_translate("TemplatesPage", "Enter the character that encloses variables"))
+        self.groupBox_3.setTitle(_translate("TemplatesPage", "Input method for variables"))
+        self.templatesMultiDialogButton.setToolTip(_translate("TemplatesPage", "Select, if a new dialog should be opened for every template variable"))
+        self.templatesMultiDialogButton.setText(_translate("TemplatesPage", "One dialog per template variable"))
+        self.templatesSingleDialogButton.setToolTip(_translate("TemplatesPage", "Select, if only one dialog for all template variables should be shown"))
+        self.templatesSingleDialogButton.setText(_translate("TemplatesPage", "One dialog for all template variables"))
+        self.groupBox_4.setTitle(_translate("TemplatesPage", "Tooltips"))
+        self.templatesToolTipCheckBox.setToolTip(_translate("TemplatesPage", "Select, if the template text should be shown in a tooltip"))
+        self.templatesToolTipCheckBox.setText(_translate("TemplatesPage", "Show template text in tooltip"))
+        self.groupBox_5.setTitle(_translate("TemplatesPage", "Template Editor"))
+        self.editorFontButton.setToolTip(_translate("TemplatesPage", "Press to select the font to be used for the code editor"))
+        self.editorFontButton.setText(_translate("TemplatesPage", "Editor Font"))
+        self.editorFontSample.setText(_translate("TemplatesPage", "Template Code Editor"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Preferences/ConfigurationPages/Ui_TrayStarterPage.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,61 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Preferences/ConfigurationPages/TrayStarterPage.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_TrayStarterPage(object):
+    def setupUi(self, TrayStarterPage):
+        TrayStarterPage.setObjectName("TrayStarterPage")
+        TrayStarterPage.resize(482, 245)
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(TrayStarterPage)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.headerLabel = QtWidgets.QLabel(parent=TrayStarterPage)
+        self.headerLabel.setObjectName("headerLabel")
+        self.verticalLayout_2.addWidget(self.headerLabel)
+        self.line1 = QtWidgets.QFrame(parent=TrayStarterPage)
+        self.line1.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line1.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line1.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line1.setObjectName("line1")
+        self.verticalLayout_2.addWidget(self.line1)
+        self.groupBox = QtWidgets.QGroupBox(parent=TrayStarterPage)
+        self.groupBox.setObjectName("groupBox")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.groupBox)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.standardButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.standardButton.setObjectName("standardButton")
+        self.verticalLayout.addWidget(self.standardButton)
+        self.highContrastButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.highContrastButton.setObjectName("highContrastButton")
+        self.verticalLayout.addWidget(self.highContrastButton)
+        self.blackWhiteButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.blackWhiteButton.setObjectName("blackWhiteButton")
+        self.verticalLayout.addWidget(self.blackWhiteButton)
+        self.blackWhiteInverseButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.blackWhiteInverseButton.setObjectName("blackWhiteInverseButton")
+        self.verticalLayout.addWidget(self.blackWhiteInverseButton)
+        self.verticalLayout_2.addWidget(self.groupBox)
+        spacerItem = QtWidgets.QSpacerItem(464, 41, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout_2.addItem(spacerItem)
+
+        self.retranslateUi(TrayStarterPage)
+        QtCore.QMetaObject.connectSlotsByName(TrayStarterPage)
+
+    def retranslateUi(self, TrayStarterPage):
+        _translate = QtCore.QCoreApplication.translate
+        self.headerLabel.setText(_translate("TrayStarterPage", "<b>Configure Tray Starter</b>"))
+        self.groupBox.setTitle(_translate("TrayStarterPage", "Icon"))
+        self.standardButton.setToolTip(_translate("TrayStarterPage", "Select to use the standard icon"))
+        self.standardButton.setText(_translate("TrayStarterPage", "Standard Icon"))
+        self.highContrastButton.setToolTip(_translate("TrayStarterPage", "Select to use the high contrast icon"))
+        self.highContrastButton.setText(_translate("TrayStarterPage", "High Contrast Icon"))
+        self.blackWhiteButton.setToolTip(_translate("TrayStarterPage", "Select to use a black and white icon"))
+        self.blackWhiteButton.setText(_translate("TrayStarterPage", "Black and White Icon"))
+        self.blackWhiteInverseButton.setToolTip(_translate("TrayStarterPage", "Select to use an inverse black and white icon"))
+        self.blackWhiteInverseButton.setText(_translate("TrayStarterPage", "Inverse Black and White Icon"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Preferences/ConfigurationPages/Ui_VcsPage.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,193 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Preferences/ConfigurationPages/VcsPage.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_VcsPage(object):
+    def setupUi(self, VcsPage):
+        VcsPage.setObjectName("VcsPage")
+        VcsPage.resize(576, 596)
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(VcsPage)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.headerLabel = QtWidgets.QLabel(parent=VcsPage)
+        self.headerLabel.setObjectName("headerLabel")
+        self.verticalLayout_2.addWidget(self.headerLabel)
+        self.line9_3_2_2 = QtWidgets.QFrame(parent=VcsPage)
+        self.line9_3_2_2.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line9_3_2_2.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line9_3_2_2.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line9_3_2_2.setObjectName("line9_3_2_2")
+        self.verticalLayout_2.addWidget(self.line9_3_2_2)
+        self.vcsAutoCloseCheckBox = QtWidgets.QCheckBox(parent=VcsPage)
+        self.vcsAutoCloseCheckBox.setObjectName("vcsAutoCloseCheckBox")
+        self.verticalLayout_2.addWidget(self.vcsAutoCloseCheckBox)
+        self.groupBox = QtWidgets.QGroupBox(parent=VcsPage)
+        self.groupBox.setObjectName("groupBox")
+        self.gridLayout_3 = QtWidgets.QGridLayout(self.groupBox)
+        self.gridLayout_3.setObjectName("gridLayout_3")
+        self.vcsAutoSaveCheckBox = QtWidgets.QCheckBox(parent=self.groupBox)
+        self.vcsAutoSaveCheckBox.setObjectName("vcsAutoSaveCheckBox")
+        self.gridLayout_3.addWidget(self.vcsAutoSaveCheckBox, 0, 0, 1, 1)
+        self.vcsAutoSaveProjectCheckBox = QtWidgets.QCheckBox(parent=self.groupBox)
+        self.vcsAutoSaveProjectCheckBox.setObjectName("vcsAutoSaveProjectCheckBox")
+        self.gridLayout_3.addWidget(self.vcsAutoSaveProjectCheckBox, 0, 1, 1, 1)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.label_8 = QtWidgets.QLabel(parent=self.groupBox)
+        self.label_8.setObjectName("label_8")
+        self.horizontalLayout.addWidget(self.label_8)
+        self.commitSpinBox = QtWidgets.QSpinBox(parent=self.groupBox)
+        self.commitSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.commitSpinBox.setMinimum(1)
+        self.commitSpinBox.setMaximum(100)
+        self.commitSpinBox.setObjectName("commitSpinBox")
+        self.horizontalLayout.addWidget(self.commitSpinBox)
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem)
+        self.gridLayout_3.addLayout(self.horizontalLayout, 1, 0, 1, 2)
+        self.perProjectCommitHistoryCheckBox = QtWidgets.QCheckBox(parent=self.groupBox)
+        self.perProjectCommitHistoryCheckBox.setObjectName("perProjectCommitHistoryCheckBox")
+        self.gridLayout_3.addWidget(self.perProjectCommitHistoryCheckBox, 2, 0, 1, 2)
+        self.verticalLayout_2.addWidget(self.groupBox)
+        self.groupBox_2 = QtWidgets.QGroupBox(parent=VcsPage)
+        self.groupBox_2.setObjectName("groupBox_2")
+        self.gridLayout_2 = QtWidgets.QGridLayout(self.groupBox_2)
+        self.gridLayout_2.setObjectName("gridLayout_2")
+        self.vcsStatusMonitorIntervalSpinBox = QtWidgets.QSpinBox(parent=self.groupBox_2)
+        self.vcsStatusMonitorIntervalSpinBox.setMaximum(3600)
+        self.vcsStatusMonitorIntervalSpinBox.setObjectName("vcsStatusMonitorIntervalSpinBox")
+        self.gridLayout_2.addWidget(self.vcsStatusMonitorIntervalSpinBox, 0, 0, 1, 1)
+        spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout_2.addItem(spacerItem1, 0, 1, 1, 1)
+        self.vcsMonitorLocalStatusCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_2)
+        self.vcsMonitorLocalStatusCheckBox.setObjectName("vcsMonitorLocalStatusCheckBox")
+        self.gridLayout_2.addWidget(self.vcsMonitorLocalStatusCheckBox, 1, 0, 1, 2)
+        self.autoUpdateCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_2)
+        self.autoUpdateCheckBox.setObjectName("autoUpdateCheckBox")
+        self.gridLayout_2.addWidget(self.autoUpdateCheckBox, 2, 0, 1, 2)
+        self.verticalLayout_2.addWidget(self.groupBox_2)
+        self.groupBox_3 = QtWidgets.QGroupBox(parent=VcsPage)
+        self.groupBox_3.setObjectName("groupBox_3")
+        self.gridLayout = QtWidgets.QGridLayout(self.groupBox_3)
+        self.gridLayout.setObjectName("gridLayout")
+        self.label_4 = QtWidgets.QLabel(parent=self.groupBox_3)
+        self.label_4.setObjectName("label_4")
+        self.gridLayout.addWidget(self.label_4, 0, 0, 1, 1)
+        self.pbVcsAddedButton = QtWidgets.QPushButton(parent=self.groupBox_3)
+        self.pbVcsAddedButton.setMinimumSize(QtCore.QSize(100, 0))
+        self.pbVcsAddedButton.setText("")
+        self.pbVcsAddedButton.setObjectName("pbVcsAddedButton")
+        self.gridLayout.addWidget(self.pbVcsAddedButton, 0, 1, 1, 1)
+        self.label_5 = QtWidgets.QLabel(parent=self.groupBox_3)
+        self.label_5.setObjectName("label_5")
+        self.gridLayout.addWidget(self.label_5, 0, 2, 1, 1)
+        self.pbVcsConflictButton = QtWidgets.QPushButton(parent=self.groupBox_3)
+        self.pbVcsConflictButton.setMinimumSize(QtCore.QSize(100, 0))
+        self.pbVcsConflictButton.setText("")
+        self.pbVcsConflictButton.setObjectName("pbVcsConflictButton")
+        self.gridLayout.addWidget(self.pbVcsConflictButton, 0, 3, 1, 1)
+        spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout.addItem(spacerItem2, 0, 4, 1, 1)
+        self.label_2 = QtWidgets.QLabel(parent=self.groupBox_3)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 1, 0, 1, 1)
+        self.pbVcsModifiedButton = QtWidgets.QPushButton(parent=self.groupBox_3)
+        self.pbVcsModifiedButton.setMinimumSize(QtCore.QSize(100, 0))
+        self.pbVcsModifiedButton.setText("")
+        self.pbVcsModifiedButton.setObjectName("pbVcsModifiedButton")
+        self.gridLayout.addWidget(self.pbVcsModifiedButton, 1, 1, 1, 1)
+        self.label_6 = QtWidgets.QLabel(parent=self.groupBox_3)
+        self.label_6.setObjectName("label_6")
+        self.gridLayout.addWidget(self.label_6, 1, 2, 1, 1)
+        self.pbVcsReplacedButton = QtWidgets.QPushButton(parent=self.groupBox_3)
+        self.pbVcsReplacedButton.setMinimumSize(QtCore.QSize(100, 0))
+        self.pbVcsReplacedButton.setText("")
+        self.pbVcsReplacedButton.setObjectName("pbVcsReplacedButton")
+        self.gridLayout.addWidget(self.pbVcsReplacedButton, 1, 3, 1, 1)
+        self.label_3 = QtWidgets.QLabel(parent=self.groupBox_3)
+        self.label_3.setObjectName("label_3")
+        self.gridLayout.addWidget(self.label_3, 2, 0, 1, 1)
+        self.pbVcsUpdateButton = QtWidgets.QPushButton(parent=self.groupBox_3)
+        self.pbVcsUpdateButton.setMinimumSize(QtCore.QSize(100, 0))
+        self.pbVcsUpdateButton.setText("")
+        self.pbVcsUpdateButton.setObjectName("pbVcsUpdateButton")
+        self.gridLayout.addWidget(self.pbVcsUpdateButton, 2, 1, 1, 1)
+        self.label_7 = QtWidgets.QLabel(parent=self.groupBox_3)
+        self.label_7.setObjectName("label_7")
+        self.gridLayout.addWidget(self.label_7, 2, 2, 1, 1)
+        self.pbVcsRemovedButton = QtWidgets.QPushButton(parent=self.groupBox_3)
+        self.pbVcsRemovedButton.setMinimumSize(QtCore.QSize(100, 0))
+        self.pbVcsRemovedButton.setText("")
+        self.pbVcsRemovedButton.setObjectName("pbVcsRemovedButton")
+        self.gridLayout.addWidget(self.pbVcsRemovedButton, 2, 3, 1, 1)
+        self.verticalLayout_2.addWidget(self.groupBox_3)
+        self.groupBox_4 = QtWidgets.QGroupBox(parent=VcsPage)
+        self.groupBox_4.setObjectName("groupBox_4")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.groupBox_4)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.vcsToolbarCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_4)
+        self.vcsToolbarCheckBox.setObjectName("vcsToolbarCheckBox")
+        self.verticalLayout.addWidget(self.vcsToolbarCheckBox)
+        self.verticalLayout_2.addWidget(self.groupBox_4)
+        spacerItem3 = QtWidgets.QSpacerItem(512, 81, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout_2.addItem(spacerItem3)
+
+        self.retranslateUi(VcsPage)
+        QtCore.QMetaObject.connectSlotsByName(VcsPage)
+        VcsPage.setTabOrder(self.vcsAutoCloseCheckBox, self.vcsAutoSaveCheckBox)
+        VcsPage.setTabOrder(self.vcsAutoSaveCheckBox, self.vcsAutoSaveProjectCheckBox)
+        VcsPage.setTabOrder(self.vcsAutoSaveProjectCheckBox, self.commitSpinBox)
+        VcsPage.setTabOrder(self.commitSpinBox, self.perProjectCommitHistoryCheckBox)
+        VcsPage.setTabOrder(self.perProjectCommitHistoryCheckBox, self.vcsStatusMonitorIntervalSpinBox)
+        VcsPage.setTabOrder(self.vcsStatusMonitorIntervalSpinBox, self.vcsMonitorLocalStatusCheckBox)
+        VcsPage.setTabOrder(self.vcsMonitorLocalStatusCheckBox, self.autoUpdateCheckBox)
+        VcsPage.setTabOrder(self.autoUpdateCheckBox, self.pbVcsAddedButton)
+        VcsPage.setTabOrder(self.pbVcsAddedButton, self.pbVcsConflictButton)
+        VcsPage.setTabOrder(self.pbVcsConflictButton, self.pbVcsModifiedButton)
+        VcsPage.setTabOrder(self.pbVcsModifiedButton, self.pbVcsReplacedButton)
+        VcsPage.setTabOrder(self.pbVcsReplacedButton, self.pbVcsUpdateButton)
+        VcsPage.setTabOrder(self.pbVcsUpdateButton, self.pbVcsRemovedButton)
+        VcsPage.setTabOrder(self.pbVcsRemovedButton, self.vcsToolbarCheckBox)
+
+    def retranslateUi(self, VcsPage):
+        _translate = QtCore.QCoreApplication.translate
+        self.headerLabel.setText(_translate("VcsPage", "<b>Configure Version Control Systems</b>"))
+        self.vcsAutoCloseCheckBox.setText(_translate("VcsPage", "Close VCS dialog automatically, if no error occured"))
+        self.groupBox.setTitle(_translate("VcsPage", "Commit"))
+        self.vcsAutoSaveCheckBox.setToolTip(_translate("VcsPage", "Select, if files should be saved before a commit"))
+        self.vcsAutoSaveCheckBox.setText(_translate("VcsPage", "Save files upon commit"))
+        self.vcsAutoSaveProjectCheckBox.setToolTip(_translate("VcsPage", "Select, if project should be saved before a commit"))
+        self.vcsAutoSaveProjectCheckBox.setText(_translate("VcsPage", "Save project upon commit"))
+        self.label_8.setText(_translate("VcsPage", "No. of commit messages to remember:"))
+        self.commitSpinBox.setToolTip(_translate("VcsPage", "Enter the number of commit messages to remember"))
+        self.perProjectCommitHistoryCheckBox.setToolTip(_translate("VcsPage", "Select to use one commit messages history per project"))
+        self.perProjectCommitHistoryCheckBox.setText(_translate("VcsPage", "Remember commit messages per project"))
+        self.groupBox_2.setTitle(_translate("VcsPage", "Status Monitor"))
+        self.vcsStatusMonitorIntervalSpinBox.setToolTip(_translate("VcsPage", "Select the interval in seconds for VCS status updates (0 to disable)"))
+        self.vcsStatusMonitorIntervalSpinBox.setSuffix(_translate("VcsPage", " sec"))
+        self.vcsMonitorLocalStatusCheckBox.setToolTip(_translate("VcsPage", "Select to monitor local status only (if supported by VCS)"))
+        self.vcsMonitorLocalStatusCheckBox.setText(_translate("VcsPage", "Monitor local status only"))
+        self.autoUpdateCheckBox.setToolTip(_translate("VcsPage", "Select to enable automatic updates"))
+        self.autoUpdateCheckBox.setText(_translate("VcsPage", "Automatic updates enabled"))
+        self.groupBox_3.setTitle(_translate("VcsPage", "Colors"))
+        self.label_4.setText(_translate("VcsPage", "VCS status \"added\":"))
+        self.pbVcsAddedButton.setToolTip(_translate("VcsPage", "Select the background color for entries with VCS status \"added\"."))
+        self.label_5.setText(_translate("VcsPage", "VCS status \"conflict\":"))
+        self.pbVcsConflictButton.setToolTip(_translate("VcsPage", "Select the background color for entries with VCS status \"conflict\"."))
+        self.label_2.setText(_translate("VcsPage", "VCS status \"modified\":"))
+        self.pbVcsModifiedButton.setToolTip(_translate("VcsPage", "Select the background color for entries with VCS status \"modified\"."))
+        self.label_6.setText(_translate("VcsPage", "VCS status \"replaced\":"))
+        self.pbVcsReplacedButton.setToolTip(_translate("VcsPage", "Select the background color for entries with VCS status \"replaced\"."))
+        self.label_3.setText(_translate("VcsPage", "VCS status \"needs update\":"))
+        self.pbVcsUpdateButton.setToolTip(_translate("VcsPage", "Select the background color for entries with VCS status \"needs update\"."))
+        self.label_7.setText(_translate("VcsPage", "VCS status \"removed\":"))
+        self.pbVcsRemovedButton.setToolTip(_translate("VcsPage", "Select the background color for entries with VCS status \"removed\"."))
+        self.groupBox_4.setTitle(_translate("VcsPage", "Toolbars"))
+        self.vcsToolbarCheckBox.setToolTip(_translate("VcsPage", "Select to show VCS specific toolbars"))
+        self.vcsToolbarCheckBox.setText(_translate("VcsPage", "Show VCS Toolbar"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Preferences/ConfigurationPages/Ui_ViewmanagerPage.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,116 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Preferences/ConfigurationPages/ViewmanagerPage.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_ViewmanagerPage(object):
+    def setupUi(self, ViewmanagerPage):
+        ViewmanagerPage.setObjectName("ViewmanagerPage")
+        ViewmanagerPage.resize(429, 337)
+        self.vboxlayout = QtWidgets.QVBoxLayout(ViewmanagerPage)
+        self.vboxlayout.setObjectName("vboxlayout")
+        self.headerLabel = QtWidgets.QLabel(parent=ViewmanagerPage)
+        self.headerLabel.setObjectName("headerLabel")
+        self.vboxlayout.addWidget(self.headerLabel)
+        self.line9_2 = QtWidgets.QFrame(parent=ViewmanagerPage)
+        self.line9_2.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line9_2.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line9_2.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line9_2.setObjectName("line9_2")
+        self.vboxlayout.addWidget(self.line9_2)
+        self.TextLabel1_2_2_2_3 = QtWidgets.QLabel(parent=ViewmanagerPage)
+        self.TextLabel1_2_2_2_3.setObjectName("TextLabel1_2_2_2_3")
+        self.vboxlayout.addWidget(self.TextLabel1_2_2_2_3)
+        self.hboxlayout = QtWidgets.QHBoxLayout()
+        self.hboxlayout.setObjectName("hboxlayout")
+        self.windowLabel = QtWidgets.QLabel(parent=ViewmanagerPage)
+        self.windowLabel.setObjectName("windowLabel")
+        self.hboxlayout.addWidget(self.windowLabel)
+        self.windowComboBox = QtWidgets.QComboBox(parent=ViewmanagerPage)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.windowComboBox.sizePolicy().hasHeightForWidth())
+        self.windowComboBox.setSizePolicy(sizePolicy)
+        self.windowComboBox.setObjectName("windowComboBox")
+        self.hboxlayout.addWidget(self.windowComboBox)
+        self.vboxlayout.addLayout(self.hboxlayout)
+        self.previewPixmap = QtWidgets.QLabel(parent=ViewmanagerPage)
+        self.previewPixmap.setScaledContents(False)
+        self.previewPixmap.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
+        self.previewPixmap.setObjectName("previewPixmap")
+        self.vboxlayout.addWidget(self.previewPixmap)
+        self.line = QtWidgets.QFrame(parent=ViewmanagerPage)
+        self.line.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line.setObjectName("line")
+        self.vboxlayout.addWidget(self.line)
+        self.tabViewGroupBox = QtWidgets.QGroupBox(parent=ViewmanagerPage)
+        self.tabViewGroupBox.setEnabled(False)
+        self.tabViewGroupBox.setObjectName("tabViewGroupBox")
+        self.vboxlayout1 = QtWidgets.QVBoxLayout(self.tabViewGroupBox)
+        self.vboxlayout1.setObjectName("vboxlayout1")
+        self.hboxlayout1 = QtWidgets.QHBoxLayout()
+        self.hboxlayout1.setObjectName("hboxlayout1")
+        self.filenameLengthLabel = QtWidgets.QLabel(parent=self.tabViewGroupBox)
+        self.filenameLengthLabel.setObjectName("filenameLengthLabel")
+        self.hboxlayout1.addWidget(self.filenameLengthLabel)
+        self.filenameLengthSpinBox = QtWidgets.QSpinBox(parent=self.tabViewGroupBox)
+        self.filenameLengthSpinBox.setMinimum(1)
+        self.filenameLengthSpinBox.setMaximum(100)
+        self.filenameLengthSpinBox.setProperty("value", 40)
+        self.filenameLengthSpinBox.setObjectName("filenameLengthSpinBox")
+        self.hboxlayout1.addWidget(self.filenameLengthSpinBox)
+        spacerItem = QtWidgets.QSpacerItem(81, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.hboxlayout1.addItem(spacerItem)
+        self.vboxlayout1.addLayout(self.hboxlayout1)
+        self.filenameOnlyCheckBox = QtWidgets.QCheckBox(parent=self.tabViewGroupBox)
+        self.filenameOnlyCheckBox.setObjectName("filenameOnlyCheckBox")
+        self.vboxlayout1.addWidget(self.filenameOnlyCheckBox)
+        self.vboxlayout.addWidget(self.tabViewGroupBox)
+        self.groupBox_7 = QtWidgets.QGroupBox(parent=ViewmanagerPage)
+        self.groupBox_7.setObjectName("groupBox_7")
+        self.hboxlayout2 = QtWidgets.QHBoxLayout(self.groupBox_7)
+        self.hboxlayout2.setObjectName("hboxlayout2")
+        self.label = QtWidgets.QLabel(parent=self.groupBox_7)
+        self.label.setObjectName("label")
+        self.hboxlayout2.addWidget(self.label)
+        self.recentFilesSpinBox = QtWidgets.QSpinBox(parent=self.groupBox_7)
+        self.recentFilesSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.recentFilesSpinBox.setMinimum(5)
+        self.recentFilesSpinBox.setMaximum(50)
+        self.recentFilesSpinBox.setObjectName("recentFilesSpinBox")
+        self.hboxlayout2.addWidget(self.recentFilesSpinBox)
+        spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.hboxlayout2.addItem(spacerItem1)
+        self.vboxlayout.addWidget(self.groupBox_7)
+        spacerItem2 = QtWidgets.QSpacerItem(388, 20, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.vboxlayout.addItem(spacerItem2)
+        self.windowLabel.setBuddy(self.windowComboBox)
+
+        self.retranslateUi(ViewmanagerPage)
+        QtCore.QMetaObject.connectSlotsByName(ViewmanagerPage)
+
+    def retranslateUi(self, ViewmanagerPage):
+        _translate = QtCore.QCoreApplication.translate
+        self.headerLabel.setText(_translate("ViewmanagerPage", "<b>Configure viewmanager</b>"))
+        self.TextLabel1_2_2_2_3.setText(_translate("ViewmanagerPage", "<font color=\"#FF0000\"><b>Note:</b> This setting is activated at the next startup of the application.</font>"))
+        self.windowLabel.setText(_translate("ViewmanagerPage", "Window view:"))
+        self.windowComboBox.setToolTip(_translate("ViewmanagerPage", "Select the window view type."))
+        self.windowComboBox.setWhatsThis(_translate("ViewmanagerPage", "The kind of window view can be selected from this list. The picture below gives an example of the selected view type."))
+        self.previewPixmap.setToolTip(_translate("ViewmanagerPage", "Preview of selected window view"))
+        self.previewPixmap.setWhatsThis(_translate("ViewmanagerPage", "This displays a small preview of the selected window view. This is the way the source windows are displayed in the application."))
+        self.tabViewGroupBox.setTitle(_translate("ViewmanagerPage", "Tabbed View"))
+        self.filenameLengthLabel.setText(_translate("ViewmanagerPage", "Filename Length of Tab:"))
+        self.filenameLengthSpinBox.setToolTip(_translate("ViewmanagerPage", "Enter the number of characters to be shown in the tab."))
+        self.filenameOnlyCheckBox.setToolTip(_translate("ViewmanagerPage", "Select to display the filename only"))
+        self.filenameOnlyCheckBox.setText(_translate("ViewmanagerPage", "Show filename only"))
+        self.groupBox_7.setTitle(_translate("ViewmanagerPage", "Recent Files"))
+        self.label.setText(_translate("ViewmanagerPage", "Number of recent files:"))
+        self.recentFilesSpinBox.setToolTip(_translate("ViewmanagerPage", "Enter the number of recent files to remember"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Preferences/ConfigurationPages/Ui_WebBrowserAppearancePage.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,309 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Preferences/ConfigurationPages/WebBrowserAppearancePage.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_WebBrowserAppearancePage(object):
+    def setupUi(self, WebBrowserAppearancePage):
+        WebBrowserAppearancePage.setObjectName("WebBrowserAppearancePage")
+        WebBrowserAppearancePage.resize(499, 1049)
+        self.verticalLayout_6 = QtWidgets.QVBoxLayout(WebBrowserAppearancePage)
+        self.verticalLayout_6.setObjectName("verticalLayout_6")
+        self.headerLabel = QtWidgets.QLabel(parent=WebBrowserAppearancePage)
+        self.headerLabel.setObjectName("headerLabel")
+        self.verticalLayout_6.addWidget(self.headerLabel)
+        self.line17 = QtWidgets.QFrame(parent=WebBrowserAppearancePage)
+        self.line17.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line17.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line17.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line17.setObjectName("line17")
+        self.verticalLayout_6.addWidget(self.line17)
+        self.groupBox_4 = QtWidgets.QGroupBox(parent=WebBrowserAppearancePage)
+        self.groupBox_4.setObjectName("groupBox_4")
+        self.gridLayout = QtWidgets.QGridLayout(self.groupBox_4)
+        self.gridLayout.setObjectName("gridLayout")
+        self.label_5 = QtWidgets.QLabel(parent=self.groupBox_4)
+        self.label_5.setObjectName("label_5")
+        self.gridLayout.addWidget(self.label_5, 3, 0, 1, 1)
+        self.cursiveFontCombo = QtWidgets.QFontComboBox(parent=self.groupBox_4)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.cursiveFontCombo.sizePolicy().hasHeightForWidth())
+        self.cursiveFontCombo.setSizePolicy(sizePolicy)
+        self.cursiveFontCombo.setObjectName("cursiveFontCombo")
+        self.gridLayout.addWidget(self.cursiveFontCombo, 4, 1, 1, 1)
+        self.fantasyFontCombo = QtWidgets.QFontComboBox(parent=self.groupBox_4)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.fantasyFontCombo.sizePolicy().hasHeightForWidth())
+        self.fantasyFontCombo.setSizePolicy(sizePolicy)
+        self.fantasyFontCombo.setObjectName("fantasyFontCombo")
+        self.gridLayout.addWidget(self.fantasyFontCombo, 5, 1, 1, 1)
+        self.fixedFontCombo = QtWidgets.QFontComboBox(parent=self.groupBox_4)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.fixedFontCombo.sizePolicy().hasHeightForWidth())
+        self.fixedFontCombo.setSizePolicy(sizePolicy)
+        self.fixedFontCombo.setFontFilters(QtWidgets.QFontComboBox.FontFilter.MonospacedFonts)
+        self.fixedFontCombo.setObjectName("fixedFontCombo")
+        self.gridLayout.addWidget(self.fixedFontCombo, 1, 1, 1, 1)
+        self.serifFontCombo = QtWidgets.QFontComboBox(parent=self.groupBox_4)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.serifFontCombo.sizePolicy().hasHeightForWidth())
+        self.serifFontCombo.setSizePolicy(sizePolicy)
+        self.serifFontCombo.setObjectName("serifFontCombo")
+        self.gridLayout.addWidget(self.serifFontCombo, 2, 1, 1, 1)
+        self.sansSerifFontCombo = QtWidgets.QFontComboBox(parent=self.groupBox_4)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.sansSerifFontCombo.sizePolicy().hasHeightForWidth())
+        self.sansSerifFontCombo.setSizePolicy(sizePolicy)
+        self.sansSerifFontCombo.setObjectName("sansSerifFontCombo")
+        self.gridLayout.addWidget(self.sansSerifFontCombo, 3, 1, 1, 1)
+        self.label_2 = QtWidgets.QLabel(parent=self.groupBox_4)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 0, 0, 1, 1)
+        self.label_3 = QtWidgets.QLabel(parent=self.groupBox_4)
+        self.label_3.setObjectName("label_3")
+        self.gridLayout.addWidget(self.label_3, 1, 0, 1, 1)
+        self.label_6 = QtWidgets.QLabel(parent=self.groupBox_4)
+        self.label_6.setObjectName("label_6")
+        self.gridLayout.addWidget(self.label_6, 4, 0, 1, 1)
+        self.label_4 = QtWidgets.QLabel(parent=self.groupBox_4)
+        self.label_4.setObjectName("label_4")
+        self.gridLayout.addWidget(self.label_4, 2, 0, 1, 1)
+        self.standardFontCombo = QtWidgets.QFontComboBox(parent=self.groupBox_4)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.standardFontCombo.sizePolicy().hasHeightForWidth())
+        self.standardFontCombo.setSizePolicy(sizePolicy)
+        self.standardFontCombo.setObjectName("standardFontCombo")
+        self.gridLayout.addWidget(self.standardFontCombo, 0, 1, 1, 1)
+        self.label_7 = QtWidgets.QLabel(parent=self.groupBox_4)
+        self.label_7.setObjectName("label_7")
+        self.gridLayout.addWidget(self.label_7, 5, 0, 1, 1)
+        self.verticalLayout_6.addWidget(self.groupBox_4)
+        self.groupBox_6 = QtWidgets.QGroupBox(parent=WebBrowserAppearancePage)
+        self.groupBox_6.setObjectName("groupBox_6")
+        self.gridLayout_4 = QtWidgets.QGridLayout(self.groupBox_6)
+        self.gridLayout_4.setObjectName("gridLayout_4")
+        self.label_8 = QtWidgets.QLabel(parent=self.groupBox_6)
+        self.label_8.setObjectName("label_8")
+        self.gridLayout_4.addWidget(self.label_8, 0, 0, 1, 1)
+        self.defaultSizeSpinBox = QtWidgets.QSpinBox(parent=self.groupBox_6)
+        self.defaultSizeSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.defaultSizeSpinBox.setMinimum(1)
+        self.defaultSizeSpinBox.setObjectName("defaultSizeSpinBox")
+        self.gridLayout_4.addWidget(self.defaultSizeSpinBox, 0, 1, 1, 1)
+        self.label_9 = QtWidgets.QLabel(parent=self.groupBox_6)
+        self.label_9.setObjectName("label_9")
+        self.gridLayout_4.addWidget(self.label_9, 1, 0, 1, 1)
+        self.fixedSizeSpinBox = QtWidgets.QSpinBox(parent=self.groupBox_6)
+        self.fixedSizeSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.fixedSizeSpinBox.setMinimum(1)
+        self.fixedSizeSpinBox.setObjectName("fixedSizeSpinBox")
+        self.gridLayout_4.addWidget(self.fixedSizeSpinBox, 1, 1, 1, 1)
+        self.label_10 = QtWidgets.QLabel(parent=self.groupBox_6)
+        self.label_10.setObjectName("label_10")
+        self.gridLayout_4.addWidget(self.label_10, 2, 0, 1, 1)
+        self.minSizeSpinBox = QtWidgets.QSpinBox(parent=self.groupBox_6)
+        self.minSizeSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.minSizeSpinBox.setMinimum(1)
+        self.minSizeSpinBox.setObjectName("minSizeSpinBox")
+        self.gridLayout_4.addWidget(self.minSizeSpinBox, 2, 1, 1, 1)
+        self.label_11 = QtWidgets.QLabel(parent=self.groupBox_6)
+        self.label_11.setObjectName("label_11")
+        self.gridLayout_4.addWidget(self.label_11, 3, 0, 1, 1)
+        self.minLogicalSizeSpinBox = QtWidgets.QSpinBox(parent=self.groupBox_6)
+        self.minLogicalSizeSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.minLogicalSizeSpinBox.setMinimum(1)
+        self.minLogicalSizeSpinBox.setObjectName("minLogicalSizeSpinBox")
+        self.gridLayout_4.addWidget(self.minLogicalSizeSpinBox, 3, 1, 1, 1)
+        spacerItem = QtWidgets.QSpacerItem(230, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout_4.addItem(spacerItem, 3, 2, 1, 1)
+        self.verticalLayout_6.addWidget(self.groupBox_6)
+        self.groupBox_3 = QtWidgets.QGroupBox(parent=WebBrowserAppearancePage)
+        self.groupBox_3.setObjectName("groupBox_3")
+        self.verticalLayout_5 = QtWidgets.QVBoxLayout(self.groupBox_3)
+        self.verticalLayout_5.setObjectName("verticalLayout_5")
+        self.groupBox_8 = QtWidgets.QGroupBox(parent=self.groupBox_3)
+        self.groupBox_8.setObjectName("groupBox_8")
+        self.gridLayout_2 = QtWidgets.QGridLayout(self.groupBox_8)
+        self.gridLayout_2.setObjectName("gridLayout_2")
+        self.textLabel1_3 = QtWidgets.QLabel(parent=self.groupBox_8)
+        self.textLabel1_3.setObjectName("textLabel1_3")
+        self.gridLayout_2.addWidget(self.textLabel1_3, 0, 0, 1, 1)
+        self.secureURLsColourButton = QtWidgets.QPushButton(parent=self.groupBox_8)
+        self.secureURLsColourButton.setMinimumSize(QtCore.QSize(100, 0))
+        self.secureURLsColourButton.setText("")
+        self.secureURLsColourButton.setObjectName("secureURLsColourButton")
+        self.gridLayout_2.addWidget(self.secureURLsColourButton, 0, 1, 1, 1)
+        spacerItem1 = QtWidgets.QSpacerItem(223, 17, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout_2.addItem(spacerItem1, 0, 2, 1, 1)
+        self.textLabel1_4 = QtWidgets.QLabel(parent=self.groupBox_8)
+        self.textLabel1_4.setObjectName("textLabel1_4")
+        self.gridLayout_2.addWidget(self.textLabel1_4, 1, 0, 1, 1)
+        self.insecureURLsColourButton = QtWidgets.QPushButton(parent=self.groupBox_8)
+        self.insecureURLsColourButton.setMinimumSize(QtCore.QSize(100, 0))
+        self.insecureURLsColourButton.setText("")
+        self.insecureURLsColourButton.setObjectName("insecureURLsColourButton")
+        self.gridLayout_2.addWidget(self.insecureURLsColourButton, 1, 1, 1, 1)
+        self.textLabel1_5 = QtWidgets.QLabel(parent=self.groupBox_8)
+        self.textLabel1_5.setObjectName("textLabel1_5")
+        self.gridLayout_2.addWidget(self.textLabel1_5, 2, 0, 1, 1)
+        self.maliciousURLsColourButton = QtWidgets.QPushButton(parent=self.groupBox_8)
+        self.maliciousURLsColourButton.setMinimumSize(QtCore.QSize(100, 0))
+        self.maliciousURLsColourButton.setText("")
+        self.maliciousURLsColourButton.setObjectName("maliciousURLsColourButton")
+        self.gridLayout_2.addWidget(self.maliciousURLsColourButton, 2, 1, 1, 1)
+        self.label_12 = QtWidgets.QLabel(parent=self.groupBox_8)
+        self.label_12.setObjectName("label_12")
+        self.gridLayout_2.addWidget(self.label_12, 3, 0, 1, 1)
+        self.privateModeURLsColourButton = QtWidgets.QPushButton(parent=self.groupBox_8)
+        self.privateModeURLsColourButton.setMinimumSize(QtCore.QSize(100, 0))
+        self.privateModeURLsColourButton.setText("")
+        self.privateModeURLsColourButton.setObjectName("privateModeURLsColourButton")
+        self.gridLayout_2.addWidget(self.privateModeURLsColourButton, 3, 1, 1, 1)
+        self.verticalLayout_5.addWidget(self.groupBox_8)
+        self.verticalLayout_6.addWidget(self.groupBox_3)
+        self.groupBox = QtWidgets.QGroupBox(parent=WebBrowserAppearancePage)
+        self.groupBox.setObjectName("groupBox")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.groupBox)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.autoLoadImagesCheckBox = QtWidgets.QCheckBox(parent=self.groupBox)
+        self.autoLoadImagesCheckBox.setObjectName("autoLoadImagesCheckBox")
+        self.verticalLayout.addWidget(self.autoLoadImagesCheckBox)
+        self.verticalLayout_6.addWidget(self.groupBox)
+        self.groupBox_2 = QtWidgets.QGroupBox(parent=WebBrowserAppearancePage)
+        self.groupBox_2.setObjectName("groupBox_2")
+        self.horizontalLayout = QtWidgets.QHBoxLayout(self.groupBox_2)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.label = QtWidgets.QLabel(parent=self.groupBox_2)
+        self.label.setObjectName("label")
+        self.horizontalLayout.addWidget(self.label)
+        self.styleSheetPicker = EricPathPicker(parent=self.groupBox_2)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.styleSheetPicker.sizePolicy().hasHeightForWidth())
+        self.styleSheetPicker.setSizePolicy(sizePolicy)
+        self.styleSheetPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.styleSheetPicker.setObjectName("styleSheetPicker")
+        self.horizontalLayout.addWidget(self.styleSheetPicker)
+        self.verticalLayout_6.addWidget(self.groupBox_2)
+        self.tabsGroupBox = QtWidgets.QGroupBox(parent=WebBrowserAppearancePage)
+        self.tabsGroupBox.setObjectName("tabsGroupBox")
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.tabsGroupBox)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.warnOnMultipleCloseCheckBox = QtWidgets.QCheckBox(parent=self.tabsGroupBox)
+        self.warnOnMultipleCloseCheckBox.setObjectName("warnOnMultipleCloseCheckBox")
+        self.verticalLayout_2.addWidget(self.warnOnMultipleCloseCheckBox)
+        self.verticalLayout_6.addWidget(self.tabsGroupBox)
+        self.groupBox_7 = QtWidgets.QGroupBox(parent=WebBrowserAppearancePage)
+        self.groupBox_7.setObjectName("groupBox_7")
+        self.verticalLayout_4 = QtWidgets.QVBoxLayout(self.groupBox_7)
+        self.verticalLayout_4.setObjectName("verticalLayout_4")
+        self.scrollbarsCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_7)
+        self.scrollbarsCheckBox.setObjectName("scrollbarsCheckBox")
+        self.verticalLayout_4.addWidget(self.scrollbarsCheckBox)
+        self.verticalLayout_6.addWidget(self.groupBox_7)
+        self.line9_2 = QtWidgets.QFrame(parent=WebBrowserAppearancePage)
+        self.line9_2.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line9_2.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line9_2.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line9_2.setObjectName("line9_2")
+        self.verticalLayout_6.addWidget(self.line9_2)
+        self.TextLabel1_2_2_2 = QtWidgets.QLabel(parent=WebBrowserAppearancePage)
+        self.TextLabel1_2_2_2.setObjectName("TextLabel1_2_2_2")
+        self.verticalLayout_6.addWidget(self.TextLabel1_2_2_2)
+        self.groupBox_5 = QtWidgets.QGroupBox(parent=WebBrowserAppearancePage)
+        self.groupBox_5.setObjectName("groupBox_5")
+        self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.groupBox_5)
+        self.verticalLayout_3.setObjectName("verticalLayout_3")
+        self.toolbarsCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_5)
+        self.toolbarsCheckBox.setObjectName("toolbarsCheckBox")
+        self.verticalLayout_3.addWidget(self.toolbarsCheckBox)
+        self.verticalLayout_6.addWidget(self.groupBox_5)
+
+        self.retranslateUi(WebBrowserAppearancePage)
+        QtCore.QMetaObject.connectSlotsByName(WebBrowserAppearancePage)
+        WebBrowserAppearancePage.setTabOrder(self.standardFontCombo, self.fixedFontCombo)
+        WebBrowserAppearancePage.setTabOrder(self.fixedFontCombo, self.serifFontCombo)
+        WebBrowserAppearancePage.setTabOrder(self.serifFontCombo, self.sansSerifFontCombo)
+        WebBrowserAppearancePage.setTabOrder(self.sansSerifFontCombo, self.cursiveFontCombo)
+        WebBrowserAppearancePage.setTabOrder(self.cursiveFontCombo, self.fantasyFontCombo)
+        WebBrowserAppearancePage.setTabOrder(self.fantasyFontCombo, self.defaultSizeSpinBox)
+        WebBrowserAppearancePage.setTabOrder(self.defaultSizeSpinBox, self.fixedSizeSpinBox)
+        WebBrowserAppearancePage.setTabOrder(self.fixedSizeSpinBox, self.minSizeSpinBox)
+        WebBrowserAppearancePage.setTabOrder(self.minSizeSpinBox, self.minLogicalSizeSpinBox)
+        WebBrowserAppearancePage.setTabOrder(self.minLogicalSizeSpinBox, self.secureURLsColourButton)
+        WebBrowserAppearancePage.setTabOrder(self.secureURLsColourButton, self.insecureURLsColourButton)
+        WebBrowserAppearancePage.setTabOrder(self.insecureURLsColourButton, self.maliciousURLsColourButton)
+        WebBrowserAppearancePage.setTabOrder(self.maliciousURLsColourButton, self.privateModeURLsColourButton)
+        WebBrowserAppearancePage.setTabOrder(self.privateModeURLsColourButton, self.autoLoadImagesCheckBox)
+        WebBrowserAppearancePage.setTabOrder(self.autoLoadImagesCheckBox, self.styleSheetPicker)
+        WebBrowserAppearancePage.setTabOrder(self.styleSheetPicker, self.warnOnMultipleCloseCheckBox)
+        WebBrowserAppearancePage.setTabOrder(self.warnOnMultipleCloseCheckBox, self.scrollbarsCheckBox)
+        WebBrowserAppearancePage.setTabOrder(self.scrollbarsCheckBox, self.toolbarsCheckBox)
+
+    def retranslateUi(self, WebBrowserAppearancePage):
+        _translate = QtCore.QCoreApplication.translate
+        self.headerLabel.setText(_translate("WebBrowserAppearancePage", "<b>Configure Web Browser appearance</b>"))
+        self.groupBox_4.setTitle(_translate("WebBrowserAppearancePage", "Fonts"))
+        self.label_5.setText(_translate("WebBrowserAppearancePage", "Sans Serif Font:"))
+        self.cursiveFontCombo.setToolTip(_translate("WebBrowserAppearancePage", "Select the cursive font"))
+        self.fantasyFontCombo.setToolTip(_translate("WebBrowserAppearancePage", "Select the fantasy font"))
+        self.fixedFontCombo.setToolTip(_translate("WebBrowserAppearancePage", "Select the fixed width font"))
+        self.serifFontCombo.setToolTip(_translate("WebBrowserAppearancePage", "Select the serif font"))
+        self.sansSerifFontCombo.setToolTip(_translate("WebBrowserAppearancePage", "Select the sans serif font"))
+        self.label_2.setText(_translate("WebBrowserAppearancePage", "Standard Font:"))
+        self.label_3.setText(_translate("WebBrowserAppearancePage", "Fixed Width Font:"))
+        self.label_6.setText(_translate("WebBrowserAppearancePage", "Cursive Font:"))
+        self.label_4.setText(_translate("WebBrowserAppearancePage", "Serif Font:"))
+        self.standardFontCombo.setToolTip(_translate("WebBrowserAppearancePage", "Select the standard font"))
+        self.label_7.setText(_translate("WebBrowserAppearancePage", "Fantasy Font:"))
+        self.groupBox_6.setTitle(_translate("WebBrowserAppearancePage", "Font Sizes"))
+        self.label_8.setText(_translate("WebBrowserAppearancePage", "Default Font Size:"))
+        self.label_9.setText(_translate("WebBrowserAppearancePage", "Fixed Font Size:"))
+        self.label_10.setText(_translate("WebBrowserAppearancePage", "Minimum Font Size:"))
+        self.label_11.setText(_translate("WebBrowserAppearancePage", "Minimum Logical Font Size:"))
+        self.groupBox_3.setTitle(_translate("WebBrowserAppearancePage", "Colors"))
+        self.groupBox_8.setTitle(_translate("WebBrowserAppearancePage", "URL Entry Background"))
+        self.textLabel1_3.setText(_translate("WebBrowserAppearancePage", "Secure URLs:"))
+        self.secureURLsColourButton.setToolTip(_translate("WebBrowserAppearancePage", "Select the background color for secure URLs."))
+        self.textLabel1_4.setText(_translate("WebBrowserAppearancePage", "Insecure URLs:"))
+        self.insecureURLsColourButton.setToolTip(_translate("WebBrowserAppearancePage", "Select the background color for insecure URLs."))
+        self.textLabel1_5.setText(_translate("WebBrowserAppearancePage", "Malicious URLs:"))
+        self.maliciousURLsColourButton.setToolTip(_translate("WebBrowserAppearancePage", "Select the background color for malicious URLs."))
+        self.label_12.setText(_translate("WebBrowserAppearancePage", "Private Mode:"))
+        self.privateModeURLsColourButton.setToolTip(_translate("WebBrowserAppearancePage", "Select the background color for URLs in private mode."))
+        self.groupBox.setTitle(_translate("WebBrowserAppearancePage", "Images"))
+        self.autoLoadImagesCheckBox.setToolTip(_translate("WebBrowserAppearancePage", "Select to load images"))
+        self.autoLoadImagesCheckBox.setText(_translate("WebBrowserAppearancePage", "Load images"))
+        self.groupBox_2.setTitle(_translate("WebBrowserAppearancePage", "Style Sheet"))
+        self.label.setText(_translate("WebBrowserAppearancePage", "User Style Sheet:"))
+        self.styleSheetPicker.setToolTip(_translate("WebBrowserAppearancePage", "Enter the file name of a user style sheet"))
+        self.tabsGroupBox.setTitle(_translate("WebBrowserAppearancePage", "Tabs"))
+        self.warnOnMultipleCloseCheckBox.setToolTip(_translate("WebBrowserAppearancePage", "Select to issue a warning, if multiple tabs are about to be closed"))
+        self.warnOnMultipleCloseCheckBox.setText(_translate("WebBrowserAppearancePage", "Warn, if multiple tabs are about to be closed"))
+        self.groupBox_7.setTitle(_translate("WebBrowserAppearancePage", "Scrollbars"))
+        self.scrollbarsCheckBox.setToolTip(_translate("WebBrowserAppearancePage", "Select to show scrollbars. Note: Scrolling is possible even without them."))
+        self.scrollbarsCheckBox.setText(_translate("WebBrowserAppearancePage", "Show Scrollbars"))
+        self.TextLabel1_2_2_2.setText(_translate("WebBrowserAppearancePage", "<font color=\"#FF0000\"><b>Note:</b> All settings below are activated at the next startup of the application.</font>"))
+        self.groupBox_5.setTitle(_translate("WebBrowserAppearancePage", "Toolbars"))
+        self.toolbarsCheckBox.setToolTip(_translate("WebBrowserAppearancePage", "Select to show toolbars"))
+        self.toolbarsCheckBox.setText(_translate("WebBrowserAppearancePage", "Show Toolbars"))
+from eric7.EricWidgets.EricPathPicker import EricPathPicker
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Preferences/ConfigurationPages/Ui_WebBrowserPage.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,706 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Preferences/ConfigurationPages/WebBrowserPage.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_WebBrowserPage(object):
+    def setupUi(self, WebBrowserPage):
+        WebBrowserPage.setObjectName("WebBrowserPage")
+        WebBrowserPage.resize(650, 2216)
+        self.verticalLayout_6 = QtWidgets.QVBoxLayout(WebBrowserPage)
+        self.verticalLayout_6.setObjectName("verticalLayout_6")
+        self.headerLabel = QtWidgets.QLabel(parent=WebBrowserPage)
+        self.headerLabel.setObjectName("headerLabel")
+        self.verticalLayout_6.addWidget(self.headerLabel)
+        self.line17 = QtWidgets.QFrame(parent=WebBrowserPage)
+        self.line17.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line17.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line17.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line17.setObjectName("line17")
+        self.verticalLayout_6.addWidget(self.line17)
+        self.groupBox_4 = QtWidgets.QGroupBox(parent=WebBrowserPage)
+        self.groupBox_4.setObjectName("groupBox_4")
+        self.gridLayout_5 = QtWidgets.QGridLayout(self.groupBox_4)
+        self.gridLayout_5.setObjectName("gridLayout_5")
+        self.saveGeometryCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_4)
+        self.saveGeometryCheckBox.setObjectName("saveGeometryCheckBox")
+        self.gridLayout_5.addWidget(self.saveGeometryCheckBox, 1, 0, 1, 1)
+        self.screenCaptureCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_4)
+        self.screenCaptureCheckBox.setObjectName("screenCaptureCheckBox")
+        self.gridLayout_5.addWidget(self.screenCaptureCheckBox, 3, 1, 1, 1)
+        self.singleHelpWindowCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_4)
+        self.singleHelpWindowCheckBox.setObjectName("singleHelpWindowCheckBox")
+        self.gridLayout_5.addWidget(self.singleHelpWindowCheckBox, 0, 0, 1, 1)
+        self.dnsPrefetchCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_4)
+        self.dnsPrefetchCheckBox.setObjectName("dnsPrefetchCheckBox")
+        self.gridLayout_5.addWidget(self.dnsPrefetchCheckBox, 6, 1, 1, 1)
+        self.fullscreenCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_4)
+        self.fullscreenCheckBox.setObjectName("fullscreenCheckBox")
+        self.gridLayout_5.addWidget(self.fullscreenCheckBox, 3, 0, 1, 1)
+        self.webRtcPublicOnlyCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_4)
+        self.webRtcPublicOnlyCheckBox.setObjectName("webRtcPublicOnlyCheckBox")
+        self.gridLayout_5.addWidget(self.webRtcPublicOnlyCheckBox, 6, 0, 1, 1)
+        self.webGLCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_4)
+        self.webGLCheckBox.setObjectName("webGLCheckBox")
+        self.gridLayout_5.addWidget(self.webGLCheckBox, 4, 0, 1, 1)
+        self.accelerated2dCanvasCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_4)
+        self.accelerated2dCanvasCheckBox.setObjectName("accelerated2dCanvasCheckBox")
+        self.gridLayout_5.addWidget(self.accelerated2dCanvasCheckBox, 4, 1, 1, 1)
+        self.webSuggestionsCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_4)
+        self.webSuggestionsCheckBox.setObjectName("webSuggestionsCheckBox")
+        self.gridLayout_5.addWidget(self.webSuggestionsCheckBox, 0, 1, 1, 1)
+        self.autoplayMediaCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_4)
+        self.autoplayMediaCheckBox.setObjectName("autoplayMediaCheckBox")
+        self.gridLayout_5.addWidget(self.autoplayMediaCheckBox, 5, 1, 1, 1)
+        self.autoloadIconsCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_4)
+        self.autoloadIconsCheckBox.setObjectName("autoloadIconsCheckBox")
+        self.gridLayout_5.addWidget(self.autoloadIconsCheckBox, 5, 0, 1, 1)
+        self.errorPageCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_4)
+        self.errorPageCheckBox.setObjectName("errorPageCheckBox")
+        self.gridLayout_5.addWidget(self.errorPageCheckBox, 2, 0, 1, 1)
+        self.showTabPreviews = QtWidgets.QCheckBox(parent=self.groupBox_4)
+        self.showTabPreviews.setObjectName("showTabPreviews")
+        self.gridLayout_5.addWidget(self.showTabPreviews, 1, 1, 1, 1)
+        self.scrollingCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_4)
+        self.scrollingCheckBox.setObjectName("scrollingCheckBox")
+        self.gridLayout_5.addWidget(self.scrollingCheckBox, 2, 1, 1, 1)
+        self.navigateOnDropCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_4)
+        self.navigateOnDropCheckBox.setObjectName("navigateOnDropCheckBox")
+        self.gridLayout_5.addWidget(self.navigateOnDropCheckBox, 7, 0, 1, 1)
+        self.forceDarkModeCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_4)
+        self.forceDarkModeCheckBox.setObjectName("forceDarkModeCheckBox")
+        self.gridLayout_5.addWidget(self.forceDarkModeCheckBox, 7, 1, 1, 1)
+        self.verticalLayout_6.addWidget(self.groupBox_4)
+        self.startupGroupBox = QtWidgets.QGroupBox(parent=WebBrowserPage)
+        self.startupGroupBox.setObjectName("startupGroupBox")
+        self.gridLayout_3 = QtWidgets.QGridLayout(self.startupGroupBox)
+        self.gridLayout_3.setObjectName("gridLayout_3")
+        self.label = QtWidgets.QLabel(parent=self.startupGroupBox)
+        self.label.setObjectName("label")
+        self.gridLayout_3.addWidget(self.label, 0, 0, 1, 1)
+        self.startupCombo = QtWidgets.QComboBox(parent=self.startupGroupBox)
+        self.startupCombo.setObjectName("startupCombo")
+        self.startupCombo.addItem("")
+        self.startupCombo.addItem("")
+        self.startupCombo.addItem("")
+        self.startupCombo.addItem("")
+        self.startupCombo.addItem("")
+        self.gridLayout_3.addWidget(self.startupCombo, 0, 1, 1, 4)
+        self.label_12 = QtWidgets.QLabel(parent=self.startupGroupBox)
+        self.label_12.setObjectName("label_12")
+        self.gridLayout_3.addWidget(self.label_12, 1, 0, 1, 1)
+        self.newTabCombo = QtWidgets.QComboBox(parent=self.startupGroupBox)
+        self.newTabCombo.setObjectName("newTabCombo")
+        self.newTabCombo.addItem("")
+        self.newTabCombo.addItem("")
+        self.newTabCombo.addItem("")
+        self.gridLayout_3.addWidget(self.newTabCombo, 1, 1, 1, 4)
+        self.homePageLabel = QtWidgets.QLabel(parent=self.startupGroupBox)
+        self.homePageLabel.setObjectName("homePageLabel")
+        self.gridLayout_3.addWidget(self.homePageLabel, 2, 0, 1, 1)
+        self.homePageEdit = QtWidgets.QLineEdit(parent=self.startupGroupBox)
+        self.homePageEdit.setObjectName("homePageEdit")
+        self.gridLayout_3.addWidget(self.homePageEdit, 2, 1, 1, 4)
+        self.setCurrentPageButton = QtWidgets.QPushButton(parent=self.startupGroupBox)
+        self.setCurrentPageButton.setObjectName("setCurrentPageButton")
+        self.gridLayout_3.addWidget(self.setCurrentPageButton, 3, 1, 1, 1)
+        self.defaultHomeButton = QtWidgets.QPushButton(parent=self.startupGroupBox)
+        self.defaultHomeButton.setObjectName("defaultHomeButton")
+        self.gridLayout_3.addWidget(self.defaultHomeButton, 3, 2, 1, 1)
+        self.setSpeedDialPageButton = QtWidgets.QPushButton(parent=self.startupGroupBox)
+        self.setSpeedDialPageButton.setObjectName("setSpeedDialPageButton")
+        self.gridLayout_3.addWidget(self.setSpeedDialPageButton, 3, 3, 1, 1)
+        spacerItem = QtWidgets.QSpacerItem(160, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout_3.addItem(spacerItem, 3, 4, 1, 1)
+        self.loadTabOnActivationCheckBox = QtWidgets.QCheckBox(parent=self.startupGroupBox)
+        self.loadTabOnActivationCheckBox.setObjectName("loadTabOnActivationCheckBox")
+        self.gridLayout_3.addWidget(self.loadTabOnActivationCheckBox, 4, 0, 1, 5)
+        self.label.raise_()
+        self.startupCombo.raise_()
+        self.homePageLabel.raise_()
+        self.homePageEdit.raise_()
+        self.setCurrentPageButton.raise_()
+        self.defaultHomeButton.raise_()
+        self.label_12.raise_()
+        self.newTabCombo.raise_()
+        self.loadTabOnActivationCheckBox.raise_()
+        self.setSpeedDialPageButton.raise_()
+        self.verticalLayout_6.addWidget(self.startupGroupBox)
+        self.groupBox_8 = QtWidgets.QGroupBox(parent=WebBrowserPage)
+        self.groupBox_8.setObjectName("groupBox_8")
+        self.gridLayout_6 = QtWidgets.QGridLayout(self.groupBox_8)
+        self.gridLayout_6.setObjectName("gridLayout_6")
+        self.saveSessionCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_8)
+        self.saveSessionCheckBox.setObjectName("saveSessionCheckBox")
+        self.gridLayout_6.addWidget(self.saveSessionCheckBox, 0, 0, 1, 3)
+        self.label_13 = QtWidgets.QLabel(parent=self.groupBox_8)
+        self.label_13.setObjectName("label_13")
+        self.gridLayout_6.addWidget(self.label_13, 1, 0, 1, 1)
+        self.sessionTimerSpinBox = QtWidgets.QSpinBox(parent=self.groupBox_8)
+        self.sessionTimerSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.sessionTimerSpinBox.setMinimum(10)
+        self.sessionTimerSpinBox.setMaximum(180)
+        self.sessionTimerSpinBox.setSingleStep(1)
+        self.sessionTimerSpinBox.setObjectName("sessionTimerSpinBox")
+        self.gridLayout_6.addWidget(self.sessionTimerSpinBox, 1, 1, 1, 1)
+        spacerItem1 = QtWidgets.QSpacerItem(443, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout_6.addItem(spacerItem1, 1, 2, 1, 1)
+        self.verticalLayout_6.addWidget(self.groupBox_8)
+        self.groupBox_2 = QtWidgets.QGroupBox(parent=WebBrowserPage)
+        self.groupBox_2.setObjectName("groupBox_2")
+        self.gridLayout_4 = QtWidgets.QGridLayout(self.groupBox_2)
+        self.gridLayout_4.setObjectName("gridLayout_4")
+        self.label_3 = QtWidgets.QLabel(parent=self.groupBox_2)
+        self.label_3.setObjectName("label_3")
+        self.gridLayout_4.addWidget(self.label_3, 0, 0, 1, 1)
+        self.defaultSchemeCombo = QtWidgets.QComboBox(parent=self.groupBox_2)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.defaultSchemeCombo.sizePolicy().hasHeightForWidth())
+        self.defaultSchemeCombo.setSizePolicy(sizePolicy)
+        self.defaultSchemeCombo.setEditable(False)
+        self.defaultSchemeCombo.setObjectName("defaultSchemeCombo")
+        self.gridLayout_4.addWidget(self.defaultSchemeCombo, 0, 1, 1, 1)
+        self.verticalLayout_6.addWidget(self.groupBox_2)
+        self.groupBox_11 = QtWidgets.QGroupBox(parent=WebBrowserPage)
+        self.groupBox_11.setObjectName("groupBox_11")
+        self.horizontalLayout_8 = QtWidgets.QHBoxLayout(self.groupBox_11)
+        self.horizontalLayout_8.setObjectName("horizontalLayout_8")
+        self.label_18 = QtWidgets.QLabel(parent=self.groupBox_11)
+        self.label_18.setObjectName("label_18")
+        self.horizontalLayout_8.addWidget(self.label_18)
+        self.protocolHandlerComboBox = QtWidgets.QComboBox(parent=self.groupBox_11)
+        self.protocolHandlerComboBox.setObjectName("protocolHandlerComboBox")
+        self.protocolHandlerComboBox.addItem("")
+        self.protocolHandlerComboBox.addItem("")
+        self.protocolHandlerComboBox.addItem("")
+        self.horizontalLayout_8.addWidget(self.protocolHandlerComboBox)
+        spacerItem2 = QtWidgets.QSpacerItem(272, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_8.addItem(spacerItem2)
+        self.verticalLayout_6.addWidget(self.groupBox_11)
+        self.privacyGroup = QtWidgets.QGroupBox(parent=WebBrowserPage)
+        self.privacyGroup.setObjectName("privacyGroup")
+        self.verticalLayout_5 = QtWidgets.QVBoxLayout(self.privacyGroup)
+        self.verticalLayout_5.setObjectName("verticalLayout_5")
+        self.javaScriptGroup = QtWidgets.QGroupBox(parent=self.privacyGroup)
+        self.javaScriptGroup.setCheckable(True)
+        self.javaScriptGroup.setObjectName("javaScriptGroup")
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.javaScriptGroup)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.jsOpenWindowsCheckBox = QtWidgets.QCheckBox(parent=self.javaScriptGroup)
+        self.jsOpenWindowsCheckBox.setObjectName("jsOpenWindowsCheckBox")
+        self.verticalLayout_2.addWidget(self.jsOpenWindowsCheckBox)
+        self.jsActivateWindowsCheckBox = QtWidgets.QCheckBox(parent=self.javaScriptGroup)
+        self.jsActivateWindowsCheckBox.setObjectName("jsActivateWindowsCheckBox")
+        self.verticalLayout_2.addWidget(self.jsActivateWindowsCheckBox)
+        self.jsClipboardCheckBox = QtWidgets.QCheckBox(parent=self.javaScriptGroup)
+        self.jsClipboardCheckBox.setObjectName("jsClipboardCheckBox")
+        self.verticalLayout_2.addWidget(self.jsClipboardCheckBox)
+        self.jsPasteCheckBox = QtWidgets.QCheckBox(parent=self.javaScriptGroup)
+        self.jsPasteCheckBox.setObjectName("jsPasteCheckBox")
+        self.verticalLayout_2.addWidget(self.jsPasteCheckBox)
+        self.verticalLayout_5.addWidget(self.javaScriptGroup)
+        self.pluginsGroup = QtWidgets.QGroupBox(parent=self.privacyGroup)
+        self.pluginsGroup.setCheckable(True)
+        self.pluginsGroup.setObjectName("pluginsGroup")
+        self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.pluginsGroup)
+        self.verticalLayout_3.setObjectName("verticalLayout_3")
+        self.pdfViewerCheckBox = QtWidgets.QCheckBox(parent=self.pluginsGroup)
+        self.pdfViewerCheckBox.setObjectName("pdfViewerCheckBox")
+        self.verticalLayout_3.addWidget(self.pdfViewerCheckBox)
+        self.verticalLayout_5.addWidget(self.pluginsGroup)
+        self.pushServiceCheckBox = QtWidgets.QCheckBox(parent=self.privacyGroup)
+        self.pushServiceCheckBox.setObjectName("pushServiceCheckBox")
+        self.verticalLayout_5.addWidget(self.pushServiceCheckBox)
+        self.readingFromCanvasCheckBox = QtWidgets.QCheckBox(parent=self.privacyGroup)
+        self.readingFromCanvasCheckBox.setObjectName("readingFromCanvasCheckBox")
+        self.verticalLayout_5.addWidget(self.readingFromCanvasCheckBox)
+        self.doNotTrackCheckBox = QtWidgets.QCheckBox(parent=self.privacyGroup)
+        self.doNotTrackCheckBox.setObjectName("doNotTrackCheckBox")
+        self.verticalLayout_5.addWidget(self.doNotTrackCheckBox)
+        self.groupBox_9 = QtWidgets.QGroupBox(parent=self.privacyGroup)
+        self.groupBox_9.setObjectName("groupBox_9")
+        self.gridLayout_7 = QtWidgets.QGridLayout(self.groupBox_9)
+        self.gridLayout_7.setObjectName("gridLayout_7")
+        self.label_14 = QtWidgets.QLabel(parent=self.groupBox_9)
+        self.label_14.setObjectName("label_14")
+        self.gridLayout_7.addWidget(self.label_14, 0, 0, 1, 1)
+        self.refererSendComboBox = QtWidgets.QComboBox(parent=self.groupBox_9)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.refererSendComboBox.sizePolicy().hasHeightForWidth())
+        self.refererSendComboBox.setSizePolicy(sizePolicy)
+        self.refererSendComboBox.setObjectName("refererSendComboBox")
+        self.refererSendComboBox.addItem("")
+        self.refererSendComboBox.addItem("")
+        self.refererSendComboBox.addItem("")
+        self.gridLayout_7.addWidget(self.refererSendComboBox, 0, 1, 1, 1)
+        self.label_16 = QtWidgets.QLabel(parent=self.groupBox_9)
+        self.label_16.setObjectName("label_16")
+        self.gridLayout_7.addWidget(self.label_16, 1, 0, 1, 1)
+        self.refererDefaultPolicyCcomboBox = QtWidgets.QComboBox(parent=self.groupBox_9)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.refererDefaultPolicyCcomboBox.sizePolicy().hasHeightForWidth())
+        self.refererDefaultPolicyCcomboBox.setSizePolicy(sizePolicy)
+        self.refererDefaultPolicyCcomboBox.setObjectName("refererDefaultPolicyCcomboBox")
+        self.refererDefaultPolicyCcomboBox.addItem("")
+        self.refererDefaultPolicyCcomboBox.addItem("")
+        self.refererDefaultPolicyCcomboBox.addItem("")
+        self.refererDefaultPolicyCcomboBox.addItem("")
+        self.gridLayout_7.addWidget(self.refererDefaultPolicyCcomboBox, 1, 1, 1, 1)
+        self.label_15 = QtWidgets.QLabel(parent=self.groupBox_9)
+        self.label_15.setObjectName("label_15")
+        self.gridLayout_7.addWidget(self.label_15, 2, 0, 1, 1)
+        self.refererTrimmingPolicyComboBox = QtWidgets.QComboBox(parent=self.groupBox_9)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.refererTrimmingPolicyComboBox.sizePolicy().hasHeightForWidth())
+        self.refererTrimmingPolicyComboBox.setSizePolicy(sizePolicy)
+        self.refererTrimmingPolicyComboBox.setObjectName("refererTrimmingPolicyComboBox")
+        self.refererTrimmingPolicyComboBox.addItem("")
+        self.refererTrimmingPolicyComboBox.addItem("")
+        self.refererTrimmingPolicyComboBox.addItem("")
+        self.gridLayout_7.addWidget(self.refererTrimmingPolicyComboBox, 2, 1, 1, 1)
+        self.horizontalLayout_4 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_4.setObjectName("horizontalLayout_4")
+        spacerItem3 = QtWidgets.QSpacerItem(268, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_4.addItem(spacerItem3)
+        self.refererWhitelistButton = QtWidgets.QPushButton(parent=self.groupBox_9)
+        self.refererWhitelistButton.setObjectName("refererWhitelistButton")
+        self.horizontalLayout_4.addWidget(self.refererWhitelistButton)
+        self.gridLayout_7.addLayout(self.horizontalLayout_4, 3, 0, 1, 2)
+        self.verticalLayout_5.addWidget(self.groupBox_9)
+        self.verticalLayout_6.addWidget(self.privacyGroup)
+        self.groupBox_6 = QtWidgets.QGroupBox(parent=WebBrowserPage)
+        self.groupBox_6.setObjectName("groupBox_6")
+        self.verticalLayout_4 = QtWidgets.QVBoxLayout(self.groupBox_6)
+        self.verticalLayout_4.setObjectName("verticalLayout_4")
+        self.xssAuditingCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_6)
+        self.xssAuditingCheckBox.setObjectName("xssAuditingCheckBox")
+        self.verticalLayout_4.addWidget(self.xssAuditingCheckBox)
+        self.insecureContentsCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_6)
+        self.insecureContentsCheckBox.setObjectName("insecureContentsCheckBox")
+        self.verticalLayout_4.addWidget(self.insecureContentsCheckBox)
+        self.insecureGeolocationCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_6)
+        self.insecureGeolocationCheckBox.setObjectName("insecureGeolocationCheckBox")
+        self.verticalLayout_4.addWidget(self.insecureGeolocationCheckBox)
+        self.verticalLayout_6.addWidget(self.groupBox_6)
+        self.groupBox = QtWidgets.QGroupBox(parent=WebBrowserPage)
+        self.groupBox.setObjectName("groupBox")
+        self.horizontalLayout = QtWidgets.QHBoxLayout(self.groupBox)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.label_4 = QtWidgets.QLabel(parent=self.groupBox)
+        self.label_4.setObjectName("label_4")
+        self.horizontalLayout.addWidget(self.label_4)
+        self.expireHistory = QtWidgets.QComboBox(parent=self.groupBox)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.expireHistory.sizePolicy().hasHeightForWidth())
+        self.expireHistory.setSizePolicy(sizePolicy)
+        self.expireHistory.setObjectName("expireHistory")
+        self.expireHistory.addItem("")
+        self.expireHistory.addItem("")
+        self.expireHistory.addItem("")
+        self.expireHistory.addItem("")
+        self.expireHistory.addItem("")
+        self.expireHistory.addItem("")
+        self.expireHistory.addItem("")
+        self.horizontalLayout.addWidget(self.expireHistory)
+        self.verticalLayout_6.addWidget(self.groupBox)
+        self.cacheGroup = QtWidgets.QGroupBox(parent=WebBrowserPage)
+        self.cacheGroup.setObjectName("cacheGroup")
+        self.gridLayout_2 = QtWidgets.QGridLayout(self.cacheGroup)
+        self.gridLayout_2.setObjectName("gridLayout_2")
+        self.diskCacheCheckBox = QtWidgets.QCheckBox(parent=self.cacheGroup)
+        self.diskCacheCheckBox.setObjectName("diskCacheCheckBox")
+        self.gridLayout_2.addWidget(self.diskCacheCheckBox, 0, 0, 1, 3)
+        self.label_7 = QtWidgets.QLabel(parent=self.cacheGroup)
+        self.label_7.setObjectName("label_7")
+        self.gridLayout_2.addWidget(self.label_7, 1, 0, 1, 1)
+        self.cacheSizeSpinBox = QtWidgets.QSpinBox(parent=self.cacheGroup)
+        self.cacheSizeSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.cacheSizeSpinBox.setMinimum(1)
+        self.cacheSizeSpinBox.setMaximum(999)
+        self.cacheSizeSpinBox.setObjectName("cacheSizeSpinBox")
+        self.gridLayout_2.addWidget(self.cacheSizeSpinBox, 1, 1, 1, 1)
+        spacerItem4 = QtWidgets.QSpacerItem(410, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout_2.addItem(spacerItem4, 1, 2, 1, 1)
+        self.verticalLayout_6.addWidget(self.cacheGroup)
+        self.groupBox_10 = QtWidgets.QGroupBox(parent=WebBrowserPage)
+        self.groupBox_10.setObjectName("groupBox_10")
+        self.horizontalLayout_7 = QtWidgets.QHBoxLayout(self.groupBox_10)
+        self.horizontalLayout_7.setObjectName("horizontalLayout_7")
+        self.label_17 = QtWidgets.QLabel(parent=self.groupBox_10)
+        self.label_17.setObjectName("label_17")
+        self.horizontalLayout_7.addWidget(self.label_17)
+        self.requestQuotaComboBox = QtWidgets.QComboBox(parent=self.groupBox_10)
+        self.requestQuotaComboBox.setObjectName("requestQuotaComboBox")
+        self.requestQuotaComboBox.addItem("")
+        self.requestQuotaComboBox.addItem("")
+        self.requestQuotaComboBox.addItem("")
+        self.horizontalLayout_7.addWidget(self.requestQuotaComboBox)
+        spacerItem5 = QtWidgets.QSpacerItem(230, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_7.addItem(spacerItem5)
+        self.verticalLayout_6.addWidget(self.groupBox_10)
+        self.groupBox_12 = QtWidgets.QGroupBox(parent=WebBrowserPage)
+        self.groupBox_12.setObjectName("groupBox_12")
+        self.horizontalLayout_9 = QtWidgets.QHBoxLayout(self.groupBox_12)
+        self.horizontalLayout_9.setObjectName("horizontalLayout_9")
+        self.label_2 = QtWidgets.QLabel(parent=self.groupBox_12)
+        self.label_2.setObjectName("label_2")
+        self.horizontalLayout_9.addWidget(self.label_2)
+        self.fileSystemAccessComboBox = QtWidgets.QComboBox(parent=self.groupBox_12)
+        self.fileSystemAccessComboBox.setObjectName("fileSystemAccessComboBox")
+        self.fileSystemAccessComboBox.addItem("")
+        self.fileSystemAccessComboBox.addItem("")
+        self.fileSystemAccessComboBox.addItem("")
+        self.horizontalLayout_9.addWidget(self.fileSystemAccessComboBox)
+        spacerItem6 = QtWidgets.QSpacerItem(271, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_9.addItem(spacerItem6)
+        self.verticalLayout_6.addWidget(self.groupBox_12)
+        self.groupBox_5 = QtWidgets.QGroupBox(parent=WebBrowserPage)
+        self.groupBox_5.setObjectName("groupBox_5")
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.groupBox_5)
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.label_5 = QtWidgets.QLabel(parent=self.groupBox_5)
+        self.label_5.setObjectName("label_5")
+        self.horizontalLayout_2.addWidget(self.label_5)
+        self.languageCombo = QtWidgets.QComboBox(parent=self.groupBox_5)
+        self.languageCombo.setSizeAdjustPolicy(QtWidgets.QComboBox.SizeAdjustPolicy.AdjustToContents)
+        self.languageCombo.setObjectName("languageCombo")
+        self.horizontalLayout_2.addWidget(self.languageCombo)
+        spacerItem7 = QtWidgets.QSpacerItem(450, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_2.addItem(spacerItem7)
+        self.verticalLayout_6.addWidget(self.groupBox_5)
+        self.imageSearchGroup = QtWidgets.QGroupBox(parent=WebBrowserPage)
+        self.imageSearchGroup.setObjectName("imageSearchGroup")
+        self.horizontalLayout_3 = QtWidgets.QHBoxLayout(self.imageSearchGroup)
+        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
+        self.label_8 = QtWidgets.QLabel(parent=self.imageSearchGroup)
+        self.label_8.setObjectName("label_8")
+        self.horizontalLayout_3.addWidget(self.label_8)
+        self.imageSearchComboBox = QtWidgets.QComboBox(parent=self.imageSearchGroup)
+        self.imageSearchComboBox.setObjectName("imageSearchComboBox")
+        self.horizontalLayout_3.addWidget(self.imageSearchComboBox)
+        spacerItem8 = QtWidgets.QSpacerItem(383, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_3.addItem(spacerItem8)
+        self.verticalLayout_6.addWidget(self.imageSearchGroup)
+        self.groupBox_7 = QtWidgets.QGroupBox(parent=WebBrowserPage)
+        self.groupBox_7.setObjectName("groupBox_7")
+        self.horizontalLayout_6 = QtWidgets.QHBoxLayout(self.groupBox_7)
+        self.horizontalLayout_6.setObjectName("horizontalLayout_6")
+        self.printBackgroundCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_7)
+        self.printBackgroundCheckBox.setObjectName("printBackgroundCheckBox")
+        self.horizontalLayout_6.addWidget(self.printBackgroundCheckBox)
+        self.verticalLayout_6.addWidget(self.groupBox_7)
+        self.groupBox_3 = QtWidgets.QGroupBox(parent=WebBrowserPage)
+        self.groupBox_3.setObjectName("groupBox_3")
+        self.gridLayout = QtWidgets.QGridLayout(self.groupBox_3)
+        self.gridLayout.setObjectName("gridLayout")
+        self.spatialCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_3)
+        self.spatialCheckBox.setObjectName("spatialCheckBox")
+        self.gridLayout.addWidget(self.spatialCheckBox, 0, 0, 1, 1)
+        self.linksInFocusChainCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_3)
+        self.linksInFocusChainCheckBox.setObjectName("linksInFocusChainCheckBox")
+        self.gridLayout.addWidget(self.linksInFocusChainCheckBox, 0, 1, 1, 1)
+        self.focusOnNavigationCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_3)
+        self.focusOnNavigationCheckBox.setObjectName("focusOnNavigationCheckBox")
+        self.gridLayout.addWidget(self.focusOnNavigationCheckBox, 1, 0, 1, 1)
+        self.verticalLayout_6.addWidget(self.groupBox_3)
+        self.autoScrollGroupBox = QtWidgets.QGroupBox(parent=WebBrowserPage)
+        self.autoScrollGroupBox.setCheckable(True)
+        self.autoScrollGroupBox.setObjectName("autoScrollGroupBox")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.autoScrollGroupBox)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.label_11 = QtWidgets.QLabel(parent=self.autoScrollGroupBox)
+        self.label_11.setWordWrap(True)
+        self.label_11.setObjectName("label_11")
+        self.verticalLayout.addWidget(self.label_11)
+        self.horizontalLayout_5 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_5.setObjectName("horizontalLayout_5")
+        self.label_9 = QtWidgets.QLabel(parent=self.autoScrollGroupBox)
+        self.label_9.setObjectName("label_9")
+        self.horizontalLayout_5.addWidget(self.label_9)
+        self.autoScrollDividerSpinBox = QtWidgets.QDoubleSpinBox(parent=self.autoScrollGroupBox)
+        self.autoScrollDividerSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.autoScrollDividerSpinBox.setDecimals(1)
+        self.autoScrollDividerSpinBox.setMinimum(1.0)
+        self.autoScrollDividerSpinBox.setMaximum(99.9)
+        self.autoScrollDividerSpinBox.setObjectName("autoScrollDividerSpinBox")
+        self.horizontalLayout_5.addWidget(self.autoScrollDividerSpinBox)
+        spacerItem9 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_5.addItem(spacerItem9)
+        self.verticalLayout.addLayout(self.horizontalLayout_5)
+        self.label_10 = QtWidgets.QLabel(parent=self.autoScrollGroupBox)
+        self.label_10.setWordWrap(True)
+        self.label_10.setObjectName("label_10")
+        self.verticalLayout.addWidget(self.label_10)
+        self.verticalLayout_6.addWidget(self.autoScrollGroupBox)
+
+        self.retranslateUi(WebBrowserPage)
+        QtCore.QMetaObject.connectSlotsByName(WebBrowserPage)
+        WebBrowserPage.setTabOrder(self.singleHelpWindowCheckBox, self.webSuggestionsCheckBox)
+        WebBrowserPage.setTabOrder(self.webSuggestionsCheckBox, self.saveGeometryCheckBox)
+        WebBrowserPage.setTabOrder(self.saveGeometryCheckBox, self.showTabPreviews)
+        WebBrowserPage.setTabOrder(self.showTabPreviews, self.errorPageCheckBox)
+        WebBrowserPage.setTabOrder(self.errorPageCheckBox, self.scrollingCheckBox)
+        WebBrowserPage.setTabOrder(self.scrollingCheckBox, self.fullscreenCheckBox)
+        WebBrowserPage.setTabOrder(self.fullscreenCheckBox, self.screenCaptureCheckBox)
+        WebBrowserPage.setTabOrder(self.screenCaptureCheckBox, self.webGLCheckBox)
+        WebBrowserPage.setTabOrder(self.webGLCheckBox, self.accelerated2dCanvasCheckBox)
+        WebBrowserPage.setTabOrder(self.accelerated2dCanvasCheckBox, self.autoloadIconsCheckBox)
+        WebBrowserPage.setTabOrder(self.autoloadIconsCheckBox, self.autoplayMediaCheckBox)
+        WebBrowserPage.setTabOrder(self.autoplayMediaCheckBox, self.webRtcPublicOnlyCheckBox)
+        WebBrowserPage.setTabOrder(self.webRtcPublicOnlyCheckBox, self.dnsPrefetchCheckBox)
+        WebBrowserPage.setTabOrder(self.dnsPrefetchCheckBox, self.navigateOnDropCheckBox)
+        WebBrowserPage.setTabOrder(self.navigateOnDropCheckBox, self.forceDarkModeCheckBox)
+        WebBrowserPage.setTabOrder(self.forceDarkModeCheckBox, self.startupCombo)
+        WebBrowserPage.setTabOrder(self.startupCombo, self.newTabCombo)
+        WebBrowserPage.setTabOrder(self.newTabCombo, self.homePageEdit)
+        WebBrowserPage.setTabOrder(self.homePageEdit, self.setCurrentPageButton)
+        WebBrowserPage.setTabOrder(self.setCurrentPageButton, self.defaultHomeButton)
+        WebBrowserPage.setTabOrder(self.defaultHomeButton, self.setSpeedDialPageButton)
+        WebBrowserPage.setTabOrder(self.setSpeedDialPageButton, self.loadTabOnActivationCheckBox)
+        WebBrowserPage.setTabOrder(self.loadTabOnActivationCheckBox, self.saveSessionCheckBox)
+        WebBrowserPage.setTabOrder(self.saveSessionCheckBox, self.sessionTimerSpinBox)
+        WebBrowserPage.setTabOrder(self.sessionTimerSpinBox, self.defaultSchemeCombo)
+        WebBrowserPage.setTabOrder(self.defaultSchemeCombo, self.protocolHandlerComboBox)
+        WebBrowserPage.setTabOrder(self.protocolHandlerComboBox, self.javaScriptGroup)
+        WebBrowserPage.setTabOrder(self.javaScriptGroup, self.jsOpenWindowsCheckBox)
+        WebBrowserPage.setTabOrder(self.jsOpenWindowsCheckBox, self.jsActivateWindowsCheckBox)
+        WebBrowserPage.setTabOrder(self.jsActivateWindowsCheckBox, self.jsClipboardCheckBox)
+        WebBrowserPage.setTabOrder(self.jsClipboardCheckBox, self.jsPasteCheckBox)
+        WebBrowserPage.setTabOrder(self.jsPasteCheckBox, self.pluginsGroup)
+        WebBrowserPage.setTabOrder(self.pluginsGroup, self.pdfViewerCheckBox)
+        WebBrowserPage.setTabOrder(self.pdfViewerCheckBox, self.pushServiceCheckBox)
+        WebBrowserPage.setTabOrder(self.pushServiceCheckBox, self.readingFromCanvasCheckBox)
+        WebBrowserPage.setTabOrder(self.readingFromCanvasCheckBox, self.doNotTrackCheckBox)
+        WebBrowserPage.setTabOrder(self.doNotTrackCheckBox, self.refererSendComboBox)
+        WebBrowserPage.setTabOrder(self.refererSendComboBox, self.refererDefaultPolicyCcomboBox)
+        WebBrowserPage.setTabOrder(self.refererDefaultPolicyCcomboBox, self.refererTrimmingPolicyComboBox)
+        WebBrowserPage.setTabOrder(self.refererTrimmingPolicyComboBox, self.refererWhitelistButton)
+        WebBrowserPage.setTabOrder(self.refererWhitelistButton, self.xssAuditingCheckBox)
+        WebBrowserPage.setTabOrder(self.xssAuditingCheckBox, self.insecureContentsCheckBox)
+        WebBrowserPage.setTabOrder(self.insecureContentsCheckBox, self.insecureGeolocationCheckBox)
+        WebBrowserPage.setTabOrder(self.insecureGeolocationCheckBox, self.expireHistory)
+        WebBrowserPage.setTabOrder(self.expireHistory, self.diskCacheCheckBox)
+        WebBrowserPage.setTabOrder(self.diskCacheCheckBox, self.cacheSizeSpinBox)
+        WebBrowserPage.setTabOrder(self.cacheSizeSpinBox, self.requestQuotaComboBox)
+        WebBrowserPage.setTabOrder(self.requestQuotaComboBox, self.fileSystemAccessComboBox)
+        WebBrowserPage.setTabOrder(self.fileSystemAccessComboBox, self.languageCombo)
+        WebBrowserPage.setTabOrder(self.languageCombo, self.imageSearchComboBox)
+        WebBrowserPage.setTabOrder(self.imageSearchComboBox, self.printBackgroundCheckBox)
+        WebBrowserPage.setTabOrder(self.printBackgroundCheckBox, self.spatialCheckBox)
+        WebBrowserPage.setTabOrder(self.spatialCheckBox, self.linksInFocusChainCheckBox)
+        WebBrowserPage.setTabOrder(self.linksInFocusChainCheckBox, self.focusOnNavigationCheckBox)
+        WebBrowserPage.setTabOrder(self.focusOnNavigationCheckBox, self.autoScrollGroupBox)
+        WebBrowserPage.setTabOrder(self.autoScrollGroupBox, self.autoScrollDividerSpinBox)
+
+    def retranslateUi(self, WebBrowserPage):
+        _translate = QtCore.QCoreApplication.translate
+        self.headerLabel.setText(_translate("WebBrowserPage", "<b>Configure Web Browser</b>"))
+        self.groupBox_4.setTitle(_translate("WebBrowserPage", "General"))
+        self.saveGeometryCheckBox.setToolTip(_translate("WebBrowserPage", "Select to save the window size and position"))
+        self.saveGeometryCheckBox.setText(_translate("WebBrowserPage", "Save size and position upon exit"))
+        self.screenCaptureCheckBox.setToolTip(_translate("WebBrowserPage", "Select to enable screen capture support"))
+        self.screenCaptureCheckBox.setText(_translate("WebBrowserPage", "Enable Screen Capture Support"))
+        self.singleHelpWindowCheckBox.setToolTip(_translate("WebBrowserPage", "Select to use a single web browser window only"))
+        self.singleHelpWindowCheckBox.setText(_translate("WebBrowserPage", "Use single web browser window"))
+        self.dnsPrefetchCheckBox.setToolTip(_translate("WebBrowserPage", "Select to try to pre-fetch DNS entries to speed up browsing"))
+        self.dnsPrefetchCheckBox.setText(_translate("WebBrowserPage", "Enable DNS Prefetch"))
+        self.fullscreenCheckBox.setToolTip(_translate("WebBrowserPage", "Select to enable fullscreen support"))
+        self.fullscreenCheckBox.setText(_translate("WebBrowserPage", "Enable Fullscreen Support"))
+        self.webRtcPublicOnlyCheckBox.setToolTip(_translate("WebBrowserPage", "Select to limit WebRTC to public IP addresses only"))
+        self.webRtcPublicOnlyCheckBox.setText(_translate("WebBrowserPage", "Only public IP-Addresses for WebRTC"))
+        self.webGLCheckBox.setToolTip(_translate("WebBrowserPage", "Select to enable support for WebGL"))
+        self.webGLCheckBox.setText(_translate("WebBrowserPage", "Enable WebGL support"))
+        self.accelerated2dCanvasCheckBox.setToolTip(_translate("WebBrowserPage", "Select to enable support for accelerated 2D canvas using OpenGL"))
+        self.accelerated2dCanvasCheckBox.setText(_translate("WebBrowserPage", "Enable Accelerated 2D Canvas"))
+        self.webSuggestionsCheckBox.setToolTip(_translate("WebBrowserPage", "Select to enable suggestions for web searches"))
+        self.webSuggestionsCheckBox.setText(_translate("WebBrowserPage", "Show suggestions for web searches"))
+        self.autoplayMediaCheckBox.setToolTip(_translate("WebBrowserPage", "Select, to inhibit playback of media content until the user interacts with the page"))
+        self.autoplayMediaCheckBox.setText(_translate("WebBrowserPage", "Don\'t auto-play media content"))
+        self.autoloadIconsCheckBox.setToolTip(_translate("WebBrowserPage", "Select to load web site icons automatically"))
+        self.autoloadIconsCheckBox.setText(_translate("WebBrowserPage", "Load Icons automatically"))
+        self.errorPageCheckBox.setToolTip(_translate("WebBrowserPage", "Select to enable displaying the built-in Chromium error pages."))
+        self.errorPageCheckBox.setText(_translate("WebBrowserPage", "Use built-in Chromium error page"))
+        self.showTabPreviews.setToolTip(_translate("WebBrowserPage", "Select to show a page preview when the mouse hovers over the tab"))
+        self.showTabPreviews.setText(_translate("WebBrowserPage", "Show preview when hovering tab"))
+        self.scrollingCheckBox.setToolTip(_translate("WebBrowserPage", "Select to activate animated scrolling"))
+        self.scrollingCheckBox.setText(_translate("WebBrowserPage", "Enable animated scrolling"))
+        self.navigateOnDropCheckBox.setToolTip(_translate("WebBrowserPage", "Select to enable navigation by dropping URLs on a view."))
+        self.navigateOnDropCheckBox.setText(_translate("WebBrowserPage", "Navigate On Drop"))
+        self.forceDarkModeCheckBox.setToolTip(_translate("WebBrowserPage", "Select to render all web contents using a dark theme."))
+        self.forceDarkModeCheckBox.setText(_translate("WebBrowserPage", "Force Dark Mode"))
+        self.startupGroupBox.setTitle(_translate("WebBrowserPage", "Startup"))
+        self.label.setText(_translate("WebBrowserPage", "On startup:"))
+        self.startupCombo.setToolTip(_translate("WebBrowserPage", "Select the startup behavior"))
+        self.startupCombo.setItemText(0, _translate("WebBrowserPage", "Show Empty Page"))
+        self.startupCombo.setItemText(1, _translate("WebBrowserPage", "Show Home Page"))
+        self.startupCombo.setItemText(2, _translate("WebBrowserPage", "Show Speed Dial"))
+        self.startupCombo.setItemText(3, _translate("WebBrowserPage", "Restore Session"))
+        self.startupCombo.setItemText(4, _translate("WebBrowserPage", "Select Session"))
+        self.label_12.setText(_translate("WebBrowserPage", "On new tab:"))
+        self.newTabCombo.setToolTip(_translate("WebBrowserPage", "Select the behavior of new tabs"))
+        self.newTabCombo.setItemText(0, _translate("WebBrowserPage", "Show Empty Page"))
+        self.newTabCombo.setItemText(1, _translate("WebBrowserPage", "Show Home Page"))
+        self.newTabCombo.setItemText(2, _translate("WebBrowserPage", "Show Speed Dial"))
+        self.homePageLabel.setText(_translate("WebBrowserPage", "Home Page:"))
+        self.homePageEdit.setToolTip(_translate("WebBrowserPage", "Enter the desired home page"))
+        self.setCurrentPageButton.setToolTip(_translate("WebBrowserPage", "Press to set the current page as the home page"))
+        self.setCurrentPageButton.setText(_translate("WebBrowserPage", "Set to current page"))
+        self.defaultHomeButton.setToolTip(_translate("WebBrowserPage", "Press to set the default home page"))
+        self.defaultHomeButton.setText(_translate("WebBrowserPage", "Set to default home page"))
+        self.setSpeedDialPageButton.setToolTip(_translate("WebBrowserPage", "Press to set the speed dial as the home page"))
+        self.setSpeedDialPageButton.setText(_translate("WebBrowserPage", "Set to speed dial page"))
+        self.loadTabOnActivationCheckBox.setToolTip(_translate("WebBrowserPage", "Select to load restored tabs when they are activated"))
+        self.loadTabOnActivationCheckBox.setText(_translate("WebBrowserPage", "Load tabs when activated"))
+        self.groupBox_8.setTitle(_translate("WebBrowserPage", "Sessions"))
+        self.saveSessionCheckBox.setToolTip(_translate("WebBrowserPage", "Select to save sessions automatically"))
+        self.saveSessionCheckBox.setText(_translate("WebBrowserPage", "Save sessions automatically"))
+        self.label_13.setText(_translate("WebBrowserPage", "Session Timer:"))
+        self.sessionTimerSpinBox.setToolTip(_translate("WebBrowserPage", "Enter the time to save sessions"))
+        self.sessionTimerSpinBox.setSuffix(_translate("WebBrowserPage", " s"))
+        self.groupBox_2.setTitle(_translate("WebBrowserPage", "Scheme"))
+        self.label_3.setText(_translate("WebBrowserPage", "Default Scheme:"))
+        self.defaultSchemeCombo.setToolTip(_translate("WebBrowserPage", "Select the default scheme"))
+        self.defaultSchemeCombo.setWhatsThis(_translate("WebBrowserPage", "<b>Default Scheme</b><p>Select the default scheme. This scheme is prepended to URLs, that don\'t contain one.</p>"))
+        self.groupBox_11.setTitle(_translate("WebBrowserPage", "Protocol Handler"))
+        self.label_18.setText(_translate("WebBrowserPage", "Allow websites to register protocol handlers:"))
+        self.protocolHandlerComboBox.setToolTip(_translate("WebBrowserPage", "Select how to allow websites to register protocol handlers via \"navigator.registerProtocolHandler\""))
+        self.protocolHandlerComboBox.setItemText(0, _translate("WebBrowserPage", "yes"))
+        self.protocolHandlerComboBox.setItemText(1, _translate("WebBrowserPage", "no"))
+        self.protocolHandlerComboBox.setItemText(2, _translate("WebBrowserPage", "ask"))
+        self.privacyGroup.setTitle(_translate("WebBrowserPage", "Privacy"))
+        self.javaScriptGroup.setToolTip(_translate("WebBrowserPage", "Select to enable JavaScript support"))
+        self.javaScriptGroup.setTitle(_translate("WebBrowserPage", "Enable JavaScript"))
+        self.jsOpenWindowsCheckBox.setToolTip(_translate("WebBrowserPage", "Select to allow JavaScript to open windows"))
+        self.jsOpenWindowsCheckBox.setText(_translate("WebBrowserPage", "Allow to open windows"))
+        self.jsActivateWindowsCheckBox.setToolTip(_translate("WebBrowserPage", "Select to allow JavaScript to activate windows"))
+        self.jsActivateWindowsCheckBox.setText(_translate("WebBrowserPage", "Allow to activate windows"))
+        self.jsClipboardCheckBox.setToolTip(_translate("WebBrowserPage", "Select to allow JavaScript to access the clipboard"))
+        self.jsClipboardCheckBox.setText(_translate("WebBrowserPage", "Allow to access the clipboard"))
+        self.jsPasteCheckBox.setToolTip(_translate("WebBrowserPage", "Select to allow JavaScript to paste from the clipboard (this needs access to the clipboard)"))
+        self.jsPasteCheckBox.setText(_translate("WebBrowserPage", "Allow to paste from the clipboard"))
+        self.pluginsGroup.setToolTip(_translate("WebBrowserPage", "Select to enable plugins in web pages"))
+        self.pluginsGroup.setTitle(_translate("WebBrowserPage", "Enable Plug-ins"))
+        self.pdfViewerCheckBox.setToolTip(_translate("WebBrowserPage", "Select to enable the built-in PDF Viewer"))
+        self.pdfViewerCheckBox.setText(_translate("WebBrowserPage", "Enable internal PDF Viewer"))
+        self.pushServiceCheckBox.setToolTip(_translate("WebBrowserPage", "<p>Select to enable the push messaging service.</p>\n"
+"<p><b>Note:</b> All push messages will go through the Google push service and its respective servers.</p>"))
+        self.pushServiceCheckBox.setText(_translate("WebBrowserPage", "Enable Push Messaging Service"))
+        self.readingFromCanvasCheckBox.setToolTip(_translate("WebBrowserPage", "<p>Select to allow reading from all canvas elements.</p>\n"
+"<p><b>Note:</b> Disable this option to prevent canvas fingerprinting.</p>"))
+        self.readingFromCanvasCheckBox.setText(_translate("WebBrowserPage", "Enable Reading From Canvas"))
+        self.doNotTrackCheckBox.setToolTip(_translate("WebBrowserPage", "Select to enabled the \"Do Not Track\" feature"))
+        self.doNotTrackCheckBox.setText(_translate("WebBrowserPage", "Tell web sites I do not want to be tracked"))
+        self.groupBox_9.setTitle(_translate("WebBrowserPage", "Referer Headers"))
+        self.label_14.setText(_translate("WebBrowserPage", "Send Referer:"))
+        self.refererSendComboBox.setToolTip(_translate("WebBrowserPage", "Select when to send a referer header (independent of origin)"))
+        self.refererSendComboBox.setWhatsThis(_translate("WebBrowserPage", "<b>Send Referer</b>\n"
+"<p>Select, when to send a referer header. This is independent of the requested URL. If a referer header is to be sent, further rules will be applied.</p>"))
+        self.refererSendComboBox.setItemText(0, _translate("WebBrowserPage", "never"))
+        self.refererSendComboBox.setItemText(1, _translate("WebBrowserPage", "on click only"))
+        self.refererSendComboBox.setItemText(2, _translate("WebBrowserPage", "always"))
+        self.label_16.setText(_translate("WebBrowserPage", "Default Policy:"))
+        self.refererDefaultPolicyCcomboBox.setToolTip(_translate("WebBrowserPage", "Select when to send a referer header depending on origin"))
+        self.refererDefaultPolicyCcomboBox.setWhatsThis(_translate("WebBrowserPage", "<b>Default Policy</b>\n"
+"<p>Select when to send a referer header depending on origin.</p>\n"
+"<ul>\n"
+"<li>no referer - don\'t send a referer header</li>\n"
+"<li>only when same origin - don\'t send a referer header if the origin of the target is different</li>\n"
+"<li>only origin when cross origin - send trimmed referer header only when same origin, the referer origin when the target is potentially trustworthy and no header otherwise</li>\n"
+"<li>no referer when downgrading - don\'t send a referer header when the target is not potentially trustworthy</li>\n"
+"</ul>"))
+        self.refererDefaultPolicyCcomboBox.setItemText(0, _translate("WebBrowserPage", "no referer"))
+        self.refererDefaultPolicyCcomboBox.setItemText(1, _translate("WebBrowserPage", "only when same origin"))
+        self.refererDefaultPolicyCcomboBox.setItemText(2, _translate("WebBrowserPage", "only origin when cross origin"))
+        self.refererDefaultPolicyCcomboBox.setItemText(3, _translate("WebBrowserPage", "no referer when downgrading"))
+        self.label_15.setText(_translate("WebBrowserPage", "Trimming Policy:"))
+        self.refererTrimmingPolicyComboBox.setToolTip(_translate("WebBrowserPage", "Select how the referer URL shall be trimmed"))
+        self.refererTrimmingPolicyComboBox.setWhatsThis(_translate("WebBrowserPage", "<b>Trimming Policy</b>\n"
+"<p>Select how the referer URL shall be trimmed. The selected rule is applied, when sending a complete referer URL.</p>\n"
+"<ul>\n"
+"<li>send full URL (no trimming) - this does not perform any trimming beyond removing the user information and any fragment</li>\n"
+"<li>send the URL without its query string - this removes the user information and the query string</li>\n"
+"<li>only send the origin - this shortens the referer URL to the origin, i.e. scheme, host and port only</li>\n"
+"</ul>"))
+        self.refererTrimmingPolicyComboBox.setItemText(0, _translate("WebBrowserPage", "send full URL (no trimming)"))
+        self.refererTrimmingPolicyComboBox.setItemText(1, _translate("WebBrowserPage", "send the URL without its query string"))
+        self.refererTrimmingPolicyComboBox.setItemText(2, _translate("WebBrowserPage", "only send the origin"))
+        self.refererWhitelistButton.setToolTip(_translate("WebBrowserPage", "Press to edit the list of whitelisted hosts"))
+        self.refererWhitelistButton.setText(_translate("WebBrowserPage", "Edit Referer Whitelist ..."))
+        self.groupBox_6.setTitle(_translate("WebBrowserPage", "Security"))
+        self.xssAuditingCheckBox.setToolTip(_translate("WebBrowserPage", "Select to enable XSS auditing"))
+        self.xssAuditingCheckBox.setWhatsThis(_translate("WebBrowserPage", "<b>Enable XSS Auditing</b>\n"
+"<p>This selects whether load requests should be monitored for cross-site scripting attempts. Suspicious scripts will be blocked. These will be reported in the JavaScript console. Enabling this feature might have an impact on performance.</p>"))
+        self.xssAuditingCheckBox.setText(_translate("WebBrowserPage", "Enable XSS Auditing"))
+        self.insecureContentsCheckBox.setToolTip(_translate("WebBrowserPage", "Select to allow HTTPS pages to run JavaScript, CSS, plugins or web-sockets from HTTP URLs"))
+        self.insecureContentsCheckBox.setText(_translate("WebBrowserPage", "Allow to run insecure contents"))
+        self.insecureGeolocationCheckBox.setToolTip(_translate("WebBrowserPage", "Select to allow insecure origins (i.e. those not having an https:// URL) to request Geolocation features."))
+        self.insecureGeolocationCheckBox.setText(_translate("WebBrowserPage", "Allow insecure origins to access Geolocation"))
+        self.groupBox.setTitle(_translate("WebBrowserPage", "History"))
+        self.label_4.setText(_translate("WebBrowserPage", "Remove history items:"))
+        self.expireHistory.setToolTip(_translate("WebBrowserPage", "Select the period for expiration of history entries"))
+        self.expireHistory.setItemText(0, _translate("WebBrowserPage", "After one day"))
+        self.expireHistory.setItemText(1, _translate("WebBrowserPage", "After one week"))
+        self.expireHistory.setItemText(2, _translate("WebBrowserPage", "After two weeks"))
+        self.expireHistory.setItemText(3, _translate("WebBrowserPage", "After one month"))
+        self.expireHistory.setItemText(4, _translate("WebBrowserPage", "After one year"))
+        self.expireHistory.setItemText(5, _translate("WebBrowserPage", "Manually"))
+        self.expireHistory.setItemText(6, _translate("WebBrowserPage", "On application exit"))
+        self.cacheGroup.setTitle(_translate("WebBrowserPage", "Browser Cache"))
+        self.diskCacheCheckBox.setText(_translate("WebBrowserPage", "Enable disk cache"))
+        self.label_7.setText(_translate("WebBrowserPage", "Cache size:"))
+        self.cacheSizeSpinBox.setToolTip(_translate("WebBrowserPage", "Enter the maximum size of the disk cache"))
+        self.cacheSizeSpinBox.setSuffix(_translate("WebBrowserPage", " MB"))
+        self.groupBox_10.setTitle(_translate("WebBrowserPage", "Local Storage"))
+        self.label_17.setText(_translate("WebBrowserPage", "Allow websites to request persistent storage quota:"))
+        self.requestQuotaComboBox.setToolTip(_translate("WebBrowserPage", "Select how to allow websites to request persistent storage quota via \"navigator.webkitPersistentStorage.requestQuota\""))
+        self.requestQuotaComboBox.setItemText(0, _translate("WebBrowserPage", "yes"))
+        self.requestQuotaComboBox.setItemText(1, _translate("WebBrowserPage", "no"))
+        self.requestQuotaComboBox.setItemText(2, _translate("WebBrowserPage", "ask"))
+        self.groupBox_12.setTitle(_translate("WebBrowserPage", "File System Access"))
+        self.label_2.setText(_translate("WebBrowserPage", "Allow websites to request file system access:"))
+        self.fileSystemAccessComboBox.setToolTip(_translate("WebBrowserPage", "Select how to allow websites to request file system access"))
+        self.fileSystemAccessComboBox.setItemText(0, _translate("WebBrowserPage", "yes"))
+        self.fileSystemAccessComboBox.setItemText(1, _translate("WebBrowserPage", "no"))
+        self.fileSystemAccessComboBox.setItemText(2, _translate("WebBrowserPage", "ask"))
+        self.groupBox_5.setTitle(_translate("WebBrowserPage", "Web Search"))
+        self.label_5.setText(_translate("WebBrowserPage", "Language:"))
+        self.languageCombo.setToolTip(_translate("WebBrowserPage", "Select the language to be used for web searches"))
+        self.imageSearchGroup.setTitle(_translate("WebBrowserPage", "Image Search"))
+        self.label_8.setText(_translate("WebBrowserPage", "Default Search Engine:"))
+        self.imageSearchComboBox.setToolTip(_translate("WebBrowserPage", "Select the default search engine for image searches"))
+        self.groupBox_7.setTitle(_translate("WebBrowserPage", "Printing"))
+        self.printBackgroundCheckBox.setToolTip(_translate("WebBrowserPage", "Select to print the background of page elements as well"))
+        self.printBackgroundCheckBox.setText(_translate("WebBrowserPage", "Print Element Backgrounds"))
+        self.groupBox_3.setTitle(_translate("WebBrowserPage", "Navigation"))
+        self.spatialCheckBox.setToolTip(_translate("WebBrowserPage", "Select to enable the spatial navigation feature"))
+        self.spatialCheckBox.setWhatsThis(_translate("WebBrowserPage", "<b>Enable Spatial Navigation</b>\n"
+"<p>This enables or disables the Spatial Navigation feature, which consists in the ability to navigate between focusable elements in a Web page, such as hyperlinks and form controls, by using Left, Right, Up and Down arrow keys. For example, if a user presses the Right key, heuristics determine whether there is an element he might be trying to reach towards the right and which element he probably wants.</p>"))
+        self.spatialCheckBox.setText(_translate("WebBrowserPage", "Enable Spatial Navigation"))
+        self.linksInFocusChainCheckBox.setToolTip(_translate("WebBrowserPage", "Select to include links in focus chain"))
+        self.linksInFocusChainCheckBox.setWhatsThis(_translate("WebBrowserPage", "<b>Include Links in Focus Chain</b>\n"
+"<p>This selects whether hyperlinks should be included in the keyboard focus chain.</p>"))
+        self.linksInFocusChainCheckBox.setText(_translate("WebBrowserPage", "Include Links in Focus Chain"))
+        self.focusOnNavigationCheckBox.setToolTip(_translate("WebBrowserPage", "Select to give the focus to the view whenever a navigation event occurs"))
+        self.focusOnNavigationCheckBox.setText(_translate("WebBrowserPage", "Enable Focus on Navigation"))
+        self.autoScrollGroupBox.setToolTip(_translate("WebBrowserPage", "Select to enable the auto-scroller"))
+        self.autoScrollGroupBox.setTitle(_translate("WebBrowserPage", "Automatic Scrolling"))
+        self.label_11.setText(_translate("WebBrowserPage", "This function is activated by a Mouse Middle Click."))
+        self.label_9.setText(_translate("WebBrowserPage", "Scroll Divider:"))
+        self.autoScrollDividerSpinBox.setToolTip(_translate("WebBrowserPage", "Enter the auto-scroll divider value"))
+        self.label_10.setText(_translate("WebBrowserPage", "<b>Note:</b> Setting higher divider will slow down scrolling."))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Preferences/ConfigurationPages/Ui_WebBrowserSpellCheckingPage.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,91 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Preferences/ConfigurationPages/WebBrowserSpellCheckingPage.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_WebBrowserSpellCheckingPage(object):
+    def setupUi(self, WebBrowserSpellCheckingPage):
+        WebBrowserSpellCheckingPage.setObjectName("WebBrowserSpellCheckingPage")
+        WebBrowserSpellCheckingPage.resize(499, 608)
+        self.verticalLayout_3 = QtWidgets.QVBoxLayout(WebBrowserSpellCheckingPage)
+        self.verticalLayout_3.setObjectName("verticalLayout_3")
+        self.headerLabel = QtWidgets.QLabel(parent=WebBrowserSpellCheckingPage)
+        self.headerLabel.setObjectName("headerLabel")
+        self.verticalLayout_3.addWidget(self.headerLabel)
+        self.line17 = QtWidgets.QFrame(parent=WebBrowserSpellCheckingPage)
+        self.line17.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line17.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line17.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line17.setObjectName("line17")
+        self.verticalLayout_3.addWidget(self.line17)
+        self.groupBox = QtWidgets.QGroupBox(parent=WebBrowserSpellCheckingPage)
+        self.groupBox.setObjectName("groupBox")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.groupBox)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.spellCheckEnabledCheckBox = QtWidgets.QCheckBox(parent=self.groupBox)
+        self.spellCheckEnabledCheckBox.setObjectName("spellCheckEnabledCheckBox")
+        self.verticalLayout.addWidget(self.spellCheckEnabledCheckBox)
+        self.noLanguagesLabel = QtWidgets.QLabel(parent=self.groupBox)
+        self.noLanguagesLabel.setObjectName("noLanguagesLabel")
+        self.verticalLayout.addWidget(self.noLanguagesLabel)
+        self.spellCheckLanguagesList = QtWidgets.QListWidget(parent=self.groupBox)
+        self.spellCheckLanguagesList.setDragEnabled(True)
+        self.spellCheckLanguagesList.setDragDropMode(QtWidgets.QAbstractItemView.DragDropMode.InternalMove)
+        self.spellCheckLanguagesList.setAlternatingRowColors(True)
+        self.spellCheckLanguagesList.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.MultiSelection)
+        self.spellCheckLanguagesList.setObjectName("spellCheckLanguagesList")
+        self.verticalLayout.addWidget(self.spellCheckLanguagesList)
+        self.verticalLayout_3.addWidget(self.groupBox)
+        self.groupBox_2 = QtWidgets.QGroupBox(parent=WebBrowserSpellCheckingPage)
+        self.groupBox_2.setMaximumSize(QtCore.QSize(16777215, 150))
+        self.groupBox_2.setObjectName("groupBox_2")
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.groupBox_2)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.spellCheckDictionaryDirectoriesEdit = QtWidgets.QPlainTextEdit(parent=self.groupBox_2)
+        self.spellCheckDictionaryDirectoriesEdit.setTabChangesFocus(True)
+        self.spellCheckDictionaryDirectoriesEdit.setLineWrapMode(QtWidgets.QPlainTextEdit.LineWrapMode.NoWrap)
+        self.spellCheckDictionaryDirectoriesEdit.setReadOnly(True)
+        self.spellCheckDictionaryDirectoriesEdit.setObjectName("spellCheckDictionaryDirectoriesEdit")
+        self.verticalLayout_2.addWidget(self.spellCheckDictionaryDirectoriesEdit)
+        self.verticalLayout_3.addWidget(self.groupBox_2)
+        self.unencryptedCheckBox = QtWidgets.QCheckBox(parent=WebBrowserSpellCheckingPage)
+        self.unencryptedCheckBox.setObjectName("unencryptedCheckBox")
+        self.verticalLayout_3.addWidget(self.unencryptedCheckBox)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem)
+        self.manageDictionariesButton = QtWidgets.QPushButton(parent=WebBrowserSpellCheckingPage)
+        self.manageDictionariesButton.setObjectName("manageDictionariesButton")
+        self.horizontalLayout.addWidget(self.manageDictionariesButton)
+        spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem1)
+        self.verticalLayout_3.addLayout(self.horizontalLayout)
+        spacerItem2 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout_3.addItem(spacerItem2)
+
+        self.retranslateUi(WebBrowserSpellCheckingPage)
+        QtCore.QMetaObject.connectSlotsByName(WebBrowserSpellCheckingPage)
+        WebBrowserSpellCheckingPage.setTabOrder(self.spellCheckEnabledCheckBox, self.spellCheckLanguagesList)
+        WebBrowserSpellCheckingPage.setTabOrder(self.spellCheckLanguagesList, self.spellCheckDictionaryDirectoriesEdit)
+        WebBrowserSpellCheckingPage.setTabOrder(self.spellCheckDictionaryDirectoriesEdit, self.unencryptedCheckBox)
+        WebBrowserSpellCheckingPage.setTabOrder(self.unencryptedCheckBox, self.manageDictionariesButton)
+
+    def retranslateUi(self, WebBrowserSpellCheckingPage):
+        _translate = QtCore.QCoreApplication.translate
+        self.headerLabel.setText(_translate("WebBrowserSpellCheckingPage", "<b>Configure Web Browser Spell Checking</b>"))
+        self.groupBox.setTitle(_translate("WebBrowserSpellCheckingPage", "Spell Check Options"))
+        self.spellCheckEnabledCheckBox.setToolTip(_translate("WebBrowserSpellCheckingPage", "Select to enable spell checking for editable parts"))
+        self.spellCheckEnabledCheckBox.setText(_translate("WebBrowserSpellCheckingPage", "Enable Spell Checking"))
+        self.noLanguagesLabel.setText(_translate("WebBrowserSpellCheckingPage", "No languages found"))
+        self.groupBox_2.setTitle(_translate("WebBrowserSpellCheckingPage", "Dictionary Directories"))
+        self.unencryptedCheckBox.setToolTip(_translate("WebBrowserSpellCheckingPage", "<p>Select to force the use of <b>http://</b> instead of <b>https://</b>.</p>"))
+        self.unencryptedCheckBox.setText(_translate("WebBrowserSpellCheckingPage", "Enforce unencrypted downloads"))
+        self.manageDictionariesButton.setToolTip(_translate("WebBrowserSpellCheckingPage", "Press to open a dialog to manage spell checking dictionaries"))
+        self.manageDictionariesButton.setText(_translate("WebBrowserSpellCheckingPage", "Manage Dictionaries..."))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Preferences/ConfigurationPages/Ui_WebBrowserVirusTotalPage.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,83 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Preferences/ConfigurationPages/WebBrowserVirusTotalPage.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_WebBrowserVirusTotalPage(object):
+    def setupUi(self, WebBrowserVirusTotalPage):
+        WebBrowserVirusTotalPage.setObjectName("WebBrowserVirusTotalPage")
+        WebBrowserVirusTotalPage.resize(455, 303)
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(WebBrowserVirusTotalPage)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.headerLabel = QtWidgets.QLabel(parent=WebBrowserVirusTotalPage)
+        self.headerLabel.setObjectName("headerLabel")
+        self.verticalLayout_2.addWidget(self.headerLabel)
+        self.line17 = QtWidgets.QFrame(parent=WebBrowserVirusTotalPage)
+        self.line17.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line17.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line17.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line17.setObjectName("line17")
+        self.verticalLayout_2.addWidget(self.line17)
+        self.vtEnabledCheckBox = QtWidgets.QCheckBox(parent=WebBrowserVirusTotalPage)
+        self.vtEnabledCheckBox.setObjectName("vtEnabledCheckBox")
+        self.verticalLayout_2.addWidget(self.vtEnabledCheckBox)
+        self.groupBox = QtWidgets.QGroupBox(parent=WebBrowserVirusTotalPage)
+        self.groupBox.setObjectName("groupBox")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.groupBox)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.label = QtWidgets.QLabel(parent=self.groupBox)
+        self.label.setWordWrap(True)
+        self.label.setOpenExternalLinks(True)
+        self.label.setObjectName("label")
+        self.verticalLayout.addWidget(self.label)
+        self.vtServiceKeyEdit = QtWidgets.QLineEdit(parent=self.groupBox)
+        self.vtServiceKeyEdit.setObjectName("vtServiceKeyEdit")
+        self.verticalLayout.addWidget(self.vtServiceKeyEdit)
+        self.testResultLabel = QtWidgets.QLabel(parent=self.groupBox)
+        self.testResultLabel.setText("")
+        self.testResultLabel.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
+        self.testResultLabel.setWordWrap(True)
+        self.testResultLabel.setObjectName("testResultLabel")
+        self.verticalLayout.addWidget(self.testResultLabel)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem)
+        self.testButton = QtWidgets.QPushButton(parent=self.groupBox)
+        self.testButton.setEnabled(False)
+        self.testButton.setObjectName("testButton")
+        self.horizontalLayout.addWidget(self.testButton)
+        spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem1)
+        self.verticalLayout.addLayout(self.horizontalLayout)
+        self.verticalLayout_2.addWidget(self.groupBox)
+        self.vtSecureCheckBox = QtWidgets.QCheckBox(parent=WebBrowserVirusTotalPage)
+        self.vtSecureCheckBox.setObjectName("vtSecureCheckBox")
+        self.verticalLayout_2.addWidget(self.vtSecureCheckBox)
+        spacerItem2 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout_2.addItem(spacerItem2)
+
+        self.retranslateUi(WebBrowserVirusTotalPage)
+        QtCore.QMetaObject.connectSlotsByName(WebBrowserVirusTotalPage)
+        WebBrowserVirusTotalPage.setTabOrder(self.vtEnabledCheckBox, self.vtServiceKeyEdit)
+        WebBrowserVirusTotalPage.setTabOrder(self.vtServiceKeyEdit, self.testButton)
+        WebBrowserVirusTotalPage.setTabOrder(self.testButton, self.vtSecureCheckBox)
+
+    def retranslateUi(self, WebBrowserVirusTotalPage):
+        _translate = QtCore.QCoreApplication.translate
+        self.headerLabel.setText(_translate("WebBrowserVirusTotalPage", "<b>Configure VirusTotal Interface</b>"))
+        self.vtEnabledCheckBox.setToolTip(_translate("WebBrowserVirusTotalPage", "Select to enable the VirusTotal interface"))
+        self.vtEnabledCheckBox.setText(_translate("WebBrowserVirusTotalPage", "Enable VirusTotal"))
+        self.groupBox.setTitle(_translate("WebBrowserVirusTotalPage", "Service Key"))
+        self.label.setText(_translate("WebBrowserVirusTotalPage", "Enter your personal VirusTotal service key (s. <a href=\"http://virustotal.com\">VirusTotal &copy;</a> for details):"))
+        self.vtServiceKeyEdit.setToolTip(_translate("WebBrowserVirusTotalPage", "Enter the VirusTotal service key"))
+        self.testButton.setToolTip(_translate("WebBrowserVirusTotalPage", "Press to test the validity of the service key"))
+        self.testButton.setText(_translate("WebBrowserVirusTotalPage", "Test Service Key"))
+        self.vtSecureCheckBox.setToolTip(_translate("WebBrowserVirusTotalPage", "Select to use a secure (https) connection"))
+        self.vtSecureCheckBox.setText(_translate("WebBrowserVirusTotalPage", "Use secure (https) connections"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Preferences/Ui_MouseClickDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,52 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Preferences/MouseClickDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_MouseClickDialog(object):
+    def setupUi(self, MouseClickDialog):
+        MouseClickDialog.setObjectName("MouseClickDialog")
+        MouseClickDialog.resize(550, 137)
+        MouseClickDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(MouseClickDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.clickGroup = QtWidgets.QGroupBox(parent=MouseClickDialog)
+        self.clickGroup.setTitle("")
+        self.clickGroup.setObjectName("clickGroup")
+        self.gridLayout = QtWidgets.QGridLayout(self.clickGroup)
+        self.gridLayout.setObjectName("gridLayout")
+        self.clearButton = QtWidgets.QPushButton(parent=self.clickGroup)
+        self.clearButton.setObjectName("clearButton")
+        self.gridLayout.addWidget(self.clearButton, 1, 0, 1, 1)
+        self.clickEdit = QtWidgets.QLineEdit(parent=self.clickGroup)
+        self.clickEdit.setReadOnly(True)
+        self.clickEdit.setObjectName("clickEdit")
+        self.gridLayout.addWidget(self.clickEdit, 1, 1, 1, 1)
+        self.label = QtWidgets.QLabel(parent=self.clickGroup)
+        self.label.setWordWrap(False)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 0, 0, 1, 2)
+        self.verticalLayout.addWidget(self.clickGroup)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=MouseClickDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(MouseClickDialog)
+        self.buttonBox.accepted.connect(MouseClickDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(MouseClickDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(MouseClickDialog)
+
+    def retranslateUi(self, MouseClickDialog):
+        _translate = QtCore.QCoreApplication.translate
+        MouseClickDialog.setWindowTitle(_translate("MouseClickDialog", "Edit Mouse Click"))
+        self.clearButton.setToolTip(_translate("MouseClickDialog", "Press to clear the mouse click sequence."))
+        self.clearButton.setText(_translate("MouseClickDialog", "Clear"))
+        self.label.setText(_translate("MouseClickDialog", "Press the desired modifier keys and then click the desired mouse button."))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Preferences/Ui_ProgramsDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,49 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Preferences/ProgramsDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_ProgramsDialog(object):
+    def setupUi(self, ProgramsDialog):
+        ProgramsDialog.setObjectName("ProgramsDialog")
+        ProgramsDialog.resize(700, 570)
+        self.verticalLayout = QtWidgets.QVBoxLayout(ProgramsDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.programsList = QtWidgets.QTreeWidget(parent=ProgramsDialog)
+        self.programsList.setRootIsDecorated(False)
+        self.programsList.setObjectName("programsList")
+        self.verticalLayout.addWidget(self.programsList)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.label = QtWidgets.QLabel(parent=ProgramsDialog)
+        self.label.setObjectName("label")
+        self.horizontalLayout.addWidget(self.label)
+        self.showComboBox = QtWidgets.QComboBox(parent=ProgramsDialog)
+        self.showComboBox.setObjectName("showComboBox")
+        self.horizontalLayout.addWidget(self.showComboBox)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=ProgramsDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.horizontalLayout.addWidget(self.buttonBox)
+        self.verticalLayout.addLayout(self.horizontalLayout)
+
+        self.retranslateUi(ProgramsDialog)
+        self.buttonBox.accepted.connect(ProgramsDialog.close) # type: ignore
+        self.buttonBox.rejected.connect(ProgramsDialog.close) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(ProgramsDialog)
+
+    def retranslateUi(self, ProgramsDialog):
+        _translate = QtCore.QCoreApplication.translate
+        ProgramsDialog.setWindowTitle(_translate("ProgramsDialog", "External Tools"))
+        self.programsList.setSortingEnabled(True)
+        self.programsList.headerItem().setText(0, _translate("ProgramsDialog", "Path"))
+        self.programsList.headerItem().setText(1, _translate("ProgramsDialog", "Version"))
+        self.label.setText(_translate("ProgramsDialog", "Show:"))
+        self.showComboBox.setToolTip(_translate("ProgramsDialog", "Select the kind of tools to show"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Preferences/Ui_ShortcutDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,75 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Preferences/ShortcutDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_ShortcutDialog(object):
+    def setupUi(self, ShortcutDialog):
+        ShortcutDialog.setObjectName("ShortcutDialog")
+        ShortcutDialog.resize(539, 134)
+        self.vboxlayout = QtWidgets.QVBoxLayout(ShortcutDialog)
+        self.vboxlayout.setObjectName("vboxlayout")
+        self.shortcutsGroup = QtWidgets.QGroupBox(parent=ShortcutDialog)
+        self.shortcutsGroup.setTitle("")
+        self.shortcutsGroup.setObjectName("shortcutsGroup")
+        self.gridLayout = QtWidgets.QGridLayout(self.shortcutsGroup)
+        self.gridLayout.setObjectName("gridLayout")
+        self.primaryButton = QtWidgets.QRadioButton(parent=self.shortcutsGroup)
+        self.primaryButton.setFocusPolicy(QtCore.Qt.FocusPolicy.NoFocus)
+        self.primaryButton.setChecked(True)
+        self.primaryButton.setObjectName("primaryButton")
+        self.gridLayout.addWidget(self.primaryButton, 0, 0, 1, 1)
+        self.primaryClearButton = QtWidgets.QPushButton(parent=self.shortcutsGroup)
+        self.primaryClearButton.setFocusPolicy(QtCore.Qt.FocusPolicy.NoFocus)
+        self.primaryClearButton.setObjectName("primaryClearButton")
+        self.gridLayout.addWidget(self.primaryClearButton, 0, 1, 1, 1)
+        self.keyEdit = QtWidgets.QLineEdit(parent=self.shortcutsGroup)
+        self.keyEdit.setReadOnly(True)
+        self.keyEdit.setObjectName("keyEdit")
+        self.gridLayout.addWidget(self.keyEdit, 0, 2, 1, 1)
+        self.alternateButton = QtWidgets.QRadioButton(parent=self.shortcutsGroup)
+        self.alternateButton.setFocusPolicy(QtCore.Qt.FocusPolicy.NoFocus)
+        self.alternateButton.setObjectName("alternateButton")
+        self.gridLayout.addWidget(self.alternateButton, 1, 0, 1, 1)
+        self.alternateClearButton = QtWidgets.QPushButton(parent=self.shortcutsGroup)
+        self.alternateClearButton.setEnabled(False)
+        self.alternateClearButton.setFocusPolicy(QtCore.Qt.FocusPolicy.NoFocus)
+        self.alternateClearButton.setObjectName("alternateClearButton")
+        self.gridLayout.addWidget(self.alternateClearButton, 1, 1, 1, 1)
+        self.alternateKeyEdit = QtWidgets.QLineEdit(parent=self.shortcutsGroup)
+        self.alternateKeyEdit.setReadOnly(True)
+        self.alternateKeyEdit.setObjectName("alternateKeyEdit")
+        self.gridLayout.addWidget(self.alternateKeyEdit, 1, 2, 1, 1)
+        self.vboxlayout.addWidget(self.shortcutsGroup)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=ShortcutDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.vboxlayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(ShortcutDialog)
+        self.primaryButton.toggled['bool'].connect(self.primaryClearButton.setEnabled) # type: ignore
+        self.alternateButton.toggled['bool'].connect(self.alternateClearButton.setEnabled) # type: ignore
+        self.buttonBox.rejected.connect(ShortcutDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(ShortcutDialog)
+        ShortcutDialog.setTabOrder(self.keyEdit, self.alternateKeyEdit)
+        ShortcutDialog.setTabOrder(self.alternateKeyEdit, self.buttonBox)
+
+    def retranslateUi(self, ShortcutDialog):
+        _translate = QtCore.QCoreApplication.translate
+        ShortcutDialog.setWindowTitle(_translate("ShortcutDialog", "Edit Shortcut"))
+        ShortcutDialog.setWhatsThis(_translate("ShortcutDialog", "Press your shortcut keys and select OK"))
+        self.primaryButton.setToolTip(_translate("ShortcutDialog", "Select to change the primary keyboard shortcut"))
+        self.primaryButton.setText(_translate("ShortcutDialog", "Primary Shortcut:"))
+        self.primaryClearButton.setToolTip(_translate("ShortcutDialog", "Press to clear the key sequence buffer."))
+        self.primaryClearButton.setText(_translate("ShortcutDialog", "Clear"))
+        self.alternateButton.setToolTip(_translate("ShortcutDialog", "Select to change the alternative keyboard shortcut"))
+        self.alternateButton.setText(_translate("ShortcutDialog", "Alternative Shortcut:"))
+        self.alternateClearButton.setToolTip(_translate("ShortcutDialog", "Press to clear the key sequence buffer."))
+        self.alternateClearButton.setText(_translate("ShortcutDialog", "Clear"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Preferences/Ui_ShortcutsDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,77 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Preferences/ShortcutsDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_ShortcutsDialog(object):
+    def setupUi(self, ShortcutsDialog):
+        ShortcutsDialog.setObjectName("ShortcutsDialog")
+        ShortcutsDialog.resize(800, 500)
+        self.verticalLayout = QtWidgets.QVBoxLayout(ShortcutsDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.label = QtWidgets.QLabel(parent=ShortcutsDialog)
+        self.label.setObjectName("label")
+        self.horizontalLayout.addWidget(self.label)
+        self.searchEdit = QtWidgets.QLineEdit(parent=ShortcutsDialog)
+        self.searchEdit.setClearButtonEnabled(True)
+        self.searchEdit.setObjectName("searchEdit")
+        self.horizontalLayout.addWidget(self.searchEdit)
+        self.verticalLayout.addLayout(self.horizontalLayout)
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.label_2 = QtWidgets.QLabel(parent=ShortcutsDialog)
+        self.label_2.setObjectName("label_2")
+        self.horizontalLayout_2.addWidget(self.label_2)
+        self.actionButton = QtWidgets.QRadioButton(parent=ShortcutsDialog)
+        self.actionButton.setChecked(True)
+        self.actionButton.setObjectName("actionButton")
+        self.horizontalLayout_2.addWidget(self.actionButton)
+        self.shortcutButton = QtWidgets.QRadioButton(parent=ShortcutsDialog)
+        self.shortcutButton.setObjectName("shortcutButton")
+        self.horizontalLayout_2.addWidget(self.shortcutButton)
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_2.addItem(spacerItem)
+        self.verticalLayout.addLayout(self.horizontalLayout_2)
+        self.shortcutsList = QtWidgets.QTreeWidget(parent=ShortcutsDialog)
+        self.shortcutsList.setAlternatingRowColors(True)
+        self.shortcutsList.setObjectName("shortcutsList")
+        self.verticalLayout.addWidget(self.shortcutsList)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=ShortcutsDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+        self.label.setBuddy(self.searchEdit)
+
+        self.retranslateUi(ShortcutsDialog)
+        self.buttonBox.rejected.connect(ShortcutsDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(ShortcutsDialog)
+        ShortcutsDialog.setTabOrder(self.searchEdit, self.actionButton)
+        ShortcutsDialog.setTabOrder(self.actionButton, self.shortcutButton)
+        ShortcutsDialog.setTabOrder(self.shortcutButton, self.shortcutsList)
+        ShortcutsDialog.setTabOrder(self.shortcutsList, self.buttonBox)
+
+    def retranslateUi(self, ShortcutsDialog):
+        _translate = QtCore.QCoreApplication.translate
+        ShortcutsDialog.setWindowTitle(_translate("ShortcutsDialog", "Keyboard Shortcuts"))
+        self.label.setText(_translate("ShortcutsDialog", "&Filter:"))
+        self.searchEdit.setToolTip(_translate("ShortcutsDialog", "Enter the regular expression that should be contained in the shortcut action"))
+        self.label_2.setText(_translate("ShortcutsDialog", "Filter on"))
+        self.actionButton.setToolTip(_translate("ShortcutsDialog", "Select to filter based on the actions"))
+        self.actionButton.setText(_translate("ShortcutsDialog", "&Action"))
+        self.shortcutButton.setToolTip(_translate("ShortcutsDialog", "Select to filter based on shortcut or alternative shortcut"))
+        self.shortcutButton.setText(_translate("ShortcutsDialog", "&Shortcut or Alternative"))
+        self.shortcutsList.setToolTip(_translate("ShortcutsDialog", "This list shows all keyboard shortcuts."))
+        self.shortcutsList.setWhatsThis(_translate("ShortcutsDialog", "<b>Keyboard Shortcuts List</b>\n"
+"<p>This list shows all keyboard shortcuts defined in the application. Double click an entry in order to change the respective shortcut. Alternatively, the shortcut might be changed by editing the key sequence in the respective column.</p>"))
+        self.shortcutsList.headerItem().setText(0, _translate("ShortcutsDialog", "Action"))
+        self.shortcutsList.headerItem().setText(1, _translate("ShortcutsDialog", "Shortcut"))
+        self.shortcutsList.headerItem().setText(2, _translate("ShortcutsDialog", "Alternativ"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Preferences/Ui_SubstyleDefinitionDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,72 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Preferences/SubstyleDefinitionDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_SubstyleDefinitionDialog(object):
+    def setupUi(self, SubstyleDefinitionDialog):
+        SubstyleDefinitionDialog.setObjectName("SubstyleDefinitionDialog")
+        SubstyleDefinitionDialog.resize(550, 600)
+        SubstyleDefinitionDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(SubstyleDefinitionDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.header = QtWidgets.QLabel(parent=SubstyleDefinitionDialog)
+        self.header.setText("")
+        self.header.setObjectName("header")
+        self.verticalLayout.addWidget(self.header)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.label = QtWidgets.QLabel(parent=SubstyleDefinitionDialog)
+        self.label.setObjectName("label")
+        self.horizontalLayout.addWidget(self.label)
+        self.descriptionEdit = QtWidgets.QLineEdit(parent=SubstyleDefinitionDialog)
+        self.descriptionEdit.setClearButtonEnabled(True)
+        self.descriptionEdit.setObjectName("descriptionEdit")
+        self.horizontalLayout.addWidget(self.descriptionEdit)
+        self.verticalLayout.addLayout(self.horizontalLayout)
+        self.label_2 = QtWidgets.QLabel(parent=SubstyleDefinitionDialog)
+        self.label_2.setObjectName("label_2")
+        self.verticalLayout.addWidget(self.label_2)
+        self.wordsEdit = QtWidgets.QPlainTextEdit(parent=SubstyleDefinitionDialog)
+        self.wordsEdit.setObjectName("wordsEdit")
+        self.verticalLayout.addWidget(self.wordsEdit)
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.resetButton = QtWidgets.QPushButton(parent=SubstyleDefinitionDialog)
+        self.resetButton.setObjectName("resetButton")
+        self.horizontalLayout_2.addWidget(self.resetButton)
+        self.defaultButton = QtWidgets.QPushButton(parent=SubstyleDefinitionDialog)
+        self.defaultButton.setObjectName("defaultButton")
+        self.horizontalLayout_2.addWidget(self.defaultButton)
+        self.verticalLayout.addLayout(self.horizontalLayout_2)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=SubstyleDefinitionDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(SubstyleDefinitionDialog)
+        self.buttonBox.accepted.connect(SubstyleDefinitionDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(SubstyleDefinitionDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(SubstyleDefinitionDialog)
+        SubstyleDefinitionDialog.setTabOrder(self.descriptionEdit, self.wordsEdit)
+        SubstyleDefinitionDialog.setTabOrder(self.wordsEdit, self.resetButton)
+        SubstyleDefinitionDialog.setTabOrder(self.resetButton, self.defaultButton)
+
+    def retranslateUi(self, SubstyleDefinitionDialog):
+        _translate = QtCore.QCoreApplication.translate
+        SubstyleDefinitionDialog.setWindowTitle(_translate("SubstyleDefinitionDialog", "Define Sub-Style"))
+        self.label.setText(_translate("SubstyleDefinitionDialog", "Description:"))
+        self.descriptionEdit.setToolTip(_translate("SubstyleDefinitionDialog", "Enter a short description for the style"))
+        self.label_2.setText(_translate("SubstyleDefinitionDialog", "Words (separated by spaces):"))
+        self.wordsEdit.setToolTip(_translate("SubstyleDefinitionDialog", "Enter the list of words separated by space"))
+        self.resetButton.setToolTip(_translate("SubstyleDefinitionDialog", "Press to reset the data"))
+        self.resetButton.setText(_translate("SubstyleDefinitionDialog", "Reset"))
+        self.defaultButton.setToolTip(_translate("SubstyleDefinitionDialog", "Press to set the data to default values (if available)"))
+        self.defaultButton.setText(_translate("SubstyleDefinitionDialog", "Defaults"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Preferences/Ui_ToolConfigurationDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,188 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Preferences/ToolConfigurationDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_ToolConfigurationDialog(object):
+    def setupUi(self, ToolConfigurationDialog):
+        ToolConfigurationDialog.setObjectName("ToolConfigurationDialog")
+        ToolConfigurationDialog.resize(591, 487)
+        ToolConfigurationDialog.setSizeGripEnabled(True)
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(ToolConfigurationDialog)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.gridLayout_2 = QtWidgets.QGridLayout()
+        self.gridLayout_2.setObjectName("gridLayout_2")
+        self.toolsList = QtWidgets.QListWidget(parent=ToolConfigurationDialog)
+        self.toolsList.setObjectName("toolsList")
+        self.gridLayout_2.addWidget(self.toolsList, 0, 0, 1, 1)
+        self.verticalLayout = QtWidgets.QVBoxLayout()
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.newButton = QtWidgets.QPushButton(parent=ToolConfigurationDialog)
+        self.newButton.setObjectName("newButton")
+        self.verticalLayout.addWidget(self.newButton)
+        self.addButton = QtWidgets.QPushButton(parent=ToolConfigurationDialog)
+        self.addButton.setObjectName("addButton")
+        self.verticalLayout.addWidget(self.addButton)
+        self.changeButton = QtWidgets.QPushButton(parent=ToolConfigurationDialog)
+        self.changeButton.setEnabled(False)
+        self.changeButton.setObjectName("changeButton")
+        self.verticalLayout.addWidget(self.changeButton)
+        self.deleteButton = QtWidgets.QPushButton(parent=ToolConfigurationDialog)
+        self.deleteButton.setEnabled(False)
+        self.deleteButton.setObjectName("deleteButton")
+        self.verticalLayout.addWidget(self.deleteButton)
+        self.upButton = QtWidgets.QPushButton(parent=ToolConfigurationDialog)
+        self.upButton.setEnabled(False)
+        self.upButton.setObjectName("upButton")
+        self.verticalLayout.addWidget(self.upButton)
+        self.downButton = QtWidgets.QPushButton(parent=ToolConfigurationDialog)
+        self.downButton.setEnabled(False)
+        self.downButton.setObjectName("downButton")
+        self.verticalLayout.addWidget(self.downButton)
+        self.line = QtWidgets.QFrame(parent=ToolConfigurationDialog)
+        self.line.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line.setObjectName("line")
+        self.verticalLayout.addWidget(self.line)
+        self.separatorButton = QtWidgets.QPushButton(parent=ToolConfigurationDialog)
+        self.separatorButton.setObjectName("separatorButton")
+        self.verticalLayout.addWidget(self.separatorButton)
+        spacerItem = QtWidgets.QSpacerItem(105, 22, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout.addItem(spacerItem)
+        self.gridLayout_2.addLayout(self.verticalLayout, 0, 1, 1, 1)
+        self.gridLayout = QtWidgets.QGridLayout()
+        self.gridLayout.setObjectName("gridLayout")
+        self.TextLabel2 = QtWidgets.QLabel(parent=ToolConfigurationDialog)
+        self.TextLabel2.setObjectName("TextLabel2")
+        self.gridLayout.addWidget(self.TextLabel2, 0, 0, 1, 1)
+        self.menuEdit = QtWidgets.QLineEdit(parent=ToolConfigurationDialog)
+        self.menuEdit.setObjectName("menuEdit")
+        self.gridLayout.addWidget(self.menuEdit, 0, 1, 1, 1)
+        self.label = QtWidgets.QLabel(parent=ToolConfigurationDialog)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 1, 0, 1, 1)
+        self.iconPicker = EricPathPicker(parent=ToolConfigurationDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.iconPicker.sizePolicy().hasHeightForWidth())
+        self.iconPicker.setSizePolicy(sizePolicy)
+        self.iconPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.iconPicker.setObjectName("iconPicker")
+        self.gridLayout.addWidget(self.iconPicker, 1, 1, 1, 1)
+        self.TextLabel1 = QtWidgets.QLabel(parent=ToolConfigurationDialog)
+        self.TextLabel1.setObjectName("TextLabel1")
+        self.gridLayout.addWidget(self.TextLabel1, 2, 0, 1, 1)
+        self.executablePicker = EricPathPicker(parent=ToolConfigurationDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.executablePicker.sizePolicy().hasHeightForWidth())
+        self.executablePicker.setSizePolicy(sizePolicy)
+        self.executablePicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.executablePicker.setObjectName("executablePicker")
+        self.gridLayout.addWidget(self.executablePicker, 2, 1, 1, 1)
+        self.TextLabel3 = QtWidgets.QLabel(parent=ToolConfigurationDialog)
+        self.TextLabel3.setObjectName("TextLabel3")
+        self.gridLayout.addWidget(self.TextLabel3, 3, 0, 1, 1)
+        self.argumentsEdit = QtWidgets.QLineEdit(parent=ToolConfigurationDialog)
+        self.argumentsEdit.setObjectName("argumentsEdit")
+        self.gridLayout.addWidget(self.argumentsEdit, 3, 1, 1, 1)
+        self.label_2 = QtWidgets.QLabel(parent=ToolConfigurationDialog)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 4, 0, 1, 1)
+        self.redirectCombo = QtWidgets.QComboBox(parent=ToolConfigurationDialog)
+        self.redirectCombo.setObjectName("redirectCombo")
+        self.gridLayout.addWidget(self.redirectCombo, 4, 1, 1, 1)
+        self.gridLayout_2.addLayout(self.gridLayout, 1, 0, 1, 2)
+        self.verticalLayout_2.addLayout(self.gridLayout_2)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=ToolConfigurationDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout_2.addWidget(self.buttonBox)
+        self.TextLabel2.setBuddy(self.menuEdit)
+        self.label.setBuddy(self.iconPicker)
+        self.TextLabel1.setBuddy(self.executablePicker)
+        self.TextLabel3.setBuddy(self.argumentsEdit)
+        self.label_2.setBuddy(self.redirectCombo)
+
+        self.retranslateUi(ToolConfigurationDialog)
+        self.buttonBox.accepted.connect(ToolConfigurationDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(ToolConfigurationDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(ToolConfigurationDialog)
+        ToolConfigurationDialog.setTabOrder(self.toolsList, self.menuEdit)
+        ToolConfigurationDialog.setTabOrder(self.menuEdit, self.iconPicker)
+        ToolConfigurationDialog.setTabOrder(self.iconPicker, self.executablePicker)
+        ToolConfigurationDialog.setTabOrder(self.executablePicker, self.argumentsEdit)
+        ToolConfigurationDialog.setTabOrder(self.argumentsEdit, self.redirectCombo)
+        ToolConfigurationDialog.setTabOrder(self.redirectCombo, self.newButton)
+        ToolConfigurationDialog.setTabOrder(self.newButton, self.addButton)
+        ToolConfigurationDialog.setTabOrder(self.addButton, self.changeButton)
+        ToolConfigurationDialog.setTabOrder(self.changeButton, self.deleteButton)
+        ToolConfigurationDialog.setTabOrder(self.deleteButton, self.upButton)
+        ToolConfigurationDialog.setTabOrder(self.upButton, self.downButton)
+        ToolConfigurationDialog.setTabOrder(self.downButton, self.separatorButton)
+
+    def retranslateUi(self, ToolConfigurationDialog):
+        _translate = QtCore.QCoreApplication.translate
+        ToolConfigurationDialog.setWindowTitle(_translate("ToolConfigurationDialog", "Configure Tools Menu"))
+        self.newButton.setToolTip(_translate("ToolConfigurationDialog", "Clear all entry fields"))
+        self.newButton.setWhatsThis(_translate("ToolConfigurationDialog", "<b>New</b>\n"
+"<p>Clear all entry fields for entering a new tools entry.</p>"))
+        self.newButton.setText(_translate("ToolConfigurationDialog", "&New"))
+        self.newButton.setShortcut(_translate("ToolConfigurationDialog", "Alt+N"))
+        self.addButton.setToolTip(_translate("ToolConfigurationDialog", "Add a new tools entry"))
+        self.addButton.setWhatsThis(_translate("ToolConfigurationDialog", "<b>Add</b>\n"
+"<p>Add a new tools entry with the values entered below.</p>"))
+        self.addButton.setText(_translate("ToolConfigurationDialog", "&Add"))
+        self.addButton.setShortcut(_translate("ToolConfigurationDialog", "Alt+A"))
+        self.changeButton.setToolTip(_translate("ToolConfigurationDialog", "Change the values of the selected entry"))
+        self.changeButton.setWhatsThis(_translate("ToolConfigurationDialog", "<b>Change</b>\n"
+"<p>Change the values of the selected entry.</p>"))
+        self.changeButton.setText(_translate("ToolConfigurationDialog", "C&hange"))
+        self.changeButton.setShortcut(_translate("ToolConfigurationDialog", "Alt+H"))
+        self.deleteButton.setToolTip(_translate("ToolConfigurationDialog", "Delete the selected entry"))
+        self.deleteButton.setWhatsThis(_translate("ToolConfigurationDialog", "<b>Delete</b>\n"
+"<p>Delete the selected entry.</p>"))
+        self.deleteButton.setText(_translate("ToolConfigurationDialog", "&Delete"))
+        self.deleteButton.setShortcut(_translate("ToolConfigurationDialog", "Alt+D"))
+        self.upButton.setToolTip(_translate("ToolConfigurationDialog", "Move up"))
+        self.upButton.setWhatsThis(_translate("ToolConfigurationDialog", "<b>Move Up</b>\n"
+"<p>Move the selected entry up.</p>"))
+        self.upButton.setText(_translate("ToolConfigurationDialog", "&Up"))
+        self.upButton.setShortcut(_translate("ToolConfigurationDialog", "Alt+U"))
+        self.downButton.setToolTip(_translate("ToolConfigurationDialog", "Move down"))
+        self.downButton.setWhatsThis(_translate("ToolConfigurationDialog", "<b>Move Down</b>\n"
+"<p>Move the selected entry down.</p>"))
+        self.downButton.setText(_translate("ToolConfigurationDialog", "Do&wn"))
+        self.downButton.setShortcut(_translate("ToolConfigurationDialog", "Alt+W"))
+        self.separatorButton.setToolTip(_translate("ToolConfigurationDialog", "Add a separator"))
+        self.separatorButton.setWhatsThis(_translate("ToolConfigurationDialog", "<b>Add separator</b><p>Add a separator for the menu.</p>"))
+        self.separatorButton.setText(_translate("ToolConfigurationDialog", "Add &Separator"))
+        self.TextLabel2.setText(_translate("ToolConfigurationDialog", "&Menu text:"))
+        self.menuEdit.setToolTip(_translate("ToolConfigurationDialog", "Enter the menu text"))
+        self.menuEdit.setWhatsThis(_translate("ToolConfigurationDialog", "<b>Menu text</b>\n"
+"<p>Enter the menu text. Precede the accelerator key with an & character.</p>"))
+        self.label.setText(_translate("ToolConfigurationDialog", "&Icon file:"))
+        self.iconPicker.setToolTip(_translate("ToolConfigurationDialog", "Enter the filename of the icon"))
+        self.iconPicker.setWhatsThis(_translate("ToolConfigurationDialog", "<b>Icon</b>\n"
+"<p>Enter the filename of the icon.</p>"))
+        self.TextLabel1.setText(_translate("ToolConfigurationDialog", "&Executable file:"))
+        self.executablePicker.setToolTip(_translate("ToolConfigurationDialog", "Enter the filename of the executable"))
+        self.executablePicker.setWhatsThis(_translate("ToolConfigurationDialog", "<b>Executable</b>\n"
+"<p>Enter the filename of the executable.</p>"))
+        self.TextLabel3.setText(_translate("ToolConfigurationDialog", "Ar&guments:"))
+        self.argumentsEdit.setToolTip(_translate("ToolConfigurationDialog", "Enter the arguments for the executable"))
+        self.argumentsEdit.setWhatsThis(_translate("ToolConfigurationDialog", "<b>Arguments</b>\n"
+"<p>Enter the arguments for the executable.</p>"))
+        self.label_2.setText(_translate("ToolConfigurationDialog", "&Redirect output"))
+        self.redirectCombo.setToolTip(_translate("ToolConfigurationDialog", "Select the output redirection mode"))
+        self.redirectCombo.setWhatsThis(_translate("ToolConfigurationDialog", "<b>Redirect output<b><p>Select the output redirection mode. The standard error channel is either not redirected or shown in the log viewer.</p>"))
+from eric7.EricWidgets.EricPathPicker import EricPathPicker
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Preferences/Ui_ToolGroupConfigurationDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,110 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Preferences/ToolGroupConfigurationDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_ToolGroupConfigurationDialog(object):
+    def setupUi(self, ToolGroupConfigurationDialog):
+        ToolGroupConfigurationDialog.setObjectName("ToolGroupConfigurationDialog")
+        ToolGroupConfigurationDialog.resize(475, 391)
+        ToolGroupConfigurationDialog.setSizeGripEnabled(True)
+        self.vboxlayout = QtWidgets.QVBoxLayout(ToolGroupConfigurationDialog)
+        self.vboxlayout.setObjectName("vboxlayout")
+        self.gridlayout = QtWidgets.QGridLayout()
+        self.gridlayout.setObjectName("gridlayout")
+        self.deleteButton = QtWidgets.QPushButton(parent=ToolGroupConfigurationDialog)
+        self.deleteButton.setEnabled(False)
+        self.deleteButton.setObjectName("deleteButton")
+        self.gridlayout.addWidget(self.deleteButton, 3, 2, 1, 1)
+        self.addButton = QtWidgets.QPushButton(parent=ToolGroupConfigurationDialog)
+        self.addButton.setObjectName("addButton")
+        self.gridlayout.addWidget(self.addButton, 1, 2, 1, 1)
+        self.TextLabel2 = QtWidgets.QLabel(parent=ToolGroupConfigurationDialog)
+        self.TextLabel2.setObjectName("TextLabel2")
+        self.gridlayout.addWidget(self.TextLabel2, 7, 0, 1, 1)
+        self.changeButton = QtWidgets.QPushButton(parent=ToolGroupConfigurationDialog)
+        self.changeButton.setEnabled(False)
+        self.changeButton.setObjectName("changeButton")
+        self.gridlayout.addWidget(self.changeButton, 2, 2, 1, 1)
+        spacerItem = QtWidgets.QSpacerItem(87, 20, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.gridlayout.addItem(spacerItem, 6, 2, 1, 1)
+        self.newButton = QtWidgets.QPushButton(parent=ToolGroupConfigurationDialog)
+        self.newButton.setObjectName("newButton")
+        self.gridlayout.addWidget(self.newButton, 0, 2, 1, 1)
+        self.upButton = QtWidgets.QPushButton(parent=ToolGroupConfigurationDialog)
+        self.upButton.setEnabled(False)
+        self.upButton.setObjectName("upButton")
+        self.gridlayout.addWidget(self.upButton, 4, 2, 1, 1)
+        self.downButton = QtWidgets.QPushButton(parent=ToolGroupConfigurationDialog)
+        self.downButton.setEnabled(False)
+        self.downButton.setObjectName("downButton")
+        self.gridlayout.addWidget(self.downButton, 5, 2, 1, 1)
+        self.groupsList = QtWidgets.QListWidget(parent=ToolGroupConfigurationDialog)
+        self.groupsList.setObjectName("groupsList")
+        self.gridlayout.addWidget(self.groupsList, 0, 0, 7, 2)
+        self.nameEdit = QtWidgets.QLineEdit(parent=ToolGroupConfigurationDialog)
+        self.nameEdit.setObjectName("nameEdit")
+        self.gridlayout.addWidget(self.nameEdit, 7, 1, 1, 1)
+        self.vboxlayout.addLayout(self.gridlayout)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=ToolGroupConfigurationDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.vboxlayout.addWidget(self.buttonBox)
+        self.TextLabel2.setBuddy(self.nameEdit)
+
+        self.retranslateUi(ToolGroupConfigurationDialog)
+        self.buttonBox.accepted.connect(ToolGroupConfigurationDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(ToolGroupConfigurationDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(ToolGroupConfigurationDialog)
+        ToolGroupConfigurationDialog.setTabOrder(self.groupsList, self.nameEdit)
+        ToolGroupConfigurationDialog.setTabOrder(self.nameEdit, self.newButton)
+        ToolGroupConfigurationDialog.setTabOrder(self.newButton, self.addButton)
+        ToolGroupConfigurationDialog.setTabOrder(self.addButton, self.changeButton)
+        ToolGroupConfigurationDialog.setTabOrder(self.changeButton, self.deleteButton)
+        ToolGroupConfigurationDialog.setTabOrder(self.deleteButton, self.upButton)
+        ToolGroupConfigurationDialog.setTabOrder(self.upButton, self.downButton)
+
+    def retranslateUi(self, ToolGroupConfigurationDialog):
+        _translate = QtCore.QCoreApplication.translate
+        ToolGroupConfigurationDialog.setWindowTitle(_translate("ToolGroupConfigurationDialog", "Configure Tool Groups"))
+        self.deleteButton.setToolTip(_translate("ToolGroupConfigurationDialog", "Delete the selected entry"))
+        self.deleteButton.setWhatsThis(_translate("ToolGroupConfigurationDialog", "<b>Delete</b>\n"
+"<p>Delete the selected entry.</p>"))
+        self.deleteButton.setText(_translate("ToolGroupConfigurationDialog", "&Delete"))
+        self.deleteButton.setShortcut(_translate("ToolGroupConfigurationDialog", "Alt+D"))
+        self.addButton.setToolTip(_translate("ToolGroupConfigurationDialog", "Add a new tools entry"))
+        self.addButton.setWhatsThis(_translate("ToolGroupConfigurationDialog", "<b>Add</b>\n"
+"<p>Add a new tool groups entry with the name entered below.</p>"))
+        self.addButton.setText(_translate("ToolGroupConfigurationDialog", "&Add"))
+        self.addButton.setShortcut(_translate("ToolGroupConfigurationDialog", "Alt+A"))
+        self.TextLabel2.setText(_translate("ToolGroupConfigurationDialog", "&Group name:"))
+        self.changeButton.setToolTip(_translate("ToolGroupConfigurationDialog", "Change the values of the selected entry"))
+        self.changeButton.setWhatsThis(_translate("ToolGroupConfigurationDialog", "<b>Change</b>\n"
+"<p>Change the values of the selected entry.</p>"))
+        self.changeButton.setText(_translate("ToolGroupConfigurationDialog", "C&hange"))
+        self.changeButton.setShortcut(_translate("ToolGroupConfigurationDialog", "Alt+H"))
+        self.newButton.setToolTip(_translate("ToolGroupConfigurationDialog", "Clear all entry fields"))
+        self.newButton.setWhatsThis(_translate("ToolGroupConfigurationDialog", "<b>New</b>\n"
+"<p>Clear all entry fields for entering a new tool groups entry.</p>"))
+        self.newButton.setText(_translate("ToolGroupConfigurationDialog", "&New"))
+        self.newButton.setShortcut(_translate("ToolGroupConfigurationDialog", "Alt+N"))
+        self.upButton.setToolTip(_translate("ToolGroupConfigurationDialog", "Move up"))
+        self.upButton.setWhatsThis(_translate("ToolGroupConfigurationDialog", "<b>Move Up</b>\n"
+"<p>Move the selected entry up.</p>"))
+        self.upButton.setText(_translate("ToolGroupConfigurationDialog", "&Up"))
+        self.upButton.setShortcut(_translate("ToolGroupConfigurationDialog", "Alt+U"))
+        self.downButton.setToolTip(_translate("ToolGroupConfigurationDialog", "Move down"))
+        self.downButton.setWhatsThis(_translate("ToolGroupConfigurationDialog", "<b>Move Down</b>\n"
+"<p>Move the selected entry down.</p>"))
+        self.downButton.setText(_translate("ToolGroupConfigurationDialog", "Do&wn"))
+        self.downButton.setShortcut(_translate("ToolGroupConfigurationDialog", "Alt+W"))
+        self.nameEdit.setToolTip(_translate("ToolGroupConfigurationDialog", "Enter the menu text"))
+        self.nameEdit.setWhatsThis(_translate("ToolGroupConfigurationDialog", "<b>Menu text</b>\n"
+"<p>Enter the menu text. Precede the accelerator key with an & character.</p>"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Preferences/Ui_ViewProfileSidebarsDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,84 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Preferences/ViewProfileSidebarsDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_ViewProfileSidebarsDialog(object):
+    def setupUi(self, ViewProfileSidebarsDialog):
+        ViewProfileSidebarsDialog.setObjectName("ViewProfileSidebarsDialog")
+        ViewProfileSidebarsDialog.resize(608, 177)
+        ViewProfileSidebarsDialog.setSizeGripEnabled(True)
+        self.gridLayout = QtWidgets.QGridLayout(ViewProfileSidebarsDialog)
+        self.gridLayout.setObjectName("gridLayout")
+        self.textLabel1 = QtWidgets.QLabel(parent=ViewProfileSidebarsDialog)
+        self.textLabel1.setAlignment(QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.textLabel1.setObjectName("textLabel1")
+        self.gridLayout.addWidget(self.textLabel1, 0, 0, 1, 2)
+        self.editGroup = QtWidgets.QGroupBox(parent=ViewProfileSidebarsDialog)
+        self.editGroup.setObjectName("editGroup")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.editGroup)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.epltCheckBox = QtWidgets.QCheckBox(parent=self.editGroup)
+        self.epltCheckBox.setChecked(True)
+        self.epltCheckBox.setObjectName("epltCheckBox")
+        self.verticalLayout.addWidget(self.epltCheckBox)
+        self.eprtCheckBox = QtWidgets.QCheckBox(parent=self.editGroup)
+        self.eprtCheckBox.setChecked(True)
+        self.eprtCheckBox.setObjectName("eprtCheckBox")
+        self.verticalLayout.addWidget(self.eprtCheckBox)
+        self.ephtCheckBox = QtWidgets.QCheckBox(parent=self.editGroup)
+        self.ephtCheckBox.setChecked(True)
+        self.ephtCheckBox.setObjectName("ephtCheckBox")
+        self.verticalLayout.addWidget(self.ephtCheckBox)
+        self.gridLayout.addWidget(self.editGroup, 1, 0, 1, 1)
+        self.debugGroup = QtWidgets.QGroupBox(parent=ViewProfileSidebarsDialog)
+        self.debugGroup.setObjectName("debugGroup")
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.debugGroup)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.dpltCheckBox = QtWidgets.QCheckBox(parent=self.debugGroup)
+        self.dpltCheckBox.setObjectName("dpltCheckBox")
+        self.verticalLayout_2.addWidget(self.dpltCheckBox)
+        self.dprtCheckBox = QtWidgets.QCheckBox(parent=self.debugGroup)
+        self.dprtCheckBox.setChecked(True)
+        self.dprtCheckBox.setObjectName("dprtCheckBox")
+        self.verticalLayout_2.addWidget(self.dprtCheckBox)
+        self.dphtCheckBox = QtWidgets.QCheckBox(parent=self.debugGroup)
+        self.dphtCheckBox.setChecked(True)
+        self.dphtCheckBox.setObjectName("dphtCheckBox")
+        self.verticalLayout_2.addWidget(self.dphtCheckBox)
+        self.gridLayout.addWidget(self.debugGroup, 1, 1, 1, 1)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=ViewProfileSidebarsDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout.addWidget(self.buttonBox, 2, 0, 1, 2)
+
+        self.retranslateUi(ViewProfileSidebarsDialog)
+        self.buttonBox.accepted.connect(ViewProfileSidebarsDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(ViewProfileSidebarsDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(ViewProfileSidebarsDialog)
+        ViewProfileSidebarsDialog.setTabOrder(self.eprtCheckBox, self.epltCheckBox)
+        ViewProfileSidebarsDialog.setTabOrder(self.epltCheckBox, self.ephtCheckBox)
+        ViewProfileSidebarsDialog.setTabOrder(self.ephtCheckBox, self.dpltCheckBox)
+        ViewProfileSidebarsDialog.setTabOrder(self.dpltCheckBox, self.dprtCheckBox)
+        ViewProfileSidebarsDialog.setTabOrder(self.dprtCheckBox, self.dphtCheckBox)
+        ViewProfileSidebarsDialog.setTabOrder(self.dphtCheckBox, self.buttonBox)
+
+    def retranslateUi(self, ViewProfileSidebarsDialog):
+        _translate = QtCore.QCoreApplication.translate
+        ViewProfileSidebarsDialog.setWindowTitle(_translate("ViewProfileSidebarsDialog", "Configure View Profiles"))
+        self.textLabel1.setText(_translate("ViewProfileSidebarsDialog", "Select the windows, that should be visible, when the different profiles are active."))
+        self.editGroup.setTitle(_translate("ViewProfileSidebarsDialog", "&Edit Profile"))
+        self.epltCheckBox.setText(_translate("ViewProfileSidebarsDialog", "Left Sidebar"))
+        self.eprtCheckBox.setText(_translate("ViewProfileSidebarsDialog", "Right Sidebar"))
+        self.ephtCheckBox.setText(_translate("ViewProfileSidebarsDialog", "Bottom Sidebar"))
+        self.debugGroup.setTitle(_translate("ViewProfileSidebarsDialog", "&Debug Profile"))
+        self.dpltCheckBox.setText(_translate("ViewProfileSidebarsDialog", "Left Sidebar"))
+        self.dprtCheckBox.setText(_translate("ViewProfileSidebarsDialog", "Right Sidebar"))
+        self.dphtCheckBox.setText(_translate("ViewProfileSidebarsDialog", "Bottom Sidebar"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Preferences/Ui_ViewProfileToolboxesDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,84 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Preferences/ViewProfileToolboxesDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_ViewProfileToolboxesDialog(object):
+    def setupUi(self, ViewProfileToolboxesDialog):
+        ViewProfileToolboxesDialog.setObjectName("ViewProfileToolboxesDialog")
+        ViewProfileToolboxesDialog.resize(608, 177)
+        ViewProfileToolboxesDialog.setSizeGripEnabled(True)
+        self.gridLayout = QtWidgets.QGridLayout(ViewProfileToolboxesDialog)
+        self.gridLayout.setObjectName("gridLayout")
+        self.textLabel1 = QtWidgets.QLabel(parent=ViewProfileToolboxesDialog)
+        self.textLabel1.setAlignment(QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.textLabel1.setObjectName("textLabel1")
+        self.gridLayout.addWidget(self.textLabel1, 0, 0, 1, 2)
+        self.editGroup = QtWidgets.QGroupBox(parent=ViewProfileToolboxesDialog)
+        self.editGroup.setObjectName("editGroup")
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.editGroup)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.epltCheckBox = QtWidgets.QCheckBox(parent=self.editGroup)
+        self.epltCheckBox.setChecked(True)
+        self.epltCheckBox.setObjectName("epltCheckBox")
+        self.verticalLayout_2.addWidget(self.epltCheckBox)
+        self.eprtCheckBox = QtWidgets.QCheckBox(parent=self.editGroup)
+        self.eprtCheckBox.setChecked(True)
+        self.eprtCheckBox.setObjectName("eprtCheckBox")
+        self.verticalLayout_2.addWidget(self.eprtCheckBox)
+        self.ephtCheckBox = QtWidgets.QCheckBox(parent=self.editGroup)
+        self.ephtCheckBox.setChecked(True)
+        self.ephtCheckBox.setObjectName("ephtCheckBox")
+        self.verticalLayout_2.addWidget(self.ephtCheckBox)
+        self.gridLayout.addWidget(self.editGroup, 1, 0, 1, 1)
+        self.debugGroup = QtWidgets.QGroupBox(parent=ViewProfileToolboxesDialog)
+        self.debugGroup.setObjectName("debugGroup")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.debugGroup)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.dpltCheckBox = QtWidgets.QCheckBox(parent=self.debugGroup)
+        self.dpltCheckBox.setObjectName("dpltCheckBox")
+        self.verticalLayout.addWidget(self.dpltCheckBox)
+        self.dprtCheckBox = QtWidgets.QCheckBox(parent=self.debugGroup)
+        self.dprtCheckBox.setChecked(True)
+        self.dprtCheckBox.setObjectName("dprtCheckBox")
+        self.verticalLayout.addWidget(self.dprtCheckBox)
+        self.dphtCheckBox = QtWidgets.QCheckBox(parent=self.debugGroup)
+        self.dphtCheckBox.setChecked(True)
+        self.dphtCheckBox.setObjectName("dphtCheckBox")
+        self.verticalLayout.addWidget(self.dphtCheckBox)
+        self.gridLayout.addWidget(self.debugGroup, 1, 1, 1, 1)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=ViewProfileToolboxesDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout.addWidget(self.buttonBox, 2, 0, 1, 2)
+
+        self.retranslateUi(ViewProfileToolboxesDialog)
+        self.buttonBox.accepted.connect(ViewProfileToolboxesDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(ViewProfileToolboxesDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(ViewProfileToolboxesDialog)
+        ViewProfileToolboxesDialog.setTabOrder(self.epltCheckBox, self.eprtCheckBox)
+        ViewProfileToolboxesDialog.setTabOrder(self.eprtCheckBox, self.ephtCheckBox)
+        ViewProfileToolboxesDialog.setTabOrder(self.ephtCheckBox, self.dpltCheckBox)
+        ViewProfileToolboxesDialog.setTabOrder(self.dpltCheckBox, self.dprtCheckBox)
+        ViewProfileToolboxesDialog.setTabOrder(self.dprtCheckBox, self.dphtCheckBox)
+        ViewProfileToolboxesDialog.setTabOrder(self.dphtCheckBox, self.buttonBox)
+
+    def retranslateUi(self, ViewProfileToolboxesDialog):
+        _translate = QtCore.QCoreApplication.translate
+        ViewProfileToolboxesDialog.setWindowTitle(_translate("ViewProfileToolboxesDialog", "Configure View Profiles"))
+        self.textLabel1.setText(_translate("ViewProfileToolboxesDialog", "Select the windows, that should be visible, when the different profiles are active."))
+        self.editGroup.setTitle(_translate("ViewProfileToolboxesDialog", "&Edit Profile"))
+        self.epltCheckBox.setText(_translate("ViewProfileToolboxesDialog", "Left Toolbox"))
+        self.eprtCheckBox.setText(_translate("ViewProfileToolboxesDialog", "Right Toolbox"))
+        self.ephtCheckBox.setText(_translate("ViewProfileToolboxesDialog", "Horizontal Toolbox"))
+        self.debugGroup.setTitle(_translate("ViewProfileToolboxesDialog", "&Debug Profile"))
+        self.dpltCheckBox.setText(_translate("ViewProfileToolboxesDialog", "Left Toolbox"))
+        self.dprtCheckBox.setText(_translate("ViewProfileToolboxesDialog", "Right Toolbox"))
+        self.dphtCheckBox.setText(_translate("ViewProfileToolboxesDialog", "Horizontal Toolbox"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Project/Ui_AddDirectoryDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,88 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Project/AddDirectoryDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_AddDirectoryDialog(object):
+    def setupUi(self, AddDirectoryDialog):
+        AddDirectoryDialog.setObjectName("AddDirectoryDialog")
+        AddDirectoryDialog.resize(391, 141)
+        AddDirectoryDialog.setSizeGripEnabled(True)
+        self.gridLayout = QtWidgets.QGridLayout(AddDirectoryDialog)
+        self.gridLayout.setObjectName("gridLayout")
+        self.textLabel1 = QtWidgets.QLabel(parent=AddDirectoryDialog)
+        self.textLabel1.setObjectName("textLabel1")
+        self.gridLayout.addWidget(self.textLabel1, 0, 0, 1, 1)
+        self.filterComboBox = QtWidgets.QComboBox(parent=AddDirectoryDialog)
+        self.filterComboBox.setObjectName("filterComboBox")
+        self.gridLayout.addWidget(self.filterComboBox, 0, 1, 1, 1)
+        self.sourceDirLabel = QtWidgets.QLabel(parent=AddDirectoryDialog)
+        self.sourceDirLabel.setObjectName("sourceDirLabel")
+        self.gridLayout.addWidget(self.sourceDirLabel, 1, 0, 1, 1)
+        self.sourceDirPicker = EricPathPicker(parent=AddDirectoryDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.sourceDirPicker.sizePolicy().hasHeightForWidth())
+        self.sourceDirPicker.setSizePolicy(sizePolicy)
+        self.sourceDirPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.sourceDirPicker.setObjectName("sourceDirPicker")
+        self.gridLayout.addWidget(self.sourceDirPicker, 1, 1, 1, 1)
+        self.targetDirLabel = QtWidgets.QLabel(parent=AddDirectoryDialog)
+        self.targetDirLabel.setObjectName("targetDirLabel")
+        self.gridLayout.addWidget(self.targetDirLabel, 2, 0, 1, 1)
+        self.targetDirPicker = EricPathPicker(parent=AddDirectoryDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.targetDirPicker.sizePolicy().hasHeightForWidth())
+        self.targetDirPicker.setSizePolicy(sizePolicy)
+        self.targetDirPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.targetDirPicker.setObjectName("targetDirPicker")
+        self.gridLayout.addWidget(self.targetDirPicker, 2, 1, 1, 1)
+        self.recursiveCheckBox = QtWidgets.QCheckBox(parent=AddDirectoryDialog)
+        self.recursiveCheckBox.setObjectName("recursiveCheckBox")
+        self.gridLayout.addWidget(self.recursiveCheckBox, 3, 0, 1, 2)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=AddDirectoryDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout.addWidget(self.buttonBox, 4, 0, 1, 2)
+        self.textLabel1.setBuddy(self.filterComboBox)
+        self.sourceDirLabel.setBuddy(self.sourceDirPicker)
+        self.targetDirLabel.setBuddy(self.targetDirPicker)
+
+        self.retranslateUi(AddDirectoryDialog)
+        self.buttonBox.accepted.connect(AddDirectoryDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(AddDirectoryDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(AddDirectoryDialog)
+        AddDirectoryDialog.setTabOrder(self.filterComboBox, self.sourceDirPicker)
+        AddDirectoryDialog.setTabOrder(self.sourceDirPicker, self.targetDirPicker)
+        AddDirectoryDialog.setTabOrder(self.targetDirPicker, self.recursiveCheckBox)
+
+    def retranslateUi(self, AddDirectoryDialog):
+        _translate = QtCore.QCoreApplication.translate
+        AddDirectoryDialog.setWindowTitle(_translate("AddDirectoryDialog", "Add Directory"))
+        AddDirectoryDialog.setToolTip(_translate("AddDirectoryDialog", "Add a directory to the current project"))
+        AddDirectoryDialog.setWhatsThis(_translate("AddDirectoryDialog", "<b>Add Directory Dialog</b>\n"
+"<p>This dialog is used to add a directory to the current project.</p>"))
+        self.textLabel1.setText(_translate("AddDirectoryDialog", "&File Type:"))
+        self.sourceDirLabel.setText(_translate("AddDirectoryDialog", "&Source Directory:"))
+        self.sourceDirPicker.setToolTip(_translate("AddDirectoryDialog", "Enter the name of the directory to add"))
+        self.sourceDirPicker.setWhatsThis(_translate("AddDirectoryDialog", "<b>Source Directory</b>\n"
+"<p>Enter the name of the directory to add to the current project.\n"
+" You may select it with a dialog by pressing the button to the right.</p>"))
+        self.targetDirLabel.setText(_translate("AddDirectoryDialog", "&Target Directory:"))
+        self.targetDirPicker.setToolTip(_translate("AddDirectoryDialog", "Enter the target directory for the file"))
+        self.targetDirPicker.setWhatsThis(_translate("AddDirectoryDialog", "<b>Target Directory</b>\n"
+"<p>Enter the target directory. You may select it\n"
+" with a dialog by pressing the button to the right.</p>"))
+        self.recursiveCheckBox.setToolTip(_translate("AddDirectoryDialog", "Select, whether a recursive add should be performed"))
+        self.recursiveCheckBox.setText(_translate("AddDirectoryDialog", "&Recurse into subdirectories"))
+from eric7.EricWidgets.EricPathPicker import EricPathPicker
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Project/Ui_AddFileDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,83 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Project/AddFileDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_AddFileDialog(object):
+    def setupUi(self, AddFileDialog):
+        AddFileDialog.setObjectName("AddFileDialog")
+        AddFileDialog.resize(391, 114)
+        AddFileDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(AddFileDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.gridLayout = QtWidgets.QGridLayout()
+        self.gridLayout.setObjectName("gridLayout")
+        self.sourceFileLabel = QtWidgets.QLabel(parent=AddFileDialog)
+        self.sourceFileLabel.setObjectName("sourceFileLabel")
+        self.gridLayout.addWidget(self.sourceFileLabel, 0, 0, 1, 1)
+        self.sourceFilesPicker = EricPathPicker(parent=AddFileDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.sourceFilesPicker.sizePolicy().hasHeightForWidth())
+        self.sourceFilesPicker.setSizePolicy(sizePolicy)
+        self.sourceFilesPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.sourceFilesPicker.setObjectName("sourceFilesPicker")
+        self.gridLayout.addWidget(self.sourceFilesPicker, 0, 1, 1, 1)
+        self.targetDirLabel = QtWidgets.QLabel(parent=AddFileDialog)
+        self.targetDirLabel.setObjectName("targetDirLabel")
+        self.gridLayout.addWidget(self.targetDirLabel, 1, 0, 1, 1)
+        self.targetDirPicker = EricPathPicker(parent=AddFileDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.targetDirPicker.sizePolicy().hasHeightForWidth())
+        self.targetDirPicker.setSizePolicy(sizePolicy)
+        self.targetDirPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.targetDirPicker.setObjectName("targetDirPicker")
+        self.gridLayout.addWidget(self.targetDirPicker, 1, 1, 1, 1)
+        self.verticalLayout.addLayout(self.gridLayout)
+        self.sourcecodeCheckBox = QtWidgets.QCheckBox(parent=AddFileDialog)
+        self.sourcecodeCheckBox.setObjectName("sourcecodeCheckBox")
+        self.verticalLayout.addWidget(self.sourcecodeCheckBox)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=AddFileDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+        self.sourceFileLabel.setBuddy(self.sourceFilesPicker)
+        self.targetDirLabel.setBuddy(self.targetDirPicker)
+
+        self.retranslateUi(AddFileDialog)
+        self.buttonBox.accepted.connect(AddFileDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(AddFileDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(AddFileDialog)
+        AddFileDialog.setTabOrder(self.sourceFilesPicker, self.targetDirPicker)
+        AddFileDialog.setTabOrder(self.targetDirPicker, self.sourcecodeCheckBox)
+
+    def retranslateUi(self, AddFileDialog):
+        _translate = QtCore.QCoreApplication.translate
+        AddFileDialog.setWindowTitle(_translate("AddFileDialog", "Add Files"))
+        AddFileDialog.setWhatsThis(_translate("AddFileDialog", "<b>Add Files Dialog</b>\n"
+"<p>This dialog is used to add files to the current project.</p>"))
+        self.sourceFileLabel.setText(_translate("AddFileDialog", "&Source Files:"))
+        self.sourceFilesPicker.setToolTip(_translate("AddFileDialog", "Enter the name of files to add separated by \";\""))
+        self.sourceFilesPicker.setWhatsThis(_translate("AddFileDialog", "<b>Source Files</b>\n"
+"<p>Enter the name of files to add to the current project separated\n"
+"by \";\". You may select them with a dialog by pressing \n"
+"the button to the right.</p>"))
+        self.targetDirLabel.setText(_translate("AddFileDialog", "&Target Directory:"))
+        self.targetDirPicker.setToolTip(_translate("AddFileDialog", "Enter the target directory for the file"))
+        self.targetDirPicker.setWhatsThis(_translate("AddFileDialog", "<b>Target Directory</b>\n"
+"<p>Enter the target directory. You may select it\n"
+" with a dialog by pressing the button to the right.</p>"))
+        self.sourcecodeCheckBox.setToolTip(_translate("AddFileDialog", "Select, if the files should be added as sourcecode (overriding automatic detection)"))
+        self.sourcecodeCheckBox.setText(_translate("AddFileDialog", "Is source&code files"))
+        self.sourcecodeCheckBox.setShortcut(_translate("AddFileDialog", "Alt+C"))
+from eric7.EricWidgets.EricPathPicker import EricPathPicker
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Project/Ui_AddFoundFilesDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,41 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Project/AddFoundFilesDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_AddFoundFilesDialog(object):
+    def setupUi(self, AddFoundFilesDialog):
+        AddFoundFilesDialog.setObjectName("AddFoundFilesDialog")
+        AddFoundFilesDialog.resize(600, 480)
+        AddFoundFilesDialog.setSizeGripEnabled(True)
+        self.vboxlayout = QtWidgets.QVBoxLayout(AddFoundFilesDialog)
+        self.vboxlayout.setObjectName("vboxlayout")
+        self.fileList = QtWidgets.QListWidget(parent=AddFoundFilesDialog)
+        self.fileList.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarPolicy.ScrollBarAlwaysOn)
+        self.fileList.setAlternatingRowColors(True)
+        self.fileList.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.ExtendedSelection)
+        self.fileList.setSelectionBehavior(QtWidgets.QAbstractItemView.SelectionBehavior.SelectRows)
+        self.fileList.setObjectName("fileList")
+        self.vboxlayout.addWidget(self.fileList)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=AddFoundFilesDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel)
+        self.buttonBox.setObjectName("buttonBox")
+        self.vboxlayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(AddFoundFilesDialog)
+        self.buttonBox.rejected.connect(AddFoundFilesDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(AddFoundFilesDialog)
+
+    def retranslateUi(self, AddFoundFilesDialog):
+        _translate = QtCore.QCoreApplication.translate
+        AddFoundFilesDialog.setWindowTitle(_translate("AddFoundFilesDialog", "Add found files to project"))
+        AddFoundFilesDialog.setToolTip(_translate("AddFoundFilesDialog", "Adds the found files to the current project."))
+        self.fileList.setToolTip(_translate("AddFoundFilesDialog", "List of found files."))
+        self.fileList.setSortingEnabled(True)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Project/Ui_AddLanguageDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,174 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Project/AddLanguageDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_AddLanguageDialog(object):
+    def setupUi(self, AddLanguageDialog):
+        AddLanguageDialog.setObjectName("AddLanguageDialog")
+        AddLanguageDialog.resize(245, 77)
+        AddLanguageDialog.setSizeGripEnabled(True)
+        self.vboxlayout = QtWidgets.QVBoxLayout(AddLanguageDialog)
+        self.vboxlayout.setObjectName("vboxlayout")
+        self.hboxlayout = QtWidgets.QHBoxLayout()
+        self.hboxlayout.setObjectName("hboxlayout")
+        self.languageLabel = QtWidgets.QLabel(parent=AddLanguageDialog)
+        self.languageLabel.setObjectName("languageLabel")
+        self.hboxlayout.addWidget(self.languageLabel)
+        self.languageCombo = QtWidgets.QComboBox(parent=AddLanguageDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.languageCombo.sizePolicy().hasHeightForWidth())
+        self.languageCombo.setSizePolicy(sizePolicy)
+        self.languageCombo.setEditable(True)
+        self.languageCombo.setDuplicatesEnabled(False)
+        self.languageCombo.setObjectName("languageCombo")
+        self.languageCombo.addItem("")
+        self.languageCombo.addItem("")
+        self.languageCombo.addItem("")
+        self.languageCombo.addItem("")
+        self.languageCombo.addItem("")
+        self.languageCombo.addItem("")
+        self.languageCombo.addItem("")
+        self.languageCombo.addItem("")
+        self.languageCombo.addItem("")
+        self.languageCombo.addItem("")
+        self.languageCombo.addItem("")
+        self.languageCombo.addItem("")
+        self.languageCombo.addItem("")
+        self.languageCombo.addItem("")
+        self.languageCombo.addItem("")
+        self.languageCombo.addItem("")
+        self.languageCombo.addItem("")
+        self.languageCombo.addItem("")
+        self.languageCombo.addItem("")
+        self.languageCombo.addItem("")
+        self.languageCombo.addItem("")
+        self.languageCombo.addItem("")
+        self.languageCombo.addItem("")
+        self.languageCombo.addItem("")
+        self.languageCombo.addItem("")
+        self.languageCombo.addItem("")
+        self.languageCombo.addItem("")
+        self.languageCombo.addItem("")
+        self.languageCombo.addItem("")
+        self.languageCombo.addItem("")
+        self.languageCombo.addItem("")
+        self.languageCombo.addItem("")
+        self.languageCombo.addItem("")
+        self.languageCombo.addItem("")
+        self.languageCombo.addItem("")
+        self.languageCombo.addItem("")
+        self.languageCombo.addItem("")
+        self.languageCombo.addItem("")
+        self.languageCombo.addItem("")
+        self.languageCombo.addItem("")
+        self.languageCombo.addItem("")
+        self.languageCombo.addItem("")
+        self.languageCombo.addItem("")
+        self.languageCombo.addItem("")
+        self.languageCombo.addItem("")
+        self.languageCombo.addItem("")
+        self.languageCombo.addItem("")
+        self.languageCombo.addItem("")
+        self.languageCombo.addItem("")
+        self.languageCombo.addItem("")
+        self.languageCombo.addItem("")
+        self.languageCombo.addItem("")
+        self.languageCombo.addItem("")
+        self.languageCombo.addItem("")
+        self.languageCombo.addItem("")
+        self.languageCombo.addItem("")
+        self.languageCombo.addItem("")
+        self.languageCombo.addItem("")
+        self.languageCombo.addItem("")
+        self.hboxlayout.addWidget(self.languageCombo)
+        self.vboxlayout.addLayout(self.hboxlayout)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=AddLanguageDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.vboxlayout.addWidget(self.buttonBox)
+        self.languageLabel.setBuddy(self.languageCombo)
+
+        self.retranslateUi(AddLanguageDialog)
+        self.buttonBox.accepted.connect(AddLanguageDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(AddLanguageDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(AddLanguageDialog)
+
+    def retranslateUi(self, AddLanguageDialog):
+        _translate = QtCore.QCoreApplication.translate
+        AddLanguageDialog.setWindowTitle(_translate("AddLanguageDialog", "Add Language"))
+        AddLanguageDialog.setToolTip(_translate("AddLanguageDialog", "Add a language to the current project"))
+        AddLanguageDialog.setWhatsThis(_translate("AddLanguageDialog", "<b>Add Language Dialog</b>\n"
+"<p>This dialog is used to add a language to the current project.</p>"))
+        self.languageLabel.setText(_translate("AddLanguageDialog", "&Language:"))
+        self.languageCombo.setToolTip(_translate("AddLanguageDialog", "Select a language to add to the current project"))
+        self.languageCombo.setWhatsThis(_translate("AddLanguageDialog", "<b>Language</b>\n"
+"<p>Select a language to add to the current project.</p>"))
+        self.languageCombo.setItemText(0, _translate("AddLanguageDialog", "af"))
+        self.languageCombo.setItemText(1, _translate("AddLanguageDialog", "ar"))
+        self.languageCombo.setItemText(2, _translate("AddLanguageDialog", "bg"))
+        self.languageCombo.setItemText(3, _translate("AddLanguageDialog", "bo"))
+        self.languageCombo.setItemText(4, _translate("AddLanguageDialog", "br"))
+        self.languageCombo.setItemText(5, _translate("AddLanguageDialog", "bs"))
+        self.languageCombo.setItemText(6, _translate("AddLanguageDialog", "ca"))
+        self.languageCombo.setItemText(7, _translate("AddLanguageDialog", "cs"))
+        self.languageCombo.setItemText(8, _translate("AddLanguageDialog", "cy"))
+        self.languageCombo.setItemText(9, _translate("AddLanguageDialog", "da"))
+        self.languageCombo.setItemText(10, _translate("AddLanguageDialog", "de"))
+        self.languageCombo.setItemText(11, _translate("AddLanguageDialog", "el"))
+        self.languageCombo.setItemText(12, _translate("AddLanguageDialog", "en"))
+        self.languageCombo.setItemText(13, _translate("AddLanguageDialog", "en_GB"))
+        self.languageCombo.setItemText(14, _translate("AddLanguageDialog", "en_US"))
+        self.languageCombo.setItemText(15, _translate("AddLanguageDialog", "eo"))
+        self.languageCombo.setItemText(16, _translate("AddLanguageDialog", "es"))
+        self.languageCombo.setItemText(17, _translate("AddLanguageDialog", "et"))
+        self.languageCombo.setItemText(18, _translate("AddLanguageDialog", "eu"))
+        self.languageCombo.setItemText(19, _translate("AddLanguageDialog", "fi"))
+        self.languageCombo.setItemText(20, _translate("AddLanguageDialog", "fr"))
+        self.languageCombo.setItemText(21, _translate("AddLanguageDialog", "ga"))
+        self.languageCombo.setItemText(22, _translate("AddLanguageDialog", "gl"))
+        self.languageCombo.setItemText(23, _translate("AddLanguageDialog", "gu"))
+        self.languageCombo.setItemText(24, _translate("AddLanguageDialog", "he"))
+        self.languageCombo.setItemText(25, _translate("AddLanguageDialog", "hi"))
+        self.languageCombo.setItemText(26, _translate("AddLanguageDialog", "hu"))
+        self.languageCombo.setItemText(27, _translate("AddLanguageDialog", "id"))
+        self.languageCombo.setItemText(28, _translate("AddLanguageDialog", "is"))
+        self.languageCombo.setItemText(29, _translate("AddLanguageDialog", "it"))
+        self.languageCombo.setItemText(30, _translate("AddLanguageDialog", "ja"))
+        self.languageCombo.setItemText(31, _translate("AddLanguageDialog", "km"))
+        self.languageCombo.setItemText(32, _translate("AddLanguageDialog", "ko"))
+        self.languageCombo.setItemText(33, _translate("AddLanguageDialog", "lt"))
+        self.languageCombo.setItemText(34, _translate("AddLanguageDialog", "lv"))
+        self.languageCombo.setItemText(35, _translate("AddLanguageDialog", "mi"))
+        self.languageCombo.setItemText(36, _translate("AddLanguageDialog", "mk"))
+        self.languageCombo.setItemText(37, _translate("AddLanguageDialog", "mr"))
+        self.languageCombo.setItemText(38, _translate("AddLanguageDialog", "nl"))
+        self.languageCombo.setItemText(39, _translate("AddLanguageDialog", "no"))
+        self.languageCombo.setItemText(40, _translate("AddLanguageDialog", "no_NY"))
+        self.languageCombo.setItemText(41, _translate("AddLanguageDialog", "oc"))
+        self.languageCombo.setItemText(42, _translate("AddLanguageDialog", "pl"))
+        self.languageCombo.setItemText(43, _translate("AddLanguageDialog", "pt"))
+        self.languageCombo.setItemText(44, _translate("AddLanguageDialog", "pt_BR"))
+        self.languageCombo.setItemText(45, _translate("AddLanguageDialog", "ro"))
+        self.languageCombo.setItemText(46, _translate("AddLanguageDialog", "ru"))
+        self.languageCombo.setItemText(47, _translate("AddLanguageDialog", "sk"))
+        self.languageCombo.setItemText(48, _translate("AddLanguageDialog", "sl"))
+        self.languageCombo.setItemText(49, _translate("AddLanguageDialog", "sr"))
+        self.languageCombo.setItemText(50, _translate("AddLanguageDialog", "sv"))
+        self.languageCombo.setItemText(51, _translate("AddLanguageDialog", "ta"))
+        self.languageCombo.setItemText(52, _translate("AddLanguageDialog", "th"))
+        self.languageCombo.setItemText(53, _translate("AddLanguageDialog", "tr"))
+        self.languageCombo.setItemText(54, _translate("AddLanguageDialog", "uk"))
+        self.languageCombo.setItemText(55, _translate("AddLanguageDialog", "vn"))
+        self.languageCombo.setItemText(56, _translate("AddLanguageDialog", "wa"))
+        self.languageCombo.setItemText(57, _translate("AddLanguageDialog", "zh_CN.GB2312"))
+        self.languageCombo.setItemText(58, _translate("AddLanguageDialog", "zh_TW.Big5"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Project/Ui_CreateDialogCodeDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,82 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Project/CreateDialogCodeDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_CreateDialogCodeDialog(object):
+    def setupUi(self, CreateDialogCodeDialog):
+        CreateDialogCodeDialog.setObjectName("CreateDialogCodeDialog")
+        CreateDialogCodeDialog.resize(584, 466)
+        CreateDialogCodeDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(CreateDialogCodeDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.gridLayout = QtWidgets.QGridLayout()
+        self.gridLayout.setObjectName("gridLayout")
+        self.label = QtWidgets.QLabel(parent=CreateDialogCodeDialog)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
+        self.classNameCombo = QtWidgets.QComboBox(parent=CreateDialogCodeDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.classNameCombo.sizePolicy().hasHeightForWidth())
+        self.classNameCombo.setSizePolicy(sizePolicy)
+        self.classNameCombo.setObjectName("classNameCombo")
+        self.gridLayout.addWidget(self.classNameCombo, 0, 1, 1, 1)
+        self.newButton = QtWidgets.QPushButton(parent=CreateDialogCodeDialog)
+        self.newButton.setObjectName("newButton")
+        self.gridLayout.addWidget(self.newButton, 0, 2, 1, 1)
+        self.label_2 = QtWidgets.QLabel(parent=CreateDialogCodeDialog)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 1, 0, 1, 1)
+        self.filenameEdit = QtWidgets.QLineEdit(parent=CreateDialogCodeDialog)
+        self.filenameEdit.setReadOnly(True)
+        self.filenameEdit.setObjectName("filenameEdit")
+        self.gridLayout.addWidget(self.filenameEdit, 1, 1, 1, 2)
+        self.label_3 = QtWidgets.QLabel(parent=CreateDialogCodeDialog)
+        self.label_3.setObjectName("label_3")
+        self.gridLayout.addWidget(self.label_3, 2, 0, 1, 1)
+        self.filterEdit = QtWidgets.QLineEdit(parent=CreateDialogCodeDialog)
+        self.filterEdit.setClearButtonEnabled(True)
+        self.filterEdit.setObjectName("filterEdit")
+        self.gridLayout.addWidget(self.filterEdit, 2, 1, 1, 2)
+        self.verticalLayout.addLayout(self.gridLayout)
+        self.slotsView = QtWidgets.QTreeView(parent=CreateDialogCodeDialog)
+        self.slotsView.setSortingEnabled(True)
+        self.slotsView.setObjectName("slotsView")
+        self.verticalLayout.addWidget(self.slotsView)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=CreateDialogCodeDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+        self.label.setBuddy(self.classNameCombo)
+        self.label_2.setBuddy(self.filenameEdit)
+        self.label_3.setBuddy(self.filterEdit)
+
+        self.retranslateUi(CreateDialogCodeDialog)
+        self.buttonBox.rejected.connect(CreateDialogCodeDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(CreateDialogCodeDialog)
+        CreateDialogCodeDialog.setTabOrder(self.classNameCombo, self.newButton)
+        CreateDialogCodeDialog.setTabOrder(self.newButton, self.filenameEdit)
+        CreateDialogCodeDialog.setTabOrder(self.filenameEdit, self.filterEdit)
+        CreateDialogCodeDialog.setTabOrder(self.filterEdit, self.slotsView)
+        CreateDialogCodeDialog.setTabOrder(self.slotsView, self.buttonBox)
+
+    def retranslateUi(self, CreateDialogCodeDialog):
+        _translate = QtCore.QCoreApplication.translate
+        CreateDialogCodeDialog.setWindowTitle(_translate("CreateDialogCodeDialog", "Forms code generator"))
+        self.label.setText(_translate("CreateDialogCodeDialog", "&Classname:"))
+        self.classNameCombo.setToolTip(_translate("CreateDialogCodeDialog", "Select the class that should get the forms code"))
+        self.newButton.setToolTip(_translate("CreateDialogCodeDialog", "Press to generate a new forms class"))
+        self.newButton.setText(_translate("CreateDialogCodeDialog", "&New..."))
+        self.label_2.setText(_translate("CreateDialogCodeDialog", "&Filename:"))
+        self.filenameEdit.setToolTip(_translate("CreateDialogCodeDialog", "Displays the name of the file containing the code"))
+        self.label_3.setText(_translate("CreateDialogCodeDialog", "Filter &with:"))
+        self.filterEdit.setToolTip(_translate("CreateDialogCodeDialog", "Enter a regular expression to filter the list below"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Project/Ui_DebuggerPropertiesDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,189 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Project/DebuggerPropertiesDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_DebuggerPropertiesDialog(object):
+    def setupUi(self, DebuggerPropertiesDialog):
+        DebuggerPropertiesDialog.setObjectName("DebuggerPropertiesDialog")
+        DebuggerPropertiesDialog.resize(592, 671)
+        DebuggerPropertiesDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(DebuggerPropertiesDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.groupBox = QtWidgets.QGroupBox(parent=DebuggerPropertiesDialog)
+        self.groupBox.setObjectName("groupBox")
+        self.horizontalLayout = QtWidgets.QHBoxLayout(self.groupBox)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.debugClientPicker = EricComboPathPicker(parent=self.groupBox)
+        self.debugClientPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.debugClientPicker.setObjectName("debugClientPicker")
+        self.horizontalLayout.addWidget(self.debugClientPicker)
+        self.debugClientClearHistoryButton = QtWidgets.QToolButton(parent=self.groupBox)
+        self.debugClientClearHistoryButton.setObjectName("debugClientClearHistoryButton")
+        self.horizontalLayout.addWidget(self.debugClientClearHistoryButton)
+        self.verticalLayout.addWidget(self.groupBox)
+        self.venvGroupBox = QtWidgets.QGroupBox(parent=DebuggerPropertiesDialog)
+        self.venvGroupBox.setObjectName("venvGroupBox")
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.venvGroupBox)
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.venvComboBox = QtWidgets.QComboBox(parent=self.venvGroupBox)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.venvComboBox.sizePolicy().hasHeightForWidth())
+        self.venvComboBox.setSizePolicy(sizePolicy)
+        self.venvComboBox.setObjectName("venvComboBox")
+        self.horizontalLayout_2.addWidget(self.venvComboBox)
+        self.verticalLayout.addWidget(self.venvGroupBox)
+        self.remoteDebuggerGroup = QtWidgets.QGroupBox(parent=DebuggerPropertiesDialog)
+        self.remoteDebuggerGroup.setCheckable(True)
+        self.remoteDebuggerGroup.setObjectName("remoteDebuggerGroup")
+        self.gridLayout = QtWidgets.QGridLayout(self.remoteDebuggerGroup)
+        self.gridLayout.setObjectName("gridLayout")
+        self.hostLabel = QtWidgets.QLabel(parent=self.remoteDebuggerGroup)
+        self.hostLabel.setObjectName("hostLabel")
+        self.gridLayout.addWidget(self.hostLabel, 0, 0, 1, 1)
+        self.remoteHostEdit = QtWidgets.QLineEdit(parent=self.remoteDebuggerGroup)
+        self.remoteHostEdit.setObjectName("remoteHostEdit")
+        self.gridLayout.addWidget(self.remoteHostEdit, 0, 1, 1, 1)
+        self.execLabel = QtWidgets.QLabel(parent=self.remoteDebuggerGroup)
+        self.execLabel.setObjectName("execLabel")
+        self.gridLayout.addWidget(self.execLabel, 1, 0, 1, 1)
+        self.remoteCommandEdit = QtWidgets.QLineEdit(parent=self.remoteDebuggerGroup)
+        self.remoteCommandEdit.setObjectName("remoteCommandEdit")
+        self.gridLayout.addWidget(self.remoteCommandEdit, 1, 1, 1, 1)
+        self.label = QtWidgets.QLabel(parent=self.remoteDebuggerGroup)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 2, 0, 1, 1)
+        self.remoteDebugClientEdit = QtWidgets.QLineEdit(parent=self.remoteDebuggerGroup)
+        self.remoteDebugClientEdit.setClearButtonEnabled(True)
+        self.remoteDebugClientEdit.setObjectName("remoteDebugClientEdit")
+        self.gridLayout.addWidget(self.remoteDebugClientEdit, 2, 1, 1, 1)
+        self.pathTranslationGroup = QtWidgets.QGroupBox(parent=self.remoteDebuggerGroup)
+        self.pathTranslationGroup.setCheckable(True)
+        self.pathTranslationGroup.setObjectName("pathTranslationGroup")
+        self.gridlayout = QtWidgets.QGridLayout(self.pathTranslationGroup)
+        self.gridlayout.setObjectName("gridlayout")
+        self.textLabel2_9 = QtWidgets.QLabel(parent=self.pathTranslationGroup)
+        self.textLabel2_9.setObjectName("textLabel2_9")
+        self.gridlayout.addWidget(self.textLabel2_9, 1, 0, 1, 1)
+        self.translationLocalEdit = QtWidgets.QLineEdit(parent=self.pathTranslationGroup)
+        self.translationLocalEdit.setObjectName("translationLocalEdit")
+        self.gridlayout.addWidget(self.translationLocalEdit, 1, 1, 1, 1)
+        self.translationRemoteEdit = QtWidgets.QLineEdit(parent=self.pathTranslationGroup)
+        self.translationRemoteEdit.setObjectName("translationRemoteEdit")
+        self.gridlayout.addWidget(self.translationRemoteEdit, 0, 1, 1, 1)
+        self.textLabel1_18 = QtWidgets.QLabel(parent=self.pathTranslationGroup)
+        self.textLabel1_18.setObjectName("textLabel1_18")
+        self.gridlayout.addWidget(self.textLabel1_18, 0, 0, 1, 1)
+        self.gridLayout.addWidget(self.pathTranslationGroup, 3, 0, 1, 2)
+        self.verticalLayout.addWidget(self.remoteDebuggerGroup)
+        self.consoleDebuggerGroup = QtWidgets.QGroupBox(parent=DebuggerPropertiesDialog)
+        self.consoleDebuggerGroup.setCheckable(True)
+        self.consoleDebuggerGroup.setObjectName("consoleDebuggerGroup")
+        self._3 = QtWidgets.QHBoxLayout(self.consoleDebuggerGroup)
+        self._3.setObjectName("_3")
+        self.textLabel1_17 = QtWidgets.QLabel(parent=self.consoleDebuggerGroup)
+        self.textLabel1_17.setObjectName("textLabel1_17")
+        self._3.addWidget(self.textLabel1_17)
+        self.consoleCommandEdit = QtWidgets.QLineEdit(parent=self.consoleDebuggerGroup)
+        self.consoleCommandEdit.setObjectName("consoleCommandEdit")
+        self._3.addWidget(self.consoleCommandEdit)
+        self.verticalLayout.addWidget(self.consoleDebuggerGroup)
+        self.groupBox_3 = QtWidgets.QGroupBox(parent=DebuggerPropertiesDialog)
+        self.groupBox_3.setObjectName("groupBox_3")
+        self._6 = QtWidgets.QGridLayout(self.groupBox_3)
+        self._6.setObjectName("_6")
+        self.debugEnvironmentOverrideCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_3)
+        self.debugEnvironmentOverrideCheckBox.setObjectName("debugEnvironmentOverrideCheckBox")
+        self._6.addWidget(self.debugEnvironmentOverrideCheckBox, 0, 0, 1, 2)
+        self.debugEnvironmentEdit = QtWidgets.QLineEdit(parent=self.groupBox_3)
+        self.debugEnvironmentEdit.setObjectName("debugEnvironmentEdit")
+        self._6.addWidget(self.debugEnvironmentEdit, 1, 1, 1, 1)
+        self.textLabel1_16 = QtWidgets.QLabel(parent=self.groupBox_3)
+        self.textLabel1_16.setObjectName("textLabel1_16")
+        self._6.addWidget(self.textLabel1_16, 1, 0, 1, 1)
+        self.verticalLayout.addWidget(self.groupBox_3)
+        self.redirectCheckBox = QtWidgets.QCheckBox(parent=DebuggerPropertiesDialog)
+        self.redirectCheckBox.setObjectName("redirectCheckBox")
+        self.verticalLayout.addWidget(self.redirectCheckBox)
+        self.noEncodingCheckBox = QtWidgets.QCheckBox(parent=DebuggerPropertiesDialog)
+        self.noEncodingCheckBox.setObjectName("noEncodingCheckBox")
+        self.verticalLayout.addWidget(self.noEncodingCheckBox)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=DebuggerPropertiesDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(DebuggerPropertiesDialog)
+        self.buttonBox.accepted.connect(DebuggerPropertiesDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(DebuggerPropertiesDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(DebuggerPropertiesDialog)
+        DebuggerPropertiesDialog.setTabOrder(self.debugClientPicker, self.debugClientClearHistoryButton)
+        DebuggerPropertiesDialog.setTabOrder(self.debugClientClearHistoryButton, self.venvComboBox)
+        DebuggerPropertiesDialog.setTabOrder(self.venvComboBox, self.remoteDebuggerGroup)
+        DebuggerPropertiesDialog.setTabOrder(self.remoteDebuggerGroup, self.remoteHostEdit)
+        DebuggerPropertiesDialog.setTabOrder(self.remoteHostEdit, self.remoteCommandEdit)
+        DebuggerPropertiesDialog.setTabOrder(self.remoteCommandEdit, self.remoteDebugClientEdit)
+        DebuggerPropertiesDialog.setTabOrder(self.remoteDebugClientEdit, self.pathTranslationGroup)
+        DebuggerPropertiesDialog.setTabOrder(self.pathTranslationGroup, self.translationRemoteEdit)
+        DebuggerPropertiesDialog.setTabOrder(self.translationRemoteEdit, self.translationLocalEdit)
+        DebuggerPropertiesDialog.setTabOrder(self.translationLocalEdit, self.consoleDebuggerGroup)
+        DebuggerPropertiesDialog.setTabOrder(self.consoleDebuggerGroup, self.consoleCommandEdit)
+        DebuggerPropertiesDialog.setTabOrder(self.consoleCommandEdit, self.debugEnvironmentOverrideCheckBox)
+        DebuggerPropertiesDialog.setTabOrder(self.debugEnvironmentOverrideCheckBox, self.debugEnvironmentEdit)
+        DebuggerPropertiesDialog.setTabOrder(self.debugEnvironmentEdit, self.redirectCheckBox)
+        DebuggerPropertiesDialog.setTabOrder(self.redirectCheckBox, self.noEncodingCheckBox)
+
+    def retranslateUi(self, DebuggerPropertiesDialog):
+        _translate = QtCore.QCoreApplication.translate
+        DebuggerPropertiesDialog.setWindowTitle(_translate("DebuggerPropertiesDialog", "Debugger Properties"))
+        self.groupBox.setTitle(_translate("DebuggerPropertiesDialog", "Debug Client"))
+        self.debugClientPicker.setToolTip(_translate("DebuggerPropertiesDialog", "Enter the path of the Debug Client to be used.  Leave empty to use the default."))
+        self.debugClientClearHistoryButton.setToolTip(_translate("DebuggerPropertiesDialog", "Press to clear the history of entered debug clients"))
+        self.venvGroupBox.setTitle(_translate("DebuggerPropertiesDialog", "Virtual Environment"))
+        self.venvComboBox.setToolTip(_translate("DebuggerPropertiesDialog", "Select the virtual environment to be used"))
+        self.remoteDebuggerGroup.setToolTip(_translate("DebuggerPropertiesDialog", "Select, if the debugger should be run remotely"))
+        self.remoteDebuggerGroup.setTitle(_translate("DebuggerPropertiesDialog", "Remote Debugger"))
+        self.hostLabel.setText(_translate("DebuggerPropertiesDialog", "Remote Host:"))
+        self.remoteHostEdit.setToolTip(_translate("DebuggerPropertiesDialog", "Enter the hostname of the remote machine."))
+        self.remoteHostEdit.setWhatsThis(_translate("DebuggerPropertiesDialog", "<b>Remote Host</b>\n"
+"<p>Enter the hostname of the remote machine.</p>"))
+        self.execLabel.setText(_translate("DebuggerPropertiesDialog", "Remote Execution:"))
+        self.remoteCommandEdit.setToolTip(_translate("DebuggerPropertiesDialog", "Enter the remote execution command."))
+        self.remoteCommandEdit.setWhatsThis(_translate("DebuggerPropertiesDialog", "<b>Remote Execution</b>\n"
+"<p>Enter the remote execution command (e.g. ssh). This command is used to log into the remote host and execute the remote debugger.</p>"))
+        self.label.setText(_translate("DebuggerPropertiesDialog", "Remote Debug Client:"))
+        self.remoteDebugClientEdit.setToolTip(_translate("DebuggerPropertiesDialog", "Enter the absolute path of the debug client of the remote host."))
+        self.pathTranslationGroup.setToolTip(_translate("DebuggerPropertiesDialog", "Select, if path translation for remote debugging should be done"))
+        self.pathTranslationGroup.setTitle(_translate("DebuggerPropertiesDialog", "Perform Path Translation"))
+        self.textLabel2_9.setText(_translate("DebuggerPropertiesDialog", "Local Path:"))
+        self.translationLocalEdit.setToolTip(_translate("DebuggerPropertiesDialog", "Enter the local path"))
+        self.translationRemoteEdit.setToolTip(_translate("DebuggerPropertiesDialog", "Enter the remote path"))
+        self.textLabel1_18.setText(_translate("DebuggerPropertiesDialog", "Remote Path:"))
+        self.consoleDebuggerGroup.setToolTip(_translate("DebuggerPropertiesDialog", "Select, if the debugger should be executed in a console window"))
+        self.consoleDebuggerGroup.setTitle(_translate("DebuggerPropertiesDialog", "Console Debugger"))
+        self.textLabel1_17.setText(_translate("DebuggerPropertiesDialog", "Console Command:"))
+        self.consoleCommandEdit.setToolTip(_translate("DebuggerPropertiesDialog", "Enter the console command (e.g. xterm -e)"))
+        self.consoleCommandEdit.setWhatsThis(_translate("DebuggerPropertiesDialog", "<b>Console Command</b>\n"
+"<p>Enter the console command (e.g. xterm -e). This command is used to open a command window for the debugger.</p>"))
+        self.groupBox_3.setTitle(_translate("DebuggerPropertiesDialog", "Environment Variables for Debug Client"))
+        self.debugEnvironmentOverrideCheckBox.setToolTip(_translate("DebuggerPropertiesDialog", "Select, if the environment of the debug client should be replaced"))
+        self.debugEnvironmentOverrideCheckBox.setText(_translate("DebuggerPropertiesDialog", "Replace Environment Variables"))
+        self.debugEnvironmentEdit.setToolTip(_translate("DebuggerPropertiesDialog", "Enter the environment variables to be set."))
+        self.debugEnvironmentEdit.setWhatsThis(_translate("DebuggerPropertiesDialog", "<b>Environment Variables</b>\n"
+"<p>Enter the environment variables to be set for the debugger. The individual settings must be separated by whitespace and be given in the form \'var=value\'.</p>\n"
+"<p>Example: var1=1 var2=\"hello world\"</p>"))
+        self.textLabel1_16.setText(_translate("DebuggerPropertiesDialog", "Environment Variables:"))
+        self.redirectCheckBox.setToolTip(_translate("DebuggerPropertiesDialog", "Select to redirect stdin, stdout and stderr of the program being debugged to the eric IDE"))
+        self.redirectCheckBox.setText(_translate("DebuggerPropertiesDialog", "Redirect stdin/stdout/stderr"))
+        self.noEncodingCheckBox.setToolTip(_translate("DebuggerPropertiesDialog", "Select to not set the debug client encoding"))
+        self.noEncodingCheckBox.setText(_translate("DebuggerPropertiesDialog", "Don\'t set the encoding of the debug client"))
+from eric7.EricWidgets.EricPathPicker import EricComboPathPicker
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Project/Ui_FiletypeAssociationDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,76 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Project/FiletypeAssociationDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_FiletypeAssociationDialog(object):
+    def setupUi(self, FiletypeAssociationDialog):
+        FiletypeAssociationDialog.setObjectName("FiletypeAssociationDialog")
+        FiletypeAssociationDialog.resize(600, 573)
+        FiletypeAssociationDialog.setSizeGripEnabled(True)
+        self._2 = QtWidgets.QVBoxLayout(FiletypeAssociationDialog)
+        self._2.setObjectName("_2")
+        self.filetypeAssociationList = QtWidgets.QTreeWidget(parent=FiletypeAssociationDialog)
+        self.filetypeAssociationList.setAlternatingRowColors(True)
+        self.filetypeAssociationList.setRootIsDecorated(False)
+        self.filetypeAssociationList.setItemsExpandable(False)
+        self.filetypeAssociationList.setObjectName("filetypeAssociationList")
+        self._2.addWidget(self.filetypeAssociationList)
+        self._3 = QtWidgets.QGridLayout()
+        self._3.setObjectName("_3")
+        self.deleteAssociationButton = QtWidgets.QPushButton(parent=FiletypeAssociationDialog)
+        self.deleteAssociationButton.setEnabled(False)
+        self.deleteAssociationButton.setObjectName("deleteAssociationButton")
+        self._3.addWidget(self.deleteAssociationButton, 1, 2, 1, 1)
+        self.filetypeCombo = QtWidgets.QComboBox(parent=FiletypeAssociationDialog)
+        self.filetypeCombo.setObjectName("filetypeCombo")
+        self._3.addWidget(self.filetypeCombo, 1, 1, 1, 1)
+        self.textLabel3_3 = QtWidgets.QLabel(parent=FiletypeAssociationDialog)
+        self.textLabel3_3.setObjectName("textLabel3_3")
+        self._3.addWidget(self.textLabel3_3, 1, 0, 1, 1)
+        self.filePatternEdit = QtWidgets.QLineEdit(parent=FiletypeAssociationDialog)
+        self.filePatternEdit.setObjectName("filePatternEdit")
+        self._3.addWidget(self.filePatternEdit, 0, 1, 1, 1)
+        self.textLabel2_6 = QtWidgets.QLabel(parent=FiletypeAssociationDialog)
+        self.textLabel2_6.setObjectName("textLabel2_6")
+        self._3.addWidget(self.textLabel2_6, 0, 0, 1, 1)
+        self.addAssociationButton = QtWidgets.QPushButton(parent=FiletypeAssociationDialog)
+        self.addAssociationButton.setEnabled(False)
+        self.addAssociationButton.setObjectName("addAssociationButton")
+        self._3.addWidget(self.addAssociationButton, 0, 2, 1, 1)
+        self._2.addLayout(self._3)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=FiletypeAssociationDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self._2.addWidget(self.buttonBox)
+
+        self.retranslateUi(FiletypeAssociationDialog)
+        self.buttonBox.accepted.connect(FiletypeAssociationDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(FiletypeAssociationDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(FiletypeAssociationDialog)
+        FiletypeAssociationDialog.setTabOrder(self.filetypeAssociationList, self.filePatternEdit)
+        FiletypeAssociationDialog.setTabOrder(self.filePatternEdit, self.filetypeCombo)
+        FiletypeAssociationDialog.setTabOrder(self.filetypeCombo, self.addAssociationButton)
+        FiletypeAssociationDialog.setTabOrder(self.addAssociationButton, self.deleteAssociationButton)
+
+    def retranslateUi(self, FiletypeAssociationDialog):
+        _translate = QtCore.QCoreApplication.translate
+        FiletypeAssociationDialog.setWindowTitle(_translate("FiletypeAssociationDialog", "Filetype Associations"))
+        self.filetypeAssociationList.setSortingEnabled(True)
+        self.filetypeAssociationList.headerItem().setText(0, _translate("FiletypeAssociationDialog", "Filename Pattern"))
+        self.filetypeAssociationList.headerItem().setText(1, _translate("FiletypeAssociationDialog", "Filetype"))
+        self.deleteAssociationButton.setToolTip(_translate("FiletypeAssociationDialog", "Press to delete the selected association"))
+        self.deleteAssociationButton.setText(_translate("FiletypeAssociationDialog", "Delete"))
+        self.filetypeCombo.setToolTip(_translate("FiletypeAssociationDialog", "Select the filetype to associate"))
+        self.textLabel3_3.setText(_translate("FiletypeAssociationDialog", "Filetype:"))
+        self.filePatternEdit.setToolTip(_translate("FiletypeAssociationDialog", "Enter the filename pattern to be associated"))
+        self.textLabel2_6.setText(_translate("FiletypeAssociationDialog", "Filename Pattern:"))
+        self.addAssociationButton.setToolTip(_translate("FiletypeAssociationDialog", "Press to add or change the entered association"))
+        self.addAssociationButton.setText(_translate("FiletypeAssociationDialog", "Add/Change"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Project/Ui_LexerAssociationDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,86 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Project/LexerAssociationDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_LexerAssociationDialog(object):
+    def setupUi(self, LexerAssociationDialog):
+        LexerAssociationDialog.setObjectName("LexerAssociationDialog")
+        LexerAssociationDialog.resize(460, 418)
+        LexerAssociationDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(LexerAssociationDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.editorLexerList = QtWidgets.QTreeWidget(parent=LexerAssociationDialog)
+        self.editorLexerList.setAlternatingRowColors(True)
+        self.editorLexerList.setRootIsDecorated(False)
+        self.editorLexerList.setObjectName("editorLexerList")
+        self.verticalLayout.addWidget(self.editorLexerList)
+        self.gridLayout = QtWidgets.QGridLayout()
+        self.gridLayout.setObjectName("gridLayout")
+        self.textLabel2_6 = QtWidgets.QLabel(parent=LexerAssociationDialog)
+        self.textLabel2_6.setObjectName("textLabel2_6")
+        self.gridLayout.addWidget(self.textLabel2_6, 0, 0, 1, 1)
+        self.editorFileExtEdit = QtWidgets.QLineEdit(parent=LexerAssociationDialog)
+        self.editorFileExtEdit.setObjectName("editorFileExtEdit")
+        self.gridLayout.addWidget(self.editorFileExtEdit, 0, 1, 1, 1)
+        self.addLexerButton = QtWidgets.QPushButton(parent=LexerAssociationDialog)
+        self.addLexerButton.setObjectName("addLexerButton")
+        self.gridLayout.addWidget(self.addLexerButton, 0, 2, 1, 1)
+        self.textLabel3_3 = QtWidgets.QLabel(parent=LexerAssociationDialog)
+        self.textLabel3_3.setObjectName("textLabel3_3")
+        self.gridLayout.addWidget(self.textLabel3_3, 1, 0, 1, 1)
+        self.editorLexerCombo = QtWidgets.QComboBox(parent=LexerAssociationDialog)
+        self.editorLexerCombo.setObjectName("editorLexerCombo")
+        self.gridLayout.addWidget(self.editorLexerCombo, 1, 1, 1, 1)
+        self.deleteLexerButton = QtWidgets.QPushButton(parent=LexerAssociationDialog)
+        self.deleteLexerButton.setObjectName("deleteLexerButton")
+        self.gridLayout.addWidget(self.deleteLexerButton, 1, 2, 1, 1)
+        self.pygmentsLabel = QtWidgets.QLabel(parent=LexerAssociationDialog)
+        self.pygmentsLabel.setObjectName("pygmentsLabel")
+        self.gridLayout.addWidget(self.pygmentsLabel, 2, 0, 1, 1)
+        self.pygmentsLexerCombo = QtWidgets.QComboBox(parent=LexerAssociationDialog)
+        self.pygmentsLexerCombo.setObjectName("pygmentsLexerCombo")
+        self.gridLayout.addWidget(self.pygmentsLexerCombo, 2, 1, 1, 1)
+        self.verticalLayout.addLayout(self.gridLayout)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=LexerAssociationDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+        self.textLabel2_6.setBuddy(self.editorFileExtEdit)
+        self.textLabel3_3.setBuddy(self.editorLexerCombo)
+        self.pygmentsLabel.setBuddy(self.pygmentsLexerCombo)
+
+        self.retranslateUi(LexerAssociationDialog)
+        self.buttonBox.accepted.connect(LexerAssociationDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(LexerAssociationDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(LexerAssociationDialog)
+        LexerAssociationDialog.setTabOrder(self.editorLexerList, self.editorFileExtEdit)
+        LexerAssociationDialog.setTabOrder(self.editorFileExtEdit, self.editorLexerCombo)
+        LexerAssociationDialog.setTabOrder(self.editorLexerCombo, self.pygmentsLexerCombo)
+        LexerAssociationDialog.setTabOrder(self.pygmentsLexerCombo, self.addLexerButton)
+        LexerAssociationDialog.setTabOrder(self.addLexerButton, self.deleteLexerButton)
+        LexerAssociationDialog.setTabOrder(self.deleteLexerButton, self.buttonBox)
+
+    def retranslateUi(self, LexerAssociationDialog):
+        _translate = QtCore.QCoreApplication.translate
+        LexerAssociationDialog.setWindowTitle(_translate("LexerAssociationDialog", "Project Lexer Associations"))
+        self.editorLexerList.setSortingEnabled(True)
+        self.editorLexerList.headerItem().setText(0, _translate("LexerAssociationDialog", "Filename Pattern"))
+        self.editorLexerList.headerItem().setText(1, _translate("LexerAssociationDialog", "Lexer Language"))
+        self.textLabel2_6.setText(_translate("LexerAssociationDialog", "Filename &Pattern:"))
+        self.editorFileExtEdit.setToolTip(_translate("LexerAssociationDialog", "Enter the filename pattern to be associated"))
+        self.addLexerButton.setToolTip(_translate("LexerAssociationDialog", "Press to add or change the entered association"))
+        self.addLexerButton.setText(_translate("LexerAssociationDialog", "Add/&Change"))
+        self.textLabel3_3.setText(_translate("LexerAssociationDialog", "&Lexer Language:"))
+        self.editorLexerCombo.setToolTip(_translate("LexerAssociationDialog", "Select the lexer language to associate"))
+        self.deleteLexerButton.setToolTip(_translate("LexerAssociationDialog", "Press to delete the selected association"))
+        self.deleteLexerButton.setText(_translate("LexerAssociationDialog", "&Delete"))
+        self.pygmentsLabel.setText(_translate("LexerAssociationDialog", "Alternative Le&xer:"))
+        self.pygmentsLexerCombo.setToolTip(_translate("LexerAssociationDialog", "Select the alternative lexer to associate"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Project/Ui_MakePropertiesDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,85 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Project/MakePropertiesDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_MakePropertiesDialog(object):
+    def setupUi(self, MakePropertiesDialog):
+        MakePropertiesDialog.setObjectName("MakePropertiesDialog")
+        MakePropertiesDialog.resize(600, 266)
+        MakePropertiesDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(MakePropertiesDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.label = QtWidgets.QLabel(parent=MakePropertiesDialog)
+        self.label.setObjectName("label")
+        self.verticalLayout.addWidget(self.label)
+        self.makePicker = EricPathPicker(parent=MakePropertiesDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.makePicker.sizePolicy().hasHeightForWidth())
+        self.makePicker.setSizePolicy(sizePolicy)
+        self.makePicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.makePicker.setObjectName("makePicker")
+        self.verticalLayout.addWidget(self.makePicker)
+        self.label_2 = QtWidgets.QLabel(parent=MakePropertiesDialog)
+        self.label_2.setObjectName("label_2")
+        self.verticalLayout.addWidget(self.label_2)
+        self.makefilePicker = EricPathPicker(parent=MakePropertiesDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.makefilePicker.sizePolicy().hasHeightForWidth())
+        self.makefilePicker.setSizePolicy(sizePolicy)
+        self.makefilePicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.makefilePicker.setObjectName("makefilePicker")
+        self.verticalLayout.addWidget(self.makefilePicker)
+        self.label_3 = QtWidgets.QLabel(parent=MakePropertiesDialog)
+        self.label_3.setObjectName("label_3")
+        self.verticalLayout.addWidget(self.label_3)
+        self.makeTargetEdit = QtWidgets.QLineEdit(parent=MakePropertiesDialog)
+        self.makeTargetEdit.setClearButtonEnabled(True)
+        self.makeTargetEdit.setObjectName("makeTargetEdit")
+        self.verticalLayout.addWidget(self.makeTargetEdit)
+        self.label_4 = QtWidgets.QLabel(parent=MakePropertiesDialog)
+        self.label_4.setWordWrap(True)
+        self.label_4.setObjectName("label_4")
+        self.verticalLayout.addWidget(self.label_4)
+        self.makeParametersEdit = QtWidgets.QLineEdit(parent=MakePropertiesDialog)
+        self.makeParametersEdit.setClearButtonEnabled(True)
+        self.makeParametersEdit.setObjectName("makeParametersEdit")
+        self.verticalLayout.addWidget(self.makeParametersEdit)
+        self.testOnlyCheckBox = QtWidgets.QCheckBox(parent=MakePropertiesDialog)
+        self.testOnlyCheckBox.setObjectName("testOnlyCheckBox")
+        self.verticalLayout.addWidget(self.testOnlyCheckBox)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=MakePropertiesDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(MakePropertiesDialog)
+        self.buttonBox.accepted.connect(MakePropertiesDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(MakePropertiesDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(MakePropertiesDialog)
+
+    def retranslateUi(self, MakePropertiesDialog):
+        _translate = QtCore.QCoreApplication.translate
+        MakePropertiesDialog.setWindowTitle(_translate("MakePropertiesDialog", "Make Properties"))
+        self.label.setText(_translate("MakePropertiesDialog", "\'make\' Executable (leave empty to use global \'make\'):"))
+        self.makePicker.setToolTip(_translate("MakePropertiesDialog", "Enter the executable name of the make utility"))
+        self.label_2.setText(_translate("MakePropertiesDialog", "\'makefile\' path or directory (without file name \'makefile\' will be used):"))
+        self.makefilePicker.setToolTip(_translate("MakePropertiesDialog", "Enter the name and/or path of the makefile"))
+        self.label_3.setText(_translate("MakePropertiesDialog", "Make Target:"))
+        self.makeTargetEdit.setToolTip(_translate("MakePropertiesDialog", "Enter the make target to be built"))
+        self.label_4.setText(_translate("MakePropertiesDialog", "Make Command Parameters (enclose parameters containing spaces in \"\"):"))
+        self.makeParametersEdit.setToolTip(_translate("MakePropertiesDialog", "Enter the command parameters for make"))
+        self.testOnlyCheckBox.setToolTip(_translate("MakePropertiesDialog", "Select to just test for changes needing a make run"))
+        self.testOnlyCheckBox.setText(_translate("MakePropertiesDialog", "Test for changes only when run automatically"))
+from eric7.EricWidgets.EricPathPicker import EricPathPicker
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Project/Ui_NewDialogClassDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,71 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Project/NewDialogClassDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_NewDialogClassDialog(object):
+    def setupUi(self, NewDialogClassDialog):
+        NewDialogClassDialog.setObjectName("NewDialogClassDialog")
+        NewDialogClassDialog.resize(600, 124)
+        NewDialogClassDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(NewDialogClassDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.gridLayout = QtWidgets.QGridLayout()
+        self.gridLayout.setObjectName("gridLayout")
+        self.label = QtWidgets.QLabel(parent=NewDialogClassDialog)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
+        self.classnameEdit = QtWidgets.QLineEdit(parent=NewDialogClassDialog)
+        self.classnameEdit.setObjectName("classnameEdit")
+        self.gridLayout.addWidget(self.classnameEdit, 0, 1, 1, 1)
+        self.label_2 = QtWidgets.QLabel(parent=NewDialogClassDialog)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 1, 0, 1, 1)
+        self.filenameEdit = QtWidgets.QLineEdit(parent=NewDialogClassDialog)
+        self.filenameEdit.setObjectName("filenameEdit")
+        self.gridLayout.addWidget(self.filenameEdit, 1, 1, 1, 1)
+        self.label_3 = QtWidgets.QLabel(parent=NewDialogClassDialog)
+        self.label_3.setObjectName("label_3")
+        self.gridLayout.addWidget(self.label_3, 2, 0, 1, 1)
+        self.pathnamePicker = EricPathPicker(parent=NewDialogClassDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.pathnamePicker.sizePolicy().hasHeightForWidth())
+        self.pathnamePicker.setSizePolicy(sizePolicy)
+        self.pathnamePicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.pathnamePicker.setObjectName("pathnamePicker")
+        self.gridLayout.addWidget(self.pathnamePicker, 2, 1, 1, 1)
+        self.verticalLayout.addLayout(self.gridLayout)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=NewDialogClassDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+        self.label.setBuddy(self.classnameEdit)
+        self.label_2.setBuddy(self.filenameEdit)
+        self.label_3.setBuddy(self.pathnamePicker)
+
+        self.retranslateUi(NewDialogClassDialog)
+        self.buttonBox.accepted.connect(NewDialogClassDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(NewDialogClassDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(NewDialogClassDialog)
+        NewDialogClassDialog.setTabOrder(self.classnameEdit, self.filenameEdit)
+        NewDialogClassDialog.setTabOrder(self.filenameEdit, self.buttonBox)
+
+    def retranslateUi(self, NewDialogClassDialog):
+        _translate = QtCore.QCoreApplication.translate
+        NewDialogClassDialog.setWindowTitle(_translate("NewDialogClassDialog", "New Dialog Class"))
+        self.label.setText(_translate("NewDialogClassDialog", "&Classname:"))
+        self.classnameEdit.setToolTip(_translate("NewDialogClassDialog", "Enter the name of the new class"))
+        self.label_2.setText(_translate("NewDialogClassDialog", "&Filename:"))
+        self.filenameEdit.setToolTip(_translate("NewDialogClassDialog", "Enter the name of the file for the forms code"))
+        self.label_3.setText(_translate("NewDialogClassDialog", "&Path:"))
+        self.pathnamePicker.setToolTip(_translate("NewDialogClassDialog", "Enter the path of the file for the forms code"))
+from eric7.EricWidgets.EricPathPicker import EricPathPicker
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Project/Ui_NewPythonPackageDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,39 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Project/NewPythonPackageDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_NewPythonPackageDialog(object):
+    def setupUi(self, NewPythonPackageDialog):
+        NewPythonPackageDialog.setObjectName("NewPythonPackageDialog")
+        NewPythonPackageDialog.resize(400, 95)
+        self.vboxlayout = QtWidgets.QVBoxLayout(NewPythonPackageDialog)
+        self.vboxlayout.setObjectName("vboxlayout")
+        self.label_2 = QtWidgets.QLabel(parent=NewPythonPackageDialog)
+        self.label_2.setObjectName("label_2")
+        self.vboxlayout.addWidget(self.label_2)
+        self.packageEdit = QtWidgets.QLineEdit(parent=NewPythonPackageDialog)
+        self.packageEdit.setObjectName("packageEdit")
+        self.vboxlayout.addWidget(self.packageEdit)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=NewPythonPackageDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.vboxlayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(NewPythonPackageDialog)
+        self.buttonBox.accepted.connect(NewPythonPackageDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(NewPythonPackageDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(NewPythonPackageDialog)
+
+    def retranslateUi(self, NewPythonPackageDialog):
+        _translate = QtCore.QCoreApplication.translate
+        NewPythonPackageDialog.setWindowTitle(_translate("NewPythonPackageDialog", "Add new Python package"))
+        self.label_2.setText(_translate("NewPythonPackageDialog", "Enter the dotted name of the new package"))
+        self.packageEdit.setToolTip(_translate("NewPythonPackageDialog", "Enter the dotted package name"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Project/Ui_ProjectVenvConfigurationDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,66 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Project/ProjectVenvConfigurationDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_ProjectVenvConfigurationDialog(object):
+    def setupUi(self, ProjectVenvConfigurationDialog):
+        ProjectVenvConfigurationDialog.setObjectName("ProjectVenvConfigurationDialog")
+        ProjectVenvConfigurationDialog.resize(700, 132)
+        ProjectVenvConfigurationDialog.setSizeGripEnabled(True)
+        self.gridLayout = QtWidgets.QGridLayout(ProjectVenvConfigurationDialog)
+        self.gridLayout.setObjectName("gridLayout")
+        self.label_2 = QtWidgets.QLabel(parent=ProjectVenvConfigurationDialog)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 0, 0, 1, 1)
+        self.nameEdit = QtWidgets.QLineEdit(parent=ProjectVenvConfigurationDialog)
+        self.nameEdit.setFocusPolicy(QtCore.Qt.FocusPolicy.NoFocus)
+        self.nameEdit.setReadOnly(True)
+        self.nameEdit.setObjectName("nameEdit")
+        self.gridLayout.addWidget(self.nameEdit, 0, 1, 1, 1)
+        self.label_3 = QtWidgets.QLabel(parent=ProjectVenvConfigurationDialog)
+        self.label_3.setObjectName("label_3")
+        self.gridLayout.addWidget(self.label_3, 1, 0, 1, 1)
+        self.pythonExecPicker = EricComboPathPicker(parent=ProjectVenvConfigurationDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.pythonExecPicker.sizePolicy().hasHeightForWidth())
+        self.pythonExecPicker.setSizePolicy(sizePolicy)
+        self.pythonExecPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.WheelFocus)
+        self.pythonExecPicker.setObjectName("pythonExecPicker")
+        self.gridLayout.addWidget(self.pythonExecPicker, 1, 1, 1, 1)
+        self.label_5 = QtWidgets.QLabel(parent=ProjectVenvConfigurationDialog)
+        self.label_5.setObjectName("label_5")
+        self.gridLayout.addWidget(self.label_5, 2, 0, 1, 1)
+        self.execPathEdit = QtWidgets.QLineEdit(parent=ProjectVenvConfigurationDialog)
+        self.execPathEdit.setClearButtonEnabled(True)
+        self.execPathEdit.setObjectName("execPathEdit")
+        self.gridLayout.addWidget(self.execPathEdit, 2, 1, 1, 1)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=ProjectVenvConfigurationDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout.addWidget(self.buttonBox, 3, 0, 1, 2)
+
+        self.retranslateUi(ProjectVenvConfigurationDialog)
+        self.buttonBox.accepted.connect(ProjectVenvConfigurationDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(ProjectVenvConfigurationDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(ProjectVenvConfigurationDialog)
+        ProjectVenvConfigurationDialog.setTabOrder(self.nameEdit, self.pythonExecPicker)
+        ProjectVenvConfigurationDialog.setTabOrder(self.pythonExecPicker, self.execPathEdit)
+
+    def retranslateUi(self, ProjectVenvConfigurationDialog):
+        _translate = QtCore.QCoreApplication.translate
+        ProjectVenvConfigurationDialog.setWindowTitle(_translate("ProjectVenvConfigurationDialog", "Project Environment Configuration"))
+        self.label_2.setText(_translate("ProjectVenvConfigurationDialog", "Name:"))
+        self.label_3.setText(_translate("ProjectVenvConfigurationDialog", "Python Interpreter:"))
+        self.pythonExecPicker.setToolTip(_translate("ProjectVenvConfigurationDialog", "Enter the Python interpreter of the virtual environment"))
+        self.label_5.setText(_translate("ProjectVenvConfigurationDialog", "PATH Prefix:"))
+from eric7.EricWidgets.EricPathPicker import EricComboPathPicker
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Project/Ui_ProjectVenvCreationParametersDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,56 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Project/ProjectVenvCreationParametersDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_ProjectVenvCreationParametersDialog(object):
+    def setupUi(self, ProjectVenvCreationParametersDialog):
+        ProjectVenvCreationParametersDialog.setObjectName("ProjectVenvCreationParametersDialog")
+        ProjectVenvCreationParametersDialog.resize(700, 100)
+        ProjectVenvCreationParametersDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(ProjectVenvCreationParametersDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.label_5 = QtWidgets.QLabel(parent=ProjectVenvCreationParametersDialog)
+        self.label_5.setObjectName("label_5")
+        self.horizontalLayout.addWidget(self.label_5)
+        self.pythonExecPicker = EricPathPicker(parent=ProjectVenvCreationParametersDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.pythonExecPicker.sizePolicy().hasHeightForWidth())
+        self.pythonExecPicker.setSizePolicy(sizePolicy)
+        self.pythonExecPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.WheelFocus)
+        self.pythonExecPicker.setObjectName("pythonExecPicker")
+        self.horizontalLayout.addWidget(self.pythonExecPicker)
+        self.verticalLayout.addLayout(self.horizontalLayout)
+        self.systemCheckBox = QtWidgets.QCheckBox(parent=ProjectVenvCreationParametersDialog)
+        self.systemCheckBox.setObjectName("systemCheckBox")
+        self.verticalLayout.addWidget(self.systemCheckBox)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=ProjectVenvCreationParametersDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(ProjectVenvCreationParametersDialog)
+        self.buttonBox.accepted.connect(ProjectVenvCreationParametersDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(ProjectVenvCreationParametersDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(ProjectVenvCreationParametersDialog)
+        ProjectVenvCreationParametersDialog.setTabOrder(self.pythonExecPicker, self.systemCheckBox)
+
+    def retranslateUi(self, ProjectVenvCreationParametersDialog):
+        _translate = QtCore.QCoreApplication.translate
+        ProjectVenvCreationParametersDialog.setWindowTitle(_translate("ProjectVenvCreationParametersDialog", "Virtual Environment Configuration"))
+        self.label_5.setText(_translate("ProjectVenvCreationParametersDialog", "Python Executable:"))
+        self.pythonExecPicker.setToolTip(_translate("ProjectVenvCreationParametersDialog", "Enter the Python interpreter for the virtual environment"))
+        self.systemCheckBox.setToolTip(_translate("ProjectVenvCreationParametersDialog", "Select to give the virtualenv access to the global site-packages"))
+        self.systemCheckBox.setText(_translate("ProjectVenvCreationParametersDialog", "System-wide Python Packages"))
+from eric7.EricWidgets.EricPathPicker import EricPathPicker
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Project/Ui_PropertiesDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,317 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Project/PropertiesDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_PropertiesDialog(object):
+    def setupUi(self, PropertiesDialog):
+        PropertiesDialog.setObjectName("PropertiesDialog")
+        PropertiesDialog.resize(600, 700)
+        PropertiesDialog.setMaximumSize(QtCore.QSize(16777215, 16777215))
+        PropertiesDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(PropertiesDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.formLayout = QtWidgets.QFormLayout()
+        self.formLayout.setObjectName("formLayout")
+        self.nameLabel = QtWidgets.QLabel(parent=PropertiesDialog)
+        self.nameLabel.setObjectName("nameLabel")
+        self.formLayout.setWidget(0, QtWidgets.QFormLayout.ItemRole.LabelRole, self.nameLabel)
+        self.nameEdit = QtWidgets.QLineEdit(parent=PropertiesDialog)
+        self.nameEdit.setClearButtonEnabled(True)
+        self.nameEdit.setObjectName("nameEdit")
+        self.formLayout.setWidget(0, QtWidgets.QFormLayout.ItemRole.FieldRole, self.nameEdit)
+        self.textLabel1 = QtWidgets.QLabel(parent=PropertiesDialog)
+        self.textLabel1.setObjectName("textLabel1")
+        self.formLayout.setWidget(1, QtWidgets.QFormLayout.ItemRole.LabelRole, self.textLabel1)
+        self.languageComboBox = QtWidgets.QComboBox(parent=PropertiesDialog)
+        self.languageComboBox.setObjectName("languageComboBox")
+        self.formLayout.setWidget(1, QtWidgets.QFormLayout.ItemRole.FieldRole, self.languageComboBox)
+        self.mixedLanguageCheckBox = QtWidgets.QCheckBox(parent=PropertiesDialog)
+        self.mixedLanguageCheckBox.setObjectName("mixedLanguageCheckBox")
+        self.formLayout.setWidget(2, QtWidgets.QFormLayout.ItemRole.FieldRole, self.mixedLanguageCheckBox)
+        self.textLabel1_2 = QtWidgets.QLabel(parent=PropertiesDialog)
+        self.textLabel1_2.setObjectName("textLabel1_2")
+        self.formLayout.setWidget(3, QtWidgets.QFormLayout.ItemRole.LabelRole, self.textLabel1_2)
+        self.projectTypeComboBox = QtWidgets.QComboBox(parent=PropertiesDialog)
+        self.projectTypeComboBox.setObjectName("projectTypeComboBox")
+        self.formLayout.setWidget(3, QtWidgets.QFormLayout.ItemRole.FieldRole, self.projectTypeComboBox)
+        self.dirLabel = QtWidgets.QLabel(parent=PropertiesDialog)
+        self.dirLabel.setObjectName("dirLabel")
+        self.formLayout.setWidget(4, QtWidgets.QFormLayout.ItemRole.LabelRole, self.dirLabel)
+        self.dirPicker = EricPathPicker(parent=PropertiesDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.dirPicker.sizePolicy().hasHeightForWidth())
+        self.dirPicker.setSizePolicy(sizePolicy)
+        self.dirPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.dirPicker.setObjectName("dirPicker")
+        self.formLayout.setWidget(4, QtWidgets.QFormLayout.ItemRole.FieldRole, self.dirPicker)
+        self.dirLabel_2 = QtWidgets.QLabel(parent=PropertiesDialog)
+        self.dirLabel_2.setObjectName("dirLabel_2")
+        self.formLayout.setWidget(5, QtWidgets.QFormLayout.ItemRole.LabelRole, self.dirLabel_2)
+        self.srcDirPicker = EricPathPicker(parent=PropertiesDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.srcDirPicker.sizePolicy().hasHeightForWidth())
+        self.srcDirPicker.setSizePolicy(sizePolicy)
+        self.srcDirPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.srcDirPicker.setObjectName("srcDirPicker")
+        self.formLayout.setWidget(5, QtWidgets.QFormLayout.ItemRole.FieldRole, self.srcDirPicker)
+        self.versionLabel = QtWidgets.QLabel(parent=PropertiesDialog)
+        self.versionLabel.setObjectName("versionLabel")
+        self.formLayout.setWidget(6, QtWidgets.QFormLayout.ItemRole.LabelRole, self.versionLabel)
+        self.versionEdit = QtWidgets.QLineEdit(parent=PropertiesDialog)
+        self.versionEdit.setClearButtonEnabled(True)
+        self.versionEdit.setObjectName("versionEdit")
+        self.formLayout.setWidget(6, QtWidgets.QFormLayout.ItemRole.FieldRole, self.versionEdit)
+        self.mainscriptLabel = QtWidgets.QLabel(parent=PropertiesDialog)
+        self.mainscriptLabel.setObjectName("mainscriptLabel")
+        self.formLayout.setWidget(7, QtWidgets.QFormLayout.ItemRole.LabelRole, self.mainscriptLabel)
+        self.mainscriptPicker = EricPathPicker(parent=PropertiesDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.mainscriptPicker.sizePolicy().hasHeightForWidth())
+        self.mainscriptPicker.setSizePolicy(sizePolicy)
+        self.mainscriptPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.mainscriptPicker.setObjectName("mainscriptPicker")
+        self.formLayout.setWidget(7, QtWidgets.QFormLayout.ItemRole.FieldRole, self.mainscriptPicker)
+        self.eolLabel = QtWidgets.QLabel(parent=PropertiesDialog)
+        self.eolLabel.setObjectName("eolLabel")
+        self.formLayout.setWidget(8, QtWidgets.QFormLayout.ItemRole.LabelRole, self.eolLabel)
+        self.eolComboBox = QtWidgets.QComboBox(parent=PropertiesDialog)
+        self.eolComboBox.setObjectName("eolComboBox")
+        self.eolComboBox.addItem("")
+        self.eolComboBox.addItem("")
+        self.eolComboBox.addItem("")
+        self.eolComboBox.addItem("")
+        self.formLayout.setWidget(8, QtWidgets.QFormLayout.ItemRole.FieldRole, self.eolComboBox)
+        self.label = QtWidgets.QLabel(parent=PropertiesDialog)
+        self.label.setObjectName("label")
+        self.formLayout.setWidget(9, QtWidgets.QFormLayout.ItemRole.LabelRole, self.label)
+        self.docstringStyleComboBox = QtWidgets.QComboBox(parent=PropertiesDialog)
+        self.docstringStyleComboBox.setObjectName("docstringStyleComboBox")
+        self.formLayout.setWidget(9, QtWidgets.QFormLayout.ItemRole.FieldRole, self.docstringStyleComboBox)
+        self.authorLabel = QtWidgets.QLabel(parent=PropertiesDialog)
+        self.authorLabel.setObjectName("authorLabel")
+        self.formLayout.setWidget(10, QtWidgets.QFormLayout.ItemRole.LabelRole, self.authorLabel)
+        self.authorEdit = QtWidgets.QLineEdit(parent=PropertiesDialog)
+        self.authorEdit.setClearButtonEnabled(True)
+        self.authorEdit.setObjectName("authorEdit")
+        self.formLayout.setWidget(10, QtWidgets.QFormLayout.ItemRole.FieldRole, self.authorEdit)
+        self.emailLabel = QtWidgets.QLabel(parent=PropertiesDialog)
+        self.emailLabel.setObjectName("emailLabel")
+        self.formLayout.setWidget(11, QtWidgets.QFormLayout.ItemRole.LabelRole, self.emailLabel)
+        self.emailEdit = QtWidgets.QLineEdit(parent=PropertiesDialog)
+        self.emailEdit.setClearButtonEnabled(True)
+        self.emailEdit.setObjectName("emailEdit")
+        self.formLayout.setWidget(11, QtWidgets.QFormLayout.ItemRole.FieldRole, self.emailEdit)
+        self.descriptionLabel = QtWidgets.QLabel(parent=PropertiesDialog)
+        self.descriptionLabel.setAlignment(QtCore.Qt.AlignmentFlag.AlignTop)
+        self.descriptionLabel.setObjectName("descriptionLabel")
+        self.formLayout.setWidget(12, QtWidgets.QFormLayout.ItemRole.LabelRole, self.descriptionLabel)
+        self.descriptionEdit = EricSpellCheckedTextEdit(parent=PropertiesDialog)
+        self.descriptionEdit.setTabChangesFocus(True)
+        self.descriptionEdit.setAcceptRichText(False)
+        self.descriptionEdit.setObjectName("descriptionEdit")
+        self.formLayout.setWidget(12, QtWidgets.QFormLayout.ItemRole.FieldRole, self.descriptionEdit)
+        self.label_2 = QtWidgets.QLabel(parent=PropertiesDialog)
+        self.label_2.setObjectName("label_2")
+        self.formLayout.setWidget(13, QtWidgets.QFormLayout.ItemRole.LabelRole, self.label_2)
+        self.testingFrameworkComboBox = QtWidgets.QComboBox(parent=PropertiesDialog)
+        self.testingFrameworkComboBox.setObjectName("testingFrameworkComboBox")
+        self.formLayout.setWidget(13, QtWidgets.QFormLayout.ItemRole.FieldRole, self.testingFrameworkComboBox)
+        self.label_3 = QtWidgets.QLabel(parent=PropertiesDialog)
+        self.label_3.setObjectName("label_3")
+        self.formLayout.setWidget(14, QtWidgets.QFormLayout.ItemRole.LabelRole, self.label_3)
+        self.licenseComboBox = QtWidgets.QComboBox(parent=PropertiesDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.licenseComboBox.sizePolicy().hasHeightForWidth())
+        self.licenseComboBox.setSizePolicy(sizePolicy)
+        self.licenseComboBox.setEditable(True)
+        self.licenseComboBox.setObjectName("licenseComboBox")
+        self.formLayout.setWidget(14, QtWidgets.QFormLayout.ItemRole.FieldRole, self.licenseComboBox)
+        self.verticalLayout.addLayout(self.formLayout)
+        self.embeddedVenvCheckBox = QtWidgets.QCheckBox(parent=PropertiesDialog)
+        self.embeddedVenvCheckBox.setObjectName("embeddedVenvCheckBox")
+        self.verticalLayout.addWidget(self.embeddedVenvCheckBox)
+        self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_3.addItem(spacerItem)
+        self.spellPropertiesButton = QtWidgets.QPushButton(parent=PropertiesDialog)
+        self.spellPropertiesButton.setObjectName("spellPropertiesButton")
+        self.horizontalLayout_3.addWidget(self.spellPropertiesButton)
+        self.transPropertiesButton = QtWidgets.QPushButton(parent=PropertiesDialog)
+        self.transPropertiesButton.setObjectName("transPropertiesButton")
+        self.horizontalLayout_3.addWidget(self.transPropertiesButton)
+        self.filetypesButton = QtWidgets.QPushButton(parent=PropertiesDialog)
+        self.filetypesButton.setObjectName("filetypesButton")
+        self.horizontalLayout_3.addWidget(self.filetypesButton)
+        spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_3.addItem(spacerItem1)
+        self.verticalLayout.addLayout(self.horizontalLayout_3)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.makeCheckBox = QtWidgets.QCheckBox(parent=PropertiesDialog)
+        self.makeCheckBox.setObjectName("makeCheckBox")
+        self.horizontalLayout.addWidget(self.makeCheckBox)
+        self.makeButton = QtWidgets.QToolButton(parent=PropertiesDialog)
+        self.makeButton.setEnabled(False)
+        self.makeButton.setText("")
+        self.makeButton.setObjectName("makeButton")
+        self.horizontalLayout.addWidget(self.makeButton)
+        spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem2)
+        self.verticalLayout.addLayout(self.horizontalLayout)
+        self.vcsCheckBox = QtWidgets.QCheckBox(parent=PropertiesDialog)
+        self.vcsCheckBox.setObjectName("vcsCheckBox")
+        self.verticalLayout.addWidget(self.vcsCheckBox)
+        self._2 = QtWidgets.QHBoxLayout()
+        self._2.setObjectName("_2")
+        self.vcsLabel = QtWidgets.QLabel(parent=PropertiesDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.vcsLabel.sizePolicy().hasHeightForWidth())
+        self.vcsLabel.setSizePolicy(sizePolicy)
+        self.vcsLabel.setText("")
+        self.vcsLabel.setObjectName("vcsLabel")
+        self._2.addWidget(self.vcsLabel)
+        self.vcsInfoButton = QtWidgets.QPushButton(parent=PropertiesDialog)
+        self.vcsInfoButton.setObjectName("vcsInfoButton")
+        self._2.addWidget(self.vcsInfoButton)
+        self.verticalLayout.addLayout(self._2)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=PropertiesDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+        self.nameLabel.setBuddy(self.nameEdit)
+        self.textLabel1.setBuddy(self.languageComboBox)
+        self.textLabel1_2.setBuddy(self.projectTypeComboBox)
+        self.dirLabel.setBuddy(self.dirPicker)
+        self.dirLabel_2.setBuddy(self.dirPicker)
+        self.versionLabel.setBuddy(self.versionEdit)
+        self.mainscriptLabel.setBuddy(self.mainscriptPicker)
+        self.eolLabel.setBuddy(self.eolComboBox)
+        self.authorLabel.setBuddy(self.authorEdit)
+        self.emailLabel.setBuddy(self.emailEdit)
+        self.descriptionLabel.setBuddy(self.descriptionEdit)
+
+        self.retranslateUi(PropertiesDialog)
+        self.buttonBox.accepted.connect(PropertiesDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(PropertiesDialog.reject) # type: ignore
+        self.makeCheckBox.toggled['bool'].connect(self.makeButton.setEnabled) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(PropertiesDialog)
+        PropertiesDialog.setTabOrder(self.nameEdit, self.languageComboBox)
+        PropertiesDialog.setTabOrder(self.languageComboBox, self.mixedLanguageCheckBox)
+        PropertiesDialog.setTabOrder(self.mixedLanguageCheckBox, self.projectTypeComboBox)
+        PropertiesDialog.setTabOrder(self.projectTypeComboBox, self.dirPicker)
+        PropertiesDialog.setTabOrder(self.dirPicker, self.srcDirPicker)
+        PropertiesDialog.setTabOrder(self.srcDirPicker, self.versionEdit)
+        PropertiesDialog.setTabOrder(self.versionEdit, self.mainscriptPicker)
+        PropertiesDialog.setTabOrder(self.mainscriptPicker, self.eolComboBox)
+        PropertiesDialog.setTabOrder(self.eolComboBox, self.docstringStyleComboBox)
+        PropertiesDialog.setTabOrder(self.docstringStyleComboBox, self.authorEdit)
+        PropertiesDialog.setTabOrder(self.authorEdit, self.emailEdit)
+        PropertiesDialog.setTabOrder(self.emailEdit, self.descriptionEdit)
+        PropertiesDialog.setTabOrder(self.descriptionEdit, self.testingFrameworkComboBox)
+        PropertiesDialog.setTabOrder(self.testingFrameworkComboBox, self.licenseComboBox)
+        PropertiesDialog.setTabOrder(self.licenseComboBox, self.embeddedVenvCheckBox)
+        PropertiesDialog.setTabOrder(self.embeddedVenvCheckBox, self.spellPropertiesButton)
+        PropertiesDialog.setTabOrder(self.spellPropertiesButton, self.transPropertiesButton)
+        PropertiesDialog.setTabOrder(self.transPropertiesButton, self.filetypesButton)
+        PropertiesDialog.setTabOrder(self.filetypesButton, self.makeCheckBox)
+        PropertiesDialog.setTabOrder(self.makeCheckBox, self.makeButton)
+        PropertiesDialog.setTabOrder(self.makeButton, self.vcsCheckBox)
+        PropertiesDialog.setTabOrder(self.vcsCheckBox, self.vcsInfoButton)
+
+    def retranslateUi(self, PropertiesDialog):
+        _translate = QtCore.QCoreApplication.translate
+        PropertiesDialog.setWindowTitle(_translate("PropertiesDialog", "Project Properties"))
+        PropertiesDialog.setWhatsThis(_translate("PropertiesDialog", "<b>Project Properties Dialog</b>\n"
+"<p>This dialog is used to show and edit the projects properties.</p>\n"
+"<p>If the project is controlled by a version control system, the \"Show Repository Info\" button displays information about the repository.</p>"))
+        self.nameLabel.setText(_translate("PropertiesDialog", "Project &Name:"))
+        self.nameEdit.setToolTip(_translate("PropertiesDialog", "Enter the project name"))
+        self.nameEdit.setWhatsThis(_translate("PropertiesDialog", "<b>Project Name</b>\n"
+"<p>Enter the project name</p>"))
+        self.textLabel1.setText(_translate("PropertiesDialog", "&Programming Language:"))
+        self.languageComboBox.setToolTip(_translate("PropertiesDialog", "Select the project\'s programming language"))
+        self.mixedLanguageCheckBox.setToolTip(_translate("PropertiesDialog", "Select, if the project uses other programming languages as well"))
+        self.mixedLanguageCheckBox.setText(_translate("PropertiesDialog", "Mi&xed programming languages"))
+        self.mixedLanguageCheckBox.setShortcut(_translate("PropertiesDialog", "Alt+X"))
+        self.textLabel1_2.setText(_translate("PropertiesDialog", "Project &Type:"))
+        self.projectTypeComboBox.setToolTip(_translate("PropertiesDialog", "Select the type of the project"))
+        self.dirLabel.setText(_translate("PropertiesDialog", "Project &Directory:"))
+        self.dirPicker.setToolTip(_translate("PropertiesDialog", "Enter the project directory"))
+        self.dirPicker.setWhatsThis(_translate("PropertiesDialog", "<b>Project Directory</b>\n"
+"<p>Enter the project directory. You may select it\n"
+" with a dialog by pressing the button to the right.</p>"))
+        self.dirLabel_2.setText(_translate("PropertiesDialog", "Project &Sources Directory:"))
+        self.srcDirPicker.setToolTip(_translate("PropertiesDialog", "Enter the project sources subdirectory (leave empty, if sources are directly in the project directory)."))
+        self.srcDirPicker.setWhatsThis(_translate("PropertiesDialog", "<b>Project Directory</b>\n"
+"<p>Enter the project directory. You may select it\n"
+" with a dialog by pressing the button to the right.</p>"))
+        self.versionLabel.setText(_translate("PropertiesDialog", "&Version No.:"))
+        self.versionEdit.setToolTip(_translate("PropertiesDialog", "Enter the version number"))
+        self.versionEdit.setWhatsThis(_translate("PropertiesDialog", "<b>Version No.</b>\n"
+"<p>Enter the version no.</p>"))
+        self.mainscriptLabel.setText(_translate("PropertiesDialog", "&Main Script:"))
+        self.mainscriptPicker.setToolTip(_translate("PropertiesDialog", "Enter the main script"))
+        self.mainscriptPicker.setWhatsThis(_translate("PropertiesDialog", "<b>Main Script</b>\n"
+"<p>Enter the main script of the project. You may select it\n"
+" with a dialog by pressing the button to the right.</p>"))
+        self.eolLabel.setText(_translate("PropertiesDialog", "End of &Line Character:"))
+        self.eolComboBox.setToolTip(_translate("PropertiesDialog", "Select the end of line character to be used by the project"))
+        self.eolComboBox.setItemText(0, _translate("PropertiesDialog", "System"))
+        self.eolComboBox.setItemText(1, _translate("PropertiesDialog", "Unix"))
+        self.eolComboBox.setItemText(2, _translate("PropertiesDialog", "Macintosh"))
+        self.eolComboBox.setItemText(3, _translate("PropertiesDialog", "Windows/DOS"))
+        self.label.setText(_translate("PropertiesDialog", "Docstring Style:"))
+        self.docstringStyleComboBox.setToolTip(_translate("PropertiesDialog", "Select the docstring style for the project"))
+        self.authorLabel.setText(_translate("PropertiesDialog", "&Author:"))
+        self.authorEdit.setToolTip(_translate("PropertiesDialog", "Enter author\'s name"))
+        self.authorEdit.setWhatsThis(_translate("PropertiesDialog", "<b>Author</b>\n"
+"<p>Enter the name of the author.</p>"))
+        self.emailLabel.setText(_translate("PropertiesDialog", "&Email:"))
+        self.emailEdit.setToolTip(_translate("PropertiesDialog", "Enter author\'s email"))
+        self.emailEdit.setWhatsThis(_translate("PropertiesDialog", "<b>Email</b>\n"
+"<p>Enter the email address of the author</p>"))
+        self.descriptionLabel.setText(_translate("PropertiesDialog", "&Description:"))
+        self.descriptionEdit.setToolTip(_translate("PropertiesDialog", "Enter description"))
+        self.descriptionEdit.setWhatsThis(_translate("PropertiesDialog", "<b>Description</b>\n"
+"<p>Enter a short description for the project.</p>"))
+        self.label_2.setText(_translate("PropertiesDialog", "Testing Framework:"))
+        self.testingFrameworkComboBox.setToolTip(_translate("PropertiesDialog", "Select the testing framework used by the project"))
+        self.label_3.setText(_translate("PropertiesDialog", "License:"))
+        self.licenseComboBox.setToolTip(_translate("PropertiesDialog", "Enter or select the project license"))
+        self.embeddedVenvCheckBox.setToolTip(_translate("PropertiesDialog", "Select this to create and use a project embedded virtual environment"))
+        self.embeddedVenvCheckBox.setText(_translate("PropertiesDialog", "Use embedded virtual environment"))
+        self.spellPropertiesButton.setToolTip(_translate("PropertiesDialog", "Press to edit the spell checking properties"))
+        self.spellPropertiesButton.setText(_translate("PropertiesDialog", "Spell Checking..."))
+        self.transPropertiesButton.setToolTip(_translate("PropertiesDialog", "Press to edit the translations properties"))
+        self.transPropertiesButton.setText(_translate("PropertiesDialog", "Translations..."))
+        self.filetypesButton.setToolTip(_translate("PropertiesDialog", "Press to edit the filetype associations"))
+        self.filetypesButton.setText(_translate("PropertiesDialog", "Filetype Associations..."))
+        self.makeCheckBox.setToolTip(_translate("PropertiesDialog", "Select to activate the \'make\' support"))
+        self.makeCheckBox.setText(_translate("PropertiesDialog", "Enable \'make\' Support"))
+        self.makeButton.setToolTip(_translate("PropertiesDialog", "Press to open a dialog to enter the \'make\' parameters"))
+        self.vcsCheckBox.setToolTip(_translate("PropertiesDialog", "Select to create a version controlled project"))
+        self.vcsCheckBox.setText(_translate("PropertiesDialog", "Version Controlled Project"))
+        self.vcsInfoButton.setToolTip(_translate("PropertiesDialog", "Press to show information about the repository"))
+        self.vcsInfoButton.setText(_translate("PropertiesDialog", "Show &Repository Info"))
+        self.vcsInfoButton.setShortcut(_translate("PropertiesDialog", "Alt+R"))
+from eric7.EricWidgets.EricPathPicker import EricPathPicker
+from eric7.EricWidgets.EricSpellCheckedTextEdit import EricSpellCheckedTextEdit
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Project/Ui_QuickFindFile.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,51 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Project/QuickFindFile.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_QuickFindFile(object):
+    def setupUi(self, QuickFindFile):
+        QuickFindFile.setObjectName("QuickFindFile")
+        QuickFindFile.resize(599, 478)
+        self.verticalLayout = QtWidgets.QVBoxLayout(QuickFindFile)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.textLabel1 = QtWidgets.QLabel(parent=QuickFindFile)
+        self.textLabel1.setObjectName("textLabel1")
+        self.verticalLayout.addWidget(self.textLabel1)
+        self.fileNameEdit = QtWidgets.QLineEdit(parent=QuickFindFile)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(9)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.fileNameEdit.sizePolicy().hasHeightForWidth())
+        self.fileNameEdit.setSizePolicy(sizePolicy)
+        self.fileNameEdit.setObjectName("fileNameEdit")
+        self.verticalLayout.addWidget(self.fileNameEdit)
+        self.fileList = QtWidgets.QTreeWidget(parent=QuickFindFile)
+        self.fileList.setRootIsDecorated(False)
+        self.fileList.setObjectName("fileList")
+        self.verticalLayout.addWidget(self.fileList)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=QuickFindFile)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Close|QtWidgets.QDialogButtonBox.StandardButton.Open)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(QuickFindFile)
+        self.buttonBox.rejected.connect(QuickFindFile.close) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(QuickFindFile)
+        QuickFindFile.setTabOrder(self.fileNameEdit, self.fileList)
+
+    def retranslateUi(self, QuickFindFile):
+        _translate = QtCore.QCoreApplication.translate
+        QuickFindFile.setWindowTitle(_translate("QuickFindFile", "Search Project File"))
+        self.textLabel1.setText(_translate("QuickFindFile", "Type text to match in filenames (up/down to select shown files)"))
+        self.fileNameEdit.setToolTip(_translate("QuickFindFile", "Enter search strings separated by a blank"))
+        self.fileList.setSortingEnabled(True)
+        self.fileList.headerItem().setText(0, _translate("QuickFindFile", "Filename"))
+        self.fileList.headerItem().setText(1, _translate("QuickFindFile", "Path"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Project/Ui_RccCompilerOptionsDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,86 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Project/RccCompilerOptionsDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_RccCompilerOptionsDialog(object):
+    def setupUi(self, RccCompilerOptionsDialog):
+        RccCompilerOptionsDialog.setObjectName("RccCompilerOptionsDialog")
+        RccCompilerOptionsDialog.resize(500, 219)
+        RccCompilerOptionsDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(RccCompilerOptionsDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.groupBox = QtWidgets.QGroupBox(parent=RccCompilerOptionsDialog)
+        self.groupBox.setObjectName("groupBox")
+        self.gridLayout = QtWidgets.QGridLayout(self.groupBox)
+        self.gridLayout.setObjectName("gridLayout")
+        self.label_2 = QtWidgets.QLabel(parent=self.groupBox)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 0, 0, 1, 1)
+        self.thresholdSpinBox = QtWidgets.QSpinBox(parent=self.groupBox)
+        self.thresholdSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.thresholdSpinBox.setSpecialValueText("")
+        self.thresholdSpinBox.setMinimum(0)
+        self.thresholdSpinBox.setMaximum(100)
+        self.thresholdSpinBox.setSingleStep(5)
+        self.thresholdSpinBox.setProperty("value", 70)
+        self.thresholdSpinBox.setObjectName("thresholdSpinBox")
+        self.gridLayout.addWidget(self.thresholdSpinBox, 0, 1, 1, 1)
+        spacerItem = QtWidgets.QSpacerItem(253, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout.addItem(spacerItem, 0, 2, 1, 1)
+        self.label_3 = QtWidgets.QLabel(parent=self.groupBox)
+        self.label_3.setObjectName("label_3")
+        self.gridLayout.addWidget(self.label_3, 1, 0, 1, 1)
+        self.compressionSpinBox = QtWidgets.QSpinBox(parent=self.groupBox)
+        self.compressionSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.compressionSpinBox.setMinimum(0)
+        self.compressionSpinBox.setMaximum(9)
+        self.compressionSpinBox.setObjectName("compressionSpinBox")
+        self.gridLayout.addWidget(self.compressionSpinBox, 1, 1, 1, 1)
+        self.disableCheckBox = QtWidgets.QCheckBox(parent=self.groupBox)
+        self.disableCheckBox.setObjectName("disableCheckBox")
+        self.gridLayout.addWidget(self.disableCheckBox, 2, 0, 1, 2)
+        self.verticalLayout.addWidget(self.groupBox)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.label = QtWidgets.QLabel(parent=RccCompilerOptionsDialog)
+        self.label.setObjectName("label")
+        self.horizontalLayout.addWidget(self.label)
+        self.rootEdit = QtWidgets.QLineEdit(parent=RccCompilerOptionsDialog)
+        self.rootEdit.setClearButtonEnabled(True)
+        self.rootEdit.setObjectName("rootEdit")
+        self.horizontalLayout.addWidget(self.rootEdit)
+        self.verticalLayout.addLayout(self.horizontalLayout)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=RccCompilerOptionsDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(RccCompilerOptionsDialog)
+        self.buttonBox.accepted.connect(RccCompilerOptionsDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(RccCompilerOptionsDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(RccCompilerOptionsDialog)
+        RccCompilerOptionsDialog.setTabOrder(self.thresholdSpinBox, self.compressionSpinBox)
+        RccCompilerOptionsDialog.setTabOrder(self.compressionSpinBox, self.disableCheckBox)
+        RccCompilerOptionsDialog.setTabOrder(self.disableCheckBox, self.rootEdit)
+
+    def retranslateUi(self, RccCompilerOptionsDialog):
+        _translate = QtCore.QCoreApplication.translate
+        RccCompilerOptionsDialog.setWindowTitle(_translate("RccCompilerOptionsDialog", "rcc Compiler Options"))
+        self.groupBox.setTitle(_translate("RccCompilerOptionsDialog", "Compression Parameters"))
+        self.label_2.setText(_translate("RccCompilerOptionsDialog", "Threshold:"))
+        self.thresholdSpinBox.setToolTip(_translate("RccCompilerOptionsDialog", "Select the compression threshold (default: 70%)"))
+        self.thresholdSpinBox.setSuffix(_translate("RccCompilerOptionsDialog", "%"))
+        self.label_3.setText(_translate("RccCompilerOptionsDialog", "Compression Level:"))
+        self.compressionSpinBox.setToolTip(_translate("RccCompilerOptionsDialog", "Select the compression level (default: use zlib default value)"))
+        self.compressionSpinBox.setSpecialValueText(_translate("RccCompilerOptionsDialog", "default"))
+        self.disableCheckBox.setText(_translate("RccCompilerOptionsDialog", "Disable Compression"))
+        self.label.setText(_translate("RccCompilerOptionsDialog", "Access Path Prefix:"))
+        self.rootEdit.setToolTip(_translate("RccCompilerOptionsDialog", "Enter the prefix for the resource access path"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Project/Ui_SpellingPropertiesDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,73 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Project/SpellingPropertiesDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_SpellingPropertiesDialog(object):
+    def setupUi(self, SpellingPropertiesDialog):
+        SpellingPropertiesDialog.setObjectName("SpellingPropertiesDialog")
+        SpellingPropertiesDialog.resize(600, 114)
+        SpellingPropertiesDialog.setSizeGripEnabled(True)
+        self.gridLayout = QtWidgets.QGridLayout(SpellingPropertiesDialog)
+        self.gridLayout.setObjectName("gridLayout")
+        self.textLabel1_3 = QtWidgets.QLabel(parent=SpellingPropertiesDialog)
+        self.textLabel1_3.setObjectName("textLabel1_3")
+        self.gridLayout.addWidget(self.textLabel1_3, 0, 0, 1, 1)
+        self.spellingComboBox = QtWidgets.QComboBox(parent=SpellingPropertiesDialog)
+        self.spellingComboBox.setObjectName("spellingComboBox")
+        self.gridLayout.addWidget(self.spellingComboBox, 0, 1, 1, 1)
+        self.label = QtWidgets.QLabel(parent=SpellingPropertiesDialog)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 1, 0, 1, 1)
+        self.pwlPicker = EricPathPicker(parent=SpellingPropertiesDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.pwlPicker.sizePolicy().hasHeightForWidth())
+        self.pwlPicker.setSizePolicy(sizePolicy)
+        self.pwlPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.pwlPicker.setObjectName("pwlPicker")
+        self.gridLayout.addWidget(self.pwlPicker, 1, 1, 1, 1)
+        self.label_2 = QtWidgets.QLabel(parent=SpellingPropertiesDialog)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 2, 0, 1, 1)
+        self.pelPicker = EricPathPicker(parent=SpellingPropertiesDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.pelPicker.sizePolicy().hasHeightForWidth())
+        self.pelPicker.setSizePolicy(sizePolicy)
+        self.pelPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.pelPicker.setObjectName("pelPicker")
+        self.gridLayout.addWidget(self.pelPicker, 2, 1, 1, 1)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=SpellingPropertiesDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout.addWidget(self.buttonBox, 3, 0, 1, 2)
+        self.textLabel1_3.setBuddy(self.spellingComboBox)
+        self.label.setBuddy(self.pwlPicker)
+        self.label_2.setBuddy(self.pelPicker)
+
+        self.retranslateUi(SpellingPropertiesDialog)
+        self.buttonBox.accepted.connect(SpellingPropertiesDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(SpellingPropertiesDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(SpellingPropertiesDialog)
+        SpellingPropertiesDialog.setTabOrder(self.spellingComboBox, self.buttonBox)
+
+    def retranslateUi(self, SpellingPropertiesDialog):
+        _translate = QtCore.QCoreApplication.translate
+        SpellingPropertiesDialog.setWindowTitle(_translate("SpellingPropertiesDialog", "Spelling Properties"))
+        self.textLabel1_3.setText(_translate("SpellingPropertiesDialog", "Project &Language:"))
+        self.spellingComboBox.setToolTip(_translate("SpellingPropertiesDialog", "Select the project\'s language"))
+        self.label.setText(_translate("SpellingPropertiesDialog", "Project &Word List:"))
+        self.pwlPicker.setToolTip(_translate("SpellingPropertiesDialog", "Enter the filename of the project word list"))
+        self.label_2.setText(_translate("SpellingPropertiesDialog", "Project E&xclude List:"))
+        self.pelPicker.setToolTip(_translate("SpellingPropertiesDialog", "Enter the filename of the project exclude list"))
+from eric7.EricWidgets.EricPathPicker import EricPathPicker
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Project/Ui_TranslationPropertiesDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,130 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Project/TranslationPropertiesDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_TranslationPropertiesDialog(object):
+    def setupUi(self, TranslationPropertiesDialog):
+        TranslationPropertiesDialog.setObjectName("TranslationPropertiesDialog")
+        TranslationPropertiesDialog.resize(700, 543)
+        TranslationPropertiesDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(TranslationPropertiesDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.gridLayout = QtWidgets.QGridLayout()
+        self.gridLayout.setObjectName("gridLayout")
+        self.label_2 = QtWidgets.QLabel(parent=TranslationPropertiesDialog)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 0, 0, 1, 1)
+        self.transPatternPicker = EricPathPicker(parent=TranslationPropertiesDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.transPatternPicker.sizePolicy().hasHeightForWidth())
+        self.transPatternPicker.setSizePolicy(sizePolicy)
+        self.transPatternPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.transPatternPicker.setObjectName("transPatternPicker")
+        self.gridLayout.addWidget(self.transPatternPicker, 0, 1, 1, 1)
+        self.textLabel1_3 = QtWidgets.QLabel(parent=TranslationPropertiesDialog)
+        self.textLabel1_3.setWordWrap(True)
+        self.textLabel1_3.setObjectName("textLabel1_3")
+        self.gridLayout.addWidget(self.textLabel1_3, 1, 0, 1, 2)
+        self.label = QtWidgets.QLabel(parent=TranslationPropertiesDialog)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 2, 0, 1, 1)
+        self.transBinPathPicker = EricPathPicker(parent=TranslationPropertiesDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.transBinPathPicker.sizePolicy().hasHeightForWidth())
+        self.transBinPathPicker.setSizePolicy(sizePolicy)
+        self.transBinPathPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.transBinPathPicker.setObjectName("transBinPathPicker")
+        self.gridLayout.addWidget(self.transBinPathPicker, 2, 1, 1, 1)
+        self.label_3 = QtWidgets.QLabel(parent=TranslationPropertiesDialog)
+        self.label_3.setObjectName("label_3")
+        self.gridLayout.addWidget(self.label_3, 3, 0, 1, 1)
+        self.sourceStartPathEdit = QtWidgets.QLineEdit(parent=TranslationPropertiesDialog)
+        self.sourceStartPathEdit.setObjectName("sourceStartPathEdit")
+        self.gridLayout.addWidget(self.sourceStartPathEdit, 3, 1, 1, 1)
+        self.verticalLayout.addLayout(self.gridLayout)
+        self.exceptionsGroup = QtWidgets.QGroupBox(parent=TranslationPropertiesDialog)
+        self.exceptionsGroup.setObjectName("exceptionsGroup")
+        self._4 = QtWidgets.QGridLayout(self.exceptionsGroup)
+        self._4.setObjectName("_4")
+        self.exceptDirButton = QtWidgets.QPushButton(parent=self.exceptionsGroup)
+        self.exceptDirButton.setObjectName("exceptDirButton")
+        self._4.addWidget(self.exceptDirButton, 2, 3, 1, 1)
+        self.exceptFileButton = QtWidgets.QPushButton(parent=self.exceptionsGroup)
+        self.exceptFileButton.setObjectName("exceptFileButton")
+        self._4.addWidget(self.exceptFileButton, 2, 2, 1, 1)
+        self.addExceptionButton = QtWidgets.QPushButton(parent=self.exceptionsGroup)
+        self.addExceptionButton.setEnabled(False)
+        self.addExceptionButton.setObjectName("addExceptionButton")
+        self._4.addWidget(self.addExceptionButton, 2, 1, 1, 1)
+        self.deleteExceptionButton = QtWidgets.QPushButton(parent=self.exceptionsGroup)
+        self.deleteExceptionButton.setEnabled(False)
+        self.deleteExceptionButton.setObjectName("deleteExceptionButton")
+        self._4.addWidget(self.deleteExceptionButton, 2, 0, 1, 1)
+        self.exceptionEdit = QtWidgets.QLineEdit(parent=self.exceptionsGroup)
+        self.exceptionEdit.setObjectName("exceptionEdit")
+        self._4.addWidget(self.exceptionEdit, 1, 0, 1, 4)
+        self.exceptionsList = QtWidgets.QListWidget(parent=self.exceptionsGroup)
+        self.exceptionsList.setAlternatingRowColors(True)
+        self.exceptionsList.setObjectName("exceptionsList")
+        self._4.addWidget(self.exceptionsList, 0, 0, 1, 4)
+        self.verticalLayout.addWidget(self.exceptionsGroup)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=TranslationPropertiesDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+        self.label_2.setBuddy(self.transPatternPicker)
+        self.label.setBuddy(self.transBinPathPicker)
+        self.label_3.setBuddy(self.sourceStartPathEdit)
+
+        self.retranslateUi(TranslationPropertiesDialog)
+        self.buttonBox.accepted.connect(TranslationPropertiesDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(TranslationPropertiesDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(TranslationPropertiesDialog)
+        TranslationPropertiesDialog.setTabOrder(self.transPatternPicker, self.transBinPathPicker)
+        TranslationPropertiesDialog.setTabOrder(self.transBinPathPicker, self.sourceStartPathEdit)
+        TranslationPropertiesDialog.setTabOrder(self.sourceStartPathEdit, self.exceptionsList)
+        TranslationPropertiesDialog.setTabOrder(self.exceptionsList, self.exceptionEdit)
+        TranslationPropertiesDialog.setTabOrder(self.exceptionEdit, self.deleteExceptionButton)
+        TranslationPropertiesDialog.setTabOrder(self.deleteExceptionButton, self.addExceptionButton)
+        TranslationPropertiesDialog.setTabOrder(self.addExceptionButton, self.exceptFileButton)
+        TranslationPropertiesDialog.setTabOrder(self.exceptFileButton, self.exceptDirButton)
+
+    def retranslateUi(self, TranslationPropertiesDialog):
+        _translate = QtCore.QCoreApplication.translate
+        TranslationPropertiesDialog.setWindowTitle(_translate("TranslationPropertiesDialog", "Translation Properties"))
+        self.label_2.setText(_translate("TranslationPropertiesDialog", "&Translation Path Pattern:"))
+        self.transPatternPicker.setToolTip(_translate("TranslationPropertiesDialog", "Enter the path pattern for the translation files"))
+        self.transPatternPicker.setWhatsThis(_translate("TranslationPropertiesDialog", "<b>Translation Pattern</b>\n"
+"<p>Enter the path pattern for the translation files using %language% at the place of the language code (e.g. /path_to_eric/i18n/eric7_%language%.ts). This will result in translation files like /path_to_eric/i18n/eric7_de.ts.</p>"))
+        self.textLabel1_3.setText(_translate("TranslationPropertiesDialog", "(Use \'%language%\' where the language code should be inserted, e.g. i18n/eric7_%language%.ts)"))
+        self.label.setText(_translate("TranslationPropertiesDialog", "&Binary Translations Path:"))
+        self.transBinPathPicker.setToolTip(_translate("TranslationPropertiesDialog", "Enter the path for the binary translation files (*.qm)"))
+        self.transBinPathPicker.setWhatsThis(_translate("TranslationPropertiesDialog", "<b>Binary Translations Path</b>\n"
+"<p>Enter the directory for the binary translation files (*.qm). Leave it empty to store them together with the *.ts files.</p>"))
+        self.label_3.setText(_translate("TranslationPropertiesDialog", "&Source Start Path:"))
+        self.sourceStartPathEdit.setToolTip(_translate("TranslationPropertiesDialog", "Enter the start of the sources directory relative to the project directory"))
+        self.exceptionsGroup.setTitle(_translate("TranslationPropertiesDialog", "Exclude from translation"))
+        self.exceptDirButton.setToolTip(_translate("TranslationPropertiesDialog", "Press to select a directory via a selection dialog"))
+        self.exceptDirButton.setText(_translate("TranslationPropertiesDialog", "Select d&irectory..."))
+        self.exceptFileButton.setToolTip(_translate("TranslationPropertiesDialog", "Press to select a file via a selection dialog"))
+        self.exceptFileButton.setText(_translate("TranslationPropertiesDialog", "Select &file..."))
+        self.addExceptionButton.setToolTip(_translate("TranslationPropertiesDialog", "Press to add the entered path or file to the list"))
+        self.addExceptionButton.setText(_translate("TranslationPropertiesDialog", "&Add"))
+        self.deleteExceptionButton.setToolTip(_translate("TranslationPropertiesDialog", "Press to delete the selected entry from the list"))
+        self.deleteExceptionButton.setText(_translate("TranslationPropertiesDialog", "&Delete"))
+        self.exceptionEdit.setToolTip(_translate("TranslationPropertiesDialog", "Enter a path or file to be added"))
+        self.exceptionsList.setToolTip(_translate("TranslationPropertiesDialog", "List of paths or files to excude from translation"))
+        self.exceptionsList.setSortingEnabled(True)
+from eric7.EricWidgets.EricPathPicker import EricPathPicker
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Project/Ui_UicCompilerOptionsDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,77 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Project/UicCompilerOptionsDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_UicCompilerOptionsDialog(object):
+    def setupUi(self, UicCompilerOptionsDialog):
+        UicCompilerOptionsDialog.setObjectName("UicCompilerOptionsDialog")
+        UicCompilerOptionsDialog.resize(500, 323)
+        UicCompilerOptionsDialog.setSizeGripEnabled(True)
+        self.verticalLayout_4 = QtWidgets.QVBoxLayout(UicCompilerOptionsDialog)
+        self.verticalLayout_4.setObjectName("verticalLayout_4")
+        self.groupBox = QtWidgets.QGroupBox(parent=UicCompilerOptionsDialog)
+        self.groupBox.setObjectName("groupBox")
+        self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.groupBox)
+        self.verticalLayout_3.setObjectName("verticalLayout_3")
+        self.packageRootEdit = QtWidgets.QLineEdit(parent=self.groupBox)
+        self.packageRootEdit.setClearButtonEnabled(True)
+        self.packageRootEdit.setObjectName("packageRootEdit")
+        self.verticalLayout_3.addWidget(self.packageRootEdit)
+        self.verticalLayout_4.addWidget(self.groupBox)
+        self.packageGroup = QtWidgets.QGroupBox(parent=UicCompilerOptionsDialog)
+        self.packageGroup.setObjectName("packageGroup")
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.packageGroup)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.packageEdit = QtWidgets.QLineEdit(parent=self.packageGroup)
+        self.packageEdit.setClearButtonEnabled(True)
+        self.packageEdit.setObjectName("packageEdit")
+        self.verticalLayout_2.addWidget(self.packageEdit)
+        self.label_2 = QtWidgets.QLabel(parent=self.packageGroup)
+        self.label_2.setWordWrap(True)
+        self.label_2.setObjectName("label_2")
+        self.verticalLayout_2.addWidget(self.label_2)
+        self.verticalLayout_4.addWidget(self.packageGroup)
+        self.suffixGroup = QtWidgets.QGroupBox(parent=UicCompilerOptionsDialog)
+        self.suffixGroup.setObjectName("suffixGroup")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.suffixGroup)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.suffixEdit = QtWidgets.QLineEdit(parent=self.suffixGroup)
+        self.suffixEdit.setClearButtonEnabled(True)
+        self.suffixEdit.setObjectName("suffixEdit")
+        self.verticalLayout.addWidget(self.suffixEdit)
+        self.label_4 = QtWidgets.QLabel(parent=self.suffixGroup)
+        self.label_4.setWordWrap(True)
+        self.label_4.setObjectName("label_4")
+        self.verticalLayout.addWidget(self.label_4)
+        self.verticalLayout_4.addWidget(self.suffixGroup)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=UicCompilerOptionsDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout_4.addWidget(self.buttonBox)
+
+        self.retranslateUi(UicCompilerOptionsDialog)
+        self.buttonBox.accepted.connect(UicCompilerOptionsDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(UicCompilerOptionsDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(UicCompilerOptionsDialog)
+        UicCompilerOptionsDialog.setTabOrder(self.packageRootEdit, self.packageEdit)
+        UicCompilerOptionsDialog.setTabOrder(self.packageEdit, self.suffixEdit)
+
+    def retranslateUi(self, UicCompilerOptionsDialog):
+        _translate = QtCore.QCoreApplication.translate
+        UicCompilerOptionsDialog.setWindowTitle(_translate("UicCompilerOptionsDialog", "uic Compiler Options"))
+        self.groupBox.setTitle(_translate("UicCompilerOptionsDialog", "Package Root"))
+        self.packageRootEdit.setToolTip(_translate("UicCompilerOptionsDialog", "Enter the project relative path of the packages root directory"))
+        self.packageGroup.setTitle(_translate("UicCompilerOptionsDialog", "\'import\' Package"))
+        self.packageEdit.setToolTip(_translate("UicCompilerOptionsDialog", "Enter the package name"))
+        self.label_2.setText(_translate("UicCompilerOptionsDialog", "<b>Note</b>: This generates statements like \'from PACKAGE import ...\'."))
+        self.suffixGroup.setTitle(_translate("UicCompilerOptionsDialog", "Resources Suffix"))
+        self.suffixEdit.setToolTip(_translate("UicCompilerOptionsDialog", "Enter the suffix of compiled resource files (default: _rc)"))
+        self.label_4.setText(_translate("UicCompilerOptionsDialog", "<b>Note</b>: Leave the suffix empty to use the default of \'_rc\'."))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Project/Ui_UserPropertiesDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,66 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Project/UserPropertiesDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_UserPropertiesDialog(object):
+    def setupUi(self, UserPropertiesDialog):
+        UserPropertiesDialog.setObjectName("UserPropertiesDialog")
+        UserPropertiesDialog.resize(543, 182)
+        UserPropertiesDialog.setSizeGripEnabled(True)
+        self._2 = QtWidgets.QVBoxLayout(UserPropertiesDialog)
+        self._2.setObjectName("_2")
+        self.groupBox_2 = QtWidgets.QGroupBox(parent=UserPropertiesDialog)
+        self.groupBox_2.setObjectName("groupBox_2")
+        self._3 = QtWidgets.QHBoxLayout(self.groupBox_2)
+        self._3.setObjectName("_3")
+        self.vcsStatusMonitorIntervalSpinBox = QtWidgets.QSpinBox(parent=self.groupBox_2)
+        self.vcsStatusMonitorIntervalSpinBox.setMaximum(3600)
+        self.vcsStatusMonitorIntervalSpinBox.setObjectName("vcsStatusMonitorIntervalSpinBox")
+        self._3.addWidget(self.vcsStatusMonitorIntervalSpinBox)
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self._3.addItem(spacerItem)
+        self._2.addWidget(self.groupBox_2)
+        self.vcsGroup = QtWidgets.QGroupBox(parent=UserPropertiesDialog)
+        self.vcsGroup.setObjectName("vcsGroup")
+        self._4 = QtWidgets.QVBoxLayout(self.vcsGroup)
+        self._4.setObjectName("_4")
+        self.vcsInterfaceCombo = QtWidgets.QComboBox(parent=self.vcsGroup)
+        self.vcsInterfaceCombo.setObjectName("vcsInterfaceCombo")
+        self._4.addWidget(self.vcsInterfaceCombo)
+        self.vcsInterfaceDefaultCheckBox = QtWidgets.QCheckBox(parent=self.vcsGroup)
+        self.vcsInterfaceDefaultCheckBox.setObjectName("vcsInterfaceDefaultCheckBox")
+        self._4.addWidget(self.vcsInterfaceDefaultCheckBox)
+        self._2.addWidget(self.vcsGroup)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=UserPropertiesDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self._2.addWidget(self.buttonBox)
+
+        self.retranslateUi(UserPropertiesDialog)
+        self.buttonBox.accepted.connect(UserPropertiesDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(UserPropertiesDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(UserPropertiesDialog)
+        UserPropertiesDialog.setTabOrder(self.vcsStatusMonitorIntervalSpinBox, self.vcsInterfaceCombo)
+        UserPropertiesDialog.setTabOrder(self.vcsInterfaceCombo, self.vcsInterfaceDefaultCheckBox)
+        UserPropertiesDialog.setTabOrder(self.vcsInterfaceDefaultCheckBox, self.buttonBox)
+
+    def retranslateUi(self, UserPropertiesDialog):
+        _translate = QtCore.QCoreApplication.translate
+        UserPropertiesDialog.setWindowTitle(_translate("UserPropertiesDialog", "User Project Properties"))
+        UserPropertiesDialog.setWhatsThis(_translate("UserPropertiesDialog", "<b>User Project Properties</b>\n"
+"<p>This dialog is used to show and edit the user specific project properties.</p>"))
+        self.groupBox_2.setTitle(_translate("UserPropertiesDialog", "VCS Status Monitor"))
+        self.vcsStatusMonitorIntervalSpinBox.setToolTip(_translate("UserPropertiesDialog", "Select the interval in seconds for VCS status updates (0 to disable)"))
+        self.vcsStatusMonitorIntervalSpinBox.setSuffix(_translate("UserPropertiesDialog", " sec"))
+        self.vcsGroup.setTitle(_translate("UserPropertiesDialog", "VCS Interface"))
+        self.vcsInterfaceCombo.setToolTip(_translate("UserPropertiesDialog", "Select the vcs interface to be used"))
+        self.vcsInterfaceDefaultCheckBox.setToolTip(_translate("UserPropertiesDialog", "Select to make the interface selection the default for the project"))
+        self.vcsInterfaceDefaultCheckBox.setText(_translate("UserPropertiesDialog", "Make interface selection the default"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/QScintilla/MarkupProviders/Ui_HyperlinkMarkupDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,53 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/QScintilla/MarkupProviders/HyperlinkMarkupDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_HyperlinkMarkupDialog(object):
+    def setupUi(self, HyperlinkMarkupDialog):
+        HyperlinkMarkupDialog.setObjectName("HyperlinkMarkupDialog")
+        HyperlinkMarkupDialog.resize(400, 142)
+        HyperlinkMarkupDialog.setSizeGripEnabled(True)
+        self.gridLayout = QtWidgets.QGridLayout(HyperlinkMarkupDialog)
+        self.gridLayout.setObjectName("gridLayout")
+        self.label = QtWidgets.QLabel(parent=HyperlinkMarkupDialog)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
+        self.textEdit = QtWidgets.QLineEdit(parent=HyperlinkMarkupDialog)
+        self.textEdit.setObjectName("textEdit")
+        self.gridLayout.addWidget(self.textEdit, 0, 1, 1, 1)
+        self.label_2 = QtWidgets.QLabel(parent=HyperlinkMarkupDialog)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 1, 0, 1, 1)
+        self.targetEdit = QtWidgets.QLineEdit(parent=HyperlinkMarkupDialog)
+        self.targetEdit.setObjectName("targetEdit")
+        self.gridLayout.addWidget(self.targetEdit, 1, 1, 1, 1)
+        self.label_3 = QtWidgets.QLabel(parent=HyperlinkMarkupDialog)
+        self.label_3.setObjectName("label_3")
+        self.gridLayout.addWidget(self.label_3, 2, 0, 1, 1)
+        self.titelEdit = QtWidgets.QLineEdit(parent=HyperlinkMarkupDialog)
+        self.titelEdit.setObjectName("titelEdit")
+        self.gridLayout.addWidget(self.titelEdit, 2, 1, 1, 1)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=HyperlinkMarkupDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout.addWidget(self.buttonBox, 3, 0, 1, 2)
+
+        self.retranslateUi(HyperlinkMarkupDialog)
+        self.buttonBox.accepted.connect(HyperlinkMarkupDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(HyperlinkMarkupDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(HyperlinkMarkupDialog)
+
+    def retranslateUi(self, HyperlinkMarkupDialog):
+        _translate = QtCore.QCoreApplication.translate
+        HyperlinkMarkupDialog.setWindowTitle(_translate("HyperlinkMarkupDialog", "Insert Hyperlink"))
+        self.label.setText(_translate("HyperlinkMarkupDialog", "Link Text:"))
+        self.label_2.setText(_translate("HyperlinkMarkupDialog", "Link Target:"))
+        self.label_3.setText(_translate("HyperlinkMarkupDialog", "Link Title:"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/QScintilla/MarkupProviders/Ui_ImageMarkupDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,107 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/QScintilla/MarkupProviders/ImageMarkupDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_ImageMarkupDialog(object):
+    def setupUi(self, ImageMarkupDialog):
+        ImageMarkupDialog.setObjectName("ImageMarkupDialog")
+        ImageMarkupDialog.resize(500, 231)
+        ImageMarkupDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(ImageMarkupDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.gridLayout = QtWidgets.QGridLayout()
+        self.gridLayout.setObjectName("gridLayout")
+        self.label = QtWidgets.QLabel(parent=ImageMarkupDialog)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
+        self.imagePicker = EricPathPicker(parent=ImageMarkupDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.imagePicker.sizePolicy().hasHeightForWidth())
+        self.imagePicker.setSizePolicy(sizePolicy)
+        self.imagePicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.imagePicker.setObjectName("imagePicker")
+        self.gridLayout.addWidget(self.imagePicker, 0, 1, 1, 1)
+        self.label_5 = QtWidgets.QLabel(parent=ImageMarkupDialog)
+        self.label_5.setObjectName("label_5")
+        self.gridLayout.addWidget(self.label_5, 1, 0, 1, 1)
+        self.titleEdit = QtWidgets.QLineEdit(parent=ImageMarkupDialog)
+        self.titleEdit.setObjectName("titleEdit")
+        self.gridLayout.addWidget(self.titleEdit, 1, 1, 1, 1)
+        self.label_4 = QtWidgets.QLabel(parent=ImageMarkupDialog)
+        self.label_4.setObjectName("label_4")
+        self.gridLayout.addWidget(self.label_4, 2, 0, 1, 1)
+        self.altTextEdit = QtWidgets.QLineEdit(parent=ImageMarkupDialog)
+        self.altTextEdit.setObjectName("altTextEdit")
+        self.gridLayout.addWidget(self.altTextEdit, 2, 1, 1, 1)
+        self.verticalLayout.addLayout(self.gridLayout)
+        self.sizeCheckBox = QtWidgets.QCheckBox(parent=ImageMarkupDialog)
+        self.sizeCheckBox.setToolTip("")
+        self.sizeCheckBox.setObjectName("sizeCheckBox")
+        self.verticalLayout.addWidget(self.sizeCheckBox)
+        self.aspectRatioCheckBox = QtWidgets.QCheckBox(parent=ImageMarkupDialog)
+        self.aspectRatioCheckBox.setObjectName("aspectRatioCheckBox")
+        self.verticalLayout.addWidget(self.aspectRatioCheckBox)
+        self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
+        self.label_2 = QtWidgets.QLabel(parent=ImageMarkupDialog)
+        self.label_2.setObjectName("label_2")
+        self.horizontalLayout_3.addWidget(self.label_2)
+        self.widthSpinBox = QtWidgets.QSpinBox(parent=ImageMarkupDialog)
+        self.widthSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.widthSpinBox.setMaximum(9999)
+        self.widthSpinBox.setObjectName("widthSpinBox")
+        self.horizontalLayout_3.addWidget(self.widthSpinBox)
+        self.label_3 = QtWidgets.QLabel(parent=ImageMarkupDialog)
+        self.label_3.setObjectName("label_3")
+        self.horizontalLayout_3.addWidget(self.label_3)
+        self.heightSpinBox = QtWidgets.QSpinBox(parent=ImageMarkupDialog)
+        self.heightSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.heightSpinBox.setMaximum(9999)
+        self.heightSpinBox.setObjectName("heightSpinBox")
+        self.horizontalLayout_3.addWidget(self.heightSpinBox)
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_3.addItem(spacerItem)
+        self.verticalLayout.addLayout(self.horizontalLayout_3)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=ImageMarkupDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(ImageMarkupDialog)
+        self.buttonBox.accepted.connect(ImageMarkupDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(ImageMarkupDialog.reject) # type: ignore
+        self.sizeCheckBox.toggled['bool'].connect(self.aspectRatioCheckBox.setDisabled) # type: ignore
+        self.sizeCheckBox.toggled['bool'].connect(self.widthSpinBox.setDisabled) # type: ignore
+        self.sizeCheckBox.toggled['bool'].connect(self.heightSpinBox.setDisabled) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(ImageMarkupDialog)
+        ImageMarkupDialog.setTabOrder(self.imagePicker, self.titleEdit)
+        ImageMarkupDialog.setTabOrder(self.titleEdit, self.altTextEdit)
+        ImageMarkupDialog.setTabOrder(self.altTextEdit, self.sizeCheckBox)
+        ImageMarkupDialog.setTabOrder(self.sizeCheckBox, self.aspectRatioCheckBox)
+        ImageMarkupDialog.setTabOrder(self.aspectRatioCheckBox, self.widthSpinBox)
+        ImageMarkupDialog.setTabOrder(self.widthSpinBox, self.heightSpinBox)
+
+    def retranslateUi(self, ImageMarkupDialog):
+        _translate = QtCore.QCoreApplication.translate
+        ImageMarkupDialog.setWindowTitle(_translate("ImageMarkupDialog", "Add Image"))
+        self.label.setText(_translate("ImageMarkupDialog", "Image Address:"))
+        self.imagePicker.setToolTip(_translate("ImageMarkupDialog", "Enter the image path or URL"))
+        self.label_5.setText(_translate("ImageMarkupDialog", "Title:"))
+        self.label_4.setText(_translate("ImageMarkupDialog", "Alternative Text:"))
+        self.sizeCheckBox.setText(_translate("ImageMarkupDialog", "Keep Original Size"))
+        self.aspectRatioCheckBox.setText(_translate("ImageMarkupDialog", "Keep Aspect Ratio"))
+        self.label_2.setText(_translate("ImageMarkupDialog", "Width:"))
+        self.widthSpinBox.setSuffix(_translate("ImageMarkupDialog", " px"))
+        self.label_3.setText(_translate("ImageMarkupDialog", "Height:"))
+        self.heightSpinBox.setSuffix(_translate("ImageMarkupDialog", " px"))
+from eric7.EricWidgets.EricPathPicker import EricPathPicker
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/QScintilla/Ui_EditorOutlineSizesDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,58 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/QScintilla/EditorOutlineSizesDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_EditorOutlineSizesDialog(object):
+    def setupUi(self, EditorOutlineSizesDialog):
+        EditorOutlineSizesDialog.setObjectName("EditorOutlineSizesDialog")
+        EditorOutlineSizesDialog.resize(400, 110)
+        EditorOutlineSizesDialog.setSizeGripEnabled(True)
+        self.gridLayout = QtWidgets.QGridLayout(EditorOutlineSizesDialog)
+        self.gridLayout.setObjectName("gridLayout")
+        self.label_2 = QtWidgets.QLabel(parent=EditorOutlineSizesDialog)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 0, 0, 1, 1)
+        self.sourceOutlineWidthSpinBox = QtWidgets.QSpinBox(parent=EditorOutlineSizesDialog)
+        self.sourceOutlineWidthSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.sourceOutlineWidthSpinBox.setMinimum(50)
+        self.sourceOutlineWidthSpinBox.setMaximum(498)
+        self.sourceOutlineWidthSpinBox.setSingleStep(50)
+        self.sourceOutlineWidthSpinBox.setObjectName("sourceOutlineWidthSpinBox")
+        self.gridLayout.addWidget(self.sourceOutlineWidthSpinBox, 0, 1, 1, 1)
+        spacerItem = QtWidgets.QSpacerItem(219, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout.addItem(spacerItem, 0, 2, 1, 1)
+        self.label_3 = QtWidgets.QLabel(parent=EditorOutlineSizesDialog)
+        self.label_3.setObjectName("label_3")
+        self.gridLayout.addWidget(self.label_3, 1, 0, 1, 1)
+        self.sourceOutlineWidthStepSpinBox = QtWidgets.QSpinBox(parent=EditorOutlineSizesDialog)
+        self.sourceOutlineWidthStepSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.sourceOutlineWidthStepSpinBox.setMinimum(10)
+        self.sourceOutlineWidthStepSpinBox.setMaximum(100)
+        self.sourceOutlineWidthStepSpinBox.setSingleStep(10)
+        self.sourceOutlineWidthStepSpinBox.setObjectName("sourceOutlineWidthStepSpinBox")
+        self.gridLayout.addWidget(self.sourceOutlineWidthStepSpinBox, 1, 1, 1, 1)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=EditorOutlineSizesDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok|QtWidgets.QDialogButtonBox.StandardButton.RestoreDefaults)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout.addWidget(self.buttonBox, 2, 0, 1, 3)
+
+        self.retranslateUi(EditorOutlineSizesDialog)
+        self.buttonBox.accepted.connect(EditorOutlineSizesDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(EditorOutlineSizesDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(EditorOutlineSizesDialog)
+
+    def retranslateUi(self, EditorOutlineSizesDialog):
+        _translate = QtCore.QCoreApplication.translate
+        EditorOutlineSizesDialog.setWindowTitle(_translate("EditorOutlineSizesDialog", "Editor Outline Sizes"))
+        self.label_2.setText(_translate("EditorOutlineSizesDialog", "Default Width:"))
+        self.sourceOutlineWidthSpinBox.setToolTip(_translate("EditorOutlineSizesDialog", "Enter the default width of the source code outline view"))
+        self.label_3.setText(_translate("EditorOutlineSizesDialog", "Width Step Size:"))
+        self.sourceOutlineWidthStepSpinBox.setToolTip(_translate("EditorOutlineSizesDialog", "Enter the amount of pixels the width of the outline should be increased or decreased"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/QScintilla/Ui_GotoDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,53 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/QScintilla/GotoDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_GotoDialog(object):
+    def setupUi(self, GotoDialog):
+        GotoDialog.setObjectName("GotoDialog")
+        GotoDialog.resize(206, 77)
+        self._3 = QtWidgets.QVBoxLayout(GotoDialog)
+        self._3.setObjectName("_3")
+        self._2 = QtWidgets.QHBoxLayout()
+        self._2.setObjectName("_2")
+        self.linenumberLabel = QtWidgets.QLabel(parent=GotoDialog)
+        self.linenumberLabel.setObjectName("linenumberLabel")
+        self._2.addWidget(self.linenumberLabel)
+        self.linenumberSpinBox = QtWidgets.QSpinBox(parent=GotoDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.linenumberSpinBox.sizePolicy().hasHeightForWidth())
+        self.linenumberSpinBox.setSizePolicy(sizePolicy)
+        self.linenumberSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight)
+        self.linenumberSpinBox.setMinimum(1)
+        self.linenumberSpinBox.setMaximum(99999)
+        self.linenumberSpinBox.setObjectName("linenumberSpinBox")
+        self._2.addWidget(self.linenumberSpinBox)
+        self._3.addLayout(self._2)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=GotoDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self._3.addWidget(self.buttonBox)
+        self.linenumberLabel.setBuddy(self.linenumberSpinBox)
+
+        self.retranslateUi(GotoDialog)
+        self.buttonBox.accepted.connect(GotoDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(GotoDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(GotoDialog)
+
+    def retranslateUi(self, GotoDialog):
+        _translate = QtCore.QCoreApplication.translate
+        GotoDialog.setWindowTitle(_translate("GotoDialog", "Goto"))
+        self.linenumberLabel.setText(_translate("GotoDialog", "&Line Number:"))
+        self.linenumberSpinBox.setToolTip(_translate("GotoDialog", "Enter linenumber to go to"))
+        self.linenumberSpinBox.setWhatsThis(_translate("GotoDialog", "<b>Linenumber</b>\n"
+"<p>Enter the linenumber to go to in this entry field.</p>"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/QScintilla/Ui_SearchReplaceWidget.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,150 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/QScintilla/SearchReplaceWidget.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_SearchReplaceWidget(object):
+    def setupUi(self, SearchReplaceWidget):
+        SearchReplaceWidget.setObjectName("SearchReplaceWidget")
+        SearchReplaceWidget.resize(995, 58)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(SearchReplaceWidget.sizePolicy().hasHeightForWidth())
+        SearchReplaceWidget.setSizePolicy(sizePolicy)
+        self.gridLayout = QtWidgets.QGridLayout(SearchReplaceWidget)
+        self.gridLayout.setContentsMargins(0, 0, 0, 0)
+        self.gridLayout.setObjectName("gridLayout")
+        self.replaceLabel = QtWidgets.QLabel(parent=SearchReplaceWidget)
+        self.replaceLabel.setObjectName("replaceLabel")
+        self.gridLayout.addWidget(self.replaceLabel, 1, 2, 1, 1)
+        self.selectionCheckBox = QtWidgets.QCheckBox(parent=SearchReplaceWidget)
+        self.selectionCheckBox.setObjectName("selectionCheckBox")
+        self.gridLayout.addWidget(self.selectionCheckBox, 0, 10, 1, 1)
+        self.modeToggleButton = QtWidgets.QToolButton(parent=SearchReplaceWidget)
+        self.modeToggleButton.setObjectName("modeToggleButton")
+        self.gridLayout.addWidget(self.modeToggleButton, 0, 1, 1, 1)
+        self.label = QtWidgets.QLabel(parent=SearchReplaceWidget)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 0, 2, 1, 1)
+        self.caseCheckBox = QtWidgets.QCheckBox(parent=SearchReplaceWidget)
+        self.caseCheckBox.setObjectName("caseCheckBox")
+        self.gridLayout.addWidget(self.caseCheckBox, 0, 5, 1, 1)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setSpacing(0)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.findPrevButton = QtWidgets.QToolButton(parent=SearchReplaceWidget)
+        self.findPrevButton.setObjectName("findPrevButton")
+        self.horizontalLayout.addWidget(self.findPrevButton)
+        self.findNextButton = QtWidgets.QToolButton(parent=SearchReplaceWidget)
+        self.findNextButton.setObjectName("findNextButton")
+        self.horizontalLayout.addWidget(self.findNextButton)
+        self.extendButton = QtWidgets.QToolButton(parent=SearchReplaceWidget)
+        self.extendButton.setObjectName("extendButton")
+        self.horizontalLayout.addWidget(self.extendButton)
+        self.gridLayout.addLayout(self.horizontalLayout, 0, 4, 1, 1)
+        self.findtextCombo = QtWidgets.QComboBox(parent=SearchReplaceWidget)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.findtextCombo.sizePolicy().hasHeightForWidth())
+        self.findtextCombo.setSizePolicy(sizePolicy)
+        self.findtextCombo.setMinimumSize(QtCore.QSize(300, 0))
+        self.findtextCombo.setEditable(True)
+        self.findtextCombo.setInsertPolicy(QtWidgets.QComboBox.InsertPolicy.InsertAtTop)
+        self.findtextCombo.setDuplicatesEnabled(False)
+        self.findtextCombo.setObjectName("findtextCombo")
+        self.gridLayout.addWidget(self.findtextCombo, 0, 3, 1, 1)
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setSpacing(0)
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.replaceButton = QtWidgets.QToolButton(parent=SearchReplaceWidget)
+        self.replaceButton.setObjectName("replaceButton")
+        self.horizontalLayout_2.addWidget(self.replaceButton)
+        self.replaceSearchButton = QtWidgets.QToolButton(parent=SearchReplaceWidget)
+        self.replaceSearchButton.setObjectName("replaceSearchButton")
+        self.horizontalLayout_2.addWidget(self.replaceSearchButton)
+        self.replaceAllButton = QtWidgets.QToolButton(parent=SearchReplaceWidget)
+        self.replaceAllButton.setObjectName("replaceAllButton")
+        self.horizontalLayout_2.addWidget(self.replaceAllButton)
+        self.gridLayout.addLayout(self.horizontalLayout_2, 1, 4, 1, 1)
+        self.regexpCheckBox = QtWidgets.QCheckBox(parent=SearchReplaceWidget)
+        self.regexpCheckBox.setObjectName("regexpCheckBox")
+        self.gridLayout.addWidget(self.regexpCheckBox, 0, 8, 1, 1)
+        self.closeButton = QtWidgets.QToolButton(parent=SearchReplaceWidget)
+        self.closeButton.setText("")
+        self.closeButton.setObjectName("closeButton")
+        self.gridLayout.addWidget(self.closeButton, 0, 0, 1, 1)
+        self.wrapCheckBox = QtWidgets.QCheckBox(parent=SearchReplaceWidget)
+        self.wrapCheckBox.setObjectName("wrapCheckBox")
+        self.gridLayout.addWidget(self.wrapCheckBox, 0, 9, 1, 1)
+        self.replacetextCombo = QtWidgets.QComboBox(parent=SearchReplaceWidget)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.replacetextCombo.sizePolicy().hasHeightForWidth())
+        self.replacetextCombo.setSizePolicy(sizePolicy)
+        self.replacetextCombo.setMinimumSize(QtCore.QSize(300, 0))
+        self.replacetextCombo.setEditable(True)
+        self.replacetextCombo.setInsertPolicy(QtWidgets.QComboBox.InsertPolicy.InsertAtTop)
+        self.replacetextCombo.setDuplicatesEnabled(False)
+        self.replacetextCombo.setObjectName("replacetextCombo")
+        self.gridLayout.addWidget(self.replacetextCombo, 1, 3, 1, 1)
+        self.wordCheckBox = QtWidgets.QCheckBox(parent=SearchReplaceWidget)
+        self.wordCheckBox.setObjectName("wordCheckBox")
+        self.gridLayout.addWidget(self.wordCheckBox, 0, 6, 1, 1)
+        self.escapeCheckBox = QtWidgets.QCheckBox(parent=SearchReplaceWidget)
+        self.escapeCheckBox.setObjectName("escapeCheckBox")
+        self.gridLayout.addWidget(self.escapeCheckBox, 0, 7, 1, 1)
+        self.replaceLabel.setBuddy(self.replacetextCombo)
+        self.label.setBuddy(self.findtextCombo)
+
+        self.retranslateUi(SearchReplaceWidget)
+        QtCore.QMetaObject.connectSlotsByName(SearchReplaceWidget)
+        SearchReplaceWidget.setTabOrder(self.findtextCombo, self.replacetextCombo)
+        SearchReplaceWidget.setTabOrder(self.replacetextCombo, self.extendButton)
+        SearchReplaceWidget.setTabOrder(self.extendButton, self.findNextButton)
+        SearchReplaceWidget.setTabOrder(self.findNextButton, self.findPrevButton)
+        SearchReplaceWidget.setTabOrder(self.findPrevButton, self.replaceSearchButton)
+        SearchReplaceWidget.setTabOrder(self.replaceSearchButton, self.replaceAllButton)
+        SearchReplaceWidget.setTabOrder(self.replaceAllButton, self.replaceButton)
+        SearchReplaceWidget.setTabOrder(self.replaceButton, self.caseCheckBox)
+        SearchReplaceWidget.setTabOrder(self.caseCheckBox, self.wordCheckBox)
+        SearchReplaceWidget.setTabOrder(self.wordCheckBox, self.escapeCheckBox)
+        SearchReplaceWidget.setTabOrder(self.escapeCheckBox, self.regexpCheckBox)
+        SearchReplaceWidget.setTabOrder(self.regexpCheckBox, self.wrapCheckBox)
+        SearchReplaceWidget.setTabOrder(self.wrapCheckBox, self.selectionCheckBox)
+        SearchReplaceWidget.setTabOrder(self.selectionCheckBox, self.closeButton)
+        SearchReplaceWidget.setTabOrder(self.closeButton, self.modeToggleButton)
+
+    def retranslateUi(self, SearchReplaceWidget):
+        _translate = QtCore.QCoreApplication.translate
+        SearchReplaceWidget.setWindowTitle(_translate("SearchReplaceWidget", "Find and Replace"))
+        self.replaceLabel.setText(_translate("SearchReplaceWidget", "&Replace:"))
+        self.selectionCheckBox.setToolTip(_translate("SearchReplaceWidget", "Select to search in the current selection only"))
+        self.selectionCheckBox.setText(_translate("SearchReplaceWidget", "&Selection only"))
+        self.modeToggleButton.setToolTip(_translate("SearchReplaceWidget", "Press to toggle the mode between find and replace mode"))
+        self.label.setText(_translate("SearchReplaceWidget", "&Find:"))
+        self.caseCheckBox.setToolTip(_translate("SearchReplaceWidget", "Select to match case sensitive"))
+        self.caseCheckBox.setText(_translate("SearchReplaceWidget", "&Match case"))
+        self.findPrevButton.setToolTip(_translate("SearchReplaceWidget", "Press to find the previous occurrence"))
+        self.findNextButton.setToolTip(_translate("SearchReplaceWidget", "Press to find the next occurrence"))
+        self.extendButton.setToolTip(_translate("SearchReplaceWidget", "Press to extend the search to the whole word"))
+        self.replaceButton.setToolTip(_translate("SearchReplaceWidget", "Press to replace the selection"))
+        self.replaceSearchButton.setToolTip(_translate("SearchReplaceWidget", "Press to replace the selection and search for the next occurence"))
+        self.replaceAllButton.setToolTip(_translate("SearchReplaceWidget", "Press to replace all occurrences"))
+        self.regexpCheckBox.setToolTip(_translate("SearchReplaceWidget", "Select if the searchtext is a regular expression"))
+        self.regexpCheckBox.setText(_translate("SearchReplaceWidget", "Rege&xp"))
+        self.closeButton.setToolTip(_translate("SearchReplaceWidget", "Press to close the window"))
+        self.wrapCheckBox.setToolTip(_translate("SearchReplaceWidget", "Select to continue the search at the beginning or end"))
+        self.wrapCheckBox.setText(_translate("SearchReplaceWidget", "Wrap &around"))
+        self.wordCheckBox.setToolTip(_translate("SearchReplaceWidget", "Select to match whole words only"))
+        self.wordCheckBox.setText(_translate("SearchReplaceWidget", "Whole &word"))
+        self.escapeCheckBox.setToolTip(_translate("SearchReplaceWidget", "Select if the search or replace text contains escape codes"))
+        self.escapeCheckBox.setText(_translate("SearchReplaceWidget", "Escape"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/QScintilla/Ui_ShellHistoryDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,74 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/QScintilla/ShellHistoryDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_ShellHistoryDialog(object):
+    def setupUi(self, ShellHistoryDialog):
+        ShellHistoryDialog.setObjectName("ShellHistoryDialog")
+        ShellHistoryDialog.resize(540, 506)
+        ShellHistoryDialog.setSizeGripEnabled(True)
+        self.gridLayout = QtWidgets.QGridLayout(ShellHistoryDialog)
+        self.gridLayout.setObjectName("gridLayout")
+        self.historyList = QtWidgets.QListWidget(parent=ShellHistoryDialog)
+        font = QtGui.QFont()
+        font.setFamily("Monospace")
+        self.historyList.setFont(font)
+        self.historyList.setEditTriggers(QtWidgets.QAbstractItemView.EditTrigger.NoEditTriggers)
+        self.historyList.setAlternatingRowColors(True)
+        self.historyList.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.ExtendedSelection)
+        self.historyList.setWordWrap(True)
+        self.historyList.setObjectName("historyList")
+        self.gridLayout.addWidget(self.historyList, 0, 0, 1, 1)
+        self.verticalLayout = QtWidgets.QVBoxLayout()
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.deleteButton = QtWidgets.QPushButton(parent=ShellHistoryDialog)
+        self.deleteButton.setEnabled(False)
+        self.deleteButton.setObjectName("deleteButton")
+        self.verticalLayout.addWidget(self.deleteButton)
+        self.copyButton = QtWidgets.QPushButton(parent=ShellHistoryDialog)
+        self.copyButton.setEnabled(False)
+        self.copyButton.setObjectName("copyButton")
+        self.verticalLayout.addWidget(self.copyButton)
+        self.executeButton = QtWidgets.QPushButton(parent=ShellHistoryDialog)
+        self.executeButton.setEnabled(False)
+        self.executeButton.setObjectName("executeButton")
+        self.verticalLayout.addWidget(self.executeButton)
+        self.reloadButton = QtWidgets.QPushButton(parent=ShellHistoryDialog)
+        self.reloadButton.setObjectName("reloadButton")
+        self.verticalLayout.addWidget(self.reloadButton)
+        spacerItem = QtWidgets.QSpacerItem(72, 208, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout.addItem(spacerItem)
+        self.gridLayout.addLayout(self.verticalLayout, 0, 1, 1, 1)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=ShellHistoryDialog)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout.addWidget(self.buttonBox, 1, 0, 1, 2)
+
+        self.retranslateUi(ShellHistoryDialog)
+        self.buttonBox.accepted.connect(ShellHistoryDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(ShellHistoryDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(ShellHistoryDialog)
+        ShellHistoryDialog.setTabOrder(self.historyList, self.deleteButton)
+        ShellHistoryDialog.setTabOrder(self.deleteButton, self.copyButton)
+        ShellHistoryDialog.setTabOrder(self.copyButton, self.executeButton)
+        ShellHistoryDialog.setTabOrder(self.executeButton, self.reloadButton)
+        ShellHistoryDialog.setTabOrder(self.reloadButton, self.buttonBox)
+
+    def retranslateUi(self, ShellHistoryDialog):
+        _translate = QtCore.QCoreApplication.translate
+        ShellHistoryDialog.setWindowTitle(_translate("ShellHistoryDialog", "Shell History"))
+        self.deleteButton.setToolTip(_translate("ShellHistoryDialog", "Delete the selected entries"))
+        self.deleteButton.setText(_translate("ShellHistoryDialog", "&Delete"))
+        self.copyButton.setToolTip(_translate("ShellHistoryDialog", "Copy the selected entries to the current editor"))
+        self.copyButton.setText(_translate("ShellHistoryDialog", "C&opy"))
+        self.executeButton.setToolTip(_translate("ShellHistoryDialog", "Execute the selected entries"))
+        self.executeButton.setText(_translate("ShellHistoryDialog", "&Execute"))
+        self.reloadButton.setToolTip(_translate("ShellHistoryDialog", "Reload the history"))
+        self.reloadButton.setText(_translate("ShellHistoryDialog", "&Reload"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/QScintilla/Ui_SortOptionsDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,91 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/QScintilla/SortOptionsDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_SortOptionsDialog(object):
+    def setupUi(self, SortOptionsDialog):
+        SortOptionsDialog.setObjectName("SortOptionsDialog")
+        SortOptionsDialog.resize(400, 209)
+        SortOptionsDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(SortOptionsDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.directionGroupBox = QtWidgets.QGroupBox(parent=SortOptionsDialog)
+        self.directionGroupBox.setObjectName("directionGroupBox")
+        self.horizontalLayout = QtWidgets.QHBoxLayout(self.directionGroupBox)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.ascendingButton = QtWidgets.QRadioButton(parent=self.directionGroupBox)
+        self.ascendingButton.setChecked(True)
+        self.ascendingButton.setObjectName("ascendingButton")
+        self.horizontalLayout.addWidget(self.ascendingButton)
+        self.descendingButton = QtWidgets.QRadioButton(parent=self.directionGroupBox)
+        self.descendingButton.setChecked(False)
+        self.descendingButton.setObjectName("descendingButton")
+        self.horizontalLayout.addWidget(self.descendingButton)
+        self.verticalLayout.addWidget(self.directionGroupBox)
+        self.typeGroupBox = QtWidgets.QGroupBox(parent=SortOptionsDialog)
+        self.typeGroupBox.setObjectName("typeGroupBox")
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.typeGroupBox)
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.alnumButton = QtWidgets.QRadioButton(parent=self.typeGroupBox)
+        self.alnumButton.setChecked(True)
+        self.alnumButton.setObjectName("alnumButton")
+        self.horizontalLayout_2.addWidget(self.alnumButton)
+        self.numButton = QtWidgets.QRadioButton(parent=self.typeGroupBox)
+        self.numButton.setObjectName("numButton")
+        self.horizontalLayout_2.addWidget(self.numButton)
+        self.verticalLayout.addWidget(self.typeGroupBox)
+        self.caseGroupBox = QtWidgets.QGroupBox(parent=SortOptionsDialog)
+        self.caseGroupBox.setObjectName("caseGroupBox")
+        self.horizontalLayout_3 = QtWidgets.QHBoxLayout(self.caseGroupBox)
+        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
+        self.respectCaseButton = QtWidgets.QRadioButton(parent=self.caseGroupBox)
+        self.respectCaseButton.setChecked(True)
+        self.respectCaseButton.setObjectName("respectCaseButton")
+        self.horizontalLayout_3.addWidget(self.respectCaseButton)
+        self.ignoreCaseButton = QtWidgets.QRadioButton(parent=self.caseGroupBox)
+        self.ignoreCaseButton.setObjectName("ignoreCaseButton")
+        self.horizontalLayout_3.addWidget(self.ignoreCaseButton)
+        self.verticalLayout.addWidget(self.caseGroupBox)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=SortOptionsDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(SortOptionsDialog)
+        self.buttonBox.accepted.connect(SortOptionsDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(SortOptionsDialog.reject) # type: ignore
+        self.alnumButton.toggled['bool'].connect(self.caseGroupBox.setEnabled) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(SortOptionsDialog)
+        SortOptionsDialog.setTabOrder(self.ascendingButton, self.descendingButton)
+        SortOptionsDialog.setTabOrder(self.descendingButton, self.alnumButton)
+        SortOptionsDialog.setTabOrder(self.alnumButton, self.numButton)
+        SortOptionsDialog.setTabOrder(self.numButton, self.respectCaseButton)
+        SortOptionsDialog.setTabOrder(self.respectCaseButton, self.ignoreCaseButton)
+        SortOptionsDialog.setTabOrder(self.ignoreCaseButton, self.buttonBox)
+
+    def retranslateUi(self, SortOptionsDialog):
+        _translate = QtCore.QCoreApplication.translate
+        SortOptionsDialog.setWindowTitle(_translate("SortOptionsDialog", "Sort Options"))
+        self.directionGroupBox.setTitle(_translate("SortOptionsDialog", "Direction"))
+        self.ascendingButton.setToolTip(_translate("SortOptionsDialog", "Select to sort in ascending order"))
+        self.ascendingButton.setText(_translate("SortOptionsDialog", "Ascending"))
+        self.descendingButton.setToolTip(_translate("SortOptionsDialog", "Select to sort in descending order"))
+        self.descendingButton.setText(_translate("SortOptionsDialog", "Descending"))
+        self.typeGroupBox.setTitle(_translate("SortOptionsDialog", "Type"))
+        self.alnumButton.setToolTip(_translate("SortOptionsDialog", "Select to sort alphanumerically"))
+        self.alnumButton.setText(_translate("SortOptionsDialog", "Alphanumerical"))
+        self.numButton.setToolTip(_translate("SortOptionsDialog", "Select to sort numerically"))
+        self.numButton.setText(_translate("SortOptionsDialog", "Numerical"))
+        self.caseGroupBox.setTitle(_translate("SortOptionsDialog", "Case Sensitivity"))
+        self.respectCaseButton.setToolTip(_translate("SortOptionsDialog", "Select to respect the case while sorting"))
+        self.respectCaseButton.setText(_translate("SortOptionsDialog", "Respect Case"))
+        self.ignoreCaseButton.setToolTip(_translate("SortOptionsDialog", "Select to ignore the case while sorting"))
+        self.ignoreCaseButton.setText(_translate("SortOptionsDialog", "Ignore Case"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/QScintilla/Ui_SpellCheckingDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,132 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/QScintilla/SpellCheckingDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_SpellCheckingDialog(object):
+    def setupUi(self, SpellCheckingDialog):
+        SpellCheckingDialog.setObjectName("SpellCheckingDialog")
+        SpellCheckingDialog.resize(696, 366)
+        SpellCheckingDialog.setSizeGripEnabled(True)
+        self.gridLayout_2 = QtWidgets.QGridLayout(SpellCheckingDialog)
+        self.gridLayout_2.setObjectName("gridLayout_2")
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem)
+        self.label_2 = QtWidgets.QLabel(parent=SpellCheckingDialog)
+        self.label_2.setObjectName("label_2")
+        self.horizontalLayout.addWidget(self.label_2)
+        self.languageLabel = QtWidgets.QLabel(parent=SpellCheckingDialog)
+        self.languageLabel.setText("")
+        self.languageLabel.setObjectName("languageLabel")
+        self.horizontalLayout.addWidget(self.languageLabel)
+        spacerItem1 = QtWidgets.QSpacerItem(328, 17, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem1)
+        self.gridLayout_2.addLayout(self.horizontalLayout, 0, 0, 1, 2)
+        self.line_2 = QtWidgets.QFrame(parent=SpellCheckingDialog)
+        self.line_2.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line_2.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line_2.setObjectName("line_2")
+        self.gridLayout_2.addWidget(self.line_2, 1, 0, 1, 2)
+        self.gridLayout = QtWidgets.QGridLayout()
+        self.gridLayout.setObjectName("gridLayout")
+        self.label = QtWidgets.QLabel(parent=SpellCheckingDialog)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 0, 0, 1, 2)
+        self.contextLabel = QtWidgets.QLabel(parent=SpellCheckingDialog)
+        self.contextLabel.setFrameShape(QtWidgets.QFrame.Shape.Panel)
+        self.contextLabel.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.contextLabel.setText("")
+        self.contextLabel.setTextFormat(QtCore.Qt.TextFormat.RichText)
+        self.contextLabel.setWordWrap(True)
+        self.contextLabel.setObjectName("contextLabel")
+        self.gridLayout.addWidget(self.contextLabel, 1, 0, 1, 2)
+        self.label_3 = QtWidgets.QLabel(parent=SpellCheckingDialog)
+        self.label_3.setObjectName("label_3")
+        self.gridLayout.addWidget(self.label_3, 2, 0, 1, 1)
+        self.changeEdit = QtWidgets.QLineEdit(parent=SpellCheckingDialog)
+        self.changeEdit.setObjectName("changeEdit")
+        self.gridLayout.addWidget(self.changeEdit, 2, 1, 1, 1)
+        self.label_4 = QtWidgets.QLabel(parent=SpellCheckingDialog)
+        self.label_4.setObjectName("label_4")
+        self.gridLayout.addWidget(self.label_4, 3, 0, 1, 2)
+        self.suggestionsList = QtWidgets.QListWidget(parent=SpellCheckingDialog)
+        self.suggestionsList.setObjectName("suggestionsList")
+        self.gridLayout.addWidget(self.suggestionsList, 4, 0, 1, 2)
+        self.gridLayout_2.addLayout(self.gridLayout, 2, 0, 1, 1)
+        self.verticalLayout = QtWidgets.QVBoxLayout()
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.ignoreButton = QtWidgets.QPushButton(parent=SpellCheckingDialog)
+        self.ignoreButton.setObjectName("ignoreButton")
+        self.verticalLayout.addWidget(self.ignoreButton)
+        self.ignoreAllButton = QtWidgets.QPushButton(parent=SpellCheckingDialog)
+        self.ignoreAllButton.setObjectName("ignoreAllButton")
+        self.verticalLayout.addWidget(self.ignoreAllButton)
+        self.addButton = QtWidgets.QPushButton(parent=SpellCheckingDialog)
+        self.addButton.setObjectName("addButton")
+        self.verticalLayout.addWidget(self.addButton)
+        self.line = QtWidgets.QFrame(parent=SpellCheckingDialog)
+        self.line.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line.setObjectName("line")
+        self.verticalLayout.addWidget(self.line)
+        self.replaceButton = QtWidgets.QPushButton(parent=SpellCheckingDialog)
+        self.replaceButton.setObjectName("replaceButton")
+        self.verticalLayout.addWidget(self.replaceButton)
+        self.replaceAllButton = QtWidgets.QPushButton(parent=SpellCheckingDialog)
+        self.replaceAllButton.setObjectName("replaceAllButton")
+        self.verticalLayout.addWidget(self.replaceAllButton)
+        spacerItem2 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout.addItem(spacerItem2)
+        self.gridLayout_2.addLayout(self.verticalLayout, 2, 1, 1, 1)
+        self.line_3 = QtWidgets.QFrame(parent=SpellCheckingDialog)
+        self.line_3.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line_3.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line_3.setObjectName("line_3")
+        self.gridLayout_2.addWidget(self.line_3, 3, 0, 1, 2)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=SpellCheckingDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout_2.addWidget(self.buttonBox, 4, 0, 1, 2)
+        self.label_3.setBuddy(self.changeEdit)
+        self.label_4.setBuddy(self.suggestionsList)
+
+        self.retranslateUi(SpellCheckingDialog)
+        self.buttonBox.accepted.connect(SpellCheckingDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(SpellCheckingDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(SpellCheckingDialog)
+        SpellCheckingDialog.setTabOrder(self.changeEdit, self.suggestionsList)
+        SpellCheckingDialog.setTabOrder(self.suggestionsList, self.ignoreButton)
+        SpellCheckingDialog.setTabOrder(self.ignoreButton, self.ignoreAllButton)
+        SpellCheckingDialog.setTabOrder(self.ignoreAllButton, self.addButton)
+        SpellCheckingDialog.setTabOrder(self.addButton, self.replaceButton)
+        SpellCheckingDialog.setTabOrder(self.replaceButton, self.replaceAllButton)
+        SpellCheckingDialog.setTabOrder(self.replaceAllButton, self.buttonBox)
+
+    def retranslateUi(self, SpellCheckingDialog):
+        _translate = QtCore.QCoreApplication.translate
+        SpellCheckingDialog.setWindowTitle(_translate("SpellCheckingDialog", "Check spelling"))
+        self.label_2.setText(_translate("SpellCheckingDialog", "Current language:"))
+        self.languageLabel.setToolTip(_translate("SpellCheckingDialog", "Shows the language used for spell checking"))
+        self.label.setText(_translate("SpellCheckingDialog", "Not found in dictionary"))
+        self.contextLabel.setToolTip(_translate("SpellCheckingDialog", "Shows the unrecognized word with some context"))
+        self.label_3.setText(_translate("SpellCheckingDialog", "Change &to:"))
+        self.label_4.setText(_translate("SpellCheckingDialog", "&Suggestions:"))
+        self.ignoreButton.setToolTip(_translate("SpellCheckingDialog", "Press to ignore once"))
+        self.ignoreButton.setText(_translate("SpellCheckingDialog", "&Ignore"))
+        self.ignoreAllButton.setToolTip(_translate("SpellCheckingDialog", "Press to always ignore"))
+        self.ignoreAllButton.setText(_translate("SpellCheckingDialog", "I&gnore All"))
+        self.addButton.setToolTip(_translate("SpellCheckingDialog", "Press to add to dictionary"))
+        self.addButton.setText(_translate("SpellCheckingDialog", "&Add to dictionary"))
+        self.replaceButton.setToolTip(_translate("SpellCheckingDialog", "Press to replace the word"))
+        self.replaceButton.setText(_translate("SpellCheckingDialog", "&Replace"))
+        self.replaceAllButton.setToolTip(_translate("SpellCheckingDialog", "Press to replace all occurrences"))
+        self.replaceAllButton.setText(_translate("SpellCheckingDialog", "Re&place All"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/QScintilla/Ui_SpellingDictionaryEditDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,96 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/QScintilla/SpellingDictionaryEditDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_SpellingDictionaryEditDialog(object):
+    def setupUi(self, SpellingDictionaryEditDialog):
+        SpellingDictionaryEditDialog.setObjectName("SpellingDictionaryEditDialog")
+        SpellingDictionaryEditDialog.resize(500, 400)
+        SpellingDictionaryEditDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(SpellingDictionaryEditDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.infoLabel = QtWidgets.QLabel(parent=SpellingDictionaryEditDialog)
+        font = QtGui.QFont()
+        font.setBold(True)
+        font.setWeight(75)
+        self.infoLabel.setFont(font)
+        self.infoLabel.setText("")
+        self.infoLabel.setWordWrap(True)
+        self.infoLabel.setObjectName("infoLabel")
+        self.verticalLayout.addWidget(self.infoLabel)
+        self.line_2 = QtWidgets.QFrame(parent=SpellingDictionaryEditDialog)
+        self.line_2.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line_2.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line_2.setObjectName("line_2")
+        self.verticalLayout.addWidget(self.line_2)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem)
+        self.searchEdit = QtWidgets.QLineEdit(parent=SpellingDictionaryEditDialog)
+        self.searchEdit.setMinimumSize(QtCore.QSize(300, 0))
+        self.searchEdit.setToolTip("")
+        self.searchEdit.setClearButtonEnabled(True)
+        self.searchEdit.setObjectName("searchEdit")
+        self.horizontalLayout.addWidget(self.searchEdit)
+        self.verticalLayout.addLayout(self.horizontalLayout)
+        self.gridLayout = QtWidgets.QGridLayout()
+        self.gridLayout.setObjectName("gridLayout")
+        self.line = QtWidgets.QFrame(parent=SpellingDictionaryEditDialog)
+        self.line.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line.setObjectName("line")
+        self.gridLayout.addWidget(self.line, 1, 1, 1, 1)
+        self.addButton = QtWidgets.QPushButton(parent=SpellingDictionaryEditDialog)
+        self.addButton.setAutoDefault(False)
+        self.addButton.setObjectName("addButton")
+        self.gridLayout.addWidget(self.addButton, 0, 1, 1, 1)
+        self.removeButton = QtWidgets.QPushButton(parent=SpellingDictionaryEditDialog)
+        self.removeButton.setAutoDefault(False)
+        self.removeButton.setObjectName("removeButton")
+        self.gridLayout.addWidget(self.removeButton, 2, 1, 1, 1)
+        self.removeAllButton = QtWidgets.QPushButton(parent=SpellingDictionaryEditDialog)
+        self.removeAllButton.setAutoDefault(False)
+        self.removeAllButton.setObjectName("removeAllButton")
+        self.gridLayout.addWidget(self.removeAllButton, 3, 1, 1, 1)
+        spacerItem1 = QtWidgets.QSpacerItem(20, 28, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.gridLayout.addItem(spacerItem1, 4, 1, 1, 1)
+        self.wordList = EricListView(parent=SpellingDictionaryEditDialog)
+        self.wordList.setAlternatingRowColors(True)
+        self.wordList.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.ExtendedSelection)
+        self.wordList.setObjectName("wordList")
+        self.gridLayout.addWidget(self.wordList, 0, 0, 5, 1)
+        self.verticalLayout.addLayout(self.gridLayout)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=SpellingDictionaryEditDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(SpellingDictionaryEditDialog)
+        self.buttonBox.accepted.connect(SpellingDictionaryEditDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(SpellingDictionaryEditDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(SpellingDictionaryEditDialog)
+        SpellingDictionaryEditDialog.setTabOrder(self.searchEdit, self.wordList)
+        SpellingDictionaryEditDialog.setTabOrder(self.wordList, self.removeButton)
+        SpellingDictionaryEditDialog.setTabOrder(self.removeButton, self.removeAllButton)
+        SpellingDictionaryEditDialog.setTabOrder(self.removeAllButton, self.buttonBox)
+
+    def retranslateUi(self, SpellingDictionaryEditDialog):
+        _translate = QtCore.QCoreApplication.translate
+        SpellingDictionaryEditDialog.setWindowTitle(_translate("SpellingDictionaryEditDialog", "Edit Spelling Dictionary"))
+        self.searchEdit.setPlaceholderText(_translate("SpellingDictionaryEditDialog", "Enter search term"))
+        self.addButton.setToolTip(_translate("SpellingDictionaryEditDialog", "Press to add an entry"))
+        self.addButton.setText(_translate("SpellingDictionaryEditDialog", "&Add"))
+        self.removeButton.setToolTip(_translate("SpellingDictionaryEditDialog", "Press to remove the selected entries"))
+        self.removeButton.setText(_translate("SpellingDictionaryEditDialog", "&Remove"))
+        self.removeAllButton.setToolTip(_translate("SpellingDictionaryEditDialog", "Press to remove all entries"))
+        self.removeAllButton.setText(_translate("SpellingDictionaryEditDialog", "R&emove All"))
+from eric7.EricWidgets.EricListView import EricListView
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/QScintilla/Ui_ZoomDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,51 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/QScintilla/ZoomDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_ZoomDialog(object):
+    def setupUi(self, ZoomDialog):
+        ZoomDialog.setObjectName("ZoomDialog")
+        ZoomDialog.resize(206, 77)
+        self.vboxlayout = QtWidgets.QVBoxLayout(ZoomDialog)
+        self.vboxlayout.setObjectName("vboxlayout")
+        self.hboxlayout = QtWidgets.QHBoxLayout()
+        self.hboxlayout.setObjectName("hboxlayout")
+        self.zoomLabel = QtWidgets.QLabel(parent=ZoomDialog)
+        self.zoomLabel.setObjectName("zoomLabel")
+        self.hboxlayout.addWidget(self.zoomLabel)
+        self.zoomSpinBox = QtWidgets.QSpinBox(parent=ZoomDialog)
+        self.zoomSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight)
+        self.zoomSpinBox.setMinimum(-10)
+        self.zoomSpinBox.setMaximum(20)
+        self.zoomSpinBox.setProperty("value", 0)
+        self.zoomSpinBox.setObjectName("zoomSpinBox")
+        self.hboxlayout.addWidget(self.zoomSpinBox)
+        self.vboxlayout.addLayout(self.hboxlayout)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=ZoomDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.vboxlayout.addWidget(self.buttonBox)
+        self.zoomLabel.setBuddy(self.zoomSpinBox)
+
+        self.retranslateUi(ZoomDialog)
+        self.buttonBox.accepted.connect(ZoomDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(ZoomDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(ZoomDialog)
+
+    def retranslateUi(self, ZoomDialog):
+        _translate = QtCore.QCoreApplication.translate
+        ZoomDialog.setWindowTitle(_translate("ZoomDialog", "Zoom"))
+        self.zoomLabel.setText(_translate("ZoomDialog", "Zoom &Factor:"))
+        self.zoomSpinBox.setToolTip(_translate("ZoomDialog", "Enter zoom factor"))
+        self.zoomSpinBox.setWhatsThis(_translate("ZoomDialog", "<b>Zoom Factor</b>\n"
+"<p>Enter the desired zoom factor here. The zoom factor\n"
+"may be between -10 and +20 and is the increment that is \n"
+"added to the size of the fonts used in the editor windows.</p>"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/QtHelpInterface/Ui_HelpTopicDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,42 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/QtHelpInterface/HelpTopicDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_HelpTopicDialog(object):
+    def setupUi(self, HelpTopicDialog):
+        HelpTopicDialog.setObjectName("HelpTopicDialog")
+        HelpTopicDialog.resize(500, 300)
+        self.verticalLayout = QtWidgets.QVBoxLayout(HelpTopicDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.label = QtWidgets.QLabel(parent=HelpTopicDialog)
+        self.label.setObjectName("label")
+        self.verticalLayout.addWidget(self.label)
+        self.topicsList = QtWidgets.QListWidget(parent=HelpTopicDialog)
+        self.topicsList.setAlternatingRowColors(True)
+        self.topicsList.setObjectName("topicsList")
+        self.verticalLayout.addWidget(self.topicsList)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=HelpTopicDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+        self.label.setBuddy(self.topicsList)
+
+        self.retranslateUi(HelpTopicDialog)
+        self.buttonBox.accepted.connect(HelpTopicDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(HelpTopicDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(HelpTopicDialog)
+        HelpTopicDialog.setTabOrder(self.topicsList, self.buttonBox)
+
+    def retranslateUi(self, HelpTopicDialog):
+        _translate = QtCore.QCoreApplication.translate
+        HelpTopicDialog.setWindowTitle(_translate("HelpTopicDialog", "Select Help Topic"))
+        self.label.setText(_translate("HelpTopicDialog", "&Topics:"))
+        self.topicsList.setSortingEnabled(True)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/QtHelpInterface/Ui_QtHelpDocumentationConfigurationDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,59 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/QtHelpInterface/QtHelpDocumentationConfigurationDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_QtHelpDocumentationConfigurationDialog(object):
+    def setupUi(self, QtHelpDocumentationConfigurationDialog):
+        QtHelpDocumentationConfigurationDialog.setObjectName("QtHelpDocumentationConfigurationDialog")
+        QtHelpDocumentationConfigurationDialog.resize(600, 500)
+        QtHelpDocumentationConfigurationDialog.setSizeGripEnabled(True)
+        self.verticalLayout_3 = QtWidgets.QVBoxLayout(QtHelpDocumentationConfigurationDialog)
+        self.verticalLayout_3.setObjectName("verticalLayout_3")
+        self.tabWidget = QtWidgets.QTabWidget(parent=QtHelpDocumentationConfigurationDialog)
+        self.tabWidget.setObjectName("tabWidget")
+        self.documentsTab = QtWidgets.QWidget()
+        self.documentsTab.setObjectName("documentsTab")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.documentsTab)
+        self.verticalLayout.setContentsMargins(0, 0, 0, 0)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.documentationSettingsWidget = QtHelpDocumentationSettingsWidget(parent=self.documentsTab)
+        self.documentationSettingsWidget.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.documentationSettingsWidget.setObjectName("documentationSettingsWidget")
+        self.verticalLayout.addWidget(self.documentationSettingsWidget)
+        self.tabWidget.addTab(self.documentsTab, "")
+        self.filtersTab = QtWidgets.QWidget()
+        self.filtersTab.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.filtersTab.setObjectName("filtersTab")
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.filtersTab)
+        self.verticalLayout_2.setContentsMargins(0, 0, 0, 0)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.filterSettingsWidget = QHelpFilterSettingsWidget(parent=self.filtersTab)
+        self.filterSettingsWidget.setObjectName("filterSettingsWidget")
+        self.verticalLayout_2.addWidget(self.filterSettingsWidget)
+        self.tabWidget.addTab(self.filtersTab, "")
+        self.verticalLayout_3.addWidget(self.tabWidget)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=QtHelpDocumentationConfigurationDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Apply|QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout_3.addWidget(self.buttonBox)
+
+        self.retranslateUi(QtHelpDocumentationConfigurationDialog)
+        self.tabWidget.setCurrentIndex(0)
+        self.buttonBox.rejected.connect(QtHelpDocumentationConfigurationDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(QtHelpDocumentationConfigurationDialog)
+
+    def retranslateUi(self, QtHelpDocumentationConfigurationDialog):
+        _translate = QtCore.QCoreApplication.translate
+        QtHelpDocumentationConfigurationDialog.setWindowTitle(_translate("QtHelpDocumentationConfigurationDialog", "Manage QtHelp Documentation"))
+        self.tabWidget.setTabText(self.tabWidget.indexOf(self.documentsTab), _translate("QtHelpDocumentationConfigurationDialog", "Registered Documents"))
+        self.tabWidget.setTabText(self.tabWidget.indexOf(self.filtersTab), _translate("QtHelpDocumentationConfigurationDialog", "Filters"))
+from .QtHelpDocumentationSettingsWidget import QtHelpDocumentationSettingsWidget
+from PyQt6.QtHelp import QHelpFilterSettingsWidget
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/QtHelpInterface/Ui_QtHelpDocumentationSelectionDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,68 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/QtHelpInterface/QtHelpDocumentationSelectionDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_QtHelpDocumentationSelectionDialog(object):
+    def setupUi(self, QtHelpDocumentationSelectionDialog):
+        QtHelpDocumentationSelectionDialog.setObjectName("QtHelpDocumentationSelectionDialog")
+        QtHelpDocumentationSelectionDialog.resize(450, 500)
+        QtHelpDocumentationSelectionDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(QtHelpDocumentationSelectionDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.label = QtWidgets.QLabel(parent=QtHelpDocumentationSelectionDialog)
+        self.label.setObjectName("label")
+        self.verticalLayout.addWidget(self.label)
+        self.documentationList = QtWidgets.QTreeWidget(parent=QtHelpDocumentationSelectionDialog)
+        self.documentationList.setAlternatingRowColors(True)
+        self.documentationList.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.ExtendedSelection)
+        self.documentationList.setAllColumnsShowFocus(True)
+        self.documentationList.setObjectName("documentationList")
+        self.documentationList.headerItem().setText(0, "1")
+        self.documentationList.header().setVisible(False)
+        self.verticalLayout.addWidget(self.documentationList)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.deleteButton = QtWidgets.QPushButton(parent=QtHelpDocumentationSelectionDialog)
+        self.deleteButton.setObjectName("deleteButton")
+        self.horizontalLayout.addWidget(self.deleteButton)
+        self.deleteCategoryButton = QtWidgets.QPushButton(parent=QtHelpDocumentationSelectionDialog)
+        self.deleteCategoryButton.setObjectName("deleteCategoryButton")
+        self.horizontalLayout.addWidget(self.deleteCategoryButton)
+        self.deleteAllButton = QtWidgets.QPushButton(parent=QtHelpDocumentationSelectionDialog)
+        self.deleteAllButton.setObjectName("deleteAllButton")
+        self.horizontalLayout.addWidget(self.deleteAllButton)
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem)
+        self.verticalLayout.addLayout(self.horizontalLayout)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=QtHelpDocumentationSelectionDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Close|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(QtHelpDocumentationSelectionDialog)
+        self.buttonBox.accepted.connect(QtHelpDocumentationSelectionDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(QtHelpDocumentationSelectionDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(QtHelpDocumentationSelectionDialog)
+        QtHelpDocumentationSelectionDialog.setTabOrder(self.documentationList, self.deleteButton)
+        QtHelpDocumentationSelectionDialog.setTabOrder(self.deleteButton, self.deleteCategoryButton)
+        QtHelpDocumentationSelectionDialog.setTabOrder(self.deleteCategoryButton, self.deleteAllButton)
+
+    def retranslateUi(self, QtHelpDocumentationSelectionDialog):
+        _translate = QtCore.QCoreApplication.translate
+        QtHelpDocumentationSelectionDialog.setWindowTitle(_translate("QtHelpDocumentationSelectionDialog", "QtHelp Documentations"))
+        self.label.setText(_translate("QtHelpDocumentationSelectionDialog", "Select the documentation files to be installed:"))
+        self.documentationList.setSortingEnabled(True)
+        self.deleteButton.setToolTip(_translate("QtHelpDocumentationSelectionDialog", "Press to delete the selected documentation sets"))
+        self.deleteButton.setText(_translate("QtHelpDocumentationSelectionDialog", "Delete"))
+        self.deleteCategoryButton.setToolTip(_translate("QtHelpDocumentationSelectionDialog", "Press to delete the selected category"))
+        self.deleteCategoryButton.setText(_translate("QtHelpDocumentationSelectionDialog", "Delete Categories"))
+        self.deleteAllButton.setToolTip(_translate("QtHelpDocumentationSelectionDialog", "Press to delete all entries"))
+        self.deleteAllButton.setText(_translate("QtHelpDocumentationSelectionDialog", "Delete All"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/QtHelpInterface/Ui_QtHelpDocumentationSettingsWidget.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,74 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/QtHelpInterface/QtHelpDocumentationSettingsWidget.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_QtHelpDocumentationSettingsWidget(object):
+    def setupUi(self, QtHelpDocumentationSettingsWidget):
+        QtHelpDocumentationSettingsWidget.setObjectName("QtHelpDocumentationSettingsWidget")
+        QtHelpDocumentationSettingsWidget.resize(533, 304)
+        self.gridLayout = QtWidgets.QGridLayout(QtHelpDocumentationSettingsWidget)
+        self.gridLayout.setObjectName("gridLayout")
+        self.label = QtWidgets.QLabel(parent=QtHelpDocumentationSettingsWidget)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 0, 0, 1, 2)
+        self.filterEdit = QtWidgets.QLineEdit(parent=QtHelpDocumentationSettingsWidget)
+        self.filterEdit.setClearButtonEnabled(True)
+        self.filterEdit.setObjectName("filterEdit")
+        self.gridLayout.addWidget(self.filterEdit, 1, 0, 1, 1)
+        self.verticalLayout = QtWidgets.QVBoxLayout()
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.addDocumentsButton = QtWidgets.QPushButton(parent=QtHelpDocumentationSettingsWidget)
+        self.addDocumentsButton.setObjectName("addDocumentsButton")
+        self.verticalLayout.addWidget(self.addDocumentsButton)
+        self.addPluginButton = QtWidgets.QPushButton(parent=QtHelpDocumentationSettingsWidget)
+        self.addPluginButton.setObjectName("addPluginButton")
+        self.verticalLayout.addWidget(self.addPluginButton)
+        self.removeDocumentsButton = QtWidgets.QPushButton(parent=QtHelpDocumentationSettingsWidget)
+        self.removeDocumentsButton.setObjectName("removeDocumentsButton")
+        self.verticalLayout.addWidget(self.removeDocumentsButton)
+        self.line = QtWidgets.QFrame(parent=QtHelpDocumentationSettingsWidget)
+        self.line.setLineWidth(2)
+        self.line.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line.setObjectName("line")
+        self.verticalLayout.addWidget(self.line)
+        self.managePluginButton = QtWidgets.QPushButton(parent=QtHelpDocumentationSettingsWidget)
+        self.managePluginButton.setObjectName("managePluginButton")
+        self.verticalLayout.addWidget(self.managePluginButton)
+        spacerItem = QtWidgets.QSpacerItem(20, 17, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout.addItem(spacerItem)
+        self.gridLayout.addLayout(self.verticalLayout, 1, 1, 2, 1)
+        self.documentsList = QtWidgets.QListWidget(parent=QtHelpDocumentationSettingsWidget)
+        self.documentsList.setAlternatingRowColors(True)
+        self.documentsList.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.ExtendedSelection)
+        self.documentsList.setObjectName("documentsList")
+        self.gridLayout.addWidget(self.documentsList, 2, 0, 1, 1)
+
+        self.retranslateUi(QtHelpDocumentationSettingsWidget)
+        QtCore.QMetaObject.connectSlotsByName(QtHelpDocumentationSettingsWidget)
+        QtHelpDocumentationSettingsWidget.setTabOrder(self.filterEdit, self.documentsList)
+        QtHelpDocumentationSettingsWidget.setTabOrder(self.documentsList, self.addDocumentsButton)
+        QtHelpDocumentationSettingsWidget.setTabOrder(self.addDocumentsButton, self.addPluginButton)
+        QtHelpDocumentationSettingsWidget.setTabOrder(self.addPluginButton, self.removeDocumentsButton)
+        QtHelpDocumentationSettingsWidget.setTabOrder(self.removeDocumentsButton, self.managePluginButton)
+
+    def retranslateUi(self, QtHelpDocumentationSettingsWidget):
+        _translate = QtCore.QCoreApplication.translate
+        self.label.setText(_translate("QtHelpDocumentationSettingsWidget", "Registered Documents"))
+        self.filterEdit.setPlaceholderText(_translate("QtHelpDocumentationSettingsWidget", "<Filter>"))
+        self.addDocumentsButton.setToolTip(_translate("QtHelpDocumentationSettingsWidget", "Press to select QtHelp documents to add to the database"))
+        self.addDocumentsButton.setText(_translate("QtHelpDocumentationSettingsWidget", "Add..."))
+        self.addPluginButton.setToolTip(_translate("QtHelpDocumentationSettingsWidget", "Press to select QtHelp documents provided by a plug-in to add to the database"))
+        self.addPluginButton.setText(_translate("QtHelpDocumentationSettingsWidget", "Add from Plug-ins..."))
+        self.removeDocumentsButton.setToolTip(_translate("QtHelpDocumentationSettingsWidget", "Press to remove the selected documents from the database"))
+        self.removeDocumentsButton.setText(_translate("QtHelpDocumentationSettingsWidget", "Remove"))
+        self.managePluginButton.setToolTip(_translate("QtHelpDocumentationSettingsWidget", "Select to manage the plug-in provided documentation sets"))
+        self.managePluginButton.setText(_translate("QtHelpDocumentationSettingsWidget", "Manage Plug-ins..."))
+        self.documentsList.setSortingEnabled(True)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Snapshot/Ui_SnapWidget.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,146 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Snapshot/SnapWidget.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_SnapWidget(object):
+    def setupUi(self, SnapWidget):
+        SnapWidget.setObjectName("SnapWidget")
+        SnapWidget.resize(550, 450)
+        SnapWidget.setMinimumSize(QtCore.QSize(250, 300))
+        self.verticalLayout = QtWidgets.QVBoxLayout(SnapWidget)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.preview = SnapshotPreview(parent=SnapWidget)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.preview.sizePolicy().hasHeightForWidth())
+        self.preview.setSizePolicy(sizePolicy)
+        self.preview.setMinimumSize(QtCore.QSize(230, 130))
+        self.preview.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
+        self.preview.setObjectName("preview")
+        self.verticalLayout.addWidget(self.preview)
+        self.line = QtWidgets.QFrame(parent=SnapWidget)
+        self.line.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line.setObjectName("line")
+        self.verticalLayout.addWidget(self.line)
+        self.gridLayout = QtWidgets.QGridLayout()
+        self.gridLayout.setObjectName("gridLayout")
+        self.label = QtWidgets.QLabel(parent=SnapWidget)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
+        self.modeCombo = QtWidgets.QComboBox(parent=SnapWidget)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.modeCombo.sizePolicy().hasHeightForWidth())
+        self.modeCombo.setSizePolicy(sizePolicy)
+        self.modeCombo.setObjectName("modeCombo")
+        self.gridLayout.addWidget(self.modeCombo, 0, 1, 1, 1)
+        self.label_2 = QtWidgets.QLabel(parent=SnapWidget)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 1, 0, 1, 1)
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.delaySpin = QtWidgets.QSpinBox(parent=SnapWidget)
+        self.delaySpin.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.delaySpin.setObjectName("delaySpin")
+        self.horizontalLayout_2.addWidget(self.delaySpin)
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_2.addItem(spacerItem)
+        self.gridLayout.addLayout(self.horizontalLayout_2, 1, 1, 1, 1)
+        self.horizontalLayout_4 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_4.setObjectName("horizontalLayout_4")
+        self.decorationsCheckBox = QtWidgets.QCheckBox(parent=SnapWidget)
+        self.decorationsCheckBox.setObjectName("decorationsCheckBox")
+        self.horizontalLayout_4.addWidget(self.decorationsCheckBox)
+        self.mouseCursorCheckBox = QtWidgets.QCheckBox(parent=SnapWidget)
+        self.mouseCursorCheckBox.setObjectName("mouseCursorCheckBox")
+        self.horizontalLayout_4.addWidget(self.mouseCursorCheckBox)
+        self.gridLayout.addLayout(self.horizontalLayout_4, 2, 0, 1, 2)
+        self.verticalLayout.addLayout(self.gridLayout)
+        self.line_3 = QtWidgets.QFrame(parent=SnapWidget)
+        self.line_3.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line_3.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line_3.setObjectName("line_3")
+        self.verticalLayout.addWidget(self.line_3)
+        self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
+        self.label_3 = QtWidgets.QLabel(parent=SnapWidget)
+        self.label_3.setObjectName("label_3")
+        self.horizontalLayout_3.addWidget(self.label_3)
+        self.pathNameEdit = QtWidgets.QLineEdit(parent=SnapWidget)
+        self.pathNameEdit.setReadOnly(True)
+        self.pathNameEdit.setObjectName("pathNameEdit")
+        self.horizontalLayout_3.addWidget(self.pathNameEdit)
+        self.verticalLayout.addLayout(self.horizontalLayout_3)
+        self.line_2 = QtWidgets.QFrame(parent=SnapWidget)
+        self.line_2.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line_2.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line_2.setObjectName("line_2")
+        self.verticalLayout.addWidget(self.line_2)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.saveButton = QtWidgets.QPushButton(parent=SnapWidget)
+        self.saveButton.setEnabled(False)
+        self.saveButton.setObjectName("saveButton")
+        self.horizontalLayout.addWidget(self.saveButton)
+        spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem1)
+        self.copyButton = QtWidgets.QPushButton(parent=SnapWidget)
+        self.copyButton.setEnabled(False)
+        self.copyButton.setObjectName("copyButton")
+        self.horizontalLayout.addWidget(self.copyButton)
+        self.copyPreviewButton = QtWidgets.QPushButton(parent=SnapWidget)
+        self.copyPreviewButton.setEnabled(False)
+        self.copyPreviewButton.setObjectName("copyPreviewButton")
+        self.horizontalLayout.addWidget(self.copyPreviewButton)
+        spacerItem2 = QtWidgets.QSpacerItem(28, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem2)
+        self.takeButton = QtWidgets.QPushButton(parent=SnapWidget)
+        self.takeButton.setObjectName("takeButton")
+        self.horizontalLayout.addWidget(self.takeButton)
+        self.verticalLayout.addLayout(self.horizontalLayout)
+
+        self.retranslateUi(SnapWidget)
+        QtCore.QMetaObject.connectSlotsByName(SnapWidget)
+        SnapWidget.setTabOrder(self.modeCombo, self.delaySpin)
+        SnapWidget.setTabOrder(self.delaySpin, self.decorationsCheckBox)
+        SnapWidget.setTabOrder(self.decorationsCheckBox, self.mouseCursorCheckBox)
+        SnapWidget.setTabOrder(self.mouseCursorCheckBox, self.takeButton)
+        SnapWidget.setTabOrder(self.takeButton, self.pathNameEdit)
+        SnapWidget.setTabOrder(self.pathNameEdit, self.saveButton)
+        SnapWidget.setTabOrder(self.saveButton, self.copyPreviewButton)
+        SnapWidget.setTabOrder(self.copyPreviewButton, self.copyButton)
+
+    def retranslateUi(self, SnapWidget):
+        _translate = QtCore.QCoreApplication.translate
+        SnapWidget.setWindowTitle(_translate("SnapWidget", "eric Snapshot"))
+        self.label.setText(_translate("SnapWidget", "Snapshot Mode:"))
+        self.modeCombo.setToolTip(_translate("SnapWidget", "Select the snapshot mode"))
+        self.label_2.setText(_translate("SnapWidget", "Delay:"))
+        self.delaySpin.setToolTip(_translate("SnapWidget", "Enter the delay before taking the snapshot"))
+        self.delaySpin.setSpecialValueText(_translate("SnapWidget", " No delay"))
+        self.delaySpin.setSuffix(_translate("SnapWidget", " s"))
+        self.decorationsCheckBox.setToolTip(_translate("SnapWidget", "Select to include the window decorations in the screenshot"))
+        self.decorationsCheckBox.setText(_translate("SnapWidget", "include Decorations"))
+        self.mouseCursorCheckBox.setToolTip(_translate("SnapWidget", "Select to include the mouse cursor in the screenshot"))
+        self.mouseCursorCheckBox.setText(_translate("SnapWidget", "include Mouse Cursor"))
+        self.label_3.setText(_translate("SnapWidget", "Path Name:"))
+        self.pathNameEdit.setToolTip(_translate("SnapWidget", "Shows the name of the directory used for saving"))
+        self.saveButton.setToolTip(_translate("SnapWidget", "Press to save the snapshot"))
+        self.saveButton.setText(_translate("SnapWidget", "&Save Snapshot ..."))
+        self.copyButton.setToolTip(_translate("SnapWidget", "Press to copy the snapshot to the clipboard"))
+        self.copyButton.setText(_translate("SnapWidget", "&Copy"))
+        self.copyPreviewButton.setToolTip(_translate("SnapWidget", "Press to copy the snapshot preview to the clipboard"))
+        self.copyPreviewButton.setText(_translate("SnapWidget", "Copy &Preview"))
+        self.takeButton.setToolTip(_translate("SnapWidget", "Press to take a snapshot"))
+        self.takeButton.setText(_translate("SnapWidget", "&Take Snapshot ..."))
+from eric7.Snapshot.SnapshotPreview import SnapshotPreview
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/SqlBrowser/Ui_SqlBrowserWidget.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,101 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/SqlBrowser/SqlBrowserWidget.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_SqlBrowserWidget(object):
+    def setupUi(self, SqlBrowserWidget):
+        SqlBrowserWidget.setObjectName("SqlBrowserWidget")
+        SqlBrowserWidget.resize(800, 550)
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(SqlBrowserWidget)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.splitter = QtWidgets.QSplitter(parent=SqlBrowserWidget)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.splitter.sizePolicy().hasHeightForWidth())
+        self.splitter.setSizePolicy(sizePolicy)
+        self.splitter.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.splitter.setObjectName("splitter")
+        self.connections = SqlConnectionWidget(parent=self.splitter)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Ignored, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(1)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.connections.sizePolicy().hasHeightForWidth())
+        self.connections.setSizePolicy(sizePolicy)
+        self.connections.setObjectName("connections")
+        self.table = QtWidgets.QTableView(parent=self.splitter)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(2)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.table.sizePolicy().hasHeightForWidth())
+        self.table.setSizePolicy(sizePolicy)
+        self.table.setContextMenuPolicy(QtCore.Qt.ContextMenuPolicy.ActionsContextMenu)
+        self.table.setSelectionBehavior(QtWidgets.QAbstractItemView.SelectionBehavior.SelectRows)
+        self.table.setObjectName("table")
+        self.verticalLayout_2.addWidget(self.splitter)
+        self.queryGroup = QtWidgets.QGroupBox(parent=SqlBrowserWidget)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.MinimumExpanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.queryGroup.sizePolicy().hasHeightForWidth())
+        self.queryGroup.setSizePolicy(sizePolicy)
+        self.queryGroup.setMaximumSize(QtCore.QSize(16777215, 200))
+        self.queryGroup.setObjectName("queryGroup")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.queryGroup)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.sqlEdit = QtWidgets.QPlainTextEdit(parent=self.queryGroup)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.MinimumExpanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.sqlEdit.sizePolicy().hasHeightForWidth())
+        self.sqlEdit.setSizePolicy(sizePolicy)
+        self.sqlEdit.setMinimumSize(QtCore.QSize(0, 18))
+        self.sqlEdit.setObjectName("sqlEdit")
+        self.verticalLayout.addWidget(self.sqlEdit)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem)
+        self.clearButton = QtWidgets.QPushButton(parent=self.queryGroup)
+        self.clearButton.setObjectName("clearButton")
+        self.horizontalLayout.addWidget(self.clearButton)
+        self.executeButton = QtWidgets.QPushButton(parent=self.queryGroup)
+        self.executeButton.setObjectName("executeButton")
+        self.horizontalLayout.addWidget(self.executeButton)
+        self.verticalLayout.addLayout(self.horizontalLayout)
+        self.verticalLayout_2.addWidget(self.queryGroup)
+        self.insertRowAction = QtGui.QAction(parent=SqlBrowserWidget)
+        self.insertRowAction.setEnabled(False)
+        self.insertRowAction.setObjectName("insertRowAction")
+        self.deleteRowAction = QtGui.QAction(parent=SqlBrowserWidget)
+        self.deleteRowAction.setEnabled(False)
+        self.deleteRowAction.setObjectName("deleteRowAction")
+
+        self.retranslateUi(SqlBrowserWidget)
+        QtCore.QMetaObject.connectSlotsByName(SqlBrowserWidget)
+        SqlBrowserWidget.setTabOrder(self.sqlEdit, self.clearButton)
+        SqlBrowserWidget.setTabOrder(self.clearButton, self.executeButton)
+        SqlBrowserWidget.setTabOrder(self.executeButton, self.connections)
+        SqlBrowserWidget.setTabOrder(self.connections, self.table)
+
+    def retranslateUi(self, SqlBrowserWidget):
+        _translate = QtCore.QCoreApplication.translate
+        SqlBrowserWidget.setWindowTitle(_translate("SqlBrowserWidget", "eric SQL Browser"))
+        self.queryGroup.setTitle(_translate("SqlBrowserWidget", "SQL Query"))
+        self.sqlEdit.setToolTip(_translate("SqlBrowserWidget", "Enter the SQL query to be executed"))
+        self.clearButton.setToolTip(_translate("SqlBrowserWidget", "Press to clear the entry"))
+        self.clearButton.setText(_translate("SqlBrowserWidget", "&Clear"))
+        self.executeButton.setToolTip(_translate("SqlBrowserWidget", "Press to execute the query"))
+        self.executeButton.setText(_translate("SqlBrowserWidget", "&Execute"))
+        self.insertRowAction.setText(_translate("SqlBrowserWidget", "&Insert Row"))
+        self.insertRowAction.setToolTip(_translate("SqlBrowserWidget", "Inserts a new row"))
+        self.deleteRowAction.setText(_translate("SqlBrowserWidget", "&Delete Row"))
+        self.deleteRowAction.setStatusTip(_translate("SqlBrowserWidget", "Deletes the current row"))
+from .SqlConnectionWidget import SqlConnectionWidget
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/SqlBrowser/Ui_SqlConnectionDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,101 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/SqlBrowser/SqlConnectionDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_SqlConnectionDialog(object):
+    def setupUi(self, SqlConnectionDialog):
+        SqlConnectionDialog.setObjectName("SqlConnectionDialog")
+        SqlConnectionDialog.resize(500, 210)
+        self.gridLayout = QtWidgets.QGridLayout(SqlConnectionDialog)
+        self.gridLayout.setObjectName("gridLayout")
+        self.textLabel2 = QtWidgets.QLabel(parent=SqlConnectionDialog)
+        self.textLabel2.setObjectName("textLabel2")
+        self.gridLayout.addWidget(self.textLabel2, 0, 0, 1, 1)
+        self.driverCombo = QtWidgets.QComboBox(parent=SqlConnectionDialog)
+        self.driverCombo.setObjectName("driverCombo")
+        self.gridLayout.addWidget(self.driverCombo, 0, 1, 1, 1)
+        self.textLabel3 = QtWidgets.QLabel(parent=SqlConnectionDialog)
+        self.textLabel3.setObjectName("textLabel3")
+        self.gridLayout.addWidget(self.textLabel3, 1, 0, 1, 1)
+        self.databasePicker = EricPathPicker(parent=SqlConnectionDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.databasePicker.sizePolicy().hasHeightForWidth())
+        self.databasePicker.setSizePolicy(sizePolicy)
+        self.databasePicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.databasePicker.setObjectName("databasePicker")
+        self.gridLayout.addWidget(self.databasePicker, 1, 1, 1, 1)
+        self.textLabel4 = QtWidgets.QLabel(parent=SqlConnectionDialog)
+        self.textLabel4.setObjectName("textLabel4")
+        self.gridLayout.addWidget(self.textLabel4, 2, 0, 1, 1)
+        self.usernameEdit = QtWidgets.QLineEdit(parent=SqlConnectionDialog)
+        self.usernameEdit.setObjectName("usernameEdit")
+        self.gridLayout.addWidget(self.usernameEdit, 2, 1, 1, 1)
+        self.textLabel4_2 = QtWidgets.QLabel(parent=SqlConnectionDialog)
+        self.textLabel4_2.setObjectName("textLabel4_2")
+        self.gridLayout.addWidget(self.textLabel4_2, 3, 0, 1, 1)
+        self.passwordEdit = QtWidgets.QLineEdit(parent=SqlConnectionDialog)
+        self.passwordEdit.setEchoMode(QtWidgets.QLineEdit.EchoMode.Password)
+        self.passwordEdit.setObjectName("passwordEdit")
+        self.gridLayout.addWidget(self.passwordEdit, 3, 1, 1, 1)
+        self.textLabel5 = QtWidgets.QLabel(parent=SqlConnectionDialog)
+        self.textLabel5.setObjectName("textLabel5")
+        self.gridLayout.addWidget(self.textLabel5, 4, 0, 1, 1)
+        self.hostnameEdit = QtWidgets.QLineEdit(parent=SqlConnectionDialog)
+        self.hostnameEdit.setObjectName("hostnameEdit")
+        self.gridLayout.addWidget(self.hostnameEdit, 4, 1, 1, 1)
+        self.textLabel5_2 = QtWidgets.QLabel(parent=SqlConnectionDialog)
+        self.textLabel5_2.setObjectName("textLabel5_2")
+        self.gridLayout.addWidget(self.textLabel5_2, 5, 0, 1, 1)
+        self.portSpinBox = QtWidgets.QSpinBox(parent=SqlConnectionDialog)
+        self.portSpinBox.setMinimum(-1)
+        self.portSpinBox.setMaximum(65535)
+        self.portSpinBox.setProperty("value", -1)
+        self.portSpinBox.setObjectName("portSpinBox")
+        self.gridLayout.addWidget(self.portSpinBox, 5, 1, 1, 1)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=SqlConnectionDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout.addWidget(self.buttonBox, 6, 0, 1, 2)
+        self.textLabel2.setBuddy(self.driverCombo)
+        self.textLabel3.setBuddy(self.databasePicker)
+        self.textLabel4.setBuddy(self.usernameEdit)
+        self.textLabel4_2.setBuddy(self.passwordEdit)
+        self.textLabel5.setBuddy(self.hostnameEdit)
+        self.textLabel5_2.setBuddy(self.portSpinBox)
+
+        self.retranslateUi(SqlConnectionDialog)
+        self.buttonBox.accepted.connect(SqlConnectionDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(SqlConnectionDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(SqlConnectionDialog)
+        SqlConnectionDialog.setTabOrder(self.driverCombo, self.databasePicker)
+        SqlConnectionDialog.setTabOrder(self.databasePicker, self.usernameEdit)
+        SqlConnectionDialog.setTabOrder(self.usernameEdit, self.passwordEdit)
+        SqlConnectionDialog.setTabOrder(self.passwordEdit, self.hostnameEdit)
+        SqlConnectionDialog.setTabOrder(self.hostnameEdit, self.portSpinBox)
+
+    def retranslateUi(self, SqlConnectionDialog):
+        _translate = QtCore.QCoreApplication.translate
+        SqlConnectionDialog.setWindowTitle(_translate("SqlConnectionDialog", "Connect..."))
+        self.textLabel2.setText(_translate("SqlConnectionDialog", "D&river:"))
+        self.driverCombo.setToolTip(_translate("SqlConnectionDialog", "Select the database driver"))
+        self.textLabel3.setText(_translate("SqlConnectionDialog", "&Database Name:"))
+        self.databasePicker.setToolTip(_translate("SqlConnectionDialog", "Enter the database name"))
+        self.textLabel4.setText(_translate("SqlConnectionDialog", "&Username:"))
+        self.usernameEdit.setToolTip(_translate("SqlConnectionDialog", "Enter the user name"))
+        self.textLabel4_2.setText(_translate("SqlConnectionDialog", "&Password:"))
+        self.textLabel5.setText(_translate("SqlConnectionDialog", "&Hostname:"))
+        self.hostnameEdit.setToolTip(_translate("SqlConnectionDialog", "Enter the hostname"))
+        self.textLabel5_2.setText(_translate("SqlConnectionDialog", "P&ort:"))
+        self.portSpinBox.setToolTip(_translate("SqlConnectionDialog", "Enter the port number"))
+        self.portSpinBox.setSpecialValueText(_translate("SqlConnectionDialog", "Default"))
+from eric7.EricWidgets.EricPathPicker import EricPathPicker
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Tasks/Ui_TaskFilterConfigDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,155 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Tasks/TaskFilterConfigDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_TaskFilterConfigDialog(object):
+    def setupUi(self, TaskFilterConfigDialog):
+        TaskFilterConfigDialog.setObjectName("TaskFilterConfigDialog")
+        TaskFilterConfigDialog.resize(562, 405)
+        TaskFilterConfigDialog.setSizeGripEnabled(True)
+        self.verticalLayout_4 = QtWidgets.QVBoxLayout(TaskFilterConfigDialog)
+        self.verticalLayout_4.setObjectName("verticalLayout_4")
+        self.label = QtWidgets.QLabel(parent=TaskFilterConfigDialog)
+        self.label.setAlignment(QtCore.Qt.AlignmentFlag.AlignLeading|QtCore.Qt.AlignmentFlag.AlignLeft|QtCore.Qt.AlignmentFlag.AlignTop)
+        self.label.setWordWrap(True)
+        self.label.setObjectName("label")
+        self.verticalLayout_4.addWidget(self.label)
+        self.summaryGroup = QtWidgets.QGroupBox(parent=TaskFilterConfigDialog)
+        self.summaryGroup.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.summaryGroup.setCheckable(True)
+        self.summaryGroup.setObjectName("summaryGroup")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.summaryGroup)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.summaryEdit = QtWidgets.QLineEdit(parent=self.summaryGroup)
+        self.summaryEdit.setObjectName("summaryEdit")
+        self.verticalLayout.addWidget(self.summaryEdit)
+        self.verticalLayout_4.addWidget(self.summaryGroup)
+        self.filenameGroup = QtWidgets.QGroupBox(parent=TaskFilterConfigDialog)
+        self.filenameGroup.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.filenameGroup.setCheckable(True)
+        self.filenameGroup.setObjectName("filenameGroup")
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.filenameGroup)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.filenameEdit = QtWidgets.QLineEdit(parent=self.filenameGroup)
+        self.filenameEdit.setObjectName("filenameEdit")
+        self.verticalLayout_2.addWidget(self.filenameEdit)
+        self.verticalLayout_4.addWidget(self.filenameGroup)
+        self.typeGroup = QtWidgets.QGroupBox(parent=TaskFilterConfigDialog)
+        self.typeGroup.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.typeGroup.setCheckable(True)
+        self.typeGroup.setObjectName("typeGroup")
+        self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.typeGroup)
+        self.verticalLayout_3.setObjectName("verticalLayout_3")
+        self.typeCombo = QtWidgets.QComboBox(parent=self.typeGroup)
+        self.typeCombo.setObjectName("typeCombo")
+        self.verticalLayout_3.addWidget(self.typeCombo)
+        self.verticalLayout_4.addWidget(self.typeGroup)
+        self.scopeGroup = QtWidgets.QGroupBox(parent=TaskFilterConfigDialog)
+        self.scopeGroup.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.scopeGroup.setCheckable(True)
+        self.scopeGroup.setObjectName("scopeGroup")
+        self.horizontalLayout = QtWidgets.QHBoxLayout(self.scopeGroup)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.globalRadioButton = QtWidgets.QRadioButton(parent=self.scopeGroup)
+        self.globalRadioButton.setObjectName("globalRadioButton")
+        self.horizontalLayout.addWidget(self.globalRadioButton)
+        self.projectRadioButton = QtWidgets.QRadioButton(parent=self.scopeGroup)
+        self.projectRadioButton.setObjectName("projectRadioButton")
+        self.horizontalLayout.addWidget(self.projectRadioButton)
+        self.verticalLayout_4.addWidget(self.scopeGroup)
+        self.statusGroup = QtWidgets.QGroupBox(parent=TaskFilterConfigDialog)
+        self.statusGroup.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.statusGroup.setCheckable(True)
+        self.statusGroup.setObjectName("statusGroup")
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.statusGroup)
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.uncompletedRadioButton = QtWidgets.QRadioButton(parent=self.statusGroup)
+        self.uncompletedRadioButton.setObjectName("uncompletedRadioButton")
+        self.horizontalLayout_2.addWidget(self.uncompletedRadioButton)
+        self.completedRadioButton = QtWidgets.QRadioButton(parent=self.statusGroup)
+        self.completedRadioButton.setObjectName("completedRadioButton")
+        self.horizontalLayout_2.addWidget(self.completedRadioButton)
+        self.verticalLayout_4.addWidget(self.statusGroup)
+        self.priorityGroup = QtWidgets.QGroupBox(parent=TaskFilterConfigDialog)
+        self.priorityGroup.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.priorityGroup.setCheckable(True)
+        self.priorityGroup.setObjectName("priorityGroup")
+        self.horizontalLayout_3 = QtWidgets.QHBoxLayout(self.priorityGroup)
+        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
+        self.priorityHighCheckBox = QtWidgets.QCheckBox(parent=self.priorityGroup)
+        self.priorityHighCheckBox.setObjectName("priorityHighCheckBox")
+        self.horizontalLayout_3.addWidget(self.priorityHighCheckBox)
+        self.priorityNormalCheckBox = QtWidgets.QCheckBox(parent=self.priorityGroup)
+        self.priorityNormalCheckBox.setObjectName("priorityNormalCheckBox")
+        self.horizontalLayout_3.addWidget(self.priorityNormalCheckBox)
+        self.priorityLowCheckBox = QtWidgets.QCheckBox(parent=self.priorityGroup)
+        self.priorityLowCheckBox.setObjectName("priorityLowCheckBox")
+        self.horizontalLayout_3.addWidget(self.priorityLowCheckBox)
+        self.verticalLayout_4.addWidget(self.priorityGroup)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=TaskFilterConfigDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout_4.addWidget(self.buttonBox)
+
+        self.retranslateUi(TaskFilterConfigDialog)
+        self.buttonBox.accepted.connect(TaskFilterConfigDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(TaskFilterConfigDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(TaskFilterConfigDialog)
+        TaskFilterConfigDialog.setTabOrder(self.summaryGroup, self.summaryEdit)
+        TaskFilterConfigDialog.setTabOrder(self.summaryEdit, self.filenameGroup)
+        TaskFilterConfigDialog.setTabOrder(self.filenameGroup, self.filenameEdit)
+        TaskFilterConfigDialog.setTabOrder(self.filenameEdit, self.typeGroup)
+        TaskFilterConfigDialog.setTabOrder(self.typeGroup, self.typeCombo)
+        TaskFilterConfigDialog.setTabOrder(self.typeCombo, self.scopeGroup)
+        TaskFilterConfigDialog.setTabOrder(self.scopeGroup, self.globalRadioButton)
+        TaskFilterConfigDialog.setTabOrder(self.globalRadioButton, self.projectRadioButton)
+        TaskFilterConfigDialog.setTabOrder(self.projectRadioButton, self.statusGroup)
+        TaskFilterConfigDialog.setTabOrder(self.statusGroup, self.uncompletedRadioButton)
+        TaskFilterConfigDialog.setTabOrder(self.uncompletedRadioButton, self.completedRadioButton)
+        TaskFilterConfigDialog.setTabOrder(self.completedRadioButton, self.priorityGroup)
+        TaskFilterConfigDialog.setTabOrder(self.priorityGroup, self.priorityHighCheckBox)
+        TaskFilterConfigDialog.setTabOrder(self.priorityHighCheckBox, self.priorityNormalCheckBox)
+        TaskFilterConfigDialog.setTabOrder(self.priorityNormalCheckBox, self.priorityLowCheckBox)
+        TaskFilterConfigDialog.setTabOrder(self.priorityLowCheckBox, self.buttonBox)
+
+    def retranslateUi(self, TaskFilterConfigDialog):
+        _translate = QtCore.QCoreApplication.translate
+        TaskFilterConfigDialog.setWindowTitle(_translate("TaskFilterConfigDialog", "Task filter configuration"))
+        self.label.setText(_translate("TaskFilterConfigDialog", "Select the categories, the tasks list should be filtered on. Within each category, enter the selection criteria. The enabled categories are combined using an \"<b>and</b>\" operation."))
+        self.summaryGroup.setToolTip(_translate("TaskFilterConfigDialog", "Select to filter on the task summary"))
+        self.summaryGroup.setTitle(_translate("TaskFilterConfigDialog", "Summary"))
+        self.summaryEdit.setToolTip(_translate("TaskFilterConfigDialog", "Enter the summary filter as a regular expression."))
+        self.filenameGroup.setToolTip(_translate("TaskFilterConfigDialog", "Select to filter on the task filename"))
+        self.filenameGroup.setTitle(_translate("TaskFilterConfigDialog", "Filename"))
+        self.filenameEdit.setToolTip(_translate("TaskFilterConfigDialog", "Enter the filename filter as a wildcard expression."))
+        self.typeGroup.setToolTip(_translate("TaskFilterConfigDialog", "Select to filter on the task type"))
+        self.typeGroup.setTitle(_translate("TaskFilterConfigDialog", "Type"))
+        self.typeCombo.setToolTip(_translate("TaskFilterConfigDialog", "Select the task type to be shown"))
+        self.scopeGroup.setToolTip(_translate("TaskFilterConfigDialog", "Select to filter on the task scope"))
+        self.scopeGroup.setTitle(_translate("TaskFilterConfigDialog", "Scope"))
+        self.globalRadioButton.setToolTip(_translate("TaskFilterConfigDialog", "Select to show global tasks only"))
+        self.globalRadioButton.setText(_translate("TaskFilterConfigDialog", "Global tasks"))
+        self.projectRadioButton.setToolTip(_translate("TaskFilterConfigDialog", "Select to show project tasks only"))
+        self.projectRadioButton.setText(_translate("TaskFilterConfigDialog", "Project tasks"))
+        self.statusGroup.setToolTip(_translate("TaskFilterConfigDialog", "Select to filter on the task completion status"))
+        self.statusGroup.setTitle(_translate("TaskFilterConfigDialog", "Completion status"))
+        self.uncompletedRadioButton.setToolTip(_translate("TaskFilterConfigDialog", "Select to show uncompleted tasks only"))
+        self.uncompletedRadioButton.setText(_translate("TaskFilterConfigDialog", "Uncompleted tasks"))
+        self.completedRadioButton.setToolTip(_translate("TaskFilterConfigDialog", "Select to show completed tasks only"))
+        self.completedRadioButton.setText(_translate("TaskFilterConfigDialog", "Completed tasks"))
+        self.priorityGroup.setToolTip(_translate("TaskFilterConfigDialog", "Select to filter on the task priority"))
+        self.priorityGroup.setTitle(_translate("TaskFilterConfigDialog", "Priority"))
+        self.priorityHighCheckBox.setToolTip(_translate("TaskFilterConfigDialog", "Select to show high priority tasks"))
+        self.priorityHighCheckBox.setText(_translate("TaskFilterConfigDialog", "High priority tasks"))
+        self.priorityNormalCheckBox.setToolTip(_translate("TaskFilterConfigDialog", "Select to show normal priority tasks"))
+        self.priorityNormalCheckBox.setText(_translate("TaskFilterConfigDialog", "Normal priority tasks"))
+        self.priorityLowCheckBox.setToolTip(_translate("TaskFilterConfigDialog", "Select to show low priority tasks"))
+        self.priorityLowCheckBox.setText(_translate("TaskFilterConfigDialog", "Low priority tasks"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Tasks/Ui_TaskPropertiesDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,149 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Tasks/TaskPropertiesDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_TaskPropertiesDialog(object):
+    def setupUi(self, TaskPropertiesDialog):
+        TaskPropertiesDialog.setObjectName("TaskPropertiesDialog")
+        TaskPropertiesDialog.resize(600, 400)
+        TaskPropertiesDialog.setSizeGripEnabled(True)
+        self.gridLayout_2 = QtWidgets.QGridLayout(TaskPropertiesDialog)
+        self.gridLayout_2.setObjectName("gridLayout_2")
+        self.label = QtWidgets.QLabel(parent=TaskPropertiesDialog)
+        self.label.setObjectName("label")
+        self.gridLayout_2.addWidget(self.label, 0, 0, 1, 1)
+        self.summaryEdit = QtWidgets.QLineEdit(parent=TaskPropertiesDialog)
+        self.summaryEdit.setObjectName("summaryEdit")
+        self.gridLayout_2.addWidget(self.summaryEdit, 0, 1, 1, 1)
+        self.descriptionLabel = QtWidgets.QLabel(parent=TaskPropertiesDialog)
+        self.descriptionLabel.setAlignment(QtCore.Qt.AlignmentFlag.AlignLeading|QtCore.Qt.AlignmentFlag.AlignLeft|QtCore.Qt.AlignmentFlag.AlignTop)
+        self.descriptionLabel.setObjectName("descriptionLabel")
+        self.gridLayout_2.addWidget(self.descriptionLabel, 1, 0, 1, 1)
+        self.descriptionEdit = EricSpellCheckedTextEdit(parent=TaskPropertiesDialog)
+        self.descriptionEdit.setObjectName("descriptionEdit")
+        self.gridLayout_2.addWidget(self.descriptionEdit, 1, 1, 1, 1)
+        self.manualTaskFrame = QtWidgets.QFrame(parent=TaskPropertiesDialog)
+        self.manualTaskFrame.setFrameShape(QtWidgets.QFrame.Shape.NoFrame)
+        self.manualTaskFrame.setFrameShadow(QtWidgets.QFrame.Shadow.Plain)
+        self.manualTaskFrame.setObjectName("manualTaskFrame")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.manualTaskFrame)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.textLabel2 = QtWidgets.QLabel(parent=self.manualTaskFrame)
+        self.textLabel2.setObjectName("textLabel2")
+        self.horizontalLayout_2.addWidget(self.textLabel2)
+        self.creationLabel = QtWidgets.QLabel(parent=self.manualTaskFrame)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.creationLabel.sizePolicy().hasHeightForWidth())
+        self.creationLabel.setSizePolicy(sizePolicy)
+        self.creationLabel.setObjectName("creationLabel")
+        self.horizontalLayout_2.addWidget(self.creationLabel)
+        self.verticalLayout.addLayout(self.horizontalLayout_2)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.textLabel4 = QtWidgets.QLabel(parent=self.manualTaskFrame)
+        self.textLabel4.setObjectName("textLabel4")
+        self.horizontalLayout.addWidget(self.textLabel4)
+        self.priorityCombo = QtWidgets.QComboBox(parent=self.manualTaskFrame)
+        self.priorityCombo.setObjectName("priorityCombo")
+        self.priorityCombo.addItem("")
+        self.priorityCombo.addItem("")
+        self.priorityCombo.addItem("")
+        self.horizontalLayout.addWidget(self.priorityCombo)
+        self.label_2 = QtWidgets.QLabel(parent=self.manualTaskFrame)
+        self.label_2.setObjectName("label_2")
+        self.horizontalLayout.addWidget(self.label_2)
+        self.typeCombo = QtWidgets.QComboBox(parent=self.manualTaskFrame)
+        self.typeCombo.setObjectName("typeCombo")
+        self.horizontalLayout.addWidget(self.typeCombo)
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem)
+        self.verticalLayout.addLayout(self.horizontalLayout)
+        self.completedCheckBox = QtWidgets.QCheckBox(parent=self.manualTaskFrame)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.completedCheckBox.sizePolicy().hasHeightForWidth())
+        self.completedCheckBox.setSizePolicy(sizePolicy)
+        self.completedCheckBox.setObjectName("completedCheckBox")
+        self.verticalLayout.addWidget(self.completedCheckBox)
+        self.gridLayout_2.addWidget(self.manualTaskFrame, 2, 0, 1, 2)
+        self.projectCheckBox = QtWidgets.QCheckBox(parent=TaskPropertiesDialog)
+        self.projectCheckBox.setObjectName("projectCheckBox")
+        self.gridLayout_2.addWidget(self.projectCheckBox, 3, 0, 1, 2)
+        self.fileTaskFrame = QtWidgets.QFrame(parent=TaskPropertiesDialog)
+        self.fileTaskFrame.setFrameShape(QtWidgets.QFrame.Shape.NoFrame)
+        self.fileTaskFrame.setFrameShadow(QtWidgets.QFrame.Shadow.Plain)
+        self.fileTaskFrame.setObjectName("fileTaskFrame")
+        self.gridLayout = QtWidgets.QGridLayout(self.fileTaskFrame)
+        self.gridLayout.setContentsMargins(0, 0, 0, 0)
+        self.gridLayout.setObjectName("gridLayout")
+        self.linenoEdit = QtWidgets.QLineEdit(parent=self.fileTaskFrame)
+        self.linenoEdit.setFocusPolicy(QtCore.Qt.FocusPolicy.NoFocus)
+        self.linenoEdit.setReadOnly(True)
+        self.linenoEdit.setObjectName("linenoEdit")
+        self.gridLayout.addWidget(self.linenoEdit, 1, 1, 1, 1)
+        self.linenoLabel = QtWidgets.QLabel(parent=self.fileTaskFrame)
+        self.linenoLabel.setObjectName("linenoLabel")
+        self.gridLayout.addWidget(self.linenoLabel, 1, 0, 1, 1)
+        self.filenameLabel = QtWidgets.QLabel(parent=self.fileTaskFrame)
+        self.filenameLabel.setObjectName("filenameLabel")
+        self.gridLayout.addWidget(self.filenameLabel, 0, 0, 1, 1)
+        self.filenameEdit = QtWidgets.QLineEdit(parent=self.fileTaskFrame)
+        self.filenameEdit.setFocusPolicy(QtCore.Qt.FocusPolicy.NoFocus)
+        self.filenameEdit.setReadOnly(True)
+        self.filenameEdit.setObjectName("filenameEdit")
+        self.gridLayout.addWidget(self.filenameEdit, 0, 1, 1, 1)
+        self.gridLayout_2.addWidget(self.fileTaskFrame, 4, 0, 1, 2)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=TaskPropertiesDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout_2.addWidget(self.buttonBox, 5, 0, 1, 2)
+        self.label.setBuddy(self.summaryEdit)
+        self.descriptionLabel.setBuddy(self.descriptionEdit)
+        self.textLabel4.setBuddy(self.priorityCombo)
+
+        self.retranslateUi(TaskPropertiesDialog)
+        self.priorityCombo.setCurrentIndex(1)
+        self.buttonBox.accepted.connect(TaskPropertiesDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(TaskPropertiesDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(TaskPropertiesDialog)
+        TaskPropertiesDialog.setTabOrder(self.summaryEdit, self.descriptionEdit)
+        TaskPropertiesDialog.setTabOrder(self.descriptionEdit, self.priorityCombo)
+        TaskPropertiesDialog.setTabOrder(self.priorityCombo, self.typeCombo)
+        TaskPropertiesDialog.setTabOrder(self.typeCombo, self.completedCheckBox)
+        TaskPropertiesDialog.setTabOrder(self.completedCheckBox, self.projectCheckBox)
+
+    def retranslateUi(self, TaskPropertiesDialog):
+        _translate = QtCore.QCoreApplication.translate
+        TaskPropertiesDialog.setWindowTitle(_translate("TaskPropertiesDialog", "Task Properties"))
+        self.label.setText(_translate("TaskPropertiesDialog", "&Summary:"))
+        self.summaryEdit.setToolTip(_translate("TaskPropertiesDialog", "Enter the task summary"))
+        self.descriptionLabel.setText(_translate("TaskPropertiesDialog", "&Description:"))
+        self.descriptionEdit.setToolTip(_translate("TaskPropertiesDialog", "Enter the task description"))
+        self.textLabel2.setText(_translate("TaskPropertiesDialog", "Creation Time:"))
+        self.textLabel4.setText(_translate("TaskPropertiesDialog", "&Priority:"))
+        self.priorityCombo.setToolTip(_translate("TaskPropertiesDialog", "Select the task priority"))
+        self.priorityCombo.setItemText(0, _translate("TaskPropertiesDialog", "High"))
+        self.priorityCombo.setItemText(1, _translate("TaskPropertiesDialog", "Normal"))
+        self.priorityCombo.setItemText(2, _translate("TaskPropertiesDialog", "Low"))
+        self.label_2.setText(_translate("TaskPropertiesDialog", "Type:"))
+        self.typeCombo.setToolTip(_translate("TaskPropertiesDialog", "Select the task type"))
+        self.completedCheckBox.setToolTip(_translate("TaskPropertiesDialog", "Select to mark this task as completed"))
+        self.completedCheckBox.setText(_translate("TaskPropertiesDialog", "T&ask completed"))
+        self.projectCheckBox.setToolTip(_translate("TaskPropertiesDialog", "Select to indicate a task related to the current project"))
+        self.projectCheckBox.setText(_translate("TaskPropertiesDialog", "Project &Task"))
+        self.linenoLabel.setText(_translate("TaskPropertiesDialog", "Line:"))
+        self.filenameLabel.setText(_translate("TaskPropertiesDialog", "Filename:"))
+from eric7.EricWidgets.EricSpellCheckedTextEdit import EricSpellCheckedTextEdit
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Templates/Ui_TemplatePropertiesDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,91 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Templates/TemplatePropertiesDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_TemplatePropertiesDialog(object):
+    def setupUi(self, TemplatePropertiesDialog):
+        TemplatePropertiesDialog.setObjectName("TemplatePropertiesDialog")
+        TemplatePropertiesDialog.resize(448, 323)
+        TemplatePropertiesDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(TemplatePropertiesDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.gridLayout = QtWidgets.QGridLayout()
+        self.gridLayout.setObjectName("gridLayout")
+        self.textLabel1 = QtWidgets.QLabel(parent=TemplatePropertiesDialog)
+        self.textLabel1.setObjectName("textLabel1")
+        self.gridLayout.addWidget(self.textLabel1, 0, 0, 1, 1)
+        self.nameEdit = QtWidgets.QLineEdit(parent=TemplatePropertiesDialog)
+        self.nameEdit.setObjectName("nameEdit")
+        self.gridLayout.addWidget(self.nameEdit, 0, 1, 1, 1)
+        self.descriptionLabel = QtWidgets.QLabel(parent=TemplatePropertiesDialog)
+        self.descriptionLabel.setObjectName("descriptionLabel")
+        self.gridLayout.addWidget(self.descriptionLabel, 1, 0, 1, 1)
+        self.descriptionEdit = QtWidgets.QLineEdit(parent=TemplatePropertiesDialog)
+        self.descriptionEdit.setObjectName("descriptionEdit")
+        self.gridLayout.addWidget(self.descriptionEdit, 1, 1, 1, 1)
+        self.groupLabel = QtWidgets.QLabel(parent=TemplatePropertiesDialog)
+        self.groupLabel.setObjectName("groupLabel")
+        self.gridLayout.addWidget(self.groupLabel, 2, 0, 1, 1)
+        self.groupCombo = QtWidgets.QComboBox(parent=TemplatePropertiesDialog)
+        self.groupCombo.setToolTip("")
+        self.groupCombo.setObjectName("groupCombo")
+        self.gridLayout.addWidget(self.groupCombo, 2, 1, 1, 1)
+        self.templateLabel = QtWidgets.QLabel(parent=TemplatePropertiesDialog)
+        self.templateLabel.setAlignment(QtCore.Qt.AlignmentFlag.AlignTop)
+        self.templateLabel.setObjectName("templateLabel")
+        self.gridLayout.addWidget(self.templateLabel, 3, 0, 1, 1)
+        self.templateEdit = QtWidgets.QTextEdit(parent=TemplatePropertiesDialog)
+        font = QtGui.QFont()
+        font.setFamily("Monospace")
+        font.setPointSize(9)
+        self.templateEdit.setFont(font)
+        self.templateEdit.setLineWrapMode(QtWidgets.QTextEdit.LineWrapMode.NoWrap)
+        self.templateEdit.setAcceptRichText(False)
+        self.templateEdit.setObjectName("templateEdit")
+        self.gridLayout.addWidget(self.templateEdit, 3, 1, 3, 1)
+        self.helpButton = QtWidgets.QPushButton(parent=TemplatePropertiesDialog)
+        self.helpButton.setObjectName("helpButton")
+        self.gridLayout.addWidget(self.helpButton, 4, 0, 1, 1)
+        spacerItem = QtWidgets.QSpacerItem(84, 98, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.gridLayout.addItem(spacerItem, 5, 0, 1, 1)
+        self.verticalLayout.addLayout(self.gridLayout)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=TemplatePropertiesDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(TemplatePropertiesDialog)
+        self.buttonBox.rejected.connect(TemplatePropertiesDialog.reject) # type: ignore
+        self.buttonBox.accepted.connect(TemplatePropertiesDialog.accept) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(TemplatePropertiesDialog)
+        TemplatePropertiesDialog.setTabOrder(self.nameEdit, self.descriptionEdit)
+        TemplatePropertiesDialog.setTabOrder(self.descriptionEdit, self.groupCombo)
+        TemplatePropertiesDialog.setTabOrder(self.groupCombo, self.templateEdit)
+        TemplatePropertiesDialog.setTabOrder(self.templateEdit, self.helpButton)
+        TemplatePropertiesDialog.setTabOrder(self.helpButton, self.buttonBox)
+
+    def retranslateUi(self, TemplatePropertiesDialog):
+        _translate = QtCore.QCoreApplication.translate
+        TemplatePropertiesDialog.setWindowTitle(_translate("TemplatePropertiesDialog", "Template Properties"))
+        self.textLabel1.setText(_translate("TemplatePropertiesDialog", "Name:"))
+        self.nameEdit.setToolTip(_translate("TemplatePropertiesDialog", "Enter the name of the template/group. Templates are autocompleted upon this name."))
+        self.descriptionLabel.setText(_translate("TemplatePropertiesDialog", "Description:"))
+        self.descriptionEdit.setToolTip(_translate("TemplatePropertiesDialog", "Enter a description for the template"))
+        self.groupLabel.setText(_translate("TemplatePropertiesDialog", "Group:"))
+        self.templateLabel.setText(_translate("TemplatePropertiesDialog", "Template:"))
+        self.templateEdit.setToolTip(_translate("TemplatePropertiesDialog", "Enter the text of the template"))
+        self.templateEdit.setWhatsThis(_translate("TemplatePropertiesDialog", "<b>Template Text</b>\n"
+"<p>Enter the template text in this area. Every occurrence of $VAR$ will be replaced\n"
+"by the associated text when the template is applied.  Predefined variables may be used in the template. The separator character might\n"
+"be changed via the preferences dialog.</p>\n"
+"<p>Press the help button for more information.</p>"))
+        self.helpButton.setText(_translate("TemplatePropertiesDialog", "&Help"))
+        self.helpButton.setShortcut(_translate("TemplatePropertiesDialog", "Alt+H"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Templates/Ui_TemplateSingleVariableDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,43 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Templates/TemplateSingleVariableDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_TemplateSingleVariableDialog(object):
+    def setupUi(self, TemplateSingleVariableDialog):
+        TemplateSingleVariableDialog.setObjectName("TemplateSingleVariableDialog")
+        TemplateSingleVariableDialog.resize(403, 218)
+        TemplateSingleVariableDialog.setSizeGripEnabled(True)
+        self.gridlayout = QtWidgets.QGridLayout(TemplateSingleVariableDialog)
+        self.gridlayout.setObjectName("gridlayout")
+        self.variableEdit = QtWidgets.QTextEdit(parent=TemplateSingleVariableDialog)
+        self.variableEdit.setLineWrapMode(QtWidgets.QTextEdit.LineWrapMode.NoWrap)
+        self.variableEdit.setAcceptRichText(False)
+        self.variableEdit.setObjectName("variableEdit")
+        self.gridlayout.addWidget(self.variableEdit, 0, 1, 1, 1)
+        self.variableLabel = QtWidgets.QLabel(parent=TemplateSingleVariableDialog)
+        self.variableLabel.setAlignment(QtCore.Qt.AlignmentFlag.AlignTop)
+        self.variableLabel.setObjectName("variableLabel")
+        self.gridlayout.addWidget(self.variableLabel, 0, 0, 1, 1)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=TemplateSingleVariableDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridlayout.addWidget(self.buttonBox, 1, 0, 1, 2)
+
+        self.retranslateUi(TemplateSingleVariableDialog)
+        self.buttonBox.accepted.connect(TemplateSingleVariableDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(TemplateSingleVariableDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(TemplateSingleVariableDialog)
+
+    def retranslateUi(self, TemplateSingleVariableDialog):
+        _translate = QtCore.QCoreApplication.translate
+        TemplateSingleVariableDialog.setWindowTitle(_translate("TemplateSingleVariableDialog", "Enter Template Variable"))
+        self.variableEdit.setToolTip(_translate("TemplateSingleVariableDialog", "Enter the value for the variable."))
+        self.variableLabel.setText(_translate("TemplateSingleVariableDialog", "Variable:"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Testing/Ui_MarkersWindow.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,40 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Testing/MarkersWindow.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_MarkersWindow(object):
+    def setupUi(self, MarkersWindow):
+        MarkersWindow.setObjectName("MarkersWindow")
+        MarkersWindow.resize(800, 600)
+        self.verticalLayout = QtWidgets.QVBoxLayout(MarkersWindow)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.markersList = QtWidgets.QTreeWidget(parent=MarkersWindow)
+        self.markersList.setAlternatingRowColors(True)
+        self.markersList.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.NoSelection)
+        self.markersList.setRootIsDecorated(False)
+        self.markersList.setItemsExpandable(False)
+        self.markersList.setWordWrap(True)
+        self.markersList.setObjectName("markersList")
+        self.verticalLayout.addWidget(self.markersList)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=MarkersWindow)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(MarkersWindow)
+        self.buttonBox.rejected.connect(MarkersWindow.close) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(MarkersWindow)
+
+    def retranslateUi(self, MarkersWindow):
+        _translate = QtCore.QCoreApplication.translate
+        MarkersWindow.setWindowTitle(_translate("MarkersWindow", "Defined Markers"))
+        self.markersList.setSortingEnabled(True)
+        self.markersList.headerItem().setText(0, _translate("MarkersWindow", "Marker"))
+        self.markersList.headerItem().setText(1, _translate("MarkersWindow", "Description"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Testing/Ui_TestingWidget.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,328 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/Testing/TestingWidget.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_TestingWidget(object):
+    def setupUi(self, TestingWidget):
+        TestingWidget.setObjectName("TestingWidget")
+        TestingWidget.resize(900, 800)
+        self.verticalLayout_3 = QtWidgets.QVBoxLayout(TestingWidget)
+        self.verticalLayout_3.setObjectName("verticalLayout_3")
+        self.tabWidget = QtWidgets.QTabWidget(parent=TestingWidget)
+        self.tabWidget.setObjectName("tabWidget")
+        self.parametersTab = QtWidgets.QWidget()
+        self.parametersTab.setObjectName("parametersTab")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.parametersTab)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.gridLayout_3 = QtWidgets.QGridLayout()
+        self.gridLayout_3.setObjectName("gridLayout_3")
+        self.venvLabel = QtWidgets.QLabel(parent=self.parametersTab)
+        self.venvLabel.setObjectName("venvLabel")
+        self.gridLayout_3.addWidget(self.venvLabel, 0, 0, 1, 1)
+        self.venvComboBox = QtWidgets.QComboBox(parent=self.parametersTab)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.venvComboBox.sizePolicy().hasHeightForWidth())
+        self.venvComboBox.setSizePolicy(sizePolicy)
+        self.venvComboBox.setInsertPolicy(QtWidgets.QComboBox.InsertPolicy.NoInsert)
+        self.venvComboBox.setObjectName("venvComboBox")
+        self.gridLayout_3.addWidget(self.venvComboBox, 0, 1, 1, 2)
+        self.label = QtWidgets.QLabel(parent=self.parametersTab)
+        self.label.setObjectName("label")
+        self.gridLayout_3.addWidget(self.label, 1, 0, 1, 1)
+        self.frameworkComboBox = QtWidgets.QComboBox(parent=self.parametersTab)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.frameworkComboBox.sizePolicy().hasHeightForWidth())
+        self.frameworkComboBox.setSizePolicy(sizePolicy)
+        self.frameworkComboBox.setInsertPolicy(QtWidgets.QComboBox.InsertPolicy.NoInsert)
+        self.frameworkComboBox.setObjectName("frameworkComboBox")
+        self.gridLayout_3.addWidget(self.frameworkComboBox, 1, 1, 1, 1)
+        self.versionsButton = QtWidgets.QToolButton(parent=self.parametersTab)
+        self.versionsButton.setObjectName("versionsButton")
+        self.gridLayout_3.addWidget(self.versionsButton, 1, 2, 1, 1)
+        self.verticalLayout.addLayout(self.gridLayout_3)
+        self.groupBox = QtWidgets.QGroupBox(parent=self.parametersTab)
+        self.groupBox.setObjectName("groupBox")
+        self.gridLayout = QtWidgets.QGridLayout(self.groupBox)
+        self.gridLayout.setObjectName("gridLayout")
+        self.horizontalLayout_4 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_4.setObjectName("horizontalLayout_4")
+        self.discoverCheckBox = QtWidgets.QCheckBox(parent=self.groupBox)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.discoverCheckBox.sizePolicy().hasHeightForWidth())
+        self.discoverCheckBox.setSizePolicy(sizePolicy)
+        self.discoverCheckBox.setChecked(True)
+        self.discoverCheckBox.setObjectName("discoverCheckBox")
+        self.horizontalLayout_4.addWidget(self.discoverCheckBox)
+        self.clearHistoriesButton = QtWidgets.QToolButton(parent=self.groupBox)
+        self.clearHistoriesButton.setObjectName("clearHistoriesButton")
+        self.horizontalLayout_4.addWidget(self.clearHistoriesButton)
+        self.gridLayout.addLayout(self.horizontalLayout_4, 0, 0, 1, 3)
+        self.label_3 = QtWidgets.QLabel(parent=self.groupBox)
+        self.label_3.setObjectName("label_3")
+        self.gridLayout.addWidget(self.label_3, 1, 0, 1, 1)
+        self.discoveryPicker = EricComboPathPicker(parent=self.groupBox)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.discoveryPicker.sizePolicy().hasHeightForWidth())
+        self.discoveryPicker.setSizePolicy(sizePolicy)
+        self.discoveryPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.WheelFocus)
+        self.discoveryPicker.setObjectName("discoveryPicker")
+        self.gridLayout.addWidget(self.discoveryPicker, 1, 1, 1, 2)
+        self.testsuiteLabel = QtWidgets.QLabel(parent=self.groupBox)
+        self.testsuiteLabel.setObjectName("testsuiteLabel")
+        self.gridLayout.addWidget(self.testsuiteLabel, 2, 0, 1, 1)
+        self.testsuitePicker = EricComboPathPicker(parent=self.groupBox)
+        self.testsuitePicker.setEnabled(False)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.testsuitePicker.sizePolicy().hasHeightForWidth())
+        self.testsuitePicker.setSizePolicy(sizePolicy)
+        self.testsuitePicker.setFocusPolicy(QtCore.Qt.FocusPolicy.WheelFocus)
+        self.testsuitePicker.setObjectName("testsuitePicker")
+        self.gridLayout.addWidget(self.testsuitePicker, 2, 1, 1, 2)
+        self.label_2 = QtWidgets.QLabel(parent=self.groupBox)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 3, 0, 1, 1)
+        self.testComboBox = QtWidgets.QComboBox(parent=self.groupBox)
+        self.testComboBox.setEnabled(False)
+        self.testComboBox.setEditable(True)
+        self.testComboBox.setObjectName("testComboBox")
+        self.gridLayout.addWidget(self.testComboBox, 3, 1, 1, 2)
+        self.label_5 = QtWidgets.QLabel(parent=self.groupBox)
+        self.label_5.setObjectName("label_5")
+        self.gridLayout.addWidget(self.label_5, 4, 0, 1, 1)
+        self.testNamePatternEdit = QtWidgets.QLineEdit(parent=self.groupBox)
+        self.testNamePatternEdit.setObjectName("testNamePatternEdit")
+        self.gridLayout.addWidget(self.testNamePatternEdit, 4, 1, 1, 2)
+        self.label_4 = QtWidgets.QLabel(parent=self.groupBox)
+        self.label_4.setObjectName("label_4")
+        self.gridLayout.addWidget(self.label_4, 5, 0, 1, 1)
+        self.markerExpressionEdit = QtWidgets.QLineEdit(parent=self.groupBox)
+        self.markerExpressionEdit.setClearButtonEnabled(True)
+        self.markerExpressionEdit.setObjectName("markerExpressionEdit")
+        self.gridLayout.addWidget(self.markerExpressionEdit, 5, 1, 1, 1)
+        self.showMarkersButton = QtWidgets.QToolButton(parent=self.groupBox)
+        self.showMarkersButton.setObjectName("showMarkersButton")
+        self.gridLayout.addWidget(self.showMarkersButton, 5, 2, 1, 1)
+        self.verticalLayout.addWidget(self.groupBox)
+        self.optionsGroup = QtWidgets.QGroupBox(parent=self.parametersTab)
+        self.optionsGroup.setObjectName("optionsGroup")
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.optionsGroup)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.gridLayout_2 = QtWidgets.QGridLayout()
+        self.gridLayout_2.setObjectName("gridLayout_2")
+        self.coverageCheckBox = QtWidgets.QCheckBox(parent=self.optionsGroup)
+        self.coverageCheckBox.setObjectName("coverageCheckBox")
+        self.gridLayout_2.addWidget(self.coverageCheckBox, 0, 0, 1, 1)
+        self.coverageEraseCheckBox = QtWidgets.QCheckBox(parent=self.optionsGroup)
+        self.coverageEraseCheckBox.setEnabled(False)
+        self.coverageEraseCheckBox.setObjectName("coverageEraseCheckBox")
+        self.gridLayout_2.addWidget(self.coverageEraseCheckBox, 0, 1, 1, 1)
+        self.failfastCheckBox = QtWidgets.QCheckBox(parent=self.optionsGroup)
+        self.failfastCheckBox.setObjectName("failfastCheckBox")
+        self.gridLayout_2.addWidget(self.failfastCheckBox, 1, 0, 1, 1)
+        self.debuggerCheckBox = QtWidgets.QCheckBox(parent=self.optionsGroup)
+        self.debuggerCheckBox.setObjectName("debuggerCheckBox")
+        self.gridLayout_2.addWidget(self.debuggerCheckBox, 1, 1, 1, 1)
+        self.verticalLayout_2.addLayout(self.gridLayout_2)
+        self.verticalLayout.addWidget(self.optionsGroup)
+        self.discoveryGroup = QtWidgets.QGroupBox(parent=self.parametersTab)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.discoveryGroup.sizePolicy().hasHeightForWidth())
+        self.discoveryGroup.setSizePolicy(sizePolicy)
+        self.discoveryGroup.setObjectName("discoveryGroup")
+        self.verticalLayout_7 = QtWidgets.QVBoxLayout(self.discoveryGroup)
+        self.verticalLayout_7.setObjectName("verticalLayout_7")
+        self.discoveryList = QtWidgets.QTreeWidget(parent=self.discoveryGroup)
+        self.discoveryList.setContextMenuPolicy(QtCore.Qt.ContextMenuPolicy.CustomContextMenu)
+        self.discoveryList.setAlternatingRowColors(True)
+        self.discoveryList.setHeaderHidden(True)
+        self.discoveryList.setExpandsOnDoubleClick(False)
+        self.discoveryList.setObjectName("discoveryList")
+        self.discoveryList.headerItem().setText(0, "1")
+        self.verticalLayout_7.addWidget(self.discoveryList)
+        self.verticalLayout.addWidget(self.discoveryGroup)
+        self.tabWidget.addTab(self.parametersTab, "")
+        self.resultsTab = QtWidgets.QWidget()
+        self.resultsTab.setObjectName("resultsTab")
+        self.verticalLayout_6 = QtWidgets.QVBoxLayout(self.resultsTab)
+        self.verticalLayout_6.setObjectName("verticalLayout_6")
+        self.progressGroupBox = QtWidgets.QGroupBox(parent=self.resultsTab)
+        self.progressGroupBox.setObjectName("progressGroupBox")
+        self.verticalLayout_4 = QtWidgets.QVBoxLayout(self.progressGroupBox)
+        self.verticalLayout_4.setObjectName("verticalLayout_4")
+        self.progressProgressBar = QtWidgets.QProgressBar(parent=self.progressGroupBox)
+        self.progressProgressBar.setProperty("value", 0)
+        self.progressProgressBar.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.progressProgressBar.setObjectName("progressProgressBar")
+        self.verticalLayout_4.addWidget(self.progressProgressBar)
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.progressCounterRunLabel = QtWidgets.QLabel(parent=self.progressGroupBox)
+        self.progressCounterRunLabel.setObjectName("progressCounterRunLabel")
+        self.horizontalLayout_2.addWidget(self.progressCounterRunLabel)
+        self.progressCounterRunCount = QtWidgets.QLabel(parent=self.progressGroupBox)
+        self.progressCounterRunCount.setText("0")
+        self.progressCounterRunCount.setObjectName("progressCounterRunCount")
+        self.horizontalLayout_2.addWidget(self.progressCounterRunCount)
+        self.progressCounterRemLabel = QtWidgets.QLabel(parent=self.progressGroupBox)
+        self.progressCounterRemLabel.setObjectName("progressCounterRemLabel")
+        self.horizontalLayout_2.addWidget(self.progressCounterRemLabel)
+        self.progressCounterRemCount = QtWidgets.QLabel(parent=self.progressGroupBox)
+        self.progressCounterRemCount.setText("0")
+        self.progressCounterRemCount.setObjectName("progressCounterRemCount")
+        self.horizontalLayout_2.addWidget(self.progressCounterRemCount)
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_2.addItem(spacerItem)
+        self.verticalLayout_4.addLayout(self.horizontalLayout_2)
+        self.verticalLayout_6.addWidget(self.progressGroupBox)
+        self.resultsGroupBox = QtWidgets.QGroupBox(parent=self.resultsTab)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.resultsGroupBox.sizePolicy().hasHeightForWidth())
+        self.resultsGroupBox.setSizePolicy(sizePolicy)
+        self.resultsGroupBox.setObjectName("resultsGroupBox")
+        self.verticalLayout_5 = QtWidgets.QVBoxLayout(self.resultsGroupBox)
+        self.verticalLayout_5.setObjectName("verticalLayout_5")
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem1)
+        self.label_6 = QtWidgets.QLabel(parent=self.resultsGroupBox)
+        self.label_6.setObjectName("label_6")
+        self.horizontalLayout.addWidget(self.label_6)
+        self.statusFilterComboBox = QtWidgets.QComboBox(parent=self.resultsGroupBox)
+        self.statusFilterComboBox.setMinimumSize(QtCore.QSize(150, 0))
+        self.statusFilterComboBox.setSizeAdjustPolicy(QtWidgets.QComboBox.SizeAdjustPolicy.AdjustToMinimumContentsLengthWithIcon)
+        self.statusFilterComboBox.setObjectName("statusFilterComboBox")
+        self.horizontalLayout.addWidget(self.statusFilterComboBox)
+        self.verticalLayout_5.addLayout(self.horizontalLayout)
+        self.statusLabel = QtWidgets.QLabel(parent=self.resultsGroupBox)
+        self.statusLabel.setText("")
+        self.statusLabel.setObjectName("statusLabel")
+        self.verticalLayout_5.addWidget(self.statusLabel)
+        self.verticalLayout_6.addWidget(self.resultsGroupBox)
+        self.tabWidget.addTab(self.resultsTab, "")
+        self.verticalLayout_3.addWidget(self.tabWidget)
+        self._4 = QtWidgets.QHBoxLayout()
+        self._4.setObjectName("_4")
+        self.sbLabel = QtWidgets.QLabel(parent=TestingWidget)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.sbLabel.sizePolicy().hasHeightForWidth())
+        self.sbLabel.setSizePolicy(sizePolicy)
+        self.sbLabel.setObjectName("sbLabel")
+        self._4.addWidget(self.sbLabel)
+        spacerItem2 = QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self._4.addItem(spacerItem2)
+        self.verticalLayout_3.addLayout(self._4)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=TestingWidget)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout_3.addWidget(self.buttonBox)
+        self.venvLabel.setBuddy(self.venvComboBox)
+        self.label_3.setBuddy(self.discoveryPicker)
+        self.testsuiteLabel.setBuddy(self.testsuitePicker)
+        self.label_2.setBuddy(self.testComboBox)
+        self.label_5.setBuddy(self.testComboBox)
+
+        self.retranslateUi(TestingWidget)
+        self.tabWidget.setCurrentIndex(0)
+        self.buttonBox.accepted.connect(TestingWidget.close) # type: ignore
+        self.buttonBox.rejected.connect(TestingWidget.close) # type: ignore
+        self.discoverCheckBox.toggled['bool'].connect(self.discoveryPicker.setEnabled) # type: ignore
+        self.discoverCheckBox.toggled['bool'].connect(self.testsuitePicker.setDisabled) # type: ignore
+        self.discoverCheckBox.toggled['bool'].connect(self.testComboBox.setDisabled) # type: ignore
+        self.coverageCheckBox.toggled['bool'].connect(self.coverageEraseCheckBox.setEnabled) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(TestingWidget)
+        TestingWidget.setTabOrder(self.tabWidget, self.venvComboBox)
+        TestingWidget.setTabOrder(self.venvComboBox, self.frameworkComboBox)
+        TestingWidget.setTabOrder(self.frameworkComboBox, self.versionsButton)
+        TestingWidget.setTabOrder(self.versionsButton, self.discoverCheckBox)
+        TestingWidget.setTabOrder(self.discoverCheckBox, self.clearHistoriesButton)
+        TestingWidget.setTabOrder(self.clearHistoriesButton, self.discoveryPicker)
+        TestingWidget.setTabOrder(self.discoveryPicker, self.testsuitePicker)
+        TestingWidget.setTabOrder(self.testsuitePicker, self.testComboBox)
+        TestingWidget.setTabOrder(self.testComboBox, self.testNamePatternEdit)
+        TestingWidget.setTabOrder(self.testNamePatternEdit, self.markerExpressionEdit)
+        TestingWidget.setTabOrder(self.markerExpressionEdit, self.showMarkersButton)
+        TestingWidget.setTabOrder(self.showMarkersButton, self.coverageCheckBox)
+        TestingWidget.setTabOrder(self.coverageCheckBox, self.coverageEraseCheckBox)
+        TestingWidget.setTabOrder(self.coverageEraseCheckBox, self.failfastCheckBox)
+        TestingWidget.setTabOrder(self.failfastCheckBox, self.debuggerCheckBox)
+        TestingWidget.setTabOrder(self.debuggerCheckBox, self.discoveryList)
+        TestingWidget.setTabOrder(self.discoveryList, self.statusFilterComboBox)
+
+    def retranslateUi(self, TestingWidget):
+        _translate = QtCore.QCoreApplication.translate
+        TestingWidget.setWindowTitle(_translate("TestingWidget", "Testing"))
+        self.venvLabel.setText(_translate("TestingWidget", "Virtual Environment:"))
+        self.venvComboBox.setToolTip(_translate("TestingWidget", "Select the virtual environment to be used"))
+        self.venvComboBox.setWhatsThis(_translate("TestingWidget", "<b>Virtual Environment</b>\\n<p>Enter the virtual environment to be used. Leave it empty to use the default environment, i.e. the one configured globally or per project.</p>"))
+        self.label.setText(_translate("TestingWidget", "Test Framework:"))
+        self.frameworkComboBox.setToolTip(_translate("TestingWidget", "Select the test framwork to be used"))
+        self.versionsButton.setToolTip(_translate("TestingWidget", "Press to show the test framework versions"))
+        self.groupBox.setTitle(_translate("TestingWidget", "Test Parameters"))
+        self.discoverCheckBox.setToolTip(_translate("TestingWidget", "Select to discover tests automatically"))
+        self.discoverCheckBox.setText(_translate("TestingWidget", "Discover tests (test modules must be importable)"))
+        self.clearHistoriesButton.setToolTip(_translate("TestingWidget", "Press to clear the various histories"))
+        self.label_3.setText(_translate("TestingWidget", "Discovery Start:"))
+        self.discoveryPicker.setToolTip(_translate("TestingWidget", "Enter name of the directory at which to start the test file discovery"))
+        self.discoveryPicker.setWhatsThis(_translate("TestingWidget", "<b>Discovery Start</b>\n"
+"<p>Enter name of the directory at which to start the test file discovery.\n"
+"Note that all test modules must be importable from this directory.</p>"))
+        self.testsuiteLabel.setText(_translate("TestingWidget", "Test Filename:"))
+        self.testsuitePicker.setToolTip(_translate("TestingWidget", "Enter name of file defining the testsuite"))
+        self.testsuitePicker.setWhatsThis(_translate("TestingWidget", "<b>Testsuite</b><p>Enter the name of the file defining the testsuite. It should contain a method with a name given below. If no name is given, the \'suite()\' method will be tried. If no such method can be found, the module will be inspected for proper test cases.</p>"))
+        self.label_2.setText(_translate("TestingWidget", "Test Name:"))
+        self.testComboBox.setToolTip(_translate("TestingWidget", "Enter the test name. Leave empty to use the default name \"suite\"."))
+        self.testComboBox.setWhatsThis(_translate("TestingWidget", "<b>Testname</b><p>Enter the name of the test to be performed. This name must follow the rules given by selecte test framework. If this field is empty, the default name of \"suite\" will be used.</p>"))
+        self.label_5.setText(_translate("TestingWidget", "Test Name Pattern:"))
+        self.testNamePatternEdit.setToolTip(_translate("TestingWidget", "Enter test name patterns (separated by a blank) or a test name expression"))
+        self.label_4.setText(_translate("TestingWidget", "Marker Expression:"))
+        self.markerExpressionEdit.setToolTip(_translate("TestingWidget", "Enter a marker expression or name to filter tests"))
+        self.showMarkersButton.setToolTip(_translate("TestingWidget", "Press to show a window with the list of defined markers"))
+        self.optionsGroup.setTitle(_translate("TestingWidget", "Run Parameters"))
+        self.coverageCheckBox.setToolTip(_translate("TestingWidget", "Select whether coverage data should be collected"))
+        self.coverageCheckBox.setText(_translate("TestingWidget", "Collect coverage data"))
+        self.coverageEraseCheckBox.setToolTip(_translate("TestingWidget", "Select whether old coverage data should be erased"))
+        self.coverageEraseCheckBox.setText(_translate("TestingWidget", "Erase coverage data"))
+        self.failfastCheckBox.setToolTip(_translate("TestingWidget", "Select to stop the test run on the first error or failure"))
+        self.failfastCheckBox.setText(_translate("TestingWidget", "Stop on First Error or Failure"))
+        self.debuggerCheckBox.setToolTip(_translate("TestingWidget", "Select to execute the tests with debugger support."))
+        self.debuggerCheckBox.setText(_translate("TestingWidget", "Run with Debugger Support"))
+        self.discoveryGroup.setTitle(_translate("TestingWidget", "Discovery Results"))
+        self.discoveryList.setSortingEnabled(True)
+        self.tabWidget.setTabText(self.tabWidget.indexOf(self.parametersTab), _translate("TestingWidget", "Parameters"))
+        self.progressGroupBox.setTitle(_translate("TestingWidget", "Progress"))
+        self.progressProgressBar.setFormat(_translate("TestingWidget", "%v/%m Tests"))
+        self.progressCounterRunLabel.setText(_translate("TestingWidget", "Run:"))
+        self.progressCounterRunCount.setToolTip(_translate("TestingWidget", "Number of tests run"))
+        self.progressCounterRemLabel.setText(_translate("TestingWidget", "Remaining:"))
+        self.progressCounterRemCount.setToolTip(_translate("TestingWidget", "Number of tests to be run"))
+        self.resultsGroupBox.setTitle(_translate("TestingWidget", "Results"))
+        self.label_6.setText(_translate("TestingWidget", "Status Filter:"))
+        self.statusFilterComboBox.setToolTip(_translate("TestingWidget", "Select the status of items to be shown."))
+        self.tabWidget.setTabText(self.tabWidget.indexOf(self.resultsTab), _translate("TestingWidget", "Results"))
+        self.sbLabel.setText(_translate("TestingWidget", "Idle"))
+from eric7.EricWidgets.EricPathPicker import EricComboPathPicker
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/UI/Previewers/Ui_PreviewerQSS.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,810 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/UI/Previewers/PreviewerQSS.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_PreviewerQSS(object):
+    def setupUi(self, PreviewerQSS):
+        PreviewerQSS.setObjectName("PreviewerQSS")
+        PreviewerQSS.resize(600, 970)
+        PreviewerQSS.setWindowTitle("")
+        self.verticalLayout_7 = QtWidgets.QVBoxLayout(PreviewerQSS)
+        self.verticalLayout_7.setObjectName("verticalLayout_7")
+        self.previewLabel = QtWidgets.QLabel(parent=PreviewerQSS)
+        font = QtGui.QFont()
+        font.setPointSize(12)
+        font.setBold(True)
+        self.previewLabel.setFont(font)
+        self.previewLabel.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
+        self.previewLabel.setObjectName("previewLabel")
+        self.verticalLayout_7.addWidget(self.previewLabel)
+        self.horizontalLayout_7 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_7.setObjectName("horizontalLayout_7")
+        self.label_3 = QtWidgets.QLabel(parent=PreviewerQSS)
+        self.label_3.setObjectName("label_3")
+        self.horizontalLayout_7.addWidget(self.label_3)
+        self.styleIconsPathPicker = EricPathPicker(parent=PreviewerQSS)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.styleIconsPathPicker.sizePolicy().hasHeightForWidth())
+        self.styleIconsPathPicker.setSizePolicy(sizePolicy)
+        self.styleIconsPathPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.styleIconsPathPicker.setObjectName("styleIconsPathPicker")
+        self.horizontalLayout_7.addWidget(self.styleIconsPathPicker)
+        self.verticalLayout_7.addLayout(self.horizontalLayout_7)
+        self.scrollArea = QtWidgets.QScrollArea(parent=PreviewerQSS)
+        self.scrollArea.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarPolicy.ScrollBarAlwaysOn)
+        self.scrollArea.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarPolicy.ScrollBarAlwaysOn)
+        self.scrollArea.setWidgetResizable(True)
+        self.scrollArea.setObjectName("scrollArea")
+        self.scrollAreaWidgetContents = QtWidgets.QWidget()
+        self.scrollAreaWidgetContents.setGeometry(QtCore.QRect(0, 0, 566, 882))
+        self.scrollAreaWidgetContents.setObjectName("scrollAreaWidgetContents")
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.scrollAreaWidgetContents)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.tabWidget = QtWidgets.QTabWidget(parent=self.scrollAreaWidgetContents)
+        self.tabWidget.setTabsClosable(True)
+        self.tabWidget.setObjectName("tabWidget")
+        self.tab_1 = QtWidgets.QWidget()
+        self.tab_1.setObjectName("tab_1")
+        self.gridLayout_7 = QtWidgets.QGridLayout(self.tab_1)
+        self.gridLayout_7.setObjectName("gridLayout_7")
+        self.groupBox_2 = QtWidgets.QGroupBox(parent=self.tab_1)
+        self.groupBox_2.setCheckable(True)
+        self.groupBox_2.setObjectName("groupBox_2")
+        self.verticalLayout_4 = QtWidgets.QVBoxLayout(self.groupBox_2)
+        self.verticalLayout_4.setObjectName("verticalLayout_4")
+        self.gridLayout_4 = QtWidgets.QGridLayout()
+        self.gridLayout_4.setObjectName("gridLayout_4")
+        self.radioButton = QtWidgets.QRadioButton(parent=self.groupBox_2)
+        self.radioButton.setText("RadioButton")
+        self.radioButton.setObjectName("radioButton")
+        self.gridLayout_4.addWidget(self.radioButton, 0, 0, 1, 1)
+        self.checkBox = QtWidgets.QCheckBox(parent=self.groupBox_2)
+        self.checkBox.setText("CheckBox")
+        self.checkBox.setTristate(True)
+        self.checkBox.setObjectName("checkBox")
+        self.gridLayout_4.addWidget(self.checkBox, 0, 1, 1, 1)
+        self.pushButton = QtWidgets.QPushButton(parent=self.groupBox_2)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.pushButton.sizePolicy().hasHeightForWidth())
+        self.pushButton.setSizePolicy(sizePolicy)
+        self.pushButton.setText("PushButton")
+        self.pushButton.setCheckable(True)
+        self.pushButton.setObjectName("pushButton")
+        self.gridLayout_4.addWidget(self.pushButton, 1, 0, 1, 1)
+        self.toolButton_1 = QtWidgets.QToolButton(parent=self.groupBox_2)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.toolButton_1.sizePolicy().hasHeightForWidth())
+        self.toolButton_1.setSizePolicy(sizePolicy)
+        self.toolButton_1.setText("ToolButton 1")
+        self.toolButton_1.setPopupMode(QtWidgets.QToolButton.ToolButtonPopupMode.DelayedPopup)
+        self.toolButton_1.setObjectName("toolButton_1")
+        self.gridLayout_4.addWidget(self.toolButton_1, 1, 1, 1, 1)
+        self.toolButton_2 = QtWidgets.QToolButton(parent=self.groupBox_2)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.toolButton_2.sizePolicy().hasHeightForWidth())
+        self.toolButton_2.setSizePolicy(sizePolicy)
+        self.toolButton_2.setText("ToolButton 2")
+        self.toolButton_2.setPopupMode(QtWidgets.QToolButton.ToolButtonPopupMode.MenuButtonPopup)
+        self.toolButton_2.setObjectName("toolButton_2")
+        self.gridLayout_4.addWidget(self.toolButton_2, 2, 0, 1, 1)
+        self.toolButton_3 = QtWidgets.QToolButton(parent=self.groupBox_2)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.toolButton_3.sizePolicy().hasHeightForWidth())
+        self.toolButton_3.setSizePolicy(sizePolicy)
+        self.toolButton_3.setText("ToolButton 3")
+        self.toolButton_3.setPopupMode(QtWidgets.QToolButton.ToolButtonPopupMode.InstantPopup)
+        self.toolButton_3.setObjectName("toolButton_3")
+        self.gridLayout_4.addWidget(self.toolButton_3, 2, 1, 1, 1)
+        self.spinBox = QtWidgets.QSpinBox(parent=self.groupBox_2)
+        self.spinBox.setObjectName("spinBox")
+        self.gridLayout_4.addWidget(self.spinBox, 3, 0, 1, 1)
+        self.doubleSpinBox = QtWidgets.QDoubleSpinBox(parent=self.groupBox_2)
+        self.doubleSpinBox.setObjectName("doubleSpinBox")
+        self.gridLayout_4.addWidget(self.doubleSpinBox, 3, 1, 1, 1)
+        self.timeEdit = QtWidgets.QTimeEdit(parent=self.groupBox_2)
+        self.timeEdit.setObjectName("timeEdit")
+        self.gridLayout_4.addWidget(self.timeEdit, 4, 0, 1, 1)
+        self.dateEdit = QtWidgets.QDateEdit(parent=self.groupBox_2)
+        self.dateEdit.setObjectName("dateEdit")
+        self.gridLayout_4.addWidget(self.dateEdit, 4, 1, 1, 1)
+        self.lcdNumber = QtWidgets.QLCDNumber(parent=self.groupBox_2)
+        self.lcdNumber.setDigitCount(10)
+        self.lcdNumber.setProperty("intValue", 1234567890)
+        self.lcdNumber.setObjectName("lcdNumber")
+        self.gridLayout_4.addWidget(self.lcdNumber, 5, 0, 1, 1)
+        self.label = QtWidgets.QLabel(parent=self.groupBox_2)
+        self.label.setText("Label with <a href=\"http://google.com\">link</a>")
+        self.label.setObjectName("label")
+        self.gridLayout_4.addWidget(self.label, 5, 1, 1, 1)
+        self.verticalLayout_4.addLayout(self.gridLayout_4)
+        self.commandLinkButton = QtWidgets.QCommandLinkButton(parent=self.groupBox_2)
+        self.commandLinkButton.setText("CommandLinkButton")
+        self.commandLinkButton.setObjectName("commandLinkButton")
+        self.verticalLayout_4.addWidget(self.commandLinkButton)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=self.groupBox_2)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout_4.addWidget(self.buttonBox)
+        self.verticalLayout_3 = QtWidgets.QVBoxLayout()
+        self.verticalLayout_3.setObjectName("verticalLayout_3")
+        self.progressBar = QtWidgets.QProgressBar(parent=self.groupBox_2)
+        self.progressBar.setMaximum(20)
+        self.progressBar.setProperty("value", 10)
+        self.progressBar.setObjectName("progressBar")
+        self.verticalLayout_3.addWidget(self.progressBar)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.readOnlyComboBox = QtWidgets.QComboBox(parent=self.groupBox_2)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.readOnlyComboBox.sizePolicy().hasHeightForWidth())
+        self.readOnlyComboBox.setSizePolicy(sizePolicy)
+        self.readOnlyComboBox.setObjectName("readOnlyComboBox")
+        self.readOnlyComboBox.addItem("")
+        self.readOnlyComboBox.setItemText(0, "1")
+        self.readOnlyComboBox.addItem("")
+        self.readOnlyComboBox.setItemText(1, "2")
+        self.readOnlyComboBox.addItem("")
+        self.readOnlyComboBox.setItemText(2, "3")
+        self.horizontalLayout.addWidget(self.readOnlyComboBox)
+        self.editableComboBox = QtWidgets.QComboBox(parent=self.groupBox_2)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.editableComboBox.sizePolicy().hasHeightForWidth())
+        self.editableComboBox.setSizePolicy(sizePolicy)
+        self.editableComboBox.setEditable(True)
+        self.editableComboBox.setObjectName("editableComboBox")
+        self.editableComboBox.addItem("")
+        self.editableComboBox.setItemText(0, "1")
+        self.editableComboBox.addItem("")
+        self.editableComboBox.setItemText(1, "2")
+        self.editableComboBox.addItem("")
+        self.editableComboBox.setItemText(2, "3")
+        self.horizontalLayout.addWidget(self.editableComboBox)
+        self.verticalLayout_3.addLayout(self.horizontalLayout)
+        self.horizontalLayout_4 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_4.setObjectName("horizontalLayout_4")
+        self.lineEdit = QtWidgets.QLineEdit(parent=self.groupBox_2)
+        self.lineEdit.setText("Line edit")
+        self.lineEdit.setObjectName("lineEdit")
+        self.horizontalLayout_4.addWidget(self.lineEdit)
+        self.passwordEdit = QtWidgets.QLineEdit(parent=self.groupBox_2)
+        self.passwordEdit.setText("Password")
+        self.passwordEdit.setEchoMode(QtWidgets.QLineEdit.EchoMode.Password)
+        self.passwordEdit.setObjectName("passwordEdit")
+        self.horizontalLayout_4.addWidget(self.passwordEdit)
+        self.verticalLayout_3.addLayout(self.horizontalLayout_4)
+        self.dateTimeEdit = QtWidgets.QDateTimeEdit(parent=self.groupBox_2)
+        self.dateTimeEdit.setCalendarPopup(True)
+        self.dateTimeEdit.setObjectName("dateTimeEdit")
+        self.verticalLayout_3.addWidget(self.dateTimeEdit)
+        self.verticalLayout_4.addLayout(self.verticalLayout_3)
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        spacerItem = QtWidgets.QSpacerItem(13, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_2.addItem(spacerItem)
+        self.gridLayout = QtWidgets.QGridLayout()
+        self.gridLayout.setObjectName("gridLayout")
+        self.horizontalScrollBar = QtWidgets.QScrollBar(parent=self.groupBox_2)
+        self.horizontalScrollBar.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.horizontalScrollBar.setObjectName("horizontalScrollBar")
+        self.gridLayout.addWidget(self.horizontalScrollBar, 0, 1, 1, 3)
+        self.verticalScrollBar = QtWidgets.QScrollBar(parent=self.groupBox_2)
+        self.verticalScrollBar.setOrientation(QtCore.Qt.Orientation.Vertical)
+        self.verticalScrollBar.setObjectName("verticalScrollBar")
+        self.gridLayout.addWidget(self.verticalScrollBar, 1, 0, 3, 1)
+        self.horizontalLine = QtWidgets.QFrame(parent=self.groupBox_2)
+        self.horizontalLine.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.horizontalLine.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.horizontalLine.setObjectName("horizontalLine")
+        self.gridLayout.addWidget(self.horizontalLine, 1, 3, 1, 1)
+        self.horizontalSlider = QtWidgets.QSlider(parent=self.groupBox_2)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.horizontalSlider.sizePolicy().hasHeightForWidth())
+        self.horizontalSlider.setSizePolicy(sizePolicy)
+        self.horizontalSlider.setProperty("value", 30)
+        self.horizontalSlider.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.horizontalSlider.setTickPosition(QtWidgets.QSlider.TickPosition.TicksAbove)
+        self.horizontalSlider.setObjectName("horizontalSlider")
+        self.gridLayout.addWidget(self.horizontalSlider, 2, 3, 1, 1)
+        self.verticalLine = QtWidgets.QFrame(parent=self.groupBox_2)
+        self.verticalLine.setFrameShape(QtWidgets.QFrame.Shape.VLine)
+        self.verticalLine.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.verticalLine.setObjectName("verticalLine")
+        self.gridLayout.addWidget(self.verticalLine, 3, 1, 1, 1)
+        self.verticalSlider = QtWidgets.QSlider(parent=self.groupBox_2)
+        self.verticalSlider.setProperty("value", 30)
+        self.verticalSlider.setOrientation(QtCore.Qt.Orientation.Vertical)
+        self.verticalSlider.setTickPosition(QtWidgets.QSlider.TickPosition.TicksAbove)
+        self.verticalSlider.setObjectName("verticalSlider")
+        self.gridLayout.addWidget(self.verticalSlider, 3, 2, 1, 1)
+        self.dial = QtWidgets.QDial(parent=self.groupBox_2)
+        self.dial.setNotchesVisible(True)
+        self.dial.setObjectName("dial")
+        self.gridLayout.addWidget(self.dial, 3, 3, 1, 1)
+        self.horizontalLayout_2.addLayout(self.gridLayout)
+        spacerItem1 = QtWidgets.QSpacerItem(17, 134, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_2.addItem(spacerItem1)
+        self.verticalLayout_4.addLayout(self.horizontalLayout_2)
+        self.gridLayout_7.addWidget(self.groupBox_2, 0, 0, 1, 1)
+        self.groupBox_3 = QtWidgets.QGroupBox(parent=self.tab_1)
+        self.groupBox_3.setObjectName("groupBox_3")
+        self.verticalLayout_5 = QtWidgets.QVBoxLayout(self.groupBox_3)
+        self.verticalLayout_5.setObjectName("verticalLayout_5")
+        self.gridLayout_5 = QtWidgets.QGridLayout()
+        self.gridLayout_5.setObjectName("gridLayout_5")
+        self.disabledRadioButton = QtWidgets.QRadioButton(parent=self.groupBox_3)
+        self.disabledRadioButton.setEnabled(False)
+        self.disabledRadioButton.setText("RadioButton")
+        self.disabledRadioButton.setObjectName("disabledRadioButton")
+        self.gridLayout_5.addWidget(self.disabledRadioButton, 0, 0, 1, 1)
+        self.disabledCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_3)
+        self.disabledCheckBox.setEnabled(False)
+        self.disabledCheckBox.setText("CheckBox")
+        self.disabledCheckBox.setTristate(True)
+        self.disabledCheckBox.setObjectName("disabledCheckBox")
+        self.gridLayout_5.addWidget(self.disabledCheckBox, 0, 1, 1, 1)
+        self.disabledPushButton = QtWidgets.QPushButton(parent=self.groupBox_3)
+        self.disabledPushButton.setEnabled(False)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.disabledPushButton.sizePolicy().hasHeightForWidth())
+        self.disabledPushButton.setSizePolicy(sizePolicy)
+        self.disabledPushButton.setText("PushButton")
+        self.disabledPushButton.setCheckable(True)
+        self.disabledPushButton.setObjectName("disabledPushButton")
+        self.gridLayout_5.addWidget(self.disabledPushButton, 1, 0, 1, 1)
+        self.disabledToolButton_1 = QtWidgets.QToolButton(parent=self.groupBox_3)
+        self.disabledToolButton_1.setEnabled(False)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.disabledToolButton_1.sizePolicy().hasHeightForWidth())
+        self.disabledToolButton_1.setSizePolicy(sizePolicy)
+        self.disabledToolButton_1.setText("ToolButton 1")
+        self.disabledToolButton_1.setCheckable(True)
+        self.disabledToolButton_1.setPopupMode(QtWidgets.QToolButton.ToolButtonPopupMode.InstantPopup)
+        self.disabledToolButton_1.setObjectName("disabledToolButton_1")
+        self.gridLayout_5.addWidget(self.disabledToolButton_1, 1, 1, 1, 1)
+        self.disabledToolButton_2 = QtWidgets.QToolButton(parent=self.groupBox_3)
+        self.disabledToolButton_2.setEnabled(False)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.disabledToolButton_2.sizePolicy().hasHeightForWidth())
+        self.disabledToolButton_2.setSizePolicy(sizePolicy)
+        self.disabledToolButton_2.setText("ToolButton 2")
+        self.disabledToolButton_2.setPopupMode(QtWidgets.QToolButton.ToolButtonPopupMode.MenuButtonPopup)
+        self.disabledToolButton_2.setObjectName("disabledToolButton_2")
+        self.gridLayout_5.addWidget(self.disabledToolButton_2, 2, 0, 1, 1)
+        self.disabledToolButton_3 = QtWidgets.QToolButton(parent=self.groupBox_3)
+        self.disabledToolButton_3.setEnabled(False)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.disabledToolButton_3.sizePolicy().hasHeightForWidth())
+        self.disabledToolButton_3.setSizePolicy(sizePolicy)
+        self.disabledToolButton_3.setText("ToolButton 3")
+        self.disabledToolButton_3.setPopupMode(QtWidgets.QToolButton.ToolButtonPopupMode.InstantPopup)
+        self.disabledToolButton_3.setObjectName("disabledToolButton_3")
+        self.gridLayout_5.addWidget(self.disabledToolButton_3, 2, 1, 1, 1)
+        self.disabledSpinBox = QtWidgets.QSpinBox(parent=self.groupBox_3)
+        self.disabledSpinBox.setEnabled(False)
+        self.disabledSpinBox.setObjectName("disabledSpinBox")
+        self.gridLayout_5.addWidget(self.disabledSpinBox, 3, 0, 1, 1)
+        self.disabledDoubleSpinBox = QtWidgets.QDoubleSpinBox(parent=self.groupBox_3)
+        self.disabledDoubleSpinBox.setEnabled(False)
+        self.disabledDoubleSpinBox.setObjectName("disabledDoubleSpinBox")
+        self.gridLayout_5.addWidget(self.disabledDoubleSpinBox, 3, 1, 1, 1)
+        self.disabledTimeEdit = QtWidgets.QTimeEdit(parent=self.groupBox_3)
+        self.disabledTimeEdit.setEnabled(False)
+        self.disabledTimeEdit.setObjectName("disabledTimeEdit")
+        self.gridLayout_5.addWidget(self.disabledTimeEdit, 4, 0, 1, 1)
+        self.disabledDateEdit = QtWidgets.QDateEdit(parent=self.groupBox_3)
+        self.disabledDateEdit.setEnabled(False)
+        self.disabledDateEdit.setObjectName("disabledDateEdit")
+        self.gridLayout_5.addWidget(self.disabledDateEdit, 4, 1, 1, 1)
+        self.disabledLcdNumber = QtWidgets.QLCDNumber(parent=self.groupBox_3)
+        self.disabledLcdNumber.setEnabled(False)
+        self.disabledLcdNumber.setDigitCount(10)
+        self.disabledLcdNumber.setProperty("intValue", 1234567890)
+        self.disabledLcdNumber.setObjectName("disabledLcdNumber")
+        self.gridLayout_5.addWidget(self.disabledLcdNumber, 5, 0, 1, 1)
+        self.disabledLabel = QtWidgets.QLabel(parent=self.groupBox_3)
+        self.disabledLabel.setEnabled(False)
+        self.disabledLabel.setText("Label with <a href=\"http://google.com\">link</a>")
+        self.disabledLabel.setObjectName("disabledLabel")
+        self.gridLayout_5.addWidget(self.disabledLabel, 5, 1, 1, 1)
+        self.verticalLayout_5.addLayout(self.gridLayout_5)
+        self.disabledCommandLinkButton = QtWidgets.QCommandLinkButton(parent=self.groupBox_3)
+        self.disabledCommandLinkButton.setEnabled(False)
+        self.disabledCommandLinkButton.setText("CommandLinkButton")
+        self.disabledCommandLinkButton.setObjectName("disabledCommandLinkButton")
+        self.verticalLayout_5.addWidget(self.disabledCommandLinkButton)
+        self.disabledButtonBox = QtWidgets.QDialogButtonBox(parent=self.groupBox_3)
+        self.disabledButtonBox.setEnabled(False)
+        self.disabledButtonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.disabledButtonBox.setObjectName("disabledButtonBox")
+        self.verticalLayout_5.addWidget(self.disabledButtonBox)
+        self.verticalLayout_6 = QtWidgets.QVBoxLayout()
+        self.verticalLayout_6.setObjectName("verticalLayout_6")
+        self.disabledProgressBar = QtWidgets.QProgressBar(parent=self.groupBox_3)
+        self.disabledProgressBar.setEnabled(False)
+        self.disabledProgressBar.setMaximum(20)
+        self.disabledProgressBar.setProperty("value", 10)
+        self.disabledProgressBar.setObjectName("disabledProgressBar")
+        self.verticalLayout_6.addWidget(self.disabledProgressBar)
+        self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
+        self.disabledReadOnlyComboBox = QtWidgets.QComboBox(parent=self.groupBox_3)
+        self.disabledReadOnlyComboBox.setEnabled(False)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.disabledReadOnlyComboBox.sizePolicy().hasHeightForWidth())
+        self.disabledReadOnlyComboBox.setSizePolicy(sizePolicy)
+        self.disabledReadOnlyComboBox.setObjectName("disabledReadOnlyComboBox")
+        self.disabledReadOnlyComboBox.addItem("")
+        self.disabledReadOnlyComboBox.setItemText(0, "1")
+        self.disabledReadOnlyComboBox.addItem("")
+        self.disabledReadOnlyComboBox.setItemText(1, "2")
+        self.disabledReadOnlyComboBox.addItem("")
+        self.disabledReadOnlyComboBox.setItemText(2, "3")
+        self.horizontalLayout_3.addWidget(self.disabledReadOnlyComboBox)
+        self.disabledEditableComboBox = QtWidgets.QComboBox(parent=self.groupBox_3)
+        self.disabledEditableComboBox.setEnabled(False)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.disabledEditableComboBox.sizePolicy().hasHeightForWidth())
+        self.disabledEditableComboBox.setSizePolicy(sizePolicy)
+        self.disabledEditableComboBox.setEditable(True)
+        self.disabledEditableComboBox.setObjectName("disabledEditableComboBox")
+        self.disabledEditableComboBox.addItem("")
+        self.disabledEditableComboBox.setItemText(0, "1")
+        self.disabledEditableComboBox.addItem("")
+        self.disabledEditableComboBox.setItemText(1, "2")
+        self.disabledEditableComboBox.addItem("")
+        self.disabledEditableComboBox.setItemText(2, "3")
+        self.horizontalLayout_3.addWidget(self.disabledEditableComboBox)
+        self.verticalLayout_6.addLayout(self.horizontalLayout_3)
+        self.horizontalLayout_5 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_5.setObjectName("horizontalLayout_5")
+        self.disabledLineEdit = QtWidgets.QLineEdit(parent=self.groupBox_3)
+        self.disabledLineEdit.setEnabled(False)
+        self.disabledLineEdit.setText("Line edit")
+        self.disabledLineEdit.setObjectName("disabledLineEdit")
+        self.horizontalLayout_5.addWidget(self.disabledLineEdit)
+        self.disabledPasswordEdit = QtWidgets.QLineEdit(parent=self.groupBox_3)
+        self.disabledPasswordEdit.setEnabled(False)
+        self.disabledPasswordEdit.setText("Password")
+        self.disabledPasswordEdit.setEchoMode(QtWidgets.QLineEdit.EchoMode.Password)
+        self.disabledPasswordEdit.setObjectName("disabledPasswordEdit")
+        self.horizontalLayout_5.addWidget(self.disabledPasswordEdit)
+        self.verticalLayout_6.addLayout(self.horizontalLayout_5)
+        self.disabledDateTimeEdit = QtWidgets.QDateTimeEdit(parent=self.groupBox_3)
+        self.disabledDateTimeEdit.setEnabled(False)
+        self.disabledDateTimeEdit.setCalendarPopup(True)
+        self.disabledDateTimeEdit.setObjectName("disabledDateTimeEdit")
+        self.verticalLayout_6.addWidget(self.disabledDateTimeEdit)
+        self.verticalLayout_5.addLayout(self.verticalLayout_6)
+        self.horizontalLayout_6 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_6.setObjectName("horizontalLayout_6")
+        spacerItem2 = QtWidgets.QSpacerItem(13, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_6.addItem(spacerItem2)
+        self.gridLayout_6 = QtWidgets.QGridLayout()
+        self.gridLayout_6.setObjectName("gridLayout_6")
+        self.disabledHorizontalScrollBar = QtWidgets.QScrollBar(parent=self.groupBox_3)
+        self.disabledHorizontalScrollBar.setEnabled(False)
+        self.disabledHorizontalScrollBar.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.disabledHorizontalScrollBar.setObjectName("disabledHorizontalScrollBar")
+        self.gridLayout_6.addWidget(self.disabledHorizontalScrollBar, 0, 1, 1, 3)
+        self.disabledVerticalScrollBar = QtWidgets.QScrollBar(parent=self.groupBox_3)
+        self.disabledVerticalScrollBar.setEnabled(False)
+        self.disabledVerticalScrollBar.setOrientation(QtCore.Qt.Orientation.Vertical)
+        self.disabledVerticalScrollBar.setObjectName("disabledVerticalScrollBar")
+        self.gridLayout_6.addWidget(self.disabledVerticalScrollBar, 1, 0, 3, 1)
+        self.horizontalLine_2 = QtWidgets.QFrame(parent=self.groupBox_3)
+        self.horizontalLine_2.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.horizontalLine_2.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.horizontalLine_2.setObjectName("horizontalLine_2")
+        self.gridLayout_6.addWidget(self.horizontalLine_2, 1, 3, 1, 1)
+        self.disabledHorizontalSlider = QtWidgets.QSlider(parent=self.groupBox_3)
+        self.disabledHorizontalSlider.setEnabled(False)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.disabledHorizontalSlider.sizePolicy().hasHeightForWidth())
+        self.disabledHorizontalSlider.setSizePolicy(sizePolicy)
+        self.disabledHorizontalSlider.setProperty("value", 30)
+        self.disabledHorizontalSlider.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.disabledHorizontalSlider.setTickPosition(QtWidgets.QSlider.TickPosition.TicksAbove)
+        self.disabledHorizontalSlider.setObjectName("disabledHorizontalSlider")
+        self.gridLayout_6.addWidget(self.disabledHorizontalSlider, 2, 3, 1, 1)
+        self.verticalLine_2 = QtWidgets.QFrame(parent=self.groupBox_3)
+        self.verticalLine_2.setFrameShape(QtWidgets.QFrame.Shape.VLine)
+        self.verticalLine_2.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.verticalLine_2.setObjectName("verticalLine_2")
+        self.gridLayout_6.addWidget(self.verticalLine_2, 3, 1, 1, 1)
+        self.disabledVerticalSlider = QtWidgets.QSlider(parent=self.groupBox_3)
+        self.disabledVerticalSlider.setEnabled(False)
+        self.disabledVerticalSlider.setProperty("value", 30)
+        self.disabledVerticalSlider.setOrientation(QtCore.Qt.Orientation.Vertical)
+        self.disabledVerticalSlider.setTickPosition(QtWidgets.QSlider.TickPosition.TicksAbove)
+        self.disabledVerticalSlider.setObjectName("disabledVerticalSlider")
+        self.gridLayout_6.addWidget(self.disabledVerticalSlider, 3, 2, 1, 1)
+        self.disabledDial = QtWidgets.QDial(parent=self.groupBox_3)
+        self.disabledDial.setEnabled(False)
+        self.disabledDial.setNotchesVisible(True)
+        self.disabledDial.setObjectName("disabledDial")
+        self.gridLayout_6.addWidget(self.disabledDial, 3, 3, 1, 1)
+        self.horizontalLayout_6.addLayout(self.gridLayout_6)
+        spacerItem3 = QtWidgets.QSpacerItem(13, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_6.addItem(spacerItem3)
+        self.verticalLayout_5.addLayout(self.horizontalLayout_6)
+        self.gridLayout_7.addWidget(self.groupBox_3, 0, 1, 1, 1)
+        spacerItem4 = QtWidgets.QSpacerItem(20, 0, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.gridLayout_7.addItem(spacerItem4, 1, 0, 1, 2)
+        self.tabWidget.addTab(self.tab_1, "Tab 1")
+        self.tab_2 = QtWidgets.QWidget()
+        self.tab_2.setObjectName("tab_2")
+        self.gridLayout_2 = QtWidgets.QGridLayout(self.tab_2)
+        self.gridLayout_2.setObjectName("gridLayout_2")
+        self.listWidget = QtWidgets.QListWidget(parent=self.tab_2)
+        self.listWidget.setAlternatingRowColors(True)
+        self.listWidget.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.ExtendedSelection)
+        self.listWidget.setObjectName("listWidget")
+        item = QtWidgets.QListWidgetItem()
+        item.setText("I1")
+        icon = QtGui.QIcon()
+        icon.addPixmap(QtGui.QPixmap(":/images/battery.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
+        item.setIcon(icon)
+        self.listWidget.addItem(item)
+        item = QtWidgets.QListWidgetItem()
+        item.setText("I2")
+        icon1 = QtGui.QIcon()
+        icon1.addPixmap(QtGui.QPixmap(":/images/image-sunset.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
+        item.setIcon(icon1)
+        self.listWidget.addItem(item)
+        item = QtWidgets.QListWidgetItem()
+        item.setText("I3")
+        icon2 = QtGui.QIcon()
+        icon2.addPixmap(QtGui.QPixmap(":/images/user.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
+        item.setIcon(icon2)
+        self.listWidget.addItem(item)
+        item = QtWidgets.QListWidgetItem()
+        item.setText("I4")
+        self.listWidget.addItem(item)
+        item = QtWidgets.QListWidgetItem()
+        item.setText("I5")
+        self.listWidget.addItem(item)
+        item = QtWidgets.QListWidgetItem()
+        item.setText("I6")
+        self.listWidget.addItem(item)
+        item = QtWidgets.QListWidgetItem()
+        item.setText("I7")
+        self.listWidget.addItem(item)
+        item = QtWidgets.QListWidgetItem()
+        item.setText("I8")
+        self.listWidget.addItem(item)
+        item = QtWidgets.QListWidgetItem()
+        item.setText("I9")
+        self.listWidget.addItem(item)
+        item = QtWidgets.QListWidgetItem()
+        item.setText("I10")
+        self.listWidget.addItem(item)
+        item = QtWidgets.QListWidgetItem()
+        item.setText("I11")
+        self.listWidget.addItem(item)
+        item = QtWidgets.QListWidgetItem()
+        item.setText("I12")
+        self.listWidget.addItem(item)
+        item = QtWidgets.QListWidgetItem()
+        item.setText("I14")
+        self.listWidget.addItem(item)
+        item = QtWidgets.QListWidgetItem()
+        item.setText("I15")
+        self.listWidget.addItem(item)
+        item = QtWidgets.QListWidgetItem()
+        item.setText("I16")
+        self.listWidget.addItem(item)
+        item = QtWidgets.QListWidgetItem()
+        item.setText("I17")
+        self.listWidget.addItem(item)
+        item = QtWidgets.QListWidgetItem()
+        item.setText("I18")
+        self.listWidget.addItem(item)
+        item = QtWidgets.QListWidgetItem()
+        item.setText("I19")
+        self.listWidget.addItem(item)
+        item = QtWidgets.QListWidgetItem()
+        item.setText("I20")
+        self.listWidget.addItem(item)
+        self.gridLayout_2.addWidget(self.listWidget, 0, 0, 1, 1)
+        self.iconsListWidget = QtWidgets.QListWidget(parent=self.tab_2)
+        self.iconsListWidget.setAlternatingRowColors(True)
+        self.iconsListWidget.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.ExtendedSelection)
+        self.iconsListWidget.setViewMode(QtWidgets.QListView.ViewMode.IconMode)
+        self.iconsListWidget.setObjectName("iconsListWidget")
+        self.gridLayout_2.addWidget(self.iconsListWidget, 0, 1, 1, 1)
+        self.table = QtWidgets.QTableWidget(parent=self.tab_2)
+        self.table.setAlternatingRowColors(True)
+        self.table.setObjectName("table")
+        self.table.setColumnCount(2)
+        self.table.setRowCount(3)
+        item = QtWidgets.QTableWidgetItem()
+        item.setText("R1")
+        self.table.setVerticalHeaderItem(0, item)
+        item = QtWidgets.QTableWidgetItem()
+        item.setText("R2")
+        self.table.setVerticalHeaderItem(1, item)
+        item = QtWidgets.QTableWidgetItem()
+        item.setText("R3")
+        self.table.setVerticalHeaderItem(2, item)
+        item = QtWidgets.QTableWidgetItem()
+        item.setText("C1")
+        self.table.setHorizontalHeaderItem(0, item)
+        item = QtWidgets.QTableWidgetItem()
+        item.setText("C2")
+        self.table.setHorizontalHeaderItem(1, item)
+        item = QtWidgets.QTableWidgetItem()
+        item.setText("1,1")
+        self.table.setItem(0, 0, item)
+        item = QtWidgets.QTableWidgetItem()
+        item.setText("1,2")
+        self.table.setItem(0, 1, item)
+        item = QtWidgets.QTableWidgetItem()
+        item.setText("2,1")
+        self.table.setItem(1, 0, item)
+        item = QtWidgets.QTableWidgetItem()
+        item.setText("2,2")
+        self.table.setItem(1, 1, item)
+        item = QtWidgets.QTableWidgetItem()
+        item.setText("3,1")
+        item.setFlags(QtCore.Qt.ItemFlag.ItemIsSelectable|QtCore.Qt.ItemFlag.ItemIsDragEnabled|QtCore.Qt.ItemFlag.ItemIsUserCheckable)
+        self.table.setItem(2, 0, item)
+        item = QtWidgets.QTableWidgetItem()
+        item.setText("2,3")
+        item.setFlags(QtCore.Qt.ItemFlag.ItemIsSelectable|QtCore.Qt.ItemFlag.ItemIsDragEnabled|QtCore.Qt.ItemFlag.ItemIsUserCheckable)
+        self.table.setItem(2, 1, item)
+        self.table.horizontalHeader().setSortIndicatorShown(True)
+        self.table.verticalHeader().setSortIndicatorShown(True)
+        self.gridLayout_2.addWidget(self.table, 1, 0, 1, 1)
+        self.tree = QtWidgets.QTreeWidget(parent=self.tab_2)
+        self.tree.setAlternatingRowColors(True)
+        self.tree.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.ExtendedSelection)
+        self.tree.setAllColumnsShowFocus(True)
+        self.tree.setObjectName("tree")
+        self.tree.headerItem().setText(0, "C1")
+        self.tree.headerItem().setText(1, "C2")
+        item_0 = QtWidgets.QTreeWidgetItem(self.tree)
+        self.tree.topLevelItem(0).setText(0, "R1")
+        item_1 = QtWidgets.QTreeWidgetItem(item_0)
+        self.tree.topLevelItem(0).child(0).setText(0, "C1")
+        item_1.setCheckState(0, QtCore.Qt.CheckState.Checked)
+        self.tree.topLevelItem(0).child(0).setText(1, "X1")
+        item_1.setCheckState(1, QtCore.Qt.CheckState.Checked)
+        item_1 = QtWidgets.QTreeWidgetItem(item_0)
+        self.tree.topLevelItem(0).child(1).setText(0, "C2")
+        item_1.setCheckState(0, QtCore.Qt.CheckState.PartiallyChecked)
+        self.tree.topLevelItem(0).child(1).setText(1, "X2")
+        item_1.setCheckState(1, QtCore.Qt.CheckState.PartiallyChecked)
+        item_1 = QtWidgets.QTreeWidgetItem(item_0)
+        self.tree.topLevelItem(0).child(2).setText(0, "C3")
+        item_1.setCheckState(0, QtCore.Qt.CheckState.Unchecked)
+        self.tree.topLevelItem(0).child(2).setText(1, "X3")
+        item_1.setCheckState(1, QtCore.Qt.CheckState.Unchecked)
+        item_1 = QtWidgets.QTreeWidgetItem(item_0)
+        item_1.setFlags(QtCore.Qt.ItemFlag.ItemIsSelectable|QtCore.Qt.ItemFlag.ItemIsDragEnabled|QtCore.Qt.ItemFlag.ItemIsUserCheckable)
+        item_0 = QtWidgets.QTreeWidgetItem(self.tree)
+        self.tree.topLevelItem(1).setText(0, "R2")
+        item_0.setFlags(QtCore.Qt.ItemFlag.ItemIsSelectable|QtCore.Qt.ItemFlag.ItemIsDragEnabled|QtCore.Qt.ItemFlag.ItemIsUserCheckable)
+        self.tree.header().setSortIndicatorShown(True)
+        self.gridLayout_2.addWidget(self.tree, 1, 1, 1, 1)
+        self.tabWidget.addTab(self.tab_2, "Tab 2")
+        self.tab_3 = QtWidgets.QWidget()
+        self.tab_3.setObjectName("tab_3")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.tab_3)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.splitter_2 = QtWidgets.QSplitter(parent=self.tab_3)
+        self.splitter_2.setOrientation(QtCore.Qt.Orientation.Vertical)
+        self.splitter_2.setObjectName("splitter_2")
+        self.splitter = QtWidgets.QSplitter(parent=self.splitter_2)
+        self.splitter.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.splitter.setObjectName("splitter")
+        self.textBrowser = QtWidgets.QTextBrowser(parent=self.splitter)
+        self.textBrowser.setUndoRedoEnabled(True)
+        self.textBrowser.setHtml("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><meta charset=\"utf-8\" /><style type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"hr { height: 1px; border-width: 0; }\n"
+"li.unchecked::marker { content: \"\\2610\"; }\n"
+"li.checked::marker { content: \"\\2612\"; }\n"
+"</style></head><body style=\" font-family:\'Noto Sans\'; font-size:10pt; font-weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-family:\'MS Shell Dlg 2\';\">Text </span><span style=\" font-family:\'MS Shell Dlg 2\'; font-weight:600;\">browser</span><span style=\" font-family:\'MS Shell Dlg 2\';\"> </span><span style=\" font-family:\'MS Shell Dlg 2\'; font-style:italic;\">with</span><span style=\" font-family:\'MS Shell Dlg 2\';\"> </span><span style=\" font-family:\'MS Shell Dlg 2\'; text-decoration: underline;\">some</span><span style=\" font-family:\'MS Shell Dlg 2\';\"> </span><span style=\" font-family:\'MS Shell Dlg 2\'; font-weight:600; font-style:italic;\">text </span><span style=\" font-family:\'MS Shell Dlg 2\';\">and </span><a href=\"http://google.com\"><span style=\" font-family:\'MS Shell Dlg 2\'; text-decoration: underline; color:#0000ff;\">links</span></a></p></body></html>")
+        self.textBrowser.setOpenLinks(False)
+        self.textBrowser.setObjectName("textBrowser")
+        self.textEdit = QtWidgets.QTextEdit(parent=self.splitter)
+        self.textEdit.setHtml("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><meta charset=\"utf-8\" /><style type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"hr { height: 1px; border-width: 0; }\n"
+"li.unchecked::marker { content: \"\\2610\"; }\n"
+"li.checked::marker { content: \"\\2612\"; }\n"
+"</style></head><body style=\" font-family:\'Noto Sans\'; font-size:10pt; font-weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-family:\'MS Shell Dlg 2\';\">Text edit</span></p></body></html>")
+        self.textEdit.setObjectName("textEdit")
+        self.calendarWidget = QtWidgets.QCalendarWidget(parent=self.splitter)
+        self.calendarWidget.setObjectName("calendarWidget")
+        self.groupBox = QtWidgets.QGroupBox(parent=self.splitter_2)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(1)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.groupBox.sizePolicy().hasHeightForWidth())
+        self.groupBox.setSizePolicy(sizePolicy)
+        self.groupBox.setTitle("GroupBox")
+        self.groupBox.setObjectName("groupBox")
+        self.gridLayout_3 = QtWidgets.QGridLayout(self.groupBox)
+        self.gridLayout_3.setObjectName("gridLayout_3")
+        self.scrollArea_2 = QtWidgets.QScrollArea(parent=self.groupBox)
+        self.scrollArea_2.setWidgetResizable(True)
+        self.scrollArea_2.setObjectName("scrollArea_2")
+        self.scrollAreaWidgetContents_2 = QtWidgets.QWidget()
+        self.scrollAreaWidgetContents_2.setGeometry(QtCore.QRect(0, 0, 500, 529))
+        self.scrollAreaWidgetContents_2.setObjectName("scrollAreaWidgetContents_2")
+        self.gridLayout_9 = QtWidgets.QGridLayout(self.scrollAreaWidgetContents_2)
+        self.gridLayout_9.setObjectName("gridLayout_9")
+        self.frame = QtWidgets.QFrame(parent=self.scrollAreaWidgetContents_2)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(1)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.frame.sizePolicy().hasHeightForWidth())
+        self.frame.setSizePolicy(sizePolicy)
+        self.frame.setFrameShape(QtWidgets.QFrame.Shape.StyledPanel)
+        self.frame.setFrameShadow(QtWidgets.QFrame.Shadow.Raised)
+        self.frame.setObjectName("frame")
+        self.gridLayout_10 = QtWidgets.QGridLayout(self.frame)
+        self.gridLayout_10.setObjectName("gridLayout_10")
+        self.label_2 = QtWidgets.QLabel(parent=self.frame)
+        self.label_2.setText("Frame")
+        self.label_2.setObjectName("label_2")
+        self.gridLayout_10.addWidget(self.label_2, 0, 0, 1, 1)
+        spacerItem5 = QtWidgets.QSpacerItem(20, 46, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.gridLayout_10.addItem(spacerItem5, 1, 0, 1, 1)
+        self.gridLayout_9.addWidget(self.frame, 0, 1, 1, 1)
+        self.toolBox = QtWidgets.QToolBox(parent=self.scrollAreaWidgetContents_2)
+        self.toolBox.setObjectName("toolBox")
+        self.page = QtWidgets.QWidget()
+        self.page.setGeometry(QtCore.QRect(0, 0, 68, 447))
+        self.page.setObjectName("page")
+        self.toolBox.addItem(self.page, "Toolbox1")
+        self.page_2 = QtWidgets.QWidget()
+        self.page_2.setGeometry(QtCore.QRect(0, 0, 100, 30))
+        self.page_2.setObjectName("page_2")
+        self.toolBox.addItem(self.page_2, "Toolbox2")
+        self.gridLayout_9.addWidget(self.toolBox, 0, 0, 2, 1)
+        self.dockWidget = QtWidgets.QDockWidget(parent=self.scrollAreaWidgetContents_2)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(1)
+        sizePolicy.setVerticalStretch(1)
+        sizePolicy.setHeightForWidth(self.dockWidget.sizePolicy().hasHeightForWidth())
+        self.dockWidget.setSizePolicy(sizePolicy)
+        self.dockWidget.setWindowTitle("Dock widget")
+        self.dockWidget.setObjectName("dockWidget")
+        self.dockWidgetContents_3 = QtWidgets.QWidget()
+        self.dockWidgetContents_3.setObjectName("dockWidgetContents_3")
+        self.dockWidget.setWidget(self.dockWidgetContents_3)
+        self.gridLayout_9.addWidget(self.dockWidget, 0, 2, 1, 1)
+        self.mdiArea = QtWidgets.QMdiArea(parent=self.scrollAreaWidgetContents_2)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(2)
+        sizePolicy.setHeightForWidth(self.mdiArea.sizePolicy().hasHeightForWidth())
+        self.mdiArea.setSizePolicy(sizePolicy)
+        self.mdiArea.setObjectName("mdiArea")
+        self.gridLayout_9.addWidget(self.mdiArea, 1, 1, 1, 2)
+        self.scrollArea_2.setWidget(self.scrollAreaWidgetContents_2)
+        self.gridLayout_3.addWidget(self.scrollArea_2, 0, 0, 1, 1)
+        self.verticalLayout.addWidget(self.splitter_2)
+        self.tabWidget.addTab(self.tab_3, "Tab 3")
+        self.verticalLayout_2.addWidget(self.tabWidget)
+        self.scrollArea.setWidget(self.scrollAreaWidgetContents)
+        self.verticalLayout_7.addWidget(self.scrollArea)
+
+        self.retranslateUi(PreviewerQSS)
+        self.tabWidget.setCurrentIndex(0)
+        self.toolBox.setCurrentIndex(0)
+        self.radioButton.clicked['bool'].connect(self.disabledRadioButton.setChecked) # type: ignore
+        self.pushButton.toggled['bool'].connect(self.disabledPushButton.setChecked) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(PreviewerQSS)
+        PreviewerQSS.setTabOrder(self.styleIconsPathPicker, self.scrollArea)
+        PreviewerQSS.setTabOrder(self.scrollArea, self.tabWidget)
+        PreviewerQSS.setTabOrder(self.tabWidget, self.groupBox_2)
+        PreviewerQSS.setTabOrder(self.groupBox_2, self.radioButton)
+        PreviewerQSS.setTabOrder(self.radioButton, self.checkBox)
+        PreviewerQSS.setTabOrder(self.checkBox, self.pushButton)
+        PreviewerQSS.setTabOrder(self.pushButton, self.toolButton_1)
+        PreviewerQSS.setTabOrder(self.toolButton_1, self.spinBox)
+        PreviewerQSS.setTabOrder(self.spinBox, self.doubleSpinBox)
+        PreviewerQSS.setTabOrder(self.doubleSpinBox, self.timeEdit)
+        PreviewerQSS.setTabOrder(self.timeEdit, self.dateEdit)
+        PreviewerQSS.setTabOrder(self.dateEdit, self.commandLinkButton)
+        PreviewerQSS.setTabOrder(self.commandLinkButton, self.readOnlyComboBox)
+        PreviewerQSS.setTabOrder(self.readOnlyComboBox, self.editableComboBox)
+        PreviewerQSS.setTabOrder(self.editableComboBox, self.lineEdit)
+        PreviewerQSS.setTabOrder(self.lineEdit, self.passwordEdit)
+        PreviewerQSS.setTabOrder(self.passwordEdit, self.dateTimeEdit)
+        PreviewerQSS.setTabOrder(self.dateTimeEdit, self.horizontalSlider)
+        PreviewerQSS.setTabOrder(self.horizontalSlider, self.verticalSlider)
+        PreviewerQSS.setTabOrder(self.verticalSlider, self.dial)
+        PreviewerQSS.setTabOrder(self.dial, self.disabledRadioButton)
+        PreviewerQSS.setTabOrder(self.disabledRadioButton, self.disabledCheckBox)
+        PreviewerQSS.setTabOrder(self.disabledCheckBox, self.disabledPushButton)
+        PreviewerQSS.setTabOrder(self.disabledPushButton, self.disabledToolButton_1)
+        PreviewerQSS.setTabOrder(self.disabledToolButton_1, self.disabledSpinBox)
+        PreviewerQSS.setTabOrder(self.disabledSpinBox, self.disabledDoubleSpinBox)
+        PreviewerQSS.setTabOrder(self.disabledDoubleSpinBox, self.disabledTimeEdit)
+        PreviewerQSS.setTabOrder(self.disabledTimeEdit, self.disabledDateEdit)
+        PreviewerQSS.setTabOrder(self.disabledDateEdit, self.disabledCommandLinkButton)
+        PreviewerQSS.setTabOrder(self.disabledCommandLinkButton, self.disabledReadOnlyComboBox)
+        PreviewerQSS.setTabOrder(self.disabledReadOnlyComboBox, self.disabledEditableComboBox)
+        PreviewerQSS.setTabOrder(self.disabledEditableComboBox, self.disabledLineEdit)
+        PreviewerQSS.setTabOrder(self.disabledLineEdit, self.disabledPasswordEdit)
+        PreviewerQSS.setTabOrder(self.disabledPasswordEdit, self.disabledDateTimeEdit)
+        PreviewerQSS.setTabOrder(self.disabledDateTimeEdit, self.disabledHorizontalSlider)
+        PreviewerQSS.setTabOrder(self.disabledHorizontalSlider, self.disabledVerticalSlider)
+        PreviewerQSS.setTabOrder(self.disabledVerticalSlider, self.disabledDial)
+        PreviewerQSS.setTabOrder(self.disabledDial, self.listWidget)
+        PreviewerQSS.setTabOrder(self.listWidget, self.iconsListWidget)
+        PreviewerQSS.setTabOrder(self.iconsListWidget, self.table)
+        PreviewerQSS.setTabOrder(self.table, self.tree)
+        PreviewerQSS.setTabOrder(self.tree, self.textBrowser)
+        PreviewerQSS.setTabOrder(self.textBrowser, self.textEdit)
+        PreviewerQSS.setTabOrder(self.textEdit, self.calendarWidget)
+        PreviewerQSS.setTabOrder(self.calendarWidget, self.scrollArea_2)
+
+    def retranslateUi(self, PreviewerQSS):
+        _translate = QtCore.QCoreApplication.translate
+        self.previewLabel.setText(_translate("PreviewerQSS", "Preview Style"))
+        self.label_3.setText(_translate("PreviewerQSS", "Style Icons Path:"))
+        self.styleIconsPathPicker.setToolTip(_translate("PreviewerQSS", "Enter the path to the icons used within the style sheet"))
+        self.groupBox_2.setTitle(_translate("PreviewerQSS", "Enabled"))
+        self.editableComboBox.setPlaceholderText(_translate("PreviewerQSS", "Enter text"))
+        self.lineEdit.setPlaceholderText(_translate("PreviewerQSS", "Enter text"))
+        self.groupBox_3.setTitle(_translate("PreviewerQSS", "Disabled"))
+        __sortingEnabled = self.listWidget.isSortingEnabled()
+        self.listWidget.setSortingEnabled(False)
+        self.listWidget.setSortingEnabled(__sortingEnabled)
+        self.iconsListWidget.setSortingEnabled(True)
+        self.table.setSortingEnabled(True)
+        __sortingEnabled = self.table.isSortingEnabled()
+        self.table.setSortingEnabled(False)
+        self.table.setSortingEnabled(__sortingEnabled)
+        __sortingEnabled = self.tree.isSortingEnabled()
+        self.tree.setSortingEnabled(False)
+        self.tree.topLevelItem(0).child(3).setText(0, _translate("PreviewerQSS", "C4"))
+        self.tree.topLevelItem(0).child(3).setText(1, _translate("PreviewerQSS", "X4"))
+        self.tree.setSortingEnabled(__sortingEnabled)
+from eric7.EricWidgets.EricPathPicker import EricPathPicker
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/UI/Ui_AuthenticationDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,79 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/UI/AuthenticationDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_AuthenticationDialog(object):
+    def setupUi(self, AuthenticationDialog):
+        AuthenticationDialog.setObjectName("AuthenticationDialog")
+        AuthenticationDialog.resize(400, 154)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Minimum)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(AuthenticationDialog.sizePolicy().hasHeightForWidth())
+        AuthenticationDialog.setSizePolicy(sizePolicy)
+        AuthenticationDialog.setSizeGripEnabled(True)
+        self.gridLayout = QtWidgets.QGridLayout(AuthenticationDialog)
+        self.gridLayout.setObjectName("gridLayout")
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.iconLabel = QtWidgets.QLabel(parent=AuthenticationDialog)
+        self.iconLabel.setObjectName("iconLabel")
+        self.horizontalLayout.addWidget(self.iconLabel)
+        self.infoLabel = QtWidgets.QLabel(parent=AuthenticationDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.MinimumExpanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.infoLabel.sizePolicy().hasHeightForWidth())
+        self.infoLabel.setSizePolicy(sizePolicy)
+        self.infoLabel.setWordWrap(True)
+        self.infoLabel.setObjectName("infoLabel")
+        self.horizontalLayout.addWidget(self.infoLabel)
+        self.gridLayout.addLayout(self.horizontalLayout, 0, 0, 1, 2)
+        self.label = QtWidgets.QLabel(parent=AuthenticationDialog)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 1, 0, 1, 1)
+        self.usernameEdit = QtWidgets.QLineEdit(parent=AuthenticationDialog)
+        self.usernameEdit.setObjectName("usernameEdit")
+        self.gridLayout.addWidget(self.usernameEdit, 1, 1, 1, 1)
+        self.label_2 = QtWidgets.QLabel(parent=AuthenticationDialog)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 2, 0, 1, 1)
+        self.passwordEdit = QtWidgets.QLineEdit(parent=AuthenticationDialog)
+        self.passwordEdit.setEchoMode(QtWidgets.QLineEdit.EchoMode.Password)
+        self.passwordEdit.setObjectName("passwordEdit")
+        self.gridLayout.addWidget(self.passwordEdit, 2, 1, 1, 1)
+        self.saveCheckBox = QtWidgets.QCheckBox(parent=AuthenticationDialog)
+        self.saveCheckBox.setObjectName("saveCheckBox")
+        self.gridLayout.addWidget(self.saveCheckBox, 3, 0, 1, 2)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=AuthenticationDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout.addWidget(self.buttonBox, 4, 0, 1, 2)
+
+        self.retranslateUi(AuthenticationDialog)
+        self.buttonBox.accepted.connect(AuthenticationDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(AuthenticationDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(AuthenticationDialog)
+        AuthenticationDialog.setTabOrder(self.usernameEdit, self.passwordEdit)
+        AuthenticationDialog.setTabOrder(self.passwordEdit, self.saveCheckBox)
+        AuthenticationDialog.setTabOrder(self.saveCheckBox, self.buttonBox)
+
+    def retranslateUi(self, AuthenticationDialog):
+        _translate = QtCore.QCoreApplication.translate
+        AuthenticationDialog.setWindowTitle(_translate("AuthenticationDialog", "Authentication Required"))
+        self.iconLabel.setText(_translate("AuthenticationDialog", "Icon"))
+        self.infoLabel.setText(_translate("AuthenticationDialog", "Info"))
+        self.label.setText(_translate("AuthenticationDialog", "Username:"))
+        self.usernameEdit.setToolTip(_translate("AuthenticationDialog", "Enter username"))
+        self.label_2.setText(_translate("AuthenticationDialog", "Password:"))
+        self.passwordEdit.setToolTip(_translate("AuthenticationDialog", "Enter password"))
+        self.saveCheckBox.setToolTip(_translate("AuthenticationDialog", "Select to save the login data"))
+        self.saveCheckBox.setText(_translate("AuthenticationDialog", "Save login data"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/UI/Ui_ClearPrivateDataDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,92 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/UI/ClearPrivateDataDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_ClearPrivateDataDialog(object):
+    def setupUi(self, ClearPrivateDataDialog):
+        ClearPrivateDataDialog.setObjectName("ClearPrivateDataDialog")
+        ClearPrivateDataDialog.resize(400, 293)
+        ClearPrivateDataDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(ClearPrivateDataDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.filesCheckBox = QtWidgets.QCheckBox(parent=ClearPrivateDataDialog)
+        self.filesCheckBox.setChecked(True)
+        self.filesCheckBox.setObjectName("filesCheckBox")
+        self.verticalLayout.addWidget(self.filesCheckBox)
+        self.projectsCheckBox = QtWidgets.QCheckBox(parent=ClearPrivateDataDialog)
+        self.projectsCheckBox.setChecked(True)
+        self.projectsCheckBox.setObjectName("projectsCheckBox")
+        self.verticalLayout.addWidget(self.projectsCheckBox)
+        self.multiProjectsCheckBox = QtWidgets.QCheckBox(parent=ClearPrivateDataDialog)
+        self.multiProjectsCheckBox.setChecked(True)
+        self.multiProjectsCheckBox.setObjectName("multiProjectsCheckBox")
+        self.verticalLayout.addWidget(self.multiProjectsCheckBox)
+        self.debugCheckBox = QtWidgets.QCheckBox(parent=ClearPrivateDataDialog)
+        self.debugCheckBox.setChecked(True)
+        self.debugCheckBox.setObjectName("debugCheckBox")
+        self.verticalLayout.addWidget(self.debugCheckBox)
+        self.shellCheckBox = QtWidgets.QCheckBox(parent=ClearPrivateDataDialog)
+        self.shellCheckBox.setChecked(True)
+        self.shellCheckBox.setObjectName("shellCheckBox")
+        self.verticalLayout.addWidget(self.shellCheckBox)
+        self.testCheckBox = QtWidgets.QCheckBox(parent=ClearPrivateDataDialog)
+        self.testCheckBox.setChecked(True)
+        self.testCheckBox.setObjectName("testCheckBox")
+        self.verticalLayout.addWidget(self.testCheckBox)
+        self.vcsCheckBox = QtWidgets.QCheckBox(parent=ClearPrivateDataDialog)
+        self.vcsCheckBox.setChecked(True)
+        self.vcsCheckBox.setObjectName("vcsCheckBox")
+        self.verticalLayout.addWidget(self.vcsCheckBox)
+        self.line = QtWidgets.QFrame(parent=ClearPrivateDataDialog)
+        self.line.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line.setObjectName("line")
+        self.verticalLayout.addWidget(self.line)
+        self.pluginsCheckBox = QtWidgets.QCheckBox(parent=ClearPrivateDataDialog)
+        self.pluginsCheckBox.setChecked(True)
+        self.pluginsCheckBox.setObjectName("pluginsCheckBox")
+        self.verticalLayout.addWidget(self.pluginsCheckBox)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=ClearPrivateDataDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(ClearPrivateDataDialog)
+        self.buttonBox.accepted.connect(ClearPrivateDataDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(ClearPrivateDataDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(ClearPrivateDataDialog)
+        ClearPrivateDataDialog.setTabOrder(self.filesCheckBox, self.projectsCheckBox)
+        ClearPrivateDataDialog.setTabOrder(self.projectsCheckBox, self.multiProjectsCheckBox)
+        ClearPrivateDataDialog.setTabOrder(self.multiProjectsCheckBox, self.debugCheckBox)
+        ClearPrivateDataDialog.setTabOrder(self.debugCheckBox, self.shellCheckBox)
+        ClearPrivateDataDialog.setTabOrder(self.shellCheckBox, self.testCheckBox)
+        ClearPrivateDataDialog.setTabOrder(self.testCheckBox, self.vcsCheckBox)
+        ClearPrivateDataDialog.setTabOrder(self.vcsCheckBox, self.pluginsCheckBox)
+
+    def retranslateUi(self, ClearPrivateDataDialog):
+        _translate = QtCore.QCoreApplication.translate
+        ClearPrivateDataDialog.setWindowTitle(_translate("ClearPrivateDataDialog", "Clear Private Data"))
+        self.filesCheckBox.setToolTip(_translate("ClearPrivateDataDialog", "Select to clear the list of recently opened files"))
+        self.filesCheckBox.setText(_translate("ClearPrivateDataDialog", "Recently opened files"))
+        self.projectsCheckBox.setToolTip(_translate("ClearPrivateDataDialog", "Select to clear the list of recently opened projects and project related histories"))
+        self.projectsCheckBox.setText(_translate("ClearPrivateDataDialog", "Recently opened projects and project histories"))
+        self.multiProjectsCheckBox.setToolTip(_translate("ClearPrivateDataDialog", "Select to clear the list of recently opened multi projects"))
+        self.multiProjectsCheckBox.setText(_translate("ClearPrivateDataDialog", "Recently opened multi projects"))
+        self.debugCheckBox.setToolTip(_translate("ClearPrivateDataDialog", "Select to clear the debug histories"))
+        self.debugCheckBox.setText(_translate("ClearPrivateDataDialog", "Debug histories"))
+        self.shellCheckBox.setToolTip(_translate("ClearPrivateDataDialog", "Select to clear the shell histories"))
+        self.shellCheckBox.setText(_translate("ClearPrivateDataDialog", "Shell histories"))
+        self.testCheckBox.setToolTip(_translate("ClearPrivateDataDialog", "Select to clear the test histories"))
+        self.testCheckBox.setText(_translate("ClearPrivateDataDialog", "Test histories"))
+        self.vcsCheckBox.setToolTip(_translate("ClearPrivateDataDialog", "Select to clear the VCS related histories"))
+        self.vcsCheckBox.setText(_translate("ClearPrivateDataDialog", "Version Control System histories"))
+        self.pluginsCheckBox.setToolTip(_translate("ClearPrivateDataDialog", "Select to clear the private data of plug-ins not covered above"))
+        self.pluginsCheckBox.setText(_translate("ClearPrivateDataDialog", "Plug-in private data"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/UI/Ui_CompareDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,161 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/UI/CompareDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_CompareDialog(object):
+    def setupUi(self, CompareDialog):
+        CompareDialog.setObjectName("CompareDialog")
+        CompareDialog.resize(950, 600)
+        self.verticalLayout = QtWidgets.QVBoxLayout(CompareDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.filesGroup = QtWidgets.QGroupBox(parent=CompareDialog)
+        self.filesGroup.setFlat(True)
+        self.filesGroup.setObjectName("filesGroup")
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.filesGroup)
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.textLabel1 = QtWidgets.QLabel(parent=self.filesGroup)
+        self.textLabel1.setObjectName("textLabel1")
+        self.horizontalLayout_2.addWidget(self.textLabel1)
+        self.file1Picker = EricPathPicker(parent=self.filesGroup)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.file1Picker.sizePolicy().hasHeightForWidth())
+        self.file1Picker.setSizePolicy(sizePolicy)
+        self.file1Picker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.file1Picker.setObjectName("file1Picker")
+        self.horizontalLayout_2.addWidget(self.file1Picker)
+        self.textLabel2 = QtWidgets.QLabel(parent=self.filesGroup)
+        self.textLabel2.setObjectName("textLabel2")
+        self.horizontalLayout_2.addWidget(self.textLabel2)
+        self.file2Picker = EricPathPicker(parent=self.filesGroup)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.file2Picker.sizePolicy().hasHeightForWidth())
+        self.file2Picker.setSizePolicy(sizePolicy)
+        self.file2Picker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.file2Picker.setObjectName("file2Picker")
+        self.horizontalLayout_2.addWidget(self.file2Picker)
+        self.verticalLayout.addWidget(self.filesGroup)
+        self.gridLayout = QtWidgets.QGridLayout()
+        self.gridLayout.setObjectName("gridLayout")
+        self.file1Label = QtWidgets.QLabel(parent=CompareDialog)
+        self.file1Label.setText("")
+        self.file1Label.setWordWrap(True)
+        self.file1Label.setObjectName("file1Label")
+        self.gridLayout.addWidget(self.file1Label, 0, 0, 1, 1)
+        self.file2Label = QtWidgets.QLabel(parent=CompareDialog)
+        self.file2Label.setText("")
+        self.file2Label.setWordWrap(True)
+        self.file2Label.setObjectName("file2Label")
+        self.gridLayout.addWidget(self.file2Label, 0, 2, 1, 1)
+        self.contents_1 = QtWidgets.QTextEdit(parent=CompareDialog)
+        self.contents_1.setFocusPolicy(QtCore.Qt.FocusPolicy.NoFocus)
+        self.contents_1.setLineWrapMode(QtWidgets.QTextEdit.LineWrapMode.NoWrap)
+        self.contents_1.setReadOnly(True)
+        self.contents_1.setTabStopDistance(8.0)
+        self.contents_1.setAcceptRichText(False)
+        self.contents_1.setObjectName("contents_1")
+        self.gridLayout.addWidget(self.contents_1, 1, 0, 1, 1)
+        self.vboxlayout = QtWidgets.QVBoxLayout()
+        self.vboxlayout.setSpacing(0)
+        self.vboxlayout.setObjectName("vboxlayout")
+        spacerItem = QtWidgets.QSpacerItem(20, 101, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.vboxlayout.addItem(spacerItem)
+        self.firstButton = QtWidgets.QToolButton(parent=CompareDialog)
+        self.firstButton.setEnabled(False)
+        self.firstButton.setObjectName("firstButton")
+        self.vboxlayout.addWidget(self.firstButton)
+        self.upButton = QtWidgets.QToolButton(parent=CompareDialog)
+        self.upButton.setEnabled(False)
+        self.upButton.setObjectName("upButton")
+        self.vboxlayout.addWidget(self.upButton)
+        self.downButton = QtWidgets.QToolButton(parent=CompareDialog)
+        self.downButton.setEnabled(False)
+        self.downButton.setObjectName("downButton")
+        self.vboxlayout.addWidget(self.downButton)
+        self.lastButton = QtWidgets.QToolButton(parent=CompareDialog)
+        self.lastButton.setEnabled(False)
+        self.lastButton.setObjectName("lastButton")
+        self.vboxlayout.addWidget(self.lastButton)
+        spacerItem1 = QtWidgets.QSpacerItem(20, 101, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.vboxlayout.addItem(spacerItem1)
+        self.gridLayout.addLayout(self.vboxlayout, 1, 1, 1, 1)
+        self.contents_2 = QtWidgets.QTextEdit(parent=CompareDialog)
+        self.contents_2.setFocusPolicy(QtCore.Qt.FocusPolicy.NoFocus)
+        self.contents_2.setLineWrapMode(QtWidgets.QTextEdit.LineWrapMode.NoWrap)
+        self.contents_2.setReadOnly(True)
+        self.contents_2.setTabStopDistance(8.0)
+        self.contents_2.setAcceptRichText(False)
+        self.contents_2.setObjectName("contents_2")
+        self.gridLayout.addWidget(self.contents_2, 1, 2, 1, 1)
+        self.verticalLayout.addLayout(self.gridLayout)
+        self.synchronizeCheckBox = QtWidgets.QCheckBox(parent=CompareDialog)
+        self.synchronizeCheckBox.setChecked(True)
+        self.synchronizeCheckBox.setObjectName("synchronizeCheckBox")
+        self.verticalLayout.addWidget(self.synchronizeCheckBox)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.totalLabel = QtWidgets.QLabel(parent=CompareDialog)
+        self.totalLabel.setFrameShape(QtWidgets.QFrame.Shape.Panel)
+        self.totalLabel.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.totalLabel.setObjectName("totalLabel")
+        self.horizontalLayout.addWidget(self.totalLabel)
+        self.changedLabel = QtWidgets.QLabel(parent=CompareDialog)
+        self.changedLabel.setFrameShape(QtWidgets.QFrame.Shape.Panel)
+        self.changedLabel.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.changedLabel.setObjectName("changedLabel")
+        self.horizontalLayout.addWidget(self.changedLabel)
+        self.addedLabel = QtWidgets.QLabel(parent=CompareDialog)
+        self.addedLabel.setFrameShape(QtWidgets.QFrame.Shape.Panel)
+        self.addedLabel.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.addedLabel.setObjectName("addedLabel")
+        self.horizontalLayout.addWidget(self.addedLabel)
+        self.deletedLabel = QtWidgets.QLabel(parent=CompareDialog)
+        self.deletedLabel.setFrameShape(QtWidgets.QFrame.Shape.Panel)
+        self.deletedLabel.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.deletedLabel.setObjectName("deletedLabel")
+        self.horizontalLayout.addWidget(self.deletedLabel)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=CompareDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.horizontalLayout.addWidget(self.buttonBox)
+        self.verticalLayout.addLayout(self.horizontalLayout)
+        self.textLabel1.setBuddy(self.file1Picker)
+        self.textLabel2.setBuddy(self.file2Picker)
+
+        self.retranslateUi(CompareDialog)
+        self.buttonBox.rejected.connect(CompareDialog.close) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(CompareDialog)
+        CompareDialog.setTabOrder(self.file1Picker, self.file2Picker)
+        CompareDialog.setTabOrder(self.file2Picker, self.firstButton)
+        CompareDialog.setTabOrder(self.firstButton, self.upButton)
+        CompareDialog.setTabOrder(self.upButton, self.downButton)
+        CompareDialog.setTabOrder(self.downButton, self.lastButton)
+        CompareDialog.setTabOrder(self.lastButton, self.synchronizeCheckBox)
+
+    def retranslateUi(self, CompareDialog):
+        _translate = QtCore.QCoreApplication.translate
+        CompareDialog.setWindowTitle(_translate("CompareDialog", "File Comparison"))
+        self.filesGroup.setTitle(_translate("CompareDialog", "Files to be compared:"))
+        self.textLabel1.setText(_translate("CompareDialog", "File &1:"))
+        self.file1Picker.setToolTip(_translate("CompareDialog", "Enter the name of the first file"))
+        self.textLabel2.setText(_translate("CompareDialog", "File &2:"))
+        self.file2Picker.setToolTip(_translate("CompareDialog", "Enter the name of the second file"))
+        self.firstButton.setToolTip(_translate("CompareDialog", "Press to move to the first difference"))
+        self.upButton.setToolTip(_translate("CompareDialog", "Press to move to the previous difference"))
+        self.downButton.setToolTip(_translate("CompareDialog", "Press to move to the next difference"))
+        self.lastButton.setToolTip(_translate("CompareDialog", "Press to move to the last difference"))
+        self.synchronizeCheckBox.setToolTip(_translate("CompareDialog", "Select, if the horizontal scrollbars should be synchronized"))
+        self.synchronizeCheckBox.setText(_translate("CompareDialog", "&Synchronize horizontal scrollbars"))
+        self.synchronizeCheckBox.setShortcut(_translate("CompareDialog", "Alt+S"))
+from eric7.EricWidgets.EricPathPicker import EricPathPicker
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/UI/Ui_DeleteFilesConfirmationDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,46 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/UI/DeleteFilesConfirmationDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_DeleteFilesConfirmationDialog(object):
+    def setupUi(self, DeleteFilesConfirmationDialog):
+        DeleteFilesConfirmationDialog.setObjectName("DeleteFilesConfirmationDialog")
+        DeleteFilesConfirmationDialog.resize(500, 350)
+        DeleteFilesConfirmationDialog.setWindowTitle("")
+        DeleteFilesConfirmationDialog.setSizeGripEnabled(True)
+        self.vboxlayout = QtWidgets.QVBoxLayout(DeleteFilesConfirmationDialog)
+        self.vboxlayout.setObjectName("vboxlayout")
+        self.message = QtWidgets.QLabel(parent=DeleteFilesConfirmationDialog)
+        self.message.setAlignment(QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.message.setWordWrap(True)
+        self.message.setObjectName("message")
+        self.vboxlayout.addWidget(self.message)
+        self.label = QtWidgets.QLabel(parent=DeleteFilesConfirmationDialog)
+        self.label.setWordWrap(True)
+        self.label.setObjectName("label")
+        self.vboxlayout.addWidget(self.label)
+        self.filesList = QtWidgets.QListWidget(parent=DeleteFilesConfirmationDialog)
+        self.filesList.setFocusPolicy(QtCore.Qt.FocusPolicy.NoFocus)
+        self.filesList.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.NoSelection)
+        self.filesList.setObjectName("filesList")
+        self.vboxlayout.addWidget(self.filesList)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=DeleteFilesConfirmationDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.No|QtWidgets.QDialogButtonBox.StandardButton.Yes)
+        self.buttonBox.setObjectName("buttonBox")
+        self.vboxlayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(DeleteFilesConfirmationDialog)
+        QtCore.QMetaObject.connectSlotsByName(DeleteFilesConfirmationDialog)
+
+    def retranslateUi(self, DeleteFilesConfirmationDialog):
+        _translate = QtCore.QCoreApplication.translate
+        self.message.setText(_translate("DeleteFilesConfirmationDialog", "Dummy"))
+        self.label.setText(_translate("DeleteFilesConfirmationDialog", "<font color=\"#FF0000\"><b>WARNING:</b> This operation is not reversible!</font>"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/UI/Ui_DiffDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,104 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/UI/DiffDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_DiffDialog(object):
+    def setupUi(self, DiffDialog):
+        DiffDialog.setObjectName("DiffDialog")
+        DiffDialog.resize(750, 800)
+        self.verticalLayout = QtWidgets.QVBoxLayout(DiffDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.textLabel1 = QtWidgets.QLabel(parent=DiffDialog)
+        self.textLabel1.setObjectName("textLabel1")
+        self.horizontalLayout_2.addWidget(self.textLabel1)
+        self.file1Picker = EricPathPicker(parent=DiffDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.file1Picker.sizePolicy().hasHeightForWidth())
+        self.file1Picker.setSizePolicy(sizePolicy)
+        self.file1Picker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.file1Picker.setObjectName("file1Picker")
+        self.horizontalLayout_2.addWidget(self.file1Picker)
+        self.verticalLayout.addLayout(self.horizontalLayout_2)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.textLabel2 = QtWidgets.QLabel(parent=DiffDialog)
+        self.textLabel2.setObjectName("textLabel2")
+        self.horizontalLayout.addWidget(self.textLabel2)
+        self.file2Picker = EricPathPicker(parent=DiffDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.file2Picker.sizePolicy().hasHeightForWidth())
+        self.file2Picker.setSizePolicy(sizePolicy)
+        self.file2Picker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.file2Picker.setObjectName("file2Picker")
+        self.horizontalLayout.addWidget(self.file2Picker)
+        self.verticalLayout.addLayout(self.horizontalLayout)
+        self.diffFormatGroup = QtWidgets.QGroupBox(parent=DiffDialog)
+        self.diffFormatGroup.setObjectName("diffFormatGroup")
+        self.hboxlayout = QtWidgets.QHBoxLayout(self.diffFormatGroup)
+        self.hboxlayout.setObjectName("hboxlayout")
+        self.unifiedRadioButton = QtWidgets.QRadioButton(parent=self.diffFormatGroup)
+        self.unifiedRadioButton.setChecked(True)
+        self.unifiedRadioButton.setObjectName("unifiedRadioButton")
+        self.hboxlayout.addWidget(self.unifiedRadioButton)
+        self.contextRadioButton = QtWidgets.QRadioButton(parent=self.diffFormatGroup)
+        self.contextRadioButton.setObjectName("contextRadioButton")
+        self.hboxlayout.addWidget(self.contextRadioButton)
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.hboxlayout.addItem(spacerItem)
+        self.verticalLayout.addWidget(self.diffFormatGroup)
+        self.searchWidget = EricTextEditSearchWidget(parent=DiffDialog)
+        self.searchWidget.setFocusPolicy(QtCore.Qt.FocusPolicy.WheelFocus)
+        self.searchWidget.setObjectName("searchWidget")
+        self.verticalLayout.addWidget(self.searchWidget)
+        self.contents = QtWidgets.QPlainTextEdit(parent=DiffDialog)
+        self.contents.setLineWrapMode(QtWidgets.QPlainTextEdit.LineWrapMode.NoWrap)
+        self.contents.setReadOnly(True)
+        self.contents.setTabStopDistance(8.0)
+        self.contents.setObjectName("contents")
+        self.verticalLayout.addWidget(self.contents)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=DiffDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+        self.textLabel1.setBuddy(self.file1Picker)
+        self.textLabel2.setBuddy(self.file2Picker)
+
+        self.retranslateUi(DiffDialog)
+        self.buttonBox.rejected.connect(DiffDialog.close) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(DiffDialog)
+        DiffDialog.setTabOrder(self.file1Picker, self.file2Picker)
+        DiffDialog.setTabOrder(self.file2Picker, self.unifiedRadioButton)
+        DiffDialog.setTabOrder(self.unifiedRadioButton, self.contextRadioButton)
+        DiffDialog.setTabOrder(self.contextRadioButton, self.searchWidget)
+        DiffDialog.setTabOrder(self.searchWidget, self.contents)
+
+    def retranslateUi(self, DiffDialog):
+        _translate = QtCore.QCoreApplication.translate
+        DiffDialog.setWindowTitle(_translate("DiffDialog", "File Differences"))
+        self.textLabel1.setText(_translate("DiffDialog", "File &1:"))
+        self.file1Picker.setToolTip(_translate("DiffDialog", "Enter the name of the first file"))
+        self.textLabel2.setText(_translate("DiffDialog", "File &2:"))
+        self.file2Picker.setToolTip(_translate("DiffDialog", "Enter the name of the second file"))
+        self.diffFormatGroup.setTitle(_translate("DiffDialog", "Select Diff Kind"))
+        self.unifiedRadioButton.setToolTip(_translate("DiffDialog", "Select to generate a unified diff"))
+        self.unifiedRadioButton.setText(_translate("DiffDialog", "&Unified Diff"))
+        self.unifiedRadioButton.setShortcut(_translate("DiffDialog", "Alt+U"))
+        self.contextRadioButton.setToolTip(_translate("DiffDialog", "Select to generate a context diff"))
+        self.contextRadioButton.setText(_translate("DiffDialog", "Co&ntext Diff"))
+        self.contextRadioButton.setShortcut(_translate("DiffDialog", "Alt+N"))
+from eric7.EricWidgets.EricPathPicker import EricPathPicker
+from eric7.EricWidgets.EricTextEditSearchWidget import EricTextEditSearchWidget
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/UI/Ui_EmailDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,111 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/UI/EmailDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_EmailDialog(object):
+    def setupUi(self, EmailDialog):
+        EmailDialog.setObjectName("EmailDialog")
+        EmailDialog.resize(600, 547)
+        EmailDialog.setSizeGripEnabled(True)
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(EmailDialog)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.mainSplitter = QtWidgets.QSplitter(parent=EmailDialog)
+        self.mainSplitter.setOrientation(QtCore.Qt.Orientation.Vertical)
+        self.mainSplitter.setObjectName("mainSplitter")
+        self.messageGroup = QtWidgets.QGroupBox(parent=self.mainSplitter)
+        self.messageGroup.setObjectName("messageGroup")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.messageGroup)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.hboxlayout = QtWidgets.QHBoxLayout()
+        self.hboxlayout.setObjectName("hboxlayout")
+        self.textLabel1 = QtWidgets.QLabel(parent=self.messageGroup)
+        self.textLabel1.setObjectName("textLabel1")
+        self.hboxlayout.addWidget(self.textLabel1)
+        self.subject = QtWidgets.QLineEdit(parent=self.messageGroup)
+        self.subject.setObjectName("subject")
+        self.hboxlayout.addWidget(self.subject)
+        self.verticalLayout.addLayout(self.hboxlayout)
+        self.msgLabel = QtWidgets.QLabel(parent=self.messageGroup)
+        self.msgLabel.setObjectName("msgLabel")
+        self.verticalLayout.addWidget(self.msgLabel)
+        self.message = EricSpellCheckedTextEdit(parent=self.messageGroup)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.message.sizePolicy().hasHeightForWidth())
+        self.message.setSizePolicy(sizePolicy)
+        self.message.setLineWrapMode(QtWidgets.QTextEdit.LineWrapMode.FixedColumnWidth)
+        self.message.setLineWrapColumnOrWidth(70)
+        self.message.setTabStopDistance(8.0)
+        self.message.setAcceptRichText(False)
+        self.message.setObjectName("message")
+        self.verticalLayout.addWidget(self.message)
+        self.attachmentsGroup = QtWidgets.QGroupBox(parent=self.mainSplitter)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.attachmentsGroup.sizePolicy().hasHeightForWidth())
+        self.attachmentsGroup.setSizePolicy(sizePolicy)
+        self.attachmentsGroup.setObjectName("attachmentsGroup")
+        self.gridLayout = QtWidgets.QGridLayout(self.attachmentsGroup)
+        self.gridLayout.setObjectName("gridLayout")
+        self.attachments = QtWidgets.QTreeWidget(parent=self.attachmentsGroup)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.attachments.sizePolicy().hasHeightForWidth())
+        self.attachments.setSizePolicy(sizePolicy)
+        self.attachments.setAlternatingRowColors(True)
+        self.attachments.setRootIsDecorated(False)
+        self.attachments.setObjectName("attachments")
+        self.gridLayout.addWidget(self.attachments, 0, 0, 1, 1)
+        self.vboxlayout = QtWidgets.QVBoxLayout()
+        self.vboxlayout.setObjectName("vboxlayout")
+        self.addButton = QtWidgets.QPushButton(parent=self.attachmentsGroup)
+        self.addButton.setObjectName("addButton")
+        self.vboxlayout.addWidget(self.addButton)
+        self.deleteButton = QtWidgets.QPushButton(parent=self.attachmentsGroup)
+        self.deleteButton.setObjectName("deleteButton")
+        self.vboxlayout.addWidget(self.deleteButton)
+        spacerItem = QtWidgets.QSpacerItem(20, 16, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.vboxlayout.addItem(spacerItem)
+        self.gridLayout.addLayout(self.vboxlayout, 0, 1, 1, 1)
+        self.verticalLayout_2.addWidget(self.mainSplitter)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=EmailDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout_2.addWidget(self.buttonBox)
+        self.textLabel1.setBuddy(self.subject)
+        self.msgLabel.setBuddy(self.message)
+
+        self.retranslateUi(EmailDialog)
+        QtCore.QMetaObject.connectSlotsByName(EmailDialog)
+        EmailDialog.setTabOrder(self.subject, self.message)
+        EmailDialog.setTabOrder(self.message, self.addButton)
+        EmailDialog.setTabOrder(self.addButton, self.attachments)
+        EmailDialog.setTabOrder(self.attachments, self.deleteButton)
+
+    def retranslateUi(self, EmailDialog):
+        _translate = QtCore.QCoreApplication.translate
+        EmailDialog.setWindowTitle(_translate("EmailDialog", "Send bug report"))
+        self.messageGroup.setTitle(_translate("EmailDialog", "Message"))
+        self.textLabel1.setText(_translate("EmailDialog", "&Subject:"))
+        self.subject.setToolTip(_translate("EmailDialog", "Enter the subject"))
+        self.attachmentsGroup.setTitle(_translate("EmailDialog", "Attachments"))
+        self.attachments.headerItem().setText(0, _translate("EmailDialog", "Name"))
+        self.attachments.headerItem().setText(1, _translate("EmailDialog", "Type"))
+        self.addButton.setToolTip(_translate("EmailDialog", "Press to add an attachment"))
+        self.addButton.setText(_translate("EmailDialog", "&Add..."))
+        self.addButton.setShortcut(_translate("EmailDialog", "Alt+A"))
+        self.deleteButton.setToolTip(_translate("EmailDialog", "Delete the selected entry from the list of attachments"))
+        self.deleteButton.setText(_translate("EmailDialog", "&Delete"))
+        self.deleteButton.setShortcut(_translate("EmailDialog", "Alt+D"))
+from eric7.EricWidgets.EricSpellCheckedTextEdit import EricSpellCheckedTextEdit
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/UI/Ui_ErrorLogDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,66 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/UI/ErrorLogDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_ErrorLogDialog(object):
+    def setupUi(self, ErrorLogDialog):
+        ErrorLogDialog.setObjectName("ErrorLogDialog")
+        ErrorLogDialog.resize(500, 350)
+        ErrorLogDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(ErrorLogDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.icon = QtWidgets.QLabel(parent=ErrorLogDialog)
+        self.icon.setObjectName("icon")
+        self.horizontalLayout.addWidget(self.icon)
+        self.label = QtWidgets.QLabel(parent=ErrorLogDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.label.sizePolicy().hasHeightForWidth())
+        self.label.setSizePolicy(sizePolicy)
+        self.label.setObjectName("label")
+        self.horizontalLayout.addWidget(self.label)
+        self.verticalLayout.addLayout(self.horizontalLayout)
+        self.logEdit = QtWidgets.QPlainTextEdit(parent=ErrorLogDialog)
+        self.logEdit.setReadOnly(True)
+        self.logEdit.setObjectName("logEdit")
+        self.verticalLayout.addWidget(self.logEdit)
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.emailButton = QtWidgets.QPushButton(parent=ErrorLogDialog)
+        self.emailButton.setDefault(True)
+        self.emailButton.setObjectName("emailButton")
+        self.horizontalLayout_2.addWidget(self.emailButton)
+        self.deleteButton = QtWidgets.QPushButton(parent=ErrorLogDialog)
+        self.deleteButton.setObjectName("deleteButton")
+        self.horizontalLayout_2.addWidget(self.deleteButton)
+        self.keepButton = QtWidgets.QPushButton(parent=ErrorLogDialog)
+        self.keepButton.setObjectName("keepButton")
+        self.horizontalLayout_2.addWidget(self.keepButton)
+        self.verticalLayout.addLayout(self.horizontalLayout_2)
+
+        self.retranslateUi(ErrorLogDialog)
+        QtCore.QMetaObject.connectSlotsByName(ErrorLogDialog)
+        ErrorLogDialog.setTabOrder(self.logEdit, self.emailButton)
+        ErrorLogDialog.setTabOrder(self.emailButton, self.deleteButton)
+        ErrorLogDialog.setTabOrder(self.deleteButton, self.keepButton)
+
+    def retranslateUi(self, ErrorLogDialog):
+        _translate = QtCore.QCoreApplication.translate
+        ErrorLogDialog.setWindowTitle(_translate("ErrorLogDialog", "Error Log Found"))
+        self.label.setText(_translate("ErrorLogDialog", "<b>An error log file was found. What should be done with it?</b>"))
+        self.emailButton.setToolTip(_translate("ErrorLogDialog", "Press to send an email"))
+        self.emailButton.setText(_translate("ErrorLogDialog", "Send Bug Email"))
+        self.deleteButton.setToolTip(_translate("ErrorLogDialog", "Press to ignore the error and delete the log file"))
+        self.deleteButton.setText(_translate("ErrorLogDialog", "Ignore and Delete"))
+        self.keepButton.setToolTip(_translate("ErrorLogDialog", "Press to ignore the error but keep the log file"))
+        self.keepButton.setText(_translate("ErrorLogDialog", "Ignore but Keep"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/UI/Ui_FindFileFilterPropertiesDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,59 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/UI/FindFileFilterPropertiesDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_FindFileFilterPropertiesDialog(object):
+    def setupUi(self, FindFileFilterPropertiesDialog):
+        FindFileFilterPropertiesDialog.setObjectName("FindFileFilterPropertiesDialog")
+        FindFileFilterPropertiesDialog.resize(500, 128)
+        FindFileFilterPropertiesDialog.setSizeGripEnabled(True)
+        self.gridLayout = QtWidgets.QGridLayout(FindFileFilterPropertiesDialog)
+        self.gridLayout.setObjectName("gridLayout")
+        self.textEdit = QtWidgets.QLineEdit(parent=FindFileFilterPropertiesDialog)
+        self.textEdit.setClearButtonEnabled(True)
+        self.textEdit.setObjectName("textEdit")
+        self.gridLayout.addWidget(self.textEdit, 0, 1, 1, 1)
+        self.patternEdit = QtWidgets.QLineEdit(parent=FindFileFilterPropertiesDialog)
+        self.patternEdit.setClearButtonEnabled(True)
+        self.patternEdit.setObjectName("patternEdit")
+        self.gridLayout.addWidget(self.patternEdit, 1, 1, 1, 1)
+        self.label_2 = QtWidgets.QLabel(parent=FindFileFilterPropertiesDialog)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 1, 0, 1, 1)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=FindFileFilterPropertiesDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout.addWidget(self.buttonBox, 3, 0, 1, 2)
+        self.label = QtWidgets.QLabel(parent=FindFileFilterPropertiesDialog)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
+        self.errorLabel = QtWidgets.QLabel(parent=FindFileFilterPropertiesDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.errorLabel.sizePolicy().hasHeightForWidth())
+        self.errorLabel.setSizePolicy(sizePolicy)
+        self.errorLabel.setWordWrap(True)
+        self.errorLabel.setObjectName("errorLabel")
+        self.gridLayout.addWidget(self.errorLabel, 2, 0, 1, 2)
+
+        self.retranslateUi(FindFileFilterPropertiesDialog)
+        self.buttonBox.accepted.connect(FindFileFilterPropertiesDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(FindFileFilterPropertiesDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(FindFileFilterPropertiesDialog)
+
+    def retranslateUi(self, FindFileFilterPropertiesDialog):
+        _translate = QtCore.QCoreApplication.translate
+        FindFileFilterPropertiesDialog.setWindowTitle(_translate("FindFileFilterPropertiesDialog", "File Filter Properties"))
+        self.textEdit.setToolTip(_translate("FindFileFilterPropertiesDialog", "Enter the name of the file filter."))
+        self.patternEdit.setToolTip(_translate("FindFileFilterPropertiesDialog", "Enter the pattern of the file filter. Multiple patterns must be separated by spaces."))
+        self.label_2.setText(_translate("FindFileFilterPropertiesDialog", "Pattern:"))
+        self.label.setText(_translate("FindFileFilterPropertiesDialog", "Name:"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/UI/Ui_FindFileFiltersEditDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,82 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/UI/FindFileFiltersEditDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_FindFileFiltersEditDialog(object):
+    def setupUi(self, FindFileFiltersEditDialog):
+        FindFileFiltersEditDialog.setObjectName("FindFileFiltersEditDialog")
+        FindFileFiltersEditDialog.resize(700, 600)
+        FindFileFiltersEditDialog.setSizeGripEnabled(True)
+        self.gridLayout = QtWidgets.QGridLayout(FindFileFiltersEditDialog)
+        self.gridLayout.setObjectName("gridLayout")
+        self.addFileFilterButton = QtWidgets.QPushButton(parent=FindFileFiltersEditDialog)
+        self.addFileFilterButton.setObjectName("addFileFilterButton")
+        self.gridLayout.addWidget(self.addFileFilterButton, 0, 1, 1, 1)
+        self.editFileFilterButton = QtWidgets.QPushButton(parent=FindFileFiltersEditDialog)
+        self.editFileFilterButton.setEnabled(False)
+        self.editFileFilterButton.setObjectName("editFileFilterButton")
+        self.gridLayout.addWidget(self.editFileFilterButton, 1, 1, 1, 1)
+        self.deleteFileFilterButton = QtWidgets.QPushButton(parent=FindFileFiltersEditDialog)
+        self.deleteFileFilterButton.setEnabled(False)
+        self.deleteFileFilterButton.setObjectName("deleteFileFilterButton")
+        self.gridLayout.addWidget(self.deleteFileFilterButton, 2, 1, 1, 1)
+        self.line = QtWidgets.QFrame(parent=FindFileFiltersEditDialog)
+        self.line.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line.setObjectName("line")
+        self.gridLayout.addWidget(self.line, 3, 1, 1, 1)
+        self.defaultFiltersButton = QtWidgets.QPushButton(parent=FindFileFiltersEditDialog)
+        self.defaultFiltersButton.setObjectName("defaultFiltersButton")
+        self.gridLayout.addWidget(self.defaultFiltersButton, 4, 1, 1, 1)
+        spacerItem = QtWidgets.QSpacerItem(20, 415, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.gridLayout.addItem(spacerItem, 5, 1, 1, 1)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=FindFileFiltersEditDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout.addWidget(self.buttonBox, 6, 0, 1, 2)
+        self.fileFiltersList = QtWidgets.QTreeWidget(parent=FindFileFiltersEditDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.fileFiltersList.sizePolicy().hasHeightForWidth())
+        self.fileFiltersList.setSizePolicy(sizePolicy)
+        self.fileFiltersList.setMinimumSize(QtCore.QSize(0, 200))
+        self.fileFiltersList.setEditTriggers(QtWidgets.QAbstractItemView.EditTrigger.NoEditTriggers)
+        self.fileFiltersList.setAlternatingRowColors(True)
+        self.fileFiltersList.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.ExtendedSelection)
+        self.fileFiltersList.setRootIsDecorated(False)
+        self.fileFiltersList.setItemsExpandable(False)
+        self.fileFiltersList.setObjectName("fileFiltersList")
+        self.gridLayout.addWidget(self.fileFiltersList, 0, 0, 6, 1)
+
+        self.retranslateUi(FindFileFiltersEditDialog)
+        self.buttonBox.accepted.connect(FindFileFiltersEditDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(FindFileFiltersEditDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(FindFileFiltersEditDialog)
+        FindFileFiltersEditDialog.setTabOrder(self.fileFiltersList, self.addFileFilterButton)
+        FindFileFiltersEditDialog.setTabOrder(self.addFileFilterButton, self.editFileFilterButton)
+        FindFileFiltersEditDialog.setTabOrder(self.editFileFilterButton, self.deleteFileFilterButton)
+        FindFileFiltersEditDialog.setTabOrder(self.deleteFileFilterButton, self.defaultFiltersButton)
+
+    def retranslateUi(self, FindFileFiltersEditDialog):
+        _translate = QtCore.QCoreApplication.translate
+        FindFileFiltersEditDialog.setWindowTitle(_translate("FindFileFiltersEditDialog", "Edit File Filters"))
+        self.addFileFilterButton.setToolTip(_translate("FindFileFiltersEditDialog", "Press to open a dialog to enter the filter name and pattern for a new entry."))
+        self.addFileFilterButton.setText(_translate("FindFileFiltersEditDialog", "Add..."))
+        self.editFileFilterButton.setToolTip(_translate("FindFileFiltersEditDialog", "Press to edit the selected file filter entry."))
+        self.editFileFilterButton.setText(_translate("FindFileFiltersEditDialog", "Edit..."))
+        self.deleteFileFilterButton.setToolTip(_translate("FindFileFiltersEditDialog", "Press to delete the selected entries."))
+        self.deleteFileFilterButton.setText(_translate("FindFileFiltersEditDialog", "Delete"))
+        self.defaultFiltersButton.setToolTip(_translate("FindFileFiltersEditDialog", "Press to create a default list of entries based on the supported file types."))
+        self.defaultFiltersButton.setText(_translate("FindFileFiltersEditDialog", "Default"))
+        self.fileFiltersList.setSortingEnabled(True)
+        self.fileFiltersList.headerItem().setText(0, _translate("FindFileFiltersEditDialog", "Name"))
+        self.fileFiltersList.headerItem().setText(1, _translate("FindFileFiltersEditDialog", "Pattern"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/UI/Ui_FindFileWidget.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,274 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/UI/FindFileWidget.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_FindFileWidget(object):
+    def setupUi(self, FindFileWidget):
+        FindFileWidget.setObjectName("FindFileWidget")
+        FindFileWidget.resize(600, 800)
+        self.verticalLayout = QtWidgets.QVBoxLayout(FindFileWidget)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.gridLayout_3 = QtWidgets.QGridLayout()
+        self.gridLayout_3.setObjectName("gridLayout_3")
+        self.TextLabel1 = QtWidgets.QLabel(parent=FindFileWidget)
+        self.TextLabel1.setObjectName("TextLabel1")
+        self.gridLayout_3.addWidget(self.TextLabel1, 0, 0, 1, 1)
+        self.findtextCombo = QtWidgets.QComboBox(parent=FindFileWidget)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.findtextCombo.sizePolicy().hasHeightForWidth())
+        self.findtextCombo.setSizePolicy(sizePolicy)
+        self.findtextCombo.setEditable(True)
+        self.findtextCombo.setInsertPolicy(QtWidgets.QComboBox.InsertPolicy.InsertAtTop)
+        self.findtextCombo.setSizeAdjustPolicy(QtWidgets.QComboBox.SizeAdjustPolicy.AdjustToMinimumContentsLengthWithIcon)
+        self.findtextCombo.setDuplicatesEnabled(False)
+        self.findtextCombo.setObjectName("findtextCombo")
+        self.gridLayout_3.addWidget(self.findtextCombo, 0, 1, 1, 1)
+        self.modeToggleButton = QtWidgets.QToolButton(parent=FindFileWidget)
+        self.modeToggleButton.setObjectName("modeToggleButton")
+        self.gridLayout_3.addWidget(self.modeToggleButton, 0, 2, 1, 1)
+        self.replaceLabel = QtWidgets.QLabel(parent=FindFileWidget)
+        self.replaceLabel.setObjectName("replaceLabel")
+        self.gridLayout_3.addWidget(self.replaceLabel, 1, 0, 1, 1)
+        self.replacetextCombo = QtWidgets.QComboBox(parent=FindFileWidget)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.replacetextCombo.sizePolicy().hasHeightForWidth())
+        self.replacetextCombo.setSizePolicy(sizePolicy)
+        self.replacetextCombo.setEditable(True)
+        self.replacetextCombo.setInsertPolicy(QtWidgets.QComboBox.InsertPolicy.InsertAtTop)
+        self.replacetextCombo.setSizeAdjustPolicy(QtWidgets.QComboBox.SizeAdjustPolicy.AdjustToMinimumContentsLengthWithIcon)
+        self.replacetextCombo.setDuplicatesEnabled(False)
+        self.replacetextCombo.setObjectName("replacetextCombo")
+        self.gridLayout_3.addWidget(self.replacetextCombo, 1, 1, 1, 1)
+        self.verticalLayout.addLayout(self.gridLayout_3)
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setSpacing(0)
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_2.addItem(spacerItem)
+        self.caseToolButton = QtWidgets.QToolButton(parent=FindFileWidget)
+        self.caseToolButton.setCheckable(True)
+        self.caseToolButton.setObjectName("caseToolButton")
+        self.horizontalLayout_2.addWidget(self.caseToolButton)
+        self.wordToolButton = QtWidgets.QToolButton(parent=FindFileWidget)
+        self.wordToolButton.setCheckable(True)
+        self.wordToolButton.setObjectName("wordToolButton")
+        self.horizontalLayout_2.addWidget(self.wordToolButton)
+        self.escapeToolButton = QtWidgets.QToolButton(parent=FindFileWidget)
+        self.escapeToolButton.setCheckable(True)
+        self.escapeToolButton.setObjectName("escapeToolButton")
+        self.horizontalLayout_2.addWidget(self.escapeToolButton)
+        self.regexpToolButton = QtWidgets.QToolButton(parent=FindFileWidget)
+        self.regexpToolButton.setCheckable(True)
+        self.regexpToolButton.setObjectName("regexpToolButton")
+        self.horizontalLayout_2.addWidget(self.regexpToolButton)
+        spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_2.addItem(spacerItem1)
+        self.verticalLayout.addLayout(self.horizontalLayout_2)
+        self.fileOptionsWidget = QtWidgets.QTabWidget(parent=FindFileWidget)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(1)
+        sizePolicy.setHeightForWidth(self.fileOptionsWidget.sizePolicy().hasHeightForWidth())
+        self.fileOptionsWidget.setSizePolicy(sizePolicy)
+        self.fileOptionsWidget.setObjectName("fileOptionsWidget")
+        self.fileTypeTab = QtWidgets.QWidget()
+        self.fileTypeTab.setObjectName("fileTypeTab")
+        self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.fileTypeTab)
+        self.verticalLayout_3.setObjectName("verticalLayout_3")
+        self.fileTypeList = QtWidgets.QListWidget(parent=self.fileTypeTab)
+        self.fileTypeList.setMinimumSize(QtCore.QSize(0, 125))
+        self.fileTypeList.setAlternatingRowColors(True)
+        self.fileTypeList.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.NoSelection)
+        self.fileTypeList.setObjectName("fileTypeList")
+        self.verticalLayout_3.addWidget(self.fileTypeList)
+        self.line = QtWidgets.QFrame(parent=self.fileTypeTab)
+        self.line.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line.setObjectName("line")
+        self.verticalLayout_3.addWidget(self.line)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.filterCheckBox = QtWidgets.QCheckBox(parent=self.fileTypeTab)
+        self.filterCheckBox.setObjectName("filterCheckBox")
+        self.horizontalLayout.addWidget(self.filterCheckBox)
+        self.filterComboBox = QtWidgets.QComboBox(parent=self.fileTypeTab)
+        self.filterComboBox.setEnabled(False)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.filterComboBox.sizePolicy().hasHeightForWidth())
+        self.filterComboBox.setSizePolicy(sizePolicy)
+        self.filterComboBox.setObjectName("filterComboBox")
+        self.horizontalLayout.addWidget(self.filterComboBox)
+        self.filtersConfigButton = QtWidgets.QToolButton(parent=self.fileTypeTab)
+        self.filtersConfigButton.setObjectName("filtersConfigButton")
+        self.horizontalLayout.addWidget(self.filtersConfigButton)
+        self.verticalLayout_3.addLayout(self.horizontalLayout)
+        self.fileOptionsWidget.addTab(self.fileTypeTab, "")
+        self.findInTab = QtWidgets.QWidget()
+        self.findInTab.setObjectName("findInTab")
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.findInTab)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.projectButton = QtWidgets.QRadioButton(parent=self.findInTab)
+        self.projectButton.setChecked(True)
+        self.projectButton.setObjectName("projectButton")
+        self.verticalLayout_2.addWidget(self.projectButton)
+        self.dirButton = QtWidgets.QRadioButton(parent=self.findInTab)
+        self.dirButton.setObjectName("dirButton")
+        self.verticalLayout_2.addWidget(self.dirButton)
+        self.dirPicker = EricComboPathPicker(parent=self.findInTab)
+        self.dirPicker.setEnabled(False)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.dirPicker.sizePolicy().hasHeightForWidth())
+        self.dirPicker.setSizePolicy(sizePolicy)
+        self.dirPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.WheelFocus)
+        self.dirPicker.setObjectName("dirPicker")
+        self.verticalLayout_2.addWidget(self.dirPicker)
+        self.openFilesButton = QtWidgets.QRadioButton(parent=self.findInTab)
+        self.openFilesButton.setObjectName("openFilesButton")
+        self.verticalLayout_2.addWidget(self.openFilesButton)
+        spacerItem2 = QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout_2.addItem(spacerItem2)
+        self.fileOptionsWidget.addTab(self.findInTab, "")
+        self.verticalLayout.addWidget(self.fileOptionsWidget)
+        self.excludeHiddenCheckBox = QtWidgets.QCheckBox(parent=FindFileWidget)
+        self.excludeHiddenCheckBox.setChecked(True)
+        self.excludeHiddenCheckBox.setObjectName("excludeHiddenCheckBox")
+        self.verticalLayout.addWidget(self.excludeHiddenCheckBox)
+        self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
+        spacerItem3 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_3.addItem(spacerItem3)
+        self.findButton = QtWidgets.QPushButton(parent=FindFileWidget)
+        self.findButton.setObjectName("findButton")
+        self.horizontalLayout_3.addWidget(self.findButton)
+        self.stopButton = QtWidgets.QPushButton(parent=FindFileWidget)
+        self.stopButton.setObjectName("stopButton")
+        self.horizontalLayout_3.addWidget(self.stopButton)
+        spacerItem4 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_3.addItem(spacerItem4)
+        self.verticalLayout.addLayout(self.horizontalLayout_3)
+        self.line_2 = QtWidgets.QFrame(parent=FindFileWidget)
+        self.line_2.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line_2.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line_2.setObjectName("line_2")
+        self.verticalLayout.addWidget(self.line_2)
+        self.horizontalLayout_4 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_4.setObjectName("horizontalLayout_4")
+        self.findProgressLabel = EricSqueezeLabelPath(parent=FindFileWidget)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.findProgressLabel.sizePolicy().hasHeightForWidth())
+        self.findProgressLabel.setSizePolicy(sizePolicy)
+        self.findProgressLabel.setText("")
+        self.findProgressLabel.setObjectName("findProgressLabel")
+        self.horizontalLayout_4.addWidget(self.findProgressLabel)
+        self.clearButton = QtWidgets.QPushButton(parent=FindFileWidget)
+        self.clearButton.setObjectName("clearButton")
+        self.horizontalLayout_4.addWidget(self.clearButton)
+        self.verticalLayout.addLayout(self.horizontalLayout_4)
+        self.findProgress = QtWidgets.QProgressBar(parent=FindFileWidget)
+        self.findProgress.setProperty("value", 0)
+        self.findProgress.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.findProgress.setObjectName("findProgress")
+        self.verticalLayout.addWidget(self.findProgress)
+        self.findList = QtWidgets.QTreeWidget(parent=FindFileWidget)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(5)
+        sizePolicy.setHeightForWidth(self.findList.sizePolicy().hasHeightForWidth())
+        self.findList.setSizePolicy(sizePolicy)
+        self.findList.setAlternatingRowColors(True)
+        self.findList.setColumnCount(2)
+        self.findList.setObjectName("findList")
+        self.verticalLayout.addWidget(self.findList)
+        self.replaceButton = QtWidgets.QPushButton(parent=FindFileWidget)
+        self.replaceButton.setObjectName("replaceButton")
+        self.verticalLayout.addWidget(self.replaceButton)
+        self.TextLabel1.setBuddy(self.findtextCombo)
+        self.replaceLabel.setBuddy(self.findtextCombo)
+
+        self.retranslateUi(FindFileWidget)
+        self.fileOptionsWidget.setCurrentIndex(0)
+        self.dirButton.toggled['bool'].connect(self.dirPicker.setEnabled) # type: ignore
+        self.filterCheckBox.toggled['bool'].connect(self.filterComboBox.setEnabled) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(FindFileWidget)
+        FindFileWidget.setTabOrder(self.findtextCombo, self.modeToggleButton)
+        FindFileWidget.setTabOrder(self.modeToggleButton, self.replacetextCombo)
+        FindFileWidget.setTabOrder(self.replacetextCombo, self.caseToolButton)
+        FindFileWidget.setTabOrder(self.caseToolButton, self.wordToolButton)
+        FindFileWidget.setTabOrder(self.wordToolButton, self.escapeToolButton)
+        FindFileWidget.setTabOrder(self.escapeToolButton, self.regexpToolButton)
+        FindFileWidget.setTabOrder(self.regexpToolButton, self.fileOptionsWidget)
+        FindFileWidget.setTabOrder(self.fileOptionsWidget, self.fileTypeList)
+        FindFileWidget.setTabOrder(self.fileTypeList, self.filterCheckBox)
+        FindFileWidget.setTabOrder(self.filterCheckBox, self.filterComboBox)
+        FindFileWidget.setTabOrder(self.filterComboBox, self.filtersConfigButton)
+        FindFileWidget.setTabOrder(self.filtersConfigButton, self.projectButton)
+        FindFileWidget.setTabOrder(self.projectButton, self.dirButton)
+        FindFileWidget.setTabOrder(self.dirButton, self.dirPicker)
+        FindFileWidget.setTabOrder(self.dirPicker, self.openFilesButton)
+        FindFileWidget.setTabOrder(self.openFilesButton, self.excludeHiddenCheckBox)
+        FindFileWidget.setTabOrder(self.excludeHiddenCheckBox, self.findButton)
+        FindFileWidget.setTabOrder(self.findButton, self.stopButton)
+        FindFileWidget.setTabOrder(self.stopButton, self.clearButton)
+        FindFileWidget.setTabOrder(self.clearButton, self.findList)
+        FindFileWidget.setTabOrder(self.findList, self.replaceButton)
+
+    def retranslateUi(self, FindFileWidget):
+        _translate = QtCore.QCoreApplication.translate
+        self.TextLabel1.setText(_translate("FindFileWidget", "Find &text:"))
+        self.findtextCombo.setToolTip(_translate("FindFileWidget", "Enter the search text or regular expression"))
+        self.modeToggleButton.setToolTip(_translate("FindFileWidget", "Press to toggle the mode between find and replace mode"))
+        self.replaceLabel.setText(_translate("FindFileWidget", "Replace te&xt:"))
+        self.replacetextCombo.setToolTip(_translate("FindFileWidget", "Enter the replacement text or regular expression"))
+        self.caseToolButton.setToolTip(_translate("FindFileWidget", "Select to match case sensitive"))
+        self.wordToolButton.setToolTip(_translate("FindFileWidget", "Select to match whole words only"))
+        self.escapeToolButton.setToolTip(_translate("FindFileWidget", "Select if the search or replace text contains escape codes"))
+        self.regexpToolButton.setToolTip(_translate("FindFileWidget", "Select if the searchtext is a regular expression"))
+        self.fileTypeList.setToolTip(_translate("FindFileWidget", "Select the file types to search in"))
+        self.fileTypeList.setSortingEnabled(True)
+        self.filterCheckBox.setToolTip(_translate("FindFileWidget", "Select to filter the files by a given filename pattern"))
+        self.filterCheckBox.setText(_translate("FindFileWidget", "Fi&lter"))
+        self.filterComboBox.setToolTip(_translate("FindFileWidget", "Select the file filter to apply."))
+        self.filtersConfigButton.setToolTip(_translate("FindFileWidget", "Press to open a dialog to edit the list of defined filters."))
+        self.fileOptionsWidget.setTabText(self.fileOptionsWidget.indexOf(self.fileTypeTab), _translate("FindFileWidget", "File Type"))
+        self.projectButton.setToolTip(_translate("FindFileWidget", "Search in files of the current project"))
+        self.projectButton.setText(_translate("FindFileWidget", "&Project"))
+        self.dirButton.setToolTip(_translate("FindFileWidget", "Search in files of a directory tree to be entered below"))
+        self.dirButton.setText(_translate("FindFileWidget", "&Directory tree"))
+        self.dirPicker.setToolTip(_translate("FindFileWidget", "Enter the directory to search in"))
+        self.openFilesButton.setToolTip(_translate("FindFileWidget", "Search in open files only "))
+        self.openFilesButton.setText(_translate("FindFileWidget", "&Open files only"))
+        self.fileOptionsWidget.setTabText(self.fileOptionsWidget.indexOf(self.findInTab), _translate("FindFileWidget", "Find In"))
+        self.excludeHiddenCheckBox.setToolTip(_translate("FindFileWidget", "Select to exclude hidden files and directories when searching a directory tree."))
+        self.excludeHiddenCheckBox.setText(_translate("FindFileWidget", "Exclude hidden"))
+        self.findButton.setToolTip(_translate("FindFileWidget", "Press to start the search process"))
+        self.findButton.setText(_translate("FindFileWidget", "Search"))
+        self.stopButton.setToolTip(_translate("FindFileWidget", "Press to stop the current search process"))
+        self.stopButton.setText(_translate("FindFileWidget", "Stop"))
+        self.clearButton.setToolTip(_translate("FindFileWidget", "Press to clear the search results"))
+        self.clearButton.setText(_translate("FindFileWidget", "Clear"))
+        self.findProgress.setToolTip(_translate("FindFileWidget", "Shows the progress of the search action"))
+        self.findProgress.setFormat(_translate("FindFileWidget", "%v/%m Files"))
+        self.findList.setSortingEnabled(True)
+        self.findList.headerItem().setText(0, _translate("FindFileWidget", "File/Line"))
+        self.findList.headerItem().setText(1, _translate("FindFileWidget", "Text"))
+        self.replaceButton.setToolTip(_translate("FindFileWidget", "Press to apply the selected replacements"))
+        self.replaceButton.setText(_translate("FindFileWidget", "Replace"))
+from eric7.EricWidgets.EricPathPicker import EricComboPathPicker
+from eric7.EricWidgets.EricSqueezeLabels import EricSqueezeLabelPath
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/UI/Ui_FindLocationWidget.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,147 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/UI/FindLocationWidget.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_FindLocationWidget(object):
+    def setupUi(self, FindLocationWidget):
+        FindLocationWidget.setObjectName("FindLocationWidget")
+        FindLocationWidget.resize(600, 800)
+        self.verticalLayout = QtWidgets.QVBoxLayout(FindLocationWidget)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.textLabel1 = QtWidgets.QLabel(parent=FindLocationWidget)
+        self.textLabel1.setWordWrap(True)
+        self.textLabel1.setObjectName("textLabel1")
+        self.verticalLayout.addWidget(self.textLabel1)
+        self.hboxlayout = QtWidgets.QHBoxLayout()
+        self.hboxlayout.setObjectName("hboxlayout")
+        self.fileNameEdit = QtWidgets.QLineEdit(parent=FindLocationWidget)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(9)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.fileNameEdit.sizePolicy().hasHeightForWidth())
+        self.fileNameEdit.setSizePolicy(sizePolicy)
+        self.fileNameEdit.setClearButtonEnabled(True)
+        self.fileNameEdit.setObjectName("fileNameEdit")
+        self.hboxlayout.addWidget(self.fileNameEdit)
+        self.extsepLabel = QtWidgets.QLabel(parent=FindLocationWidget)
+        self.extsepLabel.setObjectName("extsepLabel")
+        self.hboxlayout.addWidget(self.extsepLabel)
+        self.fileExtEdit = QtWidgets.QLineEdit(parent=FindLocationWidget)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(1)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.fileExtEdit.sizePolicy().hasHeightForWidth())
+        self.fileExtEdit.setSizePolicy(sizePolicy)
+        self.fileExtEdit.setClearButtonEnabled(True)
+        self.fileExtEdit.setObjectName("fileExtEdit")
+        self.hboxlayout.addWidget(self.fileExtEdit)
+        self.verticalLayout.addLayout(self.hboxlayout)
+        self.searchDirCheckBox = QtWidgets.QCheckBox(parent=FindLocationWidget)
+        self.searchDirCheckBox.setEnabled(False)
+        self.searchDirCheckBox.setObjectName("searchDirCheckBox")
+        self.verticalLayout.addWidget(self.searchDirCheckBox)
+        self.searchDirPicker = EricPathPicker(parent=FindLocationWidget)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.searchDirPicker.sizePolicy().hasHeightForWidth())
+        self.searchDirPicker.setSizePolicy(sizePolicy)
+        self.searchDirPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.searchDirPicker.setObjectName("searchDirPicker")
+        self.verticalLayout.addWidget(self.searchDirPicker)
+        self.projectCheckBox = QtWidgets.QCheckBox(parent=FindLocationWidget)
+        self.projectCheckBox.setObjectName("projectCheckBox")
+        self.verticalLayout.addWidget(self.projectCheckBox)
+        self.syspathCheckBox = QtWidgets.QCheckBox(parent=FindLocationWidget)
+        self.syspathCheckBox.setObjectName("syspathCheckBox")
+        self.verticalLayout.addWidget(self.syspathCheckBox)
+        self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_3.addItem(spacerItem)
+        self.findButton = QtWidgets.QPushButton(parent=FindLocationWidget)
+        self.findButton.setObjectName("findButton")
+        self.horizontalLayout_3.addWidget(self.findButton)
+        self.stopButton = QtWidgets.QPushButton(parent=FindLocationWidget)
+        self.stopButton.setObjectName("stopButton")
+        self.horizontalLayout_3.addWidget(self.stopButton)
+        spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_3.addItem(spacerItem1)
+        self.verticalLayout.addLayout(self.horizontalLayout_3)
+        self.line_2 = QtWidgets.QFrame(parent=FindLocationWidget)
+        self.line_2.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line_2.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line_2.setObjectName("line_2")
+        self.verticalLayout.addWidget(self.line_2)
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.findStatusLabel = EricSqueezeLabelPath(parent=FindLocationWidget)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.findStatusLabel.sizePolicy().hasHeightForWidth())
+        self.findStatusLabel.setSizePolicy(sizePolicy)
+        self.findStatusLabel.setText("")
+        self.findStatusLabel.setObjectName("findStatusLabel")
+        self.horizontalLayout_2.addWidget(self.findStatusLabel)
+        self.clearButton = QtWidgets.QPushButton(parent=FindLocationWidget)
+        self.clearButton.setObjectName("clearButton")
+        self.horizontalLayout_2.addWidget(self.clearButton)
+        self.verticalLayout.addLayout(self.horizontalLayout_2)
+        self.fileList = QtWidgets.QTreeWidget(parent=FindLocationWidget)
+        self.fileList.setRootIsDecorated(False)
+        self.fileList.setObjectName("fileList")
+        self.verticalLayout.addWidget(self.fileList)
+        self.openButton = QtWidgets.QPushButton(parent=FindLocationWidget)
+        self.openButton.setObjectName("openButton")
+        self.verticalLayout.addWidget(self.openButton)
+
+        self.retranslateUi(FindLocationWidget)
+        QtCore.QMetaObject.connectSlotsByName(FindLocationWidget)
+        FindLocationWidget.setTabOrder(self.fileNameEdit, self.fileExtEdit)
+        FindLocationWidget.setTabOrder(self.fileExtEdit, self.searchDirCheckBox)
+        FindLocationWidget.setTabOrder(self.searchDirCheckBox, self.searchDirPicker)
+        FindLocationWidget.setTabOrder(self.searchDirPicker, self.projectCheckBox)
+        FindLocationWidget.setTabOrder(self.projectCheckBox, self.syspathCheckBox)
+        FindLocationWidget.setTabOrder(self.syspathCheckBox, self.findButton)
+        FindLocationWidget.setTabOrder(self.findButton, self.stopButton)
+        FindLocationWidget.setTabOrder(self.stopButton, self.clearButton)
+        FindLocationWidget.setTabOrder(self.clearButton, self.fileList)
+        FindLocationWidget.setTabOrder(self.fileList, self.openButton)
+
+    def retranslateUi(self, FindLocationWidget):
+        _translate = QtCore.QCoreApplication.translate
+        FindLocationWidget.setWindowTitle(_translate("FindLocationWidget", "Find File"))
+        self.textLabel1.setText(_translate("FindLocationWidget", "Enter filename (? matches any single character, * matches everything)"))
+        self.fileNameEdit.setToolTip(_translate("FindLocationWidget", "Enter file name to search for "))
+        self.extsepLabel.setText(_translate("FindLocationWidget", "."))
+        self.fileExtEdit.setToolTip(_translate("FindLocationWidget", "Enter file extension to search for"))
+        self.searchDirCheckBox.setToolTip(_translate("FindLocationWidget", "Enabled to include the entered directory into the search"))
+        self.searchDirCheckBox.setText(_translate("FindLocationWidget", "Search Path:"))
+        self.searchDirPicker.setToolTip(_translate("FindLocationWidget", "Enter the directory, the file should be searched in"))
+        self.projectCheckBox.setToolTip(_translate("FindLocationWidget", "Select to search in the project path"))
+        self.projectCheckBox.setText(_translate("FindLocationWidget", "Search in &project"))
+        self.projectCheckBox.setShortcut(_translate("FindLocationWidget", "Alt+P"))
+        self.syspathCheckBox.setToolTip(_translate("FindLocationWidget", "Select to search in sys.path"))
+        self.syspathCheckBox.setText(_translate("FindLocationWidget", "Search in &sys.path"))
+        self.syspathCheckBox.setShortcut(_translate("FindLocationWidget", "Alt+S"))
+        self.findButton.setToolTip(_translate("FindLocationWidget", "Press to start the search process"))
+        self.findButton.setText(_translate("FindLocationWidget", "Search"))
+        self.stopButton.setToolTip(_translate("FindLocationWidget", "Press to stop the current search process"))
+        self.stopButton.setText(_translate("FindLocationWidget", "Stop"))
+        self.clearButton.setToolTip(_translate("FindLocationWidget", "Press to clear the search results"))
+        self.clearButton.setText(_translate("FindLocationWidget", "Clear"))
+        self.fileList.setSortingEnabled(True)
+        self.fileList.headerItem().setText(0, _translate("FindLocationWidget", "Filename"))
+        self.fileList.headerItem().setText(1, _translate("FindLocationWidget", "Path"))
+        self.openButton.setToolTip(_translate("FindLocationWidget", "Press to open the selected file"))
+        self.openButton.setText(_translate("FindLocationWidget", "Open"))
+from eric7.EricWidgets.EricPathPicker import EricPathPicker
+from eric7.EricWidgets.EricSqueezeLabels import EricSqueezeLabelPath
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/UI/Ui_InstallInfoDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,143 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/UI/InstallInfoDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_InstallInfoDialog(object):
+    def setupUi(self, InstallInfoDialog):
+        InstallInfoDialog.setObjectName("InstallInfoDialog")
+        InstallInfoDialog.resize(800, 500)
+        InstallInfoDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(InstallInfoDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        spacerItem = QtWidgets.QSpacerItem(749, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_2.addItem(spacerItem)
+        self.editButton = QtWidgets.QToolButton(parent=InstallInfoDialog)
+        self.editButton.setCheckable(True)
+        self.editButton.setObjectName("editButton")
+        self.horizontalLayout_2.addWidget(self.editButton)
+        self.saveButton = QtWidgets.QToolButton(parent=InstallInfoDialog)
+        self.saveButton.setObjectName("saveButton")
+        self.horizontalLayout_2.addWidget(self.saveButton)
+        self.verticalLayout.addLayout(self.horizontalLayout_2)
+        self.gridLayout = QtWidgets.QGridLayout()
+        self.gridLayout.setObjectName("gridLayout")
+        self.commandEdit = QtWidgets.QLineEdit(parent=InstallInfoDialog)
+        self.commandEdit.setReadOnly(True)
+        self.commandEdit.setObjectName("commandEdit")
+        self.gridLayout.addWidget(self.commandEdit, 4, 1, 1, 1)
+        self.label_8 = QtWidgets.QLabel(parent=InstallInfoDialog)
+        self.label_8.setObjectName("label_8")
+        self.gridLayout.addWidget(self.label_8, 2, 0, 1, 1)
+        self.installedFromEdit = QtWidgets.QLineEdit(parent=InstallInfoDialog)
+        self.installedFromEdit.setReadOnly(True)
+        self.installedFromEdit.setObjectName("installedFromEdit")
+        self.gridLayout.addWidget(self.installedFromEdit, 2, 1, 1, 1)
+        self.label_5 = QtWidgets.QLabel(parent=InstallInfoDialog)
+        self.label_5.setObjectName("label_5")
+        self.gridLayout.addWidget(self.label_5, 6, 0, 1, 1)
+        self.label_2 = QtWidgets.QLabel(parent=InstallInfoDialog)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 1, 0, 1, 1)
+        self.label_3 = QtWidgets.QLabel(parent=InstallInfoDialog)
+        self.label_3.setObjectName("label_3")
+        self.gridLayout.addWidget(self.label_3, 4, 0, 1, 1)
+        self.virtenvLabel = QtWidgets.QLabel(parent=InstallInfoDialog)
+        self.virtenvLabel.setText("")
+        self.virtenvLabel.setObjectName("virtenvLabel")
+        self.gridLayout.addWidget(self.virtenvLabel, 6, 1, 1, 1)
+        self.sudoLabel1 = QtWidgets.QLabel(parent=InstallInfoDialog)
+        self.sudoLabel1.setText("")
+        self.sudoLabel1.setObjectName("sudoLabel1")
+        self.gridLayout.addWidget(self.sudoLabel1, 0, 0, 1, 1)
+        self.sudoLabel2 = QtWidgets.QLabel(parent=InstallInfoDialog)
+        self.sudoLabel2.setObjectName("sudoLabel2")
+        self.gridLayout.addWidget(self.sudoLabel2, 0, 1, 1, 1)
+        self.installDateTimeLabel = QtWidgets.QLabel(parent=InstallInfoDialog)
+        self.installDateTimeLabel.setObjectName("installDateTimeLabel")
+        self.gridLayout.addWidget(self.installDateTimeLabel, 7, 1, 1, 1)
+        self.userLabel = QtWidgets.QLabel(parent=InstallInfoDialog)
+        self.userLabel.setObjectName("userLabel")
+        self.gridLayout.addWidget(self.userLabel, 1, 1, 1, 1)
+        self.label_4 = QtWidgets.QLabel(parent=InstallInfoDialog)
+        self.label_4.setObjectName("label_4")
+        self.gridLayout.addWidget(self.label_4, 5, 0, 1, 1)
+        self.label_7 = QtWidgets.QLabel(parent=InstallInfoDialog)
+        self.label_7.setObjectName("label_7")
+        self.gridLayout.addWidget(self.label_7, 3, 0, 1, 1)
+        self.interpreteEdit = QtWidgets.QLineEdit(parent=InstallInfoDialog)
+        self.interpreteEdit.setReadOnly(True)
+        self.interpreteEdit.setObjectName("interpreteEdit")
+        self.gridLayout.addWidget(self.interpreteEdit, 3, 1, 1, 1)
+        self.installPathEdit = QtWidgets.QLineEdit(parent=InstallInfoDialog)
+        self.installPathEdit.setReadOnly(True)
+        self.installPathEdit.setObjectName("installPathEdit")
+        self.gridLayout.addWidget(self.installPathEdit, 5, 1, 1, 1)
+        self.label = QtWidgets.QLabel(parent=InstallInfoDialog)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 7, 0, 1, 1)
+        self.verticalLayout.addLayout(self.gridLayout)
+        self.pipLabel = QtWidgets.QLabel(parent=InstallInfoDialog)
+        self.pipLabel.setWordWrap(True)
+        self.pipLabel.setObjectName("pipLabel")
+        self.verticalLayout.addWidget(self.pipLabel)
+        self.guessLabel = QtWidgets.QLabel(parent=InstallInfoDialog)
+        self.guessLabel.setWordWrap(True)
+        self.guessLabel.setTextInteractionFlags(QtCore.Qt.TextInteractionFlag.LinksAccessibleByMouse)
+        self.guessLabel.setObjectName("guessLabel")
+        self.verticalLayout.addWidget(self.guessLabel)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.label_6 = QtWidgets.QLabel(parent=InstallInfoDialog)
+        self.label_6.setAlignment(QtCore.Qt.AlignmentFlag.AlignLeading|QtCore.Qt.AlignmentFlag.AlignLeft|QtCore.Qt.AlignmentFlag.AlignTop)
+        self.label_6.setObjectName("label_6")
+        self.horizontalLayout.addWidget(self.label_6)
+        self.remarksEdit = EricSpellCheckedPlainTextEdit(parent=InstallInfoDialog)
+        self.remarksEdit.setToolTip("")
+        self.remarksEdit.setReadOnly(True)
+        self.remarksEdit.setObjectName("remarksEdit")
+        self.horizontalLayout.addWidget(self.remarksEdit)
+        self.verticalLayout.addLayout(self.horizontalLayout)
+        self.userProvidedLabel = QtWidgets.QLabel(parent=InstallInfoDialog)
+        self.userProvidedLabel.setText("")
+        self.userProvidedLabel.setObjectName("userProvidedLabel")
+        self.verticalLayout.addWidget(self.userProvidedLabel)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=InstallInfoDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(InstallInfoDialog)
+        self.buttonBox.accepted.connect(InstallInfoDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(InstallInfoDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(InstallInfoDialog)
+        InstallInfoDialog.setTabOrder(self.installedFromEdit, self.interpreteEdit)
+        InstallInfoDialog.setTabOrder(self.interpreteEdit, self.commandEdit)
+        InstallInfoDialog.setTabOrder(self.commandEdit, self.installPathEdit)
+        InstallInfoDialog.setTabOrder(self.installPathEdit, self.remarksEdit)
+        InstallInfoDialog.setTabOrder(self.remarksEdit, self.editButton)
+        InstallInfoDialog.setTabOrder(self.editButton, self.saveButton)
+
+    def retranslateUi(self, InstallInfoDialog):
+        _translate = QtCore.QCoreApplication.translate
+        InstallInfoDialog.setWindowTitle(_translate("InstallInfoDialog", "Installation Information"))
+        self.editButton.setToolTip(_translate("InstallInfoDialog", "Press to change to edit mode"))
+        self.saveButton.setToolTip(_translate("InstallInfoDialog", "Press to save the changed information"))
+        self.label_8.setText(_translate("InstallInfoDialog", "Installed From:"))
+        self.label_5.setText(_translate("InstallInfoDialog", "Installed in VirtualEnv:"))
+        self.label_2.setText(_translate("InstallInfoDialog", "User name of installer:"))
+        self.label_3.setText(_translate("InstallInfoDialog", "Install Command:"))
+        self.label_4.setText(_translate("InstallInfoDialog", "Installation Path:"))
+        self.label_7.setText(_translate("InstallInfoDialog", "Python Interpreter:"))
+        self.label.setText(_translate("InstallInfoDialog", "Installation Date:"))
+        self.label_6.setText(_translate("InstallInfoDialog", "Remarks:"))
+from eric7.EricWidgets.EricSpellCheckedTextEdit import EricSpellCheckedPlainTextEdit
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/UI/Ui_NotificationFrame.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,56 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/UI/NotificationFrame.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_NotificationFrame(object):
+    def setupUi(self, NotificationFrame):
+        NotificationFrame.setObjectName("NotificationFrame")
+        NotificationFrame.resize(400, 80)
+        NotificationFrame.setFrameShape(QtWidgets.QFrame.Shape.StyledPanel)
+        NotificationFrame.setFrameShadow(QtWidgets.QFrame.Shadow.Raised)
+        NotificationFrame.setLineWidth(1)
+        self.horizontalLayout = QtWidgets.QHBoxLayout(NotificationFrame)
+        self.horizontalLayout.setContentsMargins(4, 4, 4, 4)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.icon = QtWidgets.QLabel(parent=NotificationFrame)
+        self.icon.setMaximumSize(QtCore.QSize(48, 48))
+        self.icon.setText("")
+        self.icon.setObjectName("icon")
+        self.horizontalLayout.addWidget(self.icon)
+        self.verticalLayout = QtWidgets.QVBoxLayout()
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.heading = QtWidgets.QLabel(parent=NotificationFrame)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.heading.sizePolicy().hasHeightForWidth())
+        self.heading.setSizePolicy(sizePolicy)
+        self.heading.setMinimumSize(QtCore.QSize(335, 0))
+        font = QtGui.QFont()
+        font.setBold(True)
+        font.setWeight(75)
+        self.heading.setFont(font)
+        self.heading.setText("")
+        self.heading.setObjectName("heading")
+        self.verticalLayout.addWidget(self.heading)
+        self.text = QtWidgets.QLabel(parent=NotificationFrame)
+        self.text.setMinimumSize(QtCore.QSize(335, 0))
+        self.text.setText("")
+        self.text.setAlignment(QtCore.Qt.AlignmentFlag.AlignLeading|QtCore.Qt.AlignmentFlag.AlignLeft|QtCore.Qt.AlignmentFlag.AlignTop)
+        self.text.setWordWrap(True)
+        self.text.setObjectName("text")
+        self.verticalLayout.addWidget(self.text)
+        self.horizontalLayout.addLayout(self.verticalLayout)
+
+        self.retranslateUi(NotificationFrame)
+        QtCore.QMetaObject.connectSlotsByName(NotificationFrame)
+
+    def retranslateUi(self, NotificationFrame):
+        pass
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/UI/Ui_NumbersWidget.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,166 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/UI/NumbersWidget.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_NumbersWidget(object):
+    def setupUi(self, NumbersWidget):
+        NumbersWidget.setObjectName("NumbersWidget")
+        NumbersWidget.resize(749, 160)
+        self.gridLayout_2 = QtWidgets.QGridLayout(NumbersWidget)
+        self.gridLayout_2.setContentsMargins(0, 0, 0, 0)
+        self.gridLayout_2.setObjectName("gridLayout_2")
+        self.horizontalLayout_6 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_6.setObjectName("horizontalLayout_6")
+        self.binaryGroup = QtWidgets.QGroupBox(parent=NumbersWidget)
+        self.binaryGroup.setObjectName("binaryGroup")
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.binaryGroup)
+        self.horizontalLayout_2.setContentsMargins(2, 2, 2, 2)
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.binInButton = QtWidgets.QToolButton(parent=self.binaryGroup)
+        self.binInButton.setObjectName("binInButton")
+        self.horizontalLayout_2.addWidget(self.binInButton)
+        self.binEdit = QtWidgets.QLineEdit(parent=self.binaryGroup)
+        self.binEdit.setMaxLength(64)
+        self.binEdit.setObjectName("binEdit")
+        self.horizontalLayout_2.addWidget(self.binEdit)
+        self.binOutButton = QtWidgets.QToolButton(parent=self.binaryGroup)
+        self.binOutButton.setObjectName("binOutButton")
+        self.horizontalLayout_2.addWidget(self.binOutButton)
+        self.horizontalLayout_6.addWidget(self.binaryGroup)
+        self.octalGroup = QtWidgets.QGroupBox(parent=NumbersWidget)
+        self.octalGroup.setObjectName("octalGroup")
+        self.horizontalLayout_3 = QtWidgets.QHBoxLayout(self.octalGroup)
+        self.horizontalLayout_3.setContentsMargins(2, 2, 2, 2)
+        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
+        self.octInButton = QtWidgets.QToolButton(parent=self.octalGroup)
+        self.octInButton.setObjectName("octInButton")
+        self.horizontalLayout_3.addWidget(self.octInButton)
+        self.octEdit = QtWidgets.QLineEdit(parent=self.octalGroup)
+        self.octEdit.setMaxLength(24)
+        self.octEdit.setObjectName("octEdit")
+        self.horizontalLayout_3.addWidget(self.octEdit)
+        self.octOutButton = QtWidgets.QToolButton(parent=self.octalGroup)
+        self.octOutButton.setObjectName("octOutButton")
+        self.horizontalLayout_3.addWidget(self.octOutButton)
+        self.horizontalLayout_6.addWidget(self.octalGroup)
+        self.decimalGroup = QtWidgets.QGroupBox(parent=NumbersWidget)
+        self.decimalGroup.setObjectName("decimalGroup")
+        self.horizontalLayout_4 = QtWidgets.QHBoxLayout(self.decimalGroup)
+        self.horizontalLayout_4.setContentsMargins(2, 2, 2, 2)
+        self.horizontalLayout_4.setObjectName("horizontalLayout_4")
+        self.decInButton = QtWidgets.QToolButton(parent=self.decimalGroup)
+        self.decInButton.setObjectName("decInButton")
+        self.horizontalLayout_4.addWidget(self.decInButton)
+        self.decEdit = QtWidgets.QLineEdit(parent=self.decimalGroup)
+        self.decEdit.setMaxLength(22)
+        self.decEdit.setObjectName("decEdit")
+        self.horizontalLayout_4.addWidget(self.decEdit)
+        self.decOutButton = QtWidgets.QToolButton(parent=self.decimalGroup)
+        self.decOutButton.setObjectName("decOutButton")
+        self.horizontalLayout_4.addWidget(self.decOutButton)
+        self.horizontalLayout_6.addWidget(self.decimalGroup)
+        self.hexGroup = QtWidgets.QGroupBox(parent=NumbersWidget)
+        self.hexGroup.setObjectName("hexGroup")
+        self.horizontalLayout_5 = QtWidgets.QHBoxLayout(self.hexGroup)
+        self.horizontalLayout_5.setContentsMargins(2, 2, 2, 2)
+        self.horizontalLayout_5.setObjectName("horizontalLayout_5")
+        self.hexInButton = QtWidgets.QToolButton(parent=self.hexGroup)
+        self.hexInButton.setObjectName("hexInButton")
+        self.horizontalLayout_5.addWidget(self.hexInButton)
+        self.hexEdit = QtWidgets.QLineEdit(parent=self.hexGroup)
+        self.hexEdit.setMaxLength(16)
+        self.hexEdit.setObjectName("hexEdit")
+        self.horizontalLayout_5.addWidget(self.hexEdit)
+        self.hexOutButton = QtWidgets.QToolButton(parent=self.hexGroup)
+        self.hexOutButton.setObjectName("hexOutButton")
+        self.horizontalLayout_5.addWidget(self.hexOutButton)
+        self.horizontalLayout_6.addWidget(self.hexGroup)
+        self.gridLayout_2.addLayout(self.horizontalLayout_6, 0, 0, 1, 2)
+        self.binTable = QtWidgets.QTableView(parent=NumbersWidget)
+        self.binTable.setEditTriggers(QtWidgets.QAbstractItemView.EditTrigger.AllEditTriggers)
+        self.binTable.setTabKeyNavigation(False)
+        self.binTable.setProperty("showDropIndicator", False)
+        self.binTable.setDragDropOverwriteMode(False)
+        self.binTable.setVerticalScrollMode(QtWidgets.QAbstractItemView.ScrollMode.ScrollPerPixel)
+        self.binTable.setHorizontalScrollMode(QtWidgets.QAbstractItemView.ScrollMode.ScrollPerPixel)
+        self.binTable.setShowGrid(False)
+        self.binTable.setCornerButtonEnabled(False)
+        self.binTable.setObjectName("binTable")
+        self.binTable.verticalHeader().setVisible(False)
+        self.gridLayout_2.addWidget(self.binTable, 1, 0, 1, 1)
+        self.gridLayout = QtWidgets.QGridLayout()
+        self.gridLayout.setObjectName("gridLayout")
+        self.label = QtWidgets.QLabel(parent=NumbersWidget)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
+        self.formatBox = EricTextSpinBox(parent=NumbersWidget)
+        self.formatBox.setWrapping(True)
+        self.formatBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
+        self.formatBox.setObjectName("formatBox")
+        self.gridLayout.addWidget(self.formatBox, 0, 1, 1, 1)
+        self.label_2 = QtWidgets.QLabel(parent=NumbersWidget)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 1, 0, 1, 1)
+        self.sizeBox = EricTextSpinBox(parent=NumbersWidget)
+        self.sizeBox.setWrapping(True)
+        self.sizeBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
+        self.sizeBox.setObjectName("sizeBox")
+        self.gridLayout.addWidget(self.sizeBox, 1, 1, 1, 1)
+        self.byteOrderButton = QtWidgets.QPushButton(parent=NumbersWidget)
+        self.byteOrderButton.setObjectName("byteOrderButton")
+        self.gridLayout.addWidget(self.byteOrderButton, 2, 0, 1, 2)
+        spacerItem = QtWidgets.QSpacerItem(62, 13, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.gridLayout.addItem(spacerItem, 3, 1, 1, 1)
+        self.gridLayout_2.addLayout(self.gridLayout, 1, 1, 1, 1)
+
+        self.retranslateUi(NumbersWidget)
+        QtCore.QMetaObject.connectSlotsByName(NumbersWidget)
+        NumbersWidget.setTabOrder(self.binInButton, self.binEdit)
+        NumbersWidget.setTabOrder(self.binEdit, self.binOutButton)
+        NumbersWidget.setTabOrder(self.binOutButton, self.octInButton)
+        NumbersWidget.setTabOrder(self.octInButton, self.octEdit)
+        NumbersWidget.setTabOrder(self.octEdit, self.octOutButton)
+        NumbersWidget.setTabOrder(self.octOutButton, self.decInButton)
+        NumbersWidget.setTabOrder(self.decInButton, self.decEdit)
+        NumbersWidget.setTabOrder(self.decEdit, self.decOutButton)
+        NumbersWidget.setTabOrder(self.decOutButton, self.hexInButton)
+        NumbersWidget.setTabOrder(self.hexInButton, self.hexEdit)
+        NumbersWidget.setTabOrder(self.hexEdit, self.hexOutButton)
+        NumbersWidget.setTabOrder(self.hexOutButton, self.binTable)
+        NumbersWidget.setTabOrder(self.binTable, self.formatBox)
+        NumbersWidget.setTabOrder(self.formatBox, self.sizeBox)
+        NumbersWidget.setTabOrder(self.sizeBox, self.byteOrderButton)
+
+    def retranslateUi(self, NumbersWidget):
+        _translate = QtCore.QCoreApplication.translate
+        NumbersWidget.setWindowTitle(_translate("NumbersWidget", "Numbers Formats"))
+        self.binaryGroup.setTitle(_translate("NumbersWidget", "Binary"))
+        self.binInButton.setToolTip(_translate("NumbersWidget", "Press to import the selected binary number"))
+        self.binEdit.setToolTip(_translate("NumbersWidget", "Enter the binary number"))
+        self.binOutButton.setToolTip(_translate("NumbersWidget", "Press to send the binary number to the current editor"))
+        self.octalGroup.setTitle(_translate("NumbersWidget", "Octal"))
+        self.octInButton.setToolTip(_translate("NumbersWidget", "Press to import the selected octal number"))
+        self.octEdit.setToolTip(_translate("NumbersWidget", "Enter the octal number"))
+        self.octOutButton.setToolTip(_translate("NumbersWidget", "Press to send the octal number to the current editor"))
+        self.decimalGroup.setTitle(_translate("NumbersWidget", "Decimal"))
+        self.decInButton.setToolTip(_translate("NumbersWidget", "Press to import the selected decimal number"))
+        self.decEdit.setToolTip(_translate("NumbersWidget", "Enter the decimal number"))
+        self.decOutButton.setToolTip(_translate("NumbersWidget", "Press to send the decimal number to the current editor"))
+        self.hexGroup.setTitle(_translate("NumbersWidget", "Hexadecimal"))
+        self.hexInButton.setToolTip(_translate("NumbersWidget", "Press to import the selected hex number"))
+        self.hexEdit.setToolTip(_translate("NumbersWidget", "Enter the hex number"))
+        self.hexOutButton.setToolTip(_translate("NumbersWidget", "Press to send the hex number to the current editor"))
+        self.label.setText(_translate("NumbersWidget", "Input Format:"))
+        self.formatBox.setToolTip(_translate("NumbersWidget", "Select the input format"))
+        self.label_2.setText(_translate("NumbersWidget", "Bitsize:"))
+        self.sizeBox.setToolTip(_translate("NumbersWidget", "Select the bit size"))
+        self.byteOrderButton.setToolTip(_translate("NumbersWidget", "Press to swap the current byte order"))
+        self.byteOrderButton.setText(_translate("NumbersWidget", "Swap byte order"))
+from eric7.EricWidgets.EricTextSpinBox import EricTextSpinBox
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/UI/Ui_PythonDisViewer.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,66 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/UI/PythonDisViewer.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_PythonDisViewer(object):
+    def setupUi(self, PythonDisViewer):
+        PythonDisViewer.setObjectName("PythonDisViewer")
+        PythonDisViewer.resize(400, 577)
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(PythonDisViewer)
+        self.verticalLayout_2.setContentsMargins(0, 0, 0, 0)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.splitter = QtWidgets.QSplitter(parent=PythonDisViewer)
+        self.splitter.setOrientation(QtCore.Qt.Orientation.Vertical)
+        self.splitter.setChildrenCollapsible(False)
+        self.splitter.setObjectName("splitter")
+        self.layoutWidget = QtWidgets.QWidget(parent=self.splitter)
+        self.layoutWidget.setObjectName("layoutWidget")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.layoutWidget)
+        self.verticalLayout.setContentsMargins(0, 0, 0, 0)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.disWidget = QtWidgets.QTreeWidget(parent=self.layoutWidget)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.disWidget.sizePolicy().hasHeightForWidth())
+        self.disWidget.setSizePolicy(sizePolicy)
+        self.disWidget.setContextMenuPolicy(QtCore.Qt.ContextMenuPolicy.CustomContextMenu)
+        self.disWidget.setAlternatingRowColors(True)
+        self.disWidget.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.ExtendedSelection)
+        self.disWidget.setAllColumnsShowFocus(True)
+        self.disWidget.setObjectName("disWidget")
+        self.disWidget.headerItem().setText(0, "1")
+        self.verticalLayout.addWidget(self.disWidget)
+        self.currentInfoLabel = QtWidgets.QLabel(parent=self.layoutWidget)
+        self.currentInfoLabel.setObjectName("currentInfoLabel")
+        self.verticalLayout.addWidget(self.currentInfoLabel)
+        self.labeledInfoLabel = QtWidgets.QLabel(parent=self.layoutWidget)
+        self.labeledInfoLabel.setObjectName("labeledInfoLabel")
+        self.verticalLayout.addWidget(self.labeledInfoLabel)
+        self.codeInfoWidget = QtWidgets.QTreeWidget(parent=self.splitter)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.codeInfoWidget.sizePolicy().hasHeightForWidth())
+        self.codeInfoWidget.setSizePolicy(sizePolicy)
+        self.codeInfoWidget.setContextMenuPolicy(QtCore.Qt.ContextMenuPolicy.CustomContextMenu)
+        self.codeInfoWidget.setAlternatingRowColors(True)
+        self.codeInfoWidget.setObjectName("codeInfoWidget")
+        self.codeInfoWidget.headerItem().setText(0, "1")
+        self.verticalLayout_2.addWidget(self.splitter)
+
+        self.retranslateUi(PythonDisViewer)
+        QtCore.QMetaObject.connectSlotsByName(PythonDisViewer)
+
+    def retranslateUi(self, PythonDisViewer):
+        _translate = QtCore.QCoreApplication.translate
+        PythonDisViewer.setWindowTitle(_translate("PythonDisViewer", "Disassembly"))
+        self.currentInfoLabel.setText(_translate("PythonDisViewer", "italic: current instruction"))
+        self.labeledInfoLabel.setText(_translate("PythonDisViewer", "bold: labeled instruction"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/UI/Ui_SearchWidget.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,91 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/UI/SearchWidget.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_SearchWidget(object):
+    def setupUi(self, SearchWidget):
+        SearchWidget.setObjectName("SearchWidget")
+        SearchWidget.resize(278, 142)
+        self.verticalLayout = QtWidgets.QVBoxLayout(SearchWidget)
+        self.verticalLayout.setContentsMargins(0, 0, 0, 0)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.closeButton = QtWidgets.QToolButton(parent=SearchWidget)
+        self.closeButton.setText("")
+        self.closeButton.setObjectName("closeButton")
+        self.horizontalLayout.addWidget(self.closeButton)
+        self.label = QtWidgets.QLabel(parent=SearchWidget)
+        self.label.setObjectName("label")
+        self.horizontalLayout.addWidget(self.label)
+        self.findtextCombo = QtWidgets.QComboBox(parent=SearchWidget)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.findtextCombo.sizePolicy().hasHeightForWidth())
+        self.findtextCombo.setSizePolicy(sizePolicy)
+        self.findtextCombo.setMinimumSize(QtCore.QSize(200, 0))
+        self.findtextCombo.setEditable(True)
+        self.findtextCombo.setInsertPolicy(QtWidgets.QComboBox.InsertPolicy.InsertAtTop)
+        self.findtextCombo.setDuplicatesEnabled(False)
+        self.findtextCombo.setObjectName("findtextCombo")
+        self.horizontalLayout.addWidget(self.findtextCombo)
+        self.verticalLayout.addLayout(self.horizontalLayout)
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.caseCheckBox = QtWidgets.QCheckBox(parent=SearchWidget)
+        self.caseCheckBox.setObjectName("caseCheckBox")
+        self.horizontalLayout_2.addWidget(self.caseCheckBox)
+        self.wordCheckBox = QtWidgets.QCheckBox(parent=SearchWidget)
+        self.wordCheckBox.setObjectName("wordCheckBox")
+        self.horizontalLayout_2.addWidget(self.wordCheckBox)
+        self.regexpCheckBox = QtWidgets.QCheckBox(parent=SearchWidget)
+        self.regexpCheckBox.setObjectName("regexpCheckBox")
+        self.horizontalLayout_2.addWidget(self.regexpCheckBox)
+        self.verticalLayout.addLayout(self.horizontalLayout_2)
+        self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_3.setSpacing(0)
+        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_3.addItem(spacerItem)
+        self.findPrevButton = QtWidgets.QToolButton(parent=SearchWidget)
+        self.findPrevButton.setObjectName("findPrevButton")
+        self.horizontalLayout_3.addWidget(self.findPrevButton)
+        self.findNextButton = QtWidgets.QToolButton(parent=SearchWidget)
+        self.findNextButton.setObjectName("findNextButton")
+        self.horizontalLayout_3.addWidget(self.findNextButton)
+        spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_3.addItem(spacerItem1)
+        self.verticalLayout.addLayout(self.horizontalLayout_3)
+        self.statusLabel = QtWidgets.QLabel(parent=SearchWidget)
+        self.statusLabel.setText("")
+        self.statusLabel.setWordWrap(True)
+        self.statusLabel.setObjectName("statusLabel")
+        self.verticalLayout.addWidget(self.statusLabel)
+
+        self.retranslateUi(SearchWidget)
+        QtCore.QMetaObject.connectSlotsByName(SearchWidget)
+        SearchWidget.setTabOrder(self.findtextCombo, self.caseCheckBox)
+        SearchWidget.setTabOrder(self.caseCheckBox, self.wordCheckBox)
+        SearchWidget.setTabOrder(self.wordCheckBox, self.regexpCheckBox)
+        SearchWidget.setTabOrder(self.regexpCheckBox, self.findPrevButton)
+        SearchWidget.setTabOrder(self.findPrevButton, self.findNextButton)
+        SearchWidget.setTabOrder(self.findNextButton, self.closeButton)
+
+    def retranslateUi(self, SearchWidget):
+        _translate = QtCore.QCoreApplication.translate
+        SearchWidget.setWindowTitle(_translate("SearchWidget", "Find"))
+        self.closeButton.setToolTip(_translate("SearchWidget", "Press to close the window"))
+        self.label.setText(_translate("SearchWidget", "Find:"))
+        self.caseCheckBox.setText(_translate("SearchWidget", "Match case"))
+        self.wordCheckBox.setText(_translate("SearchWidget", "Whole word"))
+        self.regexpCheckBox.setText(_translate("SearchWidget", "Regexp"))
+        self.findPrevButton.setToolTip(_translate("SearchWidget", "Press to find the previous occurrence"))
+        self.findNextButton.setToolTip(_translate("SearchWidget", "Press to find the next occurrence"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/UI/Ui_SearchWidgetLine.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,87 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/UI/SearchWidgetLine.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_SearchWidgetLine(object):
+    def setupUi(self, SearchWidgetLine):
+        SearchWidgetLine.setObjectName("SearchWidgetLine")
+        SearchWidgetLine.resize(606, 52)
+        self.verticalLayout = QtWidgets.QVBoxLayout(SearchWidgetLine)
+        self.verticalLayout.setContentsMargins(0, 0, 0, 0)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.closeButton = QtWidgets.QToolButton(parent=SearchWidgetLine)
+        self.closeButton.setText("")
+        self.closeButton.setObjectName("closeButton")
+        self.horizontalLayout_2.addWidget(self.closeButton)
+        self.label = QtWidgets.QLabel(parent=SearchWidgetLine)
+        self.label.setObjectName("label")
+        self.horizontalLayout_2.addWidget(self.label)
+        self.findtextCombo = QtWidgets.QComboBox(parent=SearchWidgetLine)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.findtextCombo.sizePolicy().hasHeightForWidth())
+        self.findtextCombo.setSizePolicy(sizePolicy)
+        self.findtextCombo.setMinimumSize(QtCore.QSize(200, 0))
+        self.findtextCombo.setEditable(True)
+        self.findtextCombo.setInsertPolicy(QtWidgets.QComboBox.InsertPolicy.InsertAtTop)
+        self.findtextCombo.setDuplicatesEnabled(False)
+        self.findtextCombo.setObjectName("findtextCombo")
+        self.horizontalLayout_2.addWidget(self.findtextCombo)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setSpacing(0)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.findPrevButton = QtWidgets.QToolButton(parent=SearchWidgetLine)
+        self.findPrevButton.setObjectName("findPrevButton")
+        self.horizontalLayout.addWidget(self.findPrevButton)
+        self.findNextButton = QtWidgets.QToolButton(parent=SearchWidgetLine)
+        self.findNextButton.setObjectName("findNextButton")
+        self.horizontalLayout.addWidget(self.findNextButton)
+        self.horizontalLayout_2.addLayout(self.horizontalLayout)
+        self.caseCheckBox = QtWidgets.QCheckBox(parent=SearchWidgetLine)
+        self.caseCheckBox.setObjectName("caseCheckBox")
+        self.horizontalLayout_2.addWidget(self.caseCheckBox)
+        self.wordCheckBox = QtWidgets.QCheckBox(parent=SearchWidgetLine)
+        self.wordCheckBox.setObjectName("wordCheckBox")
+        self.horizontalLayout_2.addWidget(self.wordCheckBox)
+        self.regexpCheckBox = QtWidgets.QCheckBox(parent=SearchWidgetLine)
+        self.regexpCheckBox.setObjectName("regexpCheckBox")
+        self.horizontalLayout_2.addWidget(self.regexpCheckBox)
+        self.verticalLayout.addLayout(self.horizontalLayout_2)
+        self.statusLabel = QtWidgets.QLabel(parent=SearchWidgetLine)
+        self.statusLabel.setText("")
+        self.statusLabel.setWordWrap(True)
+        self.statusLabel.setObjectName("statusLabel")
+        self.verticalLayout.addWidget(self.statusLabel)
+
+        self.retranslateUi(SearchWidgetLine)
+        QtCore.QMetaObject.connectSlotsByName(SearchWidgetLine)
+        SearchWidgetLine.setTabOrder(self.findtextCombo, self.caseCheckBox)
+        SearchWidgetLine.setTabOrder(self.caseCheckBox, self.wordCheckBox)
+        SearchWidgetLine.setTabOrder(self.wordCheckBox, self.regexpCheckBox)
+        SearchWidgetLine.setTabOrder(self.regexpCheckBox, self.findPrevButton)
+        SearchWidgetLine.setTabOrder(self.findPrevButton, self.findNextButton)
+        SearchWidgetLine.setTabOrder(self.findNextButton, self.closeButton)
+
+    def retranslateUi(self, SearchWidgetLine):
+        _translate = QtCore.QCoreApplication.translate
+        SearchWidgetLine.setWindowTitle(_translate("SearchWidgetLine", "Find"))
+        self.closeButton.setToolTip(_translate("SearchWidgetLine", "Press to close the window"))
+        self.label.setText(_translate("SearchWidgetLine", "Find:"))
+        self.findPrevButton.setToolTip(_translate("SearchWidgetLine", "Press to find the previous occurrence"))
+        self.findNextButton.setToolTip(_translate("SearchWidgetLine", "Press to find the next occurrence"))
+        self.caseCheckBox.setToolTip(_translate("SearchWidgetLine", "Select to match case sensitive"))
+        self.caseCheckBox.setText(_translate("SearchWidgetLine", "Match case"))
+        self.wordCheckBox.setToolTip(_translate("SearchWidgetLine", "Select to match whole words only"))
+        self.wordCheckBox.setText(_translate("SearchWidgetLine", "Whole word"))
+        self.regexpCheckBox.setToolTip(_translate("SearchWidgetLine", "Select if the searchtext is a regular expression"))
+        self.regexpCheckBox.setText(_translate("SearchWidgetLine", "Regexp"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/UI/Ui_SymbolsWidget.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,63 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/UI/SymbolsWidget.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_SymbolsWidget(object):
+    def setupUi(self, SymbolsWidget):
+        SymbolsWidget.setObjectName("SymbolsWidget")
+        SymbolsWidget.resize(268, 300)
+        self.verticalLayout = QtWidgets.QVBoxLayout(SymbolsWidget)
+        self.verticalLayout.setContentsMargins(0, 4, 0, 0)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.tableCombo = QtWidgets.QComboBox(parent=SymbolsWidget)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Ignored, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.tableCombo.sizePolicy().hasHeightForWidth())
+        self.tableCombo.setSizePolicy(sizePolicy)
+        self.tableCombo.setSizeAdjustPolicy(QtWidgets.QComboBox.SizeAdjustPolicy.AdjustToMinimumContentsLengthWithIcon)
+        self.tableCombo.setObjectName("tableCombo")
+        self.verticalLayout.addWidget(self.tableCombo)
+        self.symbolsTable = QtWidgets.QTableView(parent=SymbolsWidget)
+        self.symbolsTable.setAlternatingRowColors(True)
+        self.symbolsTable.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.SingleSelection)
+        self.symbolsTable.setSelectionBehavior(QtWidgets.QAbstractItemView.SelectionBehavior.SelectRows)
+        self.symbolsTable.setTextElideMode(QtCore.Qt.TextElideMode.ElideNone)
+        self.symbolsTable.setHorizontalScrollMode(QtWidgets.QAbstractItemView.ScrollMode.ScrollPerPixel)
+        self.symbolsTable.setObjectName("symbolsTable")
+        self.symbolsTable.verticalHeader().setVisible(False)
+        self.verticalLayout.addWidget(self.symbolsTable)
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        spacerItem = QtWidgets.QSpacerItem(120, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_2.addItem(spacerItem)
+        self.label = QtWidgets.QLabel(parent=SymbolsWidget)
+        self.label.setObjectName("label")
+        self.horizontalLayout_2.addWidget(self.label)
+        self.symbolSpinBox = QtWidgets.QSpinBox(parent=SymbolsWidget)
+        self.symbolSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.symbolSpinBox.setMinimum(0)
+        self.symbolSpinBox.setMaximum(2000000)
+        self.symbolSpinBox.setSingleStep(32)
+        self.symbolSpinBox.setObjectName("symbolSpinBox")
+        self.horizontalLayout_2.addWidget(self.symbolSpinBox)
+        self.verticalLayout.addLayout(self.horizontalLayout_2)
+
+        self.retranslateUi(SymbolsWidget)
+        QtCore.QMetaObject.connectSlotsByName(SymbolsWidget)
+        SymbolsWidget.setTabOrder(self.tableCombo, self.symbolsTable)
+        SymbolsWidget.setTabOrder(self.symbolsTable, self.symbolSpinBox)
+
+    def retranslateUi(self, SymbolsWidget):
+        _translate = QtCore.QCoreApplication.translate
+        SymbolsWidget.setWindowTitle(_translate("SymbolsWidget", "Symbols"))
+        self.tableCombo.setToolTip(_translate("SymbolsWidget", "Select the table to be shown"))
+        self.label.setText(_translate("SymbolsWidget", "Symbol code:"))
+        self.symbolSpinBox.setToolTip(_translate("SymbolsWidget", "Enter the symbol code"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/UI/Ui_VersionsDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,47 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/UI/VersionsDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_VersionsDialog(object):
+    def setupUi(self, VersionsDialog):
+        VersionsDialog.setObjectName("VersionsDialog")
+        VersionsDialog.resize(550, 600)
+        VersionsDialog.setSizeGripEnabled(True)
+        self.gridLayout = QtWidgets.QGridLayout(VersionsDialog)
+        self.gridLayout.setObjectName("gridLayout")
+        self.iconLabel = QtWidgets.QLabel(parent=VersionsDialog)
+        self.iconLabel.setText("")
+        self.iconLabel.setAlignment(QtCore.Qt.AlignmentFlag.AlignLeading|QtCore.Qt.AlignmentFlag.AlignLeft|QtCore.Qt.AlignmentFlag.AlignTop)
+        self.iconLabel.setObjectName("iconLabel")
+        self.gridLayout.addWidget(self.iconLabel, 0, 0, 1, 1)
+        self.textLabel = QtWidgets.QLabel(parent=VersionsDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.textLabel.sizePolicy().hasHeightForWidth())
+        self.textLabel.setSizePolicy(sizePolicy)
+        self.textLabel.setText("")
+        self.textLabel.setAlignment(QtCore.Qt.AlignmentFlag.AlignLeading|QtCore.Qt.AlignmentFlag.AlignLeft|QtCore.Qt.AlignmentFlag.AlignTop)
+        self.textLabel.setWordWrap(True)
+        self.textLabel.setObjectName("textLabel")
+        self.gridLayout.addWidget(self.textLabel, 0, 1, 1, 1)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=VersionsDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout.addWidget(self.buttonBox, 1, 0, 1, 2)
+
+        self.retranslateUi(VersionsDialog)
+        self.buttonBox.accepted.connect(VersionsDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(VersionsDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(VersionsDialog)
+
+    def retranslateUi(self, VersionsDialog):
+        pass
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/VCS/Ui_CommandOptionsDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,180 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/VCS/CommandOptionsDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_VcsCommandOptionsDialog(object):
+    def setupUi(self, VcsCommandOptionsDialog):
+        VcsCommandOptionsDialog.setObjectName("VcsCommandOptionsDialog")
+        VcsCommandOptionsDialog.resize(531, 413)
+        VcsCommandOptionsDialog.setSizeGripEnabled(True)
+        self.vboxlayout = QtWidgets.QVBoxLayout(VcsCommandOptionsDialog)
+        self.vboxlayout.setObjectName("vboxlayout")
+        self.gridlayout = QtWidgets.QGridLayout()
+        self.gridlayout.setObjectName("gridlayout")
+        self.historyLabel = QtWidgets.QLabel(parent=VcsCommandOptionsDialog)
+        self.historyLabel.setObjectName("historyLabel")
+        self.gridlayout.addWidget(self.historyLabel, 8, 0, 1, 1)
+        self.addLabel = QtWidgets.QLabel(parent=VcsCommandOptionsDialog)
+        self.addLabel.setObjectName("addLabel")
+        self.gridlayout.addWidget(self.addLabel, 4, 0, 1, 1)
+        self.removeLabel = QtWidgets.QLabel(parent=VcsCommandOptionsDialog)
+        self.removeLabel.setObjectName("removeLabel")
+        self.gridlayout.addWidget(self.removeLabel, 5, 0, 1, 1)
+        self.tagLabel = QtWidgets.QLabel(parent=VcsCommandOptionsDialog)
+        self.tagLabel.setObjectName("tagLabel")
+        self.gridlayout.addWidget(self.tagLabel, 10, 0, 1, 1)
+        self.commitEdit = QtWidgets.QLineEdit(parent=VcsCommandOptionsDialog)
+        self.commitEdit.setObjectName("commitEdit")
+        self.gridlayout.addWidget(self.commitEdit, 1, 1, 1, 1)
+        self.historyEdit = QtWidgets.QLineEdit(parent=VcsCommandOptionsDialog)
+        self.historyEdit.setObjectName("historyEdit")
+        self.gridlayout.addWidget(self.historyEdit, 8, 1, 1, 1)
+        self.diffEdit = QtWidgets.QLineEdit(parent=VcsCommandOptionsDialog)
+        self.diffEdit.setObjectName("diffEdit")
+        self.gridlayout.addWidget(self.diffEdit, 6, 1, 1, 1)
+        self.updateEdit = QtWidgets.QLineEdit(parent=VcsCommandOptionsDialog)
+        self.updateEdit.setObjectName("updateEdit")
+        self.gridlayout.addWidget(self.updateEdit, 3, 1, 1, 1)
+        self.logEdit = QtWidgets.QLineEdit(parent=VcsCommandOptionsDialog)
+        self.logEdit.setObjectName("logEdit")
+        self.gridlayout.addWidget(self.logEdit, 7, 1, 1, 1)
+        self.tagEdit = QtWidgets.QLineEdit(parent=VcsCommandOptionsDialog)
+        self.tagEdit.setObjectName("tagEdit")
+        self.gridlayout.addWidget(self.tagEdit, 10, 1, 1, 1)
+        self.statusEdit = QtWidgets.QLineEdit(parent=VcsCommandOptionsDialog)
+        self.statusEdit.setObjectName("statusEdit")
+        self.gridlayout.addWidget(self.statusEdit, 9, 1, 1, 1)
+        self.diffLabel = QtWidgets.QLabel(parent=VcsCommandOptionsDialog)
+        self.diffLabel.setObjectName("diffLabel")
+        self.gridlayout.addWidget(self.diffLabel, 6, 0, 1, 1)
+        self.globalLabel = QtWidgets.QLabel(parent=VcsCommandOptionsDialog)
+        self.globalLabel.setObjectName("globalLabel")
+        self.gridlayout.addWidget(self.globalLabel, 0, 0, 1, 1)
+        self.exportEdit = QtWidgets.QLineEdit(parent=VcsCommandOptionsDialog)
+        self.exportEdit.setObjectName("exportEdit")
+        self.gridlayout.addWidget(self.exportEdit, 11, 1, 1, 1)
+        self.addEdit = QtWidgets.QLineEdit(parent=VcsCommandOptionsDialog)
+        self.addEdit.setObjectName("addEdit")
+        self.gridlayout.addWidget(self.addEdit, 4, 1, 1, 1)
+        self.logLabel = QtWidgets.QLabel(parent=VcsCommandOptionsDialog)
+        self.logLabel.setObjectName("logLabel")
+        self.gridlayout.addWidget(self.logLabel, 7, 0, 1, 1)
+        self.statusLabel = QtWidgets.QLabel(parent=VcsCommandOptionsDialog)
+        self.statusLabel.setObjectName("statusLabel")
+        self.gridlayout.addWidget(self.statusLabel, 9, 0, 1, 1)
+        self.removeEdit = QtWidgets.QLineEdit(parent=VcsCommandOptionsDialog)
+        self.removeEdit.setObjectName("removeEdit")
+        self.gridlayout.addWidget(self.removeEdit, 5, 1, 1, 1)
+        self.checkoutEdit = QtWidgets.QLineEdit(parent=VcsCommandOptionsDialog)
+        self.checkoutEdit.setObjectName("checkoutEdit")
+        self.gridlayout.addWidget(self.checkoutEdit, 2, 1, 1, 1)
+        self.commitLabel = QtWidgets.QLabel(parent=VcsCommandOptionsDialog)
+        self.commitLabel.setObjectName("commitLabel")
+        self.gridlayout.addWidget(self.commitLabel, 1, 0, 1, 1)
+        self.exportLabel = QtWidgets.QLabel(parent=VcsCommandOptionsDialog)
+        self.exportLabel.setObjectName("exportLabel")
+        self.gridlayout.addWidget(self.exportLabel, 11, 0, 1, 1)
+        self.checkoutLabel = QtWidgets.QLabel(parent=VcsCommandOptionsDialog)
+        self.checkoutLabel.setObjectName("checkoutLabel")
+        self.gridlayout.addWidget(self.checkoutLabel, 2, 0, 1, 1)
+        self.updateLabel = QtWidgets.QLabel(parent=VcsCommandOptionsDialog)
+        self.updateLabel.setObjectName("updateLabel")
+        self.gridlayout.addWidget(self.updateLabel, 3, 0, 1, 1)
+        self.globalEdit = QtWidgets.QLineEdit(parent=VcsCommandOptionsDialog)
+        self.globalEdit.setObjectName("globalEdit")
+        self.gridlayout.addWidget(self.globalEdit, 0, 1, 1, 1)
+        self.vboxlayout.addLayout(self.gridlayout)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=VcsCommandOptionsDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.vboxlayout.addWidget(self.buttonBox)
+        self.historyLabel.setBuddy(self.historyEdit)
+        self.addLabel.setBuddy(self.addEdit)
+        self.removeLabel.setBuddy(self.removeEdit)
+        self.tagLabel.setBuddy(self.tagEdit)
+        self.diffLabel.setBuddy(self.diffEdit)
+        self.globalLabel.setBuddy(self.globalEdit)
+        self.logLabel.setBuddy(self.logEdit)
+        self.statusLabel.setBuddy(self.statusEdit)
+        self.commitLabel.setBuddy(self.commitEdit)
+        self.exportLabel.setBuddy(self.exportEdit)
+        self.checkoutLabel.setBuddy(self.checkoutEdit)
+        self.updateLabel.setBuddy(self.updateEdit)
+
+        self.retranslateUi(VcsCommandOptionsDialog)
+        self.buttonBox.accepted.connect(VcsCommandOptionsDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(VcsCommandOptionsDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(VcsCommandOptionsDialog)
+        VcsCommandOptionsDialog.setTabOrder(self.globalEdit, self.commitEdit)
+        VcsCommandOptionsDialog.setTabOrder(self.commitEdit, self.checkoutEdit)
+        VcsCommandOptionsDialog.setTabOrder(self.checkoutEdit, self.updateEdit)
+        VcsCommandOptionsDialog.setTabOrder(self.updateEdit, self.addEdit)
+        VcsCommandOptionsDialog.setTabOrder(self.addEdit, self.removeEdit)
+        VcsCommandOptionsDialog.setTabOrder(self.removeEdit, self.diffEdit)
+        VcsCommandOptionsDialog.setTabOrder(self.diffEdit, self.logEdit)
+        VcsCommandOptionsDialog.setTabOrder(self.logEdit, self.historyEdit)
+        VcsCommandOptionsDialog.setTabOrder(self.historyEdit, self.statusEdit)
+        VcsCommandOptionsDialog.setTabOrder(self.statusEdit, self.tagEdit)
+        VcsCommandOptionsDialog.setTabOrder(self.tagEdit, self.exportEdit)
+
+    def retranslateUi(self, VcsCommandOptionsDialog):
+        _translate = QtCore.QCoreApplication.translate
+        VcsCommandOptionsDialog.setWindowTitle(_translate("VcsCommandOptionsDialog", "VCS Command Options"))
+        VcsCommandOptionsDialog.setWhatsThis(_translate("VcsCommandOptionsDialog", "<b>VCS Command Options Dialog</b>\n"
+"<p>Enter the options for the different VCS commands. The \"Global Options\" entry applies to all VCS commands.</p>"))
+        self.historyLabel.setText(_translate("VcsCommandOptionsDialog", "&History Options:"))
+        self.addLabel.setText(_translate("VcsCommandOptionsDialog", "&Add Options:"))
+        self.removeLabel.setText(_translate("VcsCommandOptionsDialog", "&Remove Options:"))
+        self.tagLabel.setText(_translate("VcsCommandOptionsDialog", "&Tag Options:"))
+        self.commitEdit.setToolTip(_translate("VcsCommandOptionsDialog", "Enter the options for the commit command."))
+        self.commitEdit.setWhatsThis(_translate("VcsCommandOptionsDialog", "<b>Commit Options</b>\n"
+"<p>Enter the options for the commit command.</p>"))
+        self.historyEdit.setToolTip(_translate("VcsCommandOptionsDialog", "Enter the options for the history command."))
+        self.historyEdit.setWhatsThis(_translate("VcsCommandOptionsDialog", "<b>History Options</b>\n"
+"<p>Enter the options for the history command.</p>"))
+        self.diffEdit.setToolTip(_translate("VcsCommandOptionsDialog", "Enter the options for the diff command."))
+        self.diffEdit.setWhatsThis(_translate("VcsCommandOptionsDialog", "<b>Diff Options</b>\n"
+"<p>Enter the options for the diff command.</p>"))
+        self.updateEdit.setToolTip(_translate("VcsCommandOptionsDialog", "Enter the options for the update command."))
+        self.updateEdit.setWhatsThis(_translate("VcsCommandOptionsDialog", "<b>Update Options</b>\n"
+"<p>Enter the options for the update command.</p>"))
+        self.logEdit.setToolTip(_translate("VcsCommandOptionsDialog", "Enter the options for the log command."))
+        self.logEdit.setWhatsThis(_translate("VcsCommandOptionsDialog", "<b>Log Options</b>\n"
+"<p>Enter the options for the log command.</p>"))
+        self.tagEdit.setToolTip(_translate("VcsCommandOptionsDialog", "Enter the options for the tag command."))
+        self.tagEdit.setWhatsThis(_translate("VcsCommandOptionsDialog", "<b>Tag Options</b>\n"
+"<p>Enter the options for the tag command.</p>"))
+        self.statusEdit.setToolTip(_translate("VcsCommandOptionsDialog", "Enter the options for the status command."))
+        self.statusEdit.setWhatsThis(_translate("VcsCommandOptionsDialog", "<b>Status Options</b>\n"
+"<p>Enter the options for the status command.</p>"))
+        self.diffLabel.setText(_translate("VcsCommandOptionsDialog", "&Diff Options:"))
+        self.globalLabel.setText(_translate("VcsCommandOptionsDialog", "&Global Options:"))
+        self.exportEdit.setToolTip(_translate("VcsCommandOptionsDialog", "Enter the options for the export command."))
+        self.exportEdit.setWhatsThis(_translate("VcsCommandOptionsDialog", "<b>Export Options</b>\n"
+"<p>Enter the options for the export command.</p>"))
+        self.addEdit.setToolTip(_translate("VcsCommandOptionsDialog", "Enter the options for the add command."))
+        self.addEdit.setWhatsThis(_translate("VcsCommandOptionsDialog", "<b>Add Options</b>\n"
+"<p>Enter the options for the add command.</p>"))
+        self.logLabel.setText(_translate("VcsCommandOptionsDialog", "&Log Options:"))
+        self.statusLabel.setText(_translate("VcsCommandOptionsDialog", "&StatusOptions:"))
+        self.removeEdit.setToolTip(_translate("VcsCommandOptionsDialog", "Enter the options for the remove command."))
+        self.removeEdit.setWhatsThis(_translate("VcsCommandOptionsDialog", "<b>Remove Options</b>\n"
+"<p>Enter the options for the remove command.</p>"))
+        self.checkoutEdit.setToolTip(_translate("VcsCommandOptionsDialog", "Enter the options for the checkout command."))
+        self.checkoutEdit.setWhatsThis(_translate("VcsCommandOptionsDialog", "<b>Checkout Options</b>\n"
+"<p>Enter the options for the checkout command.</p>"))
+        self.commitLabel.setText(_translate("VcsCommandOptionsDialog", "Co&mmit Options:"))
+        self.exportLabel.setText(_translate("VcsCommandOptionsDialog", "&Export Options:"))
+        self.checkoutLabel.setText(_translate("VcsCommandOptionsDialog", "Check&out Options:"))
+        self.updateLabel.setText(_translate("VcsCommandOptionsDialog", "&Update Options:"))
+        self.globalEdit.setToolTip(_translate("VcsCommandOptionsDialog", "Enter the global options."))
+        self.globalEdit.setWhatsThis(_translate("VcsCommandOptionsDialog", "<b>Global Options</b>\n"
+"<p>Enter the global options.</p>"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/VCS/Ui_RepositoryInfoDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,36 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/VCS/RepositoryInfoDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_VcsRepositoryInfoDialog(object):
+    def setupUi(self, VcsRepositoryInfoDialog):
+        VcsRepositoryInfoDialog.setObjectName("VcsRepositoryInfoDialog")
+        VcsRepositoryInfoDialog.resize(590, 437)
+        VcsRepositoryInfoDialog.setSizeGripEnabled(True)
+        self.vboxlayout = QtWidgets.QVBoxLayout(VcsRepositoryInfoDialog)
+        self.vboxlayout.setObjectName("vboxlayout")
+        self.infoBrowser = QtWidgets.QTextEdit(parent=VcsRepositoryInfoDialog)
+        self.infoBrowser.setReadOnly(True)
+        self.infoBrowser.setObjectName("infoBrowser")
+        self.vboxlayout.addWidget(self.infoBrowser)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=VcsRepositoryInfoDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.vboxlayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(VcsRepositoryInfoDialog)
+        self.buttonBox.accepted.connect(VcsRepositoryInfoDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(VcsRepositoryInfoDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(VcsRepositoryInfoDialog)
+
+    def retranslateUi(self, VcsRepositoryInfoDialog):
+        _translate = QtCore.QCoreApplication.translate
+        VcsRepositoryInfoDialog.setWindowTitle(_translate("VcsRepositoryInfoDialog", "Repository Information"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/ViewManager/Ui_BookmarkedFilesDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,109 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/ViewManager/BookmarkedFilesDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_BookmarkedFilesDialog(object):
+    def setupUi(self, BookmarkedFilesDialog):
+        BookmarkedFilesDialog.setObjectName("BookmarkedFilesDialog")
+        BookmarkedFilesDialog.resize(475, 391)
+        BookmarkedFilesDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(BookmarkedFilesDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.gridLayout = QtWidgets.QGridLayout()
+        self.gridLayout.setObjectName("gridLayout")
+        self.filesList = QtWidgets.QListWidget(parent=BookmarkedFilesDialog)
+        self.filesList.setAlternatingRowColors(True)
+        self.filesList.setObjectName("filesList")
+        self.gridLayout.addWidget(self.filesList, 0, 0, 6, 2)
+        self.addButton = QtWidgets.QPushButton(parent=BookmarkedFilesDialog)
+        self.addButton.setEnabled(False)
+        self.addButton.setObjectName("addButton")
+        self.gridLayout.addWidget(self.addButton, 0, 2, 1, 1)
+        self.changeButton = QtWidgets.QPushButton(parent=BookmarkedFilesDialog)
+        self.changeButton.setEnabled(False)
+        self.changeButton.setObjectName("changeButton")
+        self.gridLayout.addWidget(self.changeButton, 1, 2, 1, 1)
+        self.deleteButton = QtWidgets.QPushButton(parent=BookmarkedFilesDialog)
+        self.deleteButton.setEnabled(False)
+        self.deleteButton.setObjectName("deleteButton")
+        self.gridLayout.addWidget(self.deleteButton, 2, 2, 1, 1)
+        self.upButton = QtWidgets.QPushButton(parent=BookmarkedFilesDialog)
+        self.upButton.setEnabled(False)
+        self.upButton.setObjectName("upButton")
+        self.gridLayout.addWidget(self.upButton, 3, 2, 1, 1)
+        self.downButton = QtWidgets.QPushButton(parent=BookmarkedFilesDialog)
+        self.downButton.setEnabled(False)
+        self.downButton.setObjectName("downButton")
+        self.gridLayout.addWidget(self.downButton, 4, 2, 1, 1)
+        spacerItem = QtWidgets.QSpacerItem(87, 118, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.gridLayout.addItem(spacerItem, 5, 2, 1, 1)
+        self.TextLabel1 = QtWidgets.QLabel(parent=BookmarkedFilesDialog)
+        self.TextLabel1.setObjectName("TextLabel1")
+        self.gridLayout.addWidget(self.TextLabel1, 6, 0, 1, 1)
+        self.filePicker = EricPathPicker(parent=BookmarkedFilesDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.filePicker.sizePolicy().hasHeightForWidth())
+        self.filePicker.setSizePolicy(sizePolicy)
+        self.filePicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.filePicker.setObjectName("filePicker")
+        self.gridLayout.addWidget(self.filePicker, 6, 1, 1, 1)
+        self.verticalLayout.addLayout(self.gridLayout)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=BookmarkedFilesDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+        self.TextLabel1.setBuddy(self.filePicker)
+
+        self.retranslateUi(BookmarkedFilesDialog)
+        self.buttonBox.accepted.connect(BookmarkedFilesDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(BookmarkedFilesDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(BookmarkedFilesDialog)
+        BookmarkedFilesDialog.setTabOrder(self.filesList, self.addButton)
+        BookmarkedFilesDialog.setTabOrder(self.addButton, self.changeButton)
+        BookmarkedFilesDialog.setTabOrder(self.changeButton, self.deleteButton)
+        BookmarkedFilesDialog.setTabOrder(self.deleteButton, self.upButton)
+        BookmarkedFilesDialog.setTabOrder(self.upButton, self.downButton)
+
+    def retranslateUi(self, BookmarkedFilesDialog):
+        _translate = QtCore.QCoreApplication.translate
+        BookmarkedFilesDialog.setWindowTitle(_translate("BookmarkedFilesDialog", "Configure Bookmarked Files Menu"))
+        self.addButton.setToolTip(_translate("BookmarkedFilesDialog", "Add a new bookmarked file"))
+        self.addButton.setWhatsThis(_translate("BookmarkedFilesDialog", "<b>Add</b>\n"
+"<p>Add a new bookmarked file with the value entered below.</p>"))
+        self.addButton.setText(_translate("BookmarkedFilesDialog", "&Add"))
+        self.addButton.setShortcut(_translate("BookmarkedFilesDialog", "Alt+A"))
+        self.changeButton.setToolTip(_translate("BookmarkedFilesDialog", "Change the value of the selected entry"))
+        self.changeButton.setWhatsThis(_translate("BookmarkedFilesDialog", "<b>Change</b>\n"
+"<p>Change the value of the selected entry.</p>"))
+        self.changeButton.setText(_translate("BookmarkedFilesDialog", "C&hange"))
+        self.changeButton.setShortcut(_translate("BookmarkedFilesDialog", "Alt+H"))
+        self.deleteButton.setToolTip(_translate("BookmarkedFilesDialog", "Delete the selected entry"))
+        self.deleteButton.setWhatsThis(_translate("BookmarkedFilesDialog", "<b>Delete</b>\n"
+"<p>Delete the selected entry.</p>"))
+        self.deleteButton.setText(_translate("BookmarkedFilesDialog", "&Delete"))
+        self.deleteButton.setShortcut(_translate("BookmarkedFilesDialog", "Alt+D"))
+        self.upButton.setToolTip(_translate("BookmarkedFilesDialog", "Move up"))
+        self.upButton.setWhatsThis(_translate("BookmarkedFilesDialog", "<b>Move Up</b>\n"
+"<p>Move the selected entry up.</p>"))
+        self.upButton.setText(_translate("BookmarkedFilesDialog", "&Up"))
+        self.upButton.setShortcut(_translate("BookmarkedFilesDialog", "Alt+U"))
+        self.downButton.setToolTip(_translate("BookmarkedFilesDialog", "Move down"))
+        self.downButton.setWhatsThis(_translate("BookmarkedFilesDialog", "<b>Move Down</b>\n"
+"<p>Move the selected entry down.</p>"))
+        self.downButton.setText(_translate("BookmarkedFilesDialog", "&Down"))
+        self.downButton.setShortcut(_translate("BookmarkedFilesDialog", "Alt+D"))
+        self.TextLabel1.setText(_translate("BookmarkedFilesDialog", "&File:"))
+        self.filePicker.setToolTip(_translate("BookmarkedFilesDialog", "Enter the filename of the file"))
+        self.filePicker.setWhatsThis(_translate("BookmarkedFilesDialog", "<b>File</b>\n"
+"<p>Enter the filename of the bookmarked file.</p>"))
+from eric7.EricWidgets.EricPathPicker import EricPathPicker
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/VirtualEnv/Ui_VirtualenvAddEditDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,113 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/VirtualEnv/VirtualenvAddEditDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_VirtualenvAddEditDialog(object):
+    def setupUi(self, VirtualenvAddEditDialog):
+        VirtualenvAddEditDialog.setObjectName("VirtualenvAddEditDialog")
+        VirtualenvAddEditDialog.resize(700, 300)
+        VirtualenvAddEditDialog.setSizeGripEnabled(True)
+        self.gridLayout = QtWidgets.QGridLayout(VirtualenvAddEditDialog)
+        self.gridLayout.setObjectName("gridLayout")
+        self.label = QtWidgets.QLabel(parent=VirtualenvAddEditDialog)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
+        self.nameEdit = QtWidgets.QLineEdit(parent=VirtualenvAddEditDialog)
+        self.nameEdit.setClearButtonEnabled(True)
+        self.nameEdit.setObjectName("nameEdit")
+        self.gridLayout.addWidget(self.nameEdit, 0, 1, 1, 1)
+        self.label_2 = QtWidgets.QLabel(parent=VirtualenvAddEditDialog)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 1, 0, 1, 1)
+        self.targetDirectoryPicker = EricPathPicker(parent=VirtualenvAddEditDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.targetDirectoryPicker.sizePolicy().hasHeightForWidth())
+        self.targetDirectoryPicker.setSizePolicy(sizePolicy)
+        self.targetDirectoryPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.WheelFocus)
+        self.targetDirectoryPicker.setObjectName("targetDirectoryPicker")
+        self.gridLayout.addWidget(self.targetDirectoryPicker, 1, 1, 1, 1)
+        self.label_3 = QtWidgets.QLabel(parent=VirtualenvAddEditDialog)
+        self.label_3.setObjectName("label_3")
+        self.gridLayout.addWidget(self.label_3, 2, 0, 1, 1)
+        self.pythonExecPicker = EricPathPicker(parent=VirtualenvAddEditDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.pythonExecPicker.sizePolicy().hasHeightForWidth())
+        self.pythonExecPicker.setSizePolicy(sizePolicy)
+        self.pythonExecPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.WheelFocus)
+        self.pythonExecPicker.setObjectName("pythonExecPicker")
+        self.gridLayout.addWidget(self.pythonExecPicker, 2, 1, 1, 1)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.globalCheckBox = QtWidgets.QCheckBox(parent=VirtualenvAddEditDialog)
+        self.globalCheckBox.setObjectName("globalCheckBox")
+        self.horizontalLayout.addWidget(self.globalCheckBox)
+        self.anacondaCheckBox = QtWidgets.QCheckBox(parent=VirtualenvAddEditDialog)
+        self.anacondaCheckBox.setObjectName("anacondaCheckBox")
+        self.horizontalLayout.addWidget(self.anacondaCheckBox)
+        self.remoteCheckBox = QtWidgets.QCheckBox(parent=VirtualenvAddEditDialog)
+        self.remoteCheckBox.setObjectName("remoteCheckBox")
+        self.horizontalLayout.addWidget(self.remoteCheckBox)
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem)
+        self.gridLayout.addLayout(self.horizontalLayout, 3, 0, 1, 2)
+        self.label_5 = QtWidgets.QLabel(parent=VirtualenvAddEditDialog)
+        self.label_5.setObjectName("label_5")
+        self.gridLayout.addWidget(self.label_5, 4, 0, 1, 1)
+        self.execPathEdit = QtWidgets.QLineEdit(parent=VirtualenvAddEditDialog)
+        self.execPathEdit.setClearButtonEnabled(True)
+        self.execPathEdit.setObjectName("execPathEdit")
+        self.gridLayout.addWidget(self.execPathEdit, 4, 1, 1, 1)
+        self.label_4 = QtWidgets.QLabel(parent=VirtualenvAddEditDialog)
+        self.label_4.setAlignment(QtCore.Qt.AlignmentFlag.AlignLeading|QtCore.Qt.AlignmentFlag.AlignLeft|QtCore.Qt.AlignmentFlag.AlignTop)
+        self.label_4.setObjectName("label_4")
+        self.gridLayout.addWidget(self.label_4, 5, 0, 1, 1)
+        self.descriptionEdit = QtWidgets.QPlainTextEdit(parent=VirtualenvAddEditDialog)
+        self.descriptionEdit.setObjectName("descriptionEdit")
+        self.gridLayout.addWidget(self.descriptionEdit, 5, 1, 1, 1)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=VirtualenvAddEditDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout.addWidget(self.buttonBox, 6, 0, 1, 2)
+
+        self.retranslateUi(VirtualenvAddEditDialog)
+        self.buttonBox.accepted.connect(VirtualenvAddEditDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(VirtualenvAddEditDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(VirtualenvAddEditDialog)
+        VirtualenvAddEditDialog.setTabOrder(self.nameEdit, self.targetDirectoryPicker)
+        VirtualenvAddEditDialog.setTabOrder(self.targetDirectoryPicker, self.pythonExecPicker)
+        VirtualenvAddEditDialog.setTabOrder(self.pythonExecPicker, self.globalCheckBox)
+        VirtualenvAddEditDialog.setTabOrder(self.globalCheckBox, self.anacondaCheckBox)
+        VirtualenvAddEditDialog.setTabOrder(self.anacondaCheckBox, self.remoteCheckBox)
+        VirtualenvAddEditDialog.setTabOrder(self.remoteCheckBox, self.execPathEdit)
+
+    def retranslateUi(self, VirtualenvAddEditDialog):
+        _translate = QtCore.QCoreApplication.translate
+        self.label.setText(_translate("VirtualenvAddEditDialog", "Logical Name:"))
+        self.nameEdit.setToolTip(_translate("VirtualenvAddEditDialog", "Enter a unique name for the virtual environment"))
+        self.label_2.setText(_translate("VirtualenvAddEditDialog", "Directory:"))
+        self.targetDirectoryPicker.setToolTip(_translate("VirtualenvAddEditDialog", "Enter the directory of the virtual environment"))
+        self.label_3.setText(_translate("VirtualenvAddEditDialog", "Python Interpreter:"))
+        self.pythonExecPicker.setToolTip(_translate("VirtualenvAddEditDialog", "Enter the Python interpreter of the virtual environment"))
+        self.globalCheckBox.setToolTip(_translate("VirtualenvAddEditDialog", "Select,if this is a global environment (i.e. no virtual environment directory to be given)"))
+        self.globalCheckBox.setWhatsThis(_translate("VirtualenvAddEditDialog", "<b>Global Environment</b>\n"
+"<p>Setting this indicates, that the environment is defined globally, i.e. not user specific. Usually such environments cannot be deleted by a standard user. The respective button of the Virtual Environment Manager dialog will be disabled for these entries.</p>"))
+        self.globalCheckBox.setText(_translate("VirtualenvAddEditDialog", "Global Environment"))
+        self.anacondaCheckBox.setToolTip(_translate("VirtualenvAddEditDialog", "Select, if this is a Conda environment"))
+        self.anacondaCheckBox.setText(_translate("VirtualenvAddEditDialog", "Conda Environment"))
+        self.remoteCheckBox.setToolTip(_translate("VirtualenvAddEditDialog", "Select, if this is a remotely accessed environment"))
+        self.remoteCheckBox.setText(_translate("VirtualenvAddEditDialog", "Remote Environment"))
+        self.label_5.setText(_translate("VirtualenvAddEditDialog", "PATH Prefix:"))
+        self.label_4.setText(_translate("VirtualenvAddEditDialog", "Description:"))
+from eric7.EricWidgets.EricPathPicker import EricPathPicker
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/VirtualEnv/Ui_VirtualenvConfigurationDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,420 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/VirtualEnv/VirtualenvConfigurationDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_VirtualenvConfigurationDialog(object):
+    def setupUi(self, VirtualenvConfigurationDialog):
+        VirtualenvConfigurationDialog.setObjectName("VirtualenvConfigurationDialog")
+        VirtualenvConfigurationDialog.resize(700, 654)
+        VirtualenvConfigurationDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(VirtualenvConfigurationDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.groupBox_3 = QtWidgets.QGroupBox(parent=VirtualenvConfigurationDialog)
+        self.groupBox_3.setObjectName("groupBox_3")
+        self.gridLayout_3 = QtWidgets.QGridLayout(self.groupBox_3)
+        self.gridLayout_3.setObjectName("gridLayout_3")
+        self.virtualenvButton = QtWidgets.QRadioButton(parent=self.groupBox_3)
+        self.virtualenvButton.setText("0.0")
+        self.virtualenvButton.setObjectName("virtualenvButton")
+        self.gridLayout_3.addWidget(self.virtualenvButton, 0, 0, 1, 1)
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout_3.addItem(spacerItem, 0, 1, 1, 1)
+        self.pyvenvButton = QtWidgets.QRadioButton(parent=self.groupBox_3)
+        self.pyvenvButton.setText("0.0")
+        self.pyvenvButton.setObjectName("pyvenvButton")
+        self.gridLayout_3.addWidget(self.pyvenvButton, 1, 0, 1, 1)
+        self.condaButton = QtWidgets.QRadioButton(parent=self.groupBox_3)
+        self.condaButton.setText("0.0")
+        self.condaButton.setObjectName("condaButton")
+        self.gridLayout_3.addWidget(self.condaButton, 2, 0, 1, 1)
+        self.verticalLayout.addWidget(self.groupBox_3)
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.label_2 = QtWidgets.QLabel(parent=VirtualenvConfigurationDialog)
+        self.label_2.setObjectName("label_2")
+        self.horizontalLayout_2.addWidget(self.label_2)
+        self.nameEdit = QtWidgets.QLineEdit(parent=VirtualenvConfigurationDialog)
+        self.nameEdit.setClearButtonEnabled(True)
+        self.nameEdit.setObjectName("nameEdit")
+        self.horizontalLayout_2.addWidget(self.nameEdit)
+        self.verticalLayout.addLayout(self.horizontalLayout_2)
+        self.venvStack = QtWidgets.QStackedWidget(parent=VirtualenvConfigurationDialog)
+        self.venvStack.setObjectName("venvStack")
+        self.venvPage = QtWidgets.QWidget()
+        self.venvPage.setObjectName("venvPage")
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.venvPage)
+        self.verticalLayout_2.setContentsMargins(0, 0, 0, 0)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.groupBox = QtWidgets.QGroupBox(parent=self.venvPage)
+        self.groupBox.setObjectName("groupBox")
+        self.gridLayout = QtWidgets.QGridLayout(self.groupBox)
+        self.gridLayout.setObjectName("gridLayout")
+        self.label = QtWidgets.QLabel(parent=self.groupBox)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
+        self.targetDirectoryPicker = EricPathPicker(parent=self.groupBox)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.targetDirectoryPicker.sizePolicy().hasHeightForWidth())
+        self.targetDirectoryPicker.setSizePolicy(sizePolicy)
+        self.targetDirectoryPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.WheelFocus)
+        self.targetDirectoryPicker.setObjectName("targetDirectoryPicker")
+        self.gridLayout.addWidget(self.targetDirectoryPicker, 0, 1, 1, 1)
+        self.extraSearchPathLabel = QtWidgets.QLabel(parent=self.groupBox)
+        self.extraSearchPathLabel.setObjectName("extraSearchPathLabel")
+        self.gridLayout.addWidget(self.extraSearchPathLabel, 1, 0, 1, 1)
+        self.extraSearchPathPicker = EricPathPicker(parent=self.groupBox)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.extraSearchPathPicker.sizePolicy().hasHeightForWidth())
+        self.extraSearchPathPicker.setSizePolicy(sizePolicy)
+        self.extraSearchPathPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.WheelFocus)
+        self.extraSearchPathPicker.setObjectName("extraSearchPathPicker")
+        self.gridLayout.addWidget(self.extraSearchPathPicker, 1, 1, 1, 1)
+        self.promptPrefixLabel = QtWidgets.QLabel(parent=self.groupBox)
+        self.promptPrefixLabel.setObjectName("promptPrefixLabel")
+        self.gridLayout.addWidget(self.promptPrefixLabel, 2, 0, 1, 1)
+        self.promptPrefixEdit = QtWidgets.QLineEdit(parent=self.groupBox)
+        self.promptPrefixEdit.setClearButtonEnabled(True)
+        self.promptPrefixEdit.setObjectName("promptPrefixEdit")
+        self.gridLayout.addWidget(self.promptPrefixEdit, 2, 1, 1, 1)
+        self.label_5 = QtWidgets.QLabel(parent=self.groupBox)
+        self.label_5.setObjectName("label_5")
+        self.gridLayout.addWidget(self.label_5, 3, 0, 1, 1)
+        self.pythonExecPicker = EricPathPicker(parent=self.groupBox)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.pythonExecPicker.sizePolicy().hasHeightForWidth())
+        self.pythonExecPicker.setSizePolicy(sizePolicy)
+        self.pythonExecPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.WheelFocus)
+        self.pythonExecPicker.setObjectName("pythonExecPicker")
+        self.gridLayout.addWidget(self.pythonExecPicker, 3, 1, 1, 1)
+        self.verticalLayout_2.addWidget(self.groupBox)
+        self.groupBox_2 = QtWidgets.QGroupBox(parent=self.venvPage)
+        self.groupBox_2.setObjectName("groupBox_2")
+        self.gridLayout_2 = QtWidgets.QGridLayout(self.groupBox_2)
+        self.gridLayout_2.setObjectName("gridLayout_2")
+        self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
+        self.verbosityLabel = QtWidgets.QLabel(parent=self.groupBox_2)
+        self.verbosityLabel.setObjectName("verbosityLabel")
+        self.horizontalLayout_3.addWidget(self.verbosityLabel)
+        self.verbositySpinBox = QtWidgets.QSpinBox(parent=self.groupBox_2)
+        self.verbositySpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.verbositySpinBox.setMinimum(-1)
+        self.verbositySpinBox.setMaximum(1)
+        self.verbositySpinBox.setObjectName("verbositySpinBox")
+        self.horizontalLayout_3.addWidget(self.verbositySpinBox)
+        spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_3.addItem(spacerItem1)
+        self.gridLayout_2.addLayout(self.horizontalLayout_3, 0, 0, 1, 1)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.versionLabel = QtWidgets.QLabel(parent=self.groupBox_2)
+        self.versionLabel.setObjectName("versionLabel")
+        self.horizontalLayout.addWidget(self.versionLabel)
+        self.versionComboBox = QtWidgets.QComboBox(parent=self.groupBox_2)
+        self.versionComboBox.setObjectName("versionComboBox")
+        self.versionComboBox.addItem("")
+        self.versionComboBox.setItemText(0, "")
+        self.versionComboBox.addItem("")
+        self.versionComboBox.setItemText(1, "3.10")
+        self.versionComboBox.addItem("")
+        self.versionComboBox.setItemText(2, "3.9")
+        self.versionComboBox.addItem("")
+        self.versionComboBox.setItemText(3, "3.8")
+        self.versionComboBox.addItem("")
+        self.versionComboBox.setItemText(4, "3.7")
+        self.versionComboBox.addItem("")
+        self.versionComboBox.setItemText(5, "3.6")
+        self.horizontalLayout.addWidget(self.versionComboBox)
+        spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem2)
+        self.gridLayout_2.addLayout(self.horizontalLayout, 0, 1, 1, 1)
+        self.systemCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_2)
+        self.systemCheckBox.setObjectName("systemCheckBox")
+        self.gridLayout_2.addWidget(self.systemCheckBox, 1, 0, 1, 1)
+        self.unzipCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_2)
+        self.unzipCheckBox.setChecked(True)
+        self.unzipCheckBox.setObjectName("unzipCheckBox")
+        self.gridLayout_2.addWidget(self.unzipCheckBox, 1, 1, 1, 1)
+        self.noSetuptoolsCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_2)
+        self.noSetuptoolsCheckBox.setObjectName("noSetuptoolsCheckBox")
+        self.gridLayout_2.addWidget(self.noSetuptoolsCheckBox, 2, 0, 1, 1)
+        self.noPipCcheckBox = QtWidgets.QCheckBox(parent=self.groupBox_2)
+        self.noPipCcheckBox.setObjectName("noPipCcheckBox")
+        self.gridLayout_2.addWidget(self.noPipCcheckBox, 2, 1, 1, 1)
+        self.clearCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_2)
+        self.clearCheckBox.setObjectName("clearCheckBox")
+        self.gridLayout_2.addWidget(self.clearCheckBox, 3, 0, 1, 1)
+        self.copyCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_2)
+        self.copyCheckBox.setObjectName("copyCheckBox")
+        self.gridLayout_2.addWidget(self.copyCheckBox, 3, 1, 1, 1)
+        self.symlinkCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_2)
+        self.symlinkCheckBox.setObjectName("symlinkCheckBox")
+        self.gridLayout_2.addWidget(self.symlinkCheckBox, 4, 0, 1, 1)
+        self.upgradeCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_2)
+        self.upgradeCheckBox.setObjectName("upgradeCheckBox")
+        self.gridLayout_2.addWidget(self.upgradeCheckBox, 4, 1, 1, 1)
+        self.logCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_2)
+        self.logCheckBox.setChecked(True)
+        self.logCheckBox.setObjectName("logCheckBox")
+        self.gridLayout_2.addWidget(self.logCheckBox, 5, 0, 1, 1)
+        self.scriptCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_2)
+        self.scriptCheckBox.setChecked(True)
+        self.scriptCheckBox.setObjectName("scriptCheckBox")
+        self.gridLayout_2.addWidget(self.scriptCheckBox, 5, 1, 1, 1)
+        self.openCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_2)
+        self.openCheckBox.setObjectName("openCheckBox")
+        self.gridLayout_2.addWidget(self.openCheckBox, 6, 0, 1, 1)
+        self.verticalLayout_2.addWidget(self.groupBox_2)
+        self.venvStack.addWidget(self.venvPage)
+        self.condaPage = QtWidgets.QWidget()
+        self.condaPage.setObjectName("condaPage")
+        self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.condaPage)
+        self.verticalLayout_3.setObjectName("verticalLayout_3")
+        self.groupBox_4 = QtWidgets.QGroupBox(parent=self.condaPage)
+        self.groupBox_4.setObjectName("groupBox_4")
+        self.gridLayout_4 = QtWidgets.QGridLayout(self.groupBox_4)
+        self.gridLayout_4.setObjectName("gridLayout_4")
+        self.label_3 = QtWidgets.QLabel(parent=self.groupBox_4)
+        self.label_3.setObjectName("label_3")
+        self.gridLayout_4.addWidget(self.label_3, 0, 0, 1, 1)
+        self.condaNameEdit = QtWidgets.QLineEdit(parent=self.groupBox_4)
+        self.condaNameEdit.setClearButtonEnabled(True)
+        self.condaNameEdit.setObjectName("condaNameEdit")
+        self.gridLayout_4.addWidget(self.condaNameEdit, 0, 1, 1, 1)
+        self.label_4 = QtWidgets.QLabel(parent=self.groupBox_4)
+        self.label_4.setObjectName("label_4")
+        self.gridLayout_4.addWidget(self.label_4, 1, 0, 1, 1)
+        self.condaTargetDirectoryPicker = EricPathPicker(parent=self.groupBox_4)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.condaTargetDirectoryPicker.sizePolicy().hasHeightForWidth())
+        self.condaTargetDirectoryPicker.setSizePolicy(sizePolicy)
+        self.condaTargetDirectoryPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.WheelFocus)
+        self.condaTargetDirectoryPicker.setObjectName("condaTargetDirectoryPicker")
+        self.gridLayout_4.addWidget(self.condaTargetDirectoryPicker, 1, 1, 1, 1)
+        self.label_6 = QtWidgets.QLabel(parent=self.groupBox_4)
+        self.label_6.setObjectName("label_6")
+        self.gridLayout_4.addWidget(self.label_6, 2, 0, 1, 2)
+        self.verticalLayout_3.addWidget(self.groupBox_4)
+        self.condaSpecialsGroup = QtWidgets.QGroupBox(parent=self.condaPage)
+        self.condaSpecialsGroup.setCheckable(True)
+        self.condaSpecialsGroup.setChecked(False)
+        self.condaSpecialsGroup.setObjectName("condaSpecialsGroup")
+        self.gridLayout_5 = QtWidgets.QGridLayout(self.condaSpecialsGroup)
+        self.gridLayout_5.setObjectName("gridLayout_5")
+        self.condaCloneButton = QtWidgets.QRadioButton(parent=self.condaSpecialsGroup)
+        self.condaCloneButton.setChecked(True)
+        self.condaCloneButton.setObjectName("condaCloneButton")
+        self.gridLayout_5.addWidget(self.condaCloneButton, 0, 0, 1, 1)
+        self.condaRequirementsButton = QtWidgets.QRadioButton(parent=self.condaSpecialsGroup)
+        self.condaRequirementsButton.setObjectName("condaRequirementsButton")
+        self.gridLayout_5.addWidget(self.condaRequirementsButton, 0, 1, 1, 1)
+        self.condaCloneFrame = QtWidgets.QFrame(parent=self.condaSpecialsGroup)
+        self.condaCloneFrame.setFrameShape(QtWidgets.QFrame.Shape.StyledPanel)
+        self.condaCloneFrame.setFrameShadow(QtWidgets.QFrame.Shadow.Raised)
+        self.condaCloneFrame.setObjectName("condaCloneFrame")
+        self.gridLayout_7 = QtWidgets.QGridLayout(self.condaCloneFrame)
+        self.gridLayout_7.setObjectName("gridLayout_7")
+        self.label_8 = QtWidgets.QLabel(parent=self.condaCloneFrame)
+        self.label_8.setObjectName("label_8")
+        self.gridLayout_7.addWidget(self.label_8, 0, 0, 1, 1)
+        self.condaCloneNameEdit = QtWidgets.QLineEdit(parent=self.condaCloneFrame)
+        self.condaCloneNameEdit.setClearButtonEnabled(True)
+        self.condaCloneNameEdit.setObjectName("condaCloneNameEdit")
+        self.gridLayout_7.addWidget(self.condaCloneNameEdit, 0, 1, 1, 1)
+        self.label_7 = QtWidgets.QLabel(parent=self.condaCloneFrame)
+        self.label_7.setObjectName("label_7")
+        self.gridLayout_7.addWidget(self.label_7, 1, 0, 1, 1)
+        self.condaCloneDirectoryPicker = EricPathPicker(parent=self.condaCloneFrame)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.condaCloneDirectoryPicker.sizePolicy().hasHeightForWidth())
+        self.condaCloneDirectoryPicker.setSizePolicy(sizePolicy)
+        self.condaCloneDirectoryPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.WheelFocus)
+        self.condaCloneDirectoryPicker.setObjectName("condaCloneDirectoryPicker")
+        self.gridLayout_7.addWidget(self.condaCloneDirectoryPicker, 1, 1, 1, 1)
+        self.gridLayout_5.addWidget(self.condaCloneFrame, 1, 0, 1, 1)
+        self.condaRequirementsFrame = QtWidgets.QFrame(parent=self.condaSpecialsGroup)
+        self.condaRequirementsFrame.setEnabled(False)
+        self.condaRequirementsFrame.setFrameShape(QtWidgets.QFrame.Shape.StyledPanel)
+        self.condaRequirementsFrame.setFrameShadow(QtWidgets.QFrame.Shadow.Raised)
+        self.condaRequirementsFrame.setObjectName("condaRequirementsFrame")
+        self.verticalLayout_4 = QtWidgets.QVBoxLayout(self.condaRequirementsFrame)
+        self.verticalLayout_4.setObjectName("verticalLayout_4")
+        self.condaRequirementsFilePicker = EricPathPicker(parent=self.condaRequirementsFrame)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.condaRequirementsFilePicker.sizePolicy().hasHeightForWidth())
+        self.condaRequirementsFilePicker.setSizePolicy(sizePolicy)
+        self.condaRequirementsFilePicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.condaRequirementsFilePicker.setObjectName("condaRequirementsFilePicker")
+        self.verticalLayout_4.addWidget(self.condaRequirementsFilePicker)
+        spacerItem3 = QtWidgets.QSpacerItem(20, 37, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout_4.addItem(spacerItem3)
+        self.gridLayout_5.addWidget(self.condaRequirementsFrame, 1, 1, 1, 1)
+        self.verticalLayout_3.addWidget(self.condaSpecialsGroup)
+        self.horizontalLayout_4 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_4.setObjectName("horizontalLayout_4")
+        self.label_9 = QtWidgets.QLabel(parent=self.condaPage)
+        self.label_9.setObjectName("label_9")
+        self.horizontalLayout_4.addWidget(self.label_9)
+        self.condaPackagesEdit = QtWidgets.QLineEdit(parent=self.condaPage)
+        self.condaPackagesEdit.setClearButtonEnabled(True)
+        self.condaPackagesEdit.setObjectName("condaPackagesEdit")
+        self.horizontalLayout_4.addWidget(self.condaPackagesEdit)
+        self.verticalLayout_3.addLayout(self.horizontalLayout_4)
+        self.groupBox_5 = QtWidgets.QGroupBox(parent=self.condaPage)
+        self.groupBox_5.setObjectName("groupBox_5")
+        self.gridLayout_6 = QtWidgets.QGridLayout(self.groupBox_5)
+        self.gridLayout_6.setObjectName("gridLayout_6")
+        self.versionLabel_2 = QtWidgets.QLabel(parent=self.groupBox_5)
+        self.versionLabel_2.setObjectName("versionLabel_2")
+        self.gridLayout_6.addWidget(self.versionLabel_2, 0, 0, 1, 1)
+        self.condaPythonEdit = QtWidgets.QLineEdit(parent=self.groupBox_5)
+        self.condaPythonEdit.setClearButtonEnabled(True)
+        self.condaPythonEdit.setObjectName("condaPythonEdit")
+        self.gridLayout_6.addWidget(self.condaPythonEdit, 0, 1, 1, 1)
+        self.condaInsecureCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_5)
+        self.condaInsecureCheckBox.setObjectName("condaInsecureCheckBox")
+        self.gridLayout_6.addWidget(self.condaInsecureCheckBox, 1, 0, 1, 2)
+        self.condaDryrunCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_5)
+        self.condaDryrunCheckBox.setObjectName("condaDryrunCheckBox")
+        self.gridLayout_6.addWidget(self.condaDryrunCheckBox, 1, 2, 1, 1)
+        spacerItem4 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout_6.addItem(spacerItem4, 0, 2, 1, 1)
+        self.verticalLayout_3.addWidget(self.groupBox_5)
+        self.venvStack.addWidget(self.condaPage)
+        self.verticalLayout.addWidget(self.venvStack)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=VirtualenvConfigurationDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(VirtualenvConfigurationDialog)
+        self.venvStack.setCurrentIndex(0)
+        self.buttonBox.accepted.connect(VirtualenvConfigurationDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(VirtualenvConfigurationDialog.reject) # type: ignore
+        self.condaCloneButton.toggled['bool'].connect(self.condaCloneFrame.setEnabled) # type: ignore
+        self.condaRequirementsButton.toggled['bool'].connect(self.condaRequirementsFrame.setEnabled) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(VirtualenvConfigurationDialog)
+        VirtualenvConfigurationDialog.setTabOrder(self.virtualenvButton, self.pyvenvButton)
+        VirtualenvConfigurationDialog.setTabOrder(self.pyvenvButton, self.condaButton)
+        VirtualenvConfigurationDialog.setTabOrder(self.condaButton, self.nameEdit)
+        VirtualenvConfigurationDialog.setTabOrder(self.nameEdit, self.targetDirectoryPicker)
+        VirtualenvConfigurationDialog.setTabOrder(self.targetDirectoryPicker, self.extraSearchPathPicker)
+        VirtualenvConfigurationDialog.setTabOrder(self.extraSearchPathPicker, self.promptPrefixEdit)
+        VirtualenvConfigurationDialog.setTabOrder(self.promptPrefixEdit, self.pythonExecPicker)
+        VirtualenvConfigurationDialog.setTabOrder(self.pythonExecPicker, self.verbositySpinBox)
+        VirtualenvConfigurationDialog.setTabOrder(self.verbositySpinBox, self.versionComboBox)
+        VirtualenvConfigurationDialog.setTabOrder(self.versionComboBox, self.systemCheckBox)
+        VirtualenvConfigurationDialog.setTabOrder(self.systemCheckBox, self.unzipCheckBox)
+        VirtualenvConfigurationDialog.setTabOrder(self.unzipCheckBox, self.noSetuptoolsCheckBox)
+        VirtualenvConfigurationDialog.setTabOrder(self.noSetuptoolsCheckBox, self.noPipCcheckBox)
+        VirtualenvConfigurationDialog.setTabOrder(self.noPipCcheckBox, self.clearCheckBox)
+        VirtualenvConfigurationDialog.setTabOrder(self.clearCheckBox, self.copyCheckBox)
+        VirtualenvConfigurationDialog.setTabOrder(self.copyCheckBox, self.symlinkCheckBox)
+        VirtualenvConfigurationDialog.setTabOrder(self.symlinkCheckBox, self.upgradeCheckBox)
+        VirtualenvConfigurationDialog.setTabOrder(self.upgradeCheckBox, self.logCheckBox)
+        VirtualenvConfigurationDialog.setTabOrder(self.logCheckBox, self.scriptCheckBox)
+        VirtualenvConfigurationDialog.setTabOrder(self.scriptCheckBox, self.openCheckBox)
+        VirtualenvConfigurationDialog.setTabOrder(self.openCheckBox, self.condaNameEdit)
+        VirtualenvConfigurationDialog.setTabOrder(self.condaNameEdit, self.condaTargetDirectoryPicker)
+        VirtualenvConfigurationDialog.setTabOrder(self.condaTargetDirectoryPicker, self.condaSpecialsGroup)
+        VirtualenvConfigurationDialog.setTabOrder(self.condaSpecialsGroup, self.condaCloneButton)
+        VirtualenvConfigurationDialog.setTabOrder(self.condaCloneButton, self.condaCloneNameEdit)
+        VirtualenvConfigurationDialog.setTabOrder(self.condaCloneNameEdit, self.condaCloneDirectoryPicker)
+        VirtualenvConfigurationDialog.setTabOrder(self.condaCloneDirectoryPicker, self.condaRequirementsButton)
+        VirtualenvConfigurationDialog.setTabOrder(self.condaRequirementsButton, self.condaRequirementsFilePicker)
+        VirtualenvConfigurationDialog.setTabOrder(self.condaRequirementsFilePicker, self.condaPackagesEdit)
+        VirtualenvConfigurationDialog.setTabOrder(self.condaPackagesEdit, self.condaPythonEdit)
+        VirtualenvConfigurationDialog.setTabOrder(self.condaPythonEdit, self.condaInsecureCheckBox)
+        VirtualenvConfigurationDialog.setTabOrder(self.condaInsecureCheckBox, self.condaDryrunCheckBox)
+
+    def retranslateUi(self, VirtualenvConfigurationDialog):
+        _translate = QtCore.QCoreApplication.translate
+        VirtualenvConfigurationDialog.setWindowTitle(_translate("VirtualenvConfigurationDialog", "Virtual Environment Configuration"))
+        self.groupBox_3.setTitle(_translate("VirtualenvConfigurationDialog", "Environment Creator"))
+        self.virtualenvButton.setToolTip(_translate("VirtualenvConfigurationDialog", "Select to use \'virtualenv\'"))
+        self.pyvenvButton.setToolTip(_translate("VirtualenvConfigurationDialog", "Select to use \'python -m venv\'"))
+        self.condaButton.setToolTip(_translate("VirtualenvConfigurationDialog", "Select to use \'conda\'"))
+        self.label_2.setText(_translate("VirtualenvConfigurationDialog", "Logical Name:"))
+        self.nameEdit.setToolTip(_translate("VirtualenvConfigurationDialog", "Enter a unique name for the virtual environment"))
+        self.nameEdit.setPlaceholderText(_translate("VirtualenvConfigurationDialog", "Name for the virtual environment"))
+        self.groupBox.setTitle(_translate("VirtualenvConfigurationDialog", "Paths"))
+        self.label.setText(_translate("VirtualenvConfigurationDialog", "Target Directory:"))
+        self.targetDirectoryPicker.setToolTip(_translate("VirtualenvConfigurationDialog", "Enter the target directory for the virtual environment"))
+        self.extraSearchPathLabel.setText(_translate("VirtualenvConfigurationDialog", "Extra Search Path:"))
+        self.extraSearchPathPicker.setToolTip(_translate("VirtualenvConfigurationDialog", "Enter the extra search path to look for setuptools/pip"))
+        self.promptPrefixLabel.setText(_translate("VirtualenvConfigurationDialog", "Prompt Prefix:"))
+        self.promptPrefixEdit.setToolTip(_translate("VirtualenvConfigurationDialog", "Enter the prompt prefix for the virtual environment"))
+        self.promptPrefixEdit.setPlaceholderText(_translate("VirtualenvConfigurationDialog", "Prompt prefix for the virtual environment"))
+        self.label_5.setText(_translate("VirtualenvConfigurationDialog", "Python Executable:"))
+        self.pythonExecPicker.setToolTip(_translate("VirtualenvConfigurationDialog", "Enter the Python interpreter for the virtual environment"))
+        self.groupBox_2.setTitle(_translate("VirtualenvConfigurationDialog", "Options"))
+        self.verbosityLabel.setText(_translate("VirtualenvConfigurationDialog", "Verbosity:"))
+        self.verbositySpinBox.setToolTip(_translate("VirtualenvConfigurationDialog", "Select the verbosity (-1: quiet, 0: normal, 1: verbose)"))
+        self.versionLabel.setText(_translate("VirtualenvConfigurationDialog", "Python Version:"))
+        self.versionComboBox.setToolTip(_translate("VirtualenvConfigurationDialog", "Select the Python version (empty for current)"))
+        self.systemCheckBox.setToolTip(_translate("VirtualenvConfigurationDialog", "Select to give the virtualenv access to the global site-packages"))
+        self.systemCheckBox.setText(_translate("VirtualenvConfigurationDialog", "System-wide Python Packages"))
+        self.unzipCheckBox.setToolTip(_translate("VirtualenvConfigurationDialog", "Select to unzip setuptools when installing it"))
+        self.unzipCheckBox.setText(_translate("VirtualenvConfigurationDialog", "Unzip Setuptool to virtualenv"))
+        self.noSetuptoolsCheckBox.setToolTip(_translate("VirtualenvConfigurationDialog", "Select to not install setuptools (or pip) in the new virtualenv"))
+        self.noSetuptoolsCheckBox.setText(_translate("VirtualenvConfigurationDialog", "Don\'t install \'setuptool\' (or pip) in the virtualenv"))
+        self.noPipCcheckBox.setToolTip(_translate("VirtualenvConfigurationDialog", "Select to not install pip in the new virtualenv"))
+        self.noPipCcheckBox.setText(_translate("VirtualenvConfigurationDialog", "Don\'t install \'pip\' in the virtualenv"))
+        self.clearCheckBox.setToolTip(_translate("VirtualenvConfigurationDialog", "Select to clear the target first"))
+        self.clearCheckBox.setText(_translate("VirtualenvConfigurationDialog", "Clear out the target directory"))
+        self.copyCheckBox.setToolTip(_translate("VirtualenvConfigurationDialog", "Select to always copy files rather than symlinking"))
+        self.copyCheckBox.setText(_translate("VirtualenvConfigurationDialog", "Always copy files"))
+        self.symlinkCheckBox.setToolTip(_translate("VirtualenvConfigurationDialog", "Select to use symlinks instead of copies"))
+        self.symlinkCheckBox.setText(_translate("VirtualenvConfigurationDialog", "Use Symbolic Links"))
+        self.upgradeCheckBox.setToolTip(_translate("VirtualenvConfigurationDialog", "Select to upgrade a virtual environment"))
+        self.upgradeCheckBox.setText(_translate("VirtualenvConfigurationDialog", "Upgrade"))
+        self.logCheckBox.setToolTip(_translate("VirtualenvConfigurationDialog", "Select to generate a log file in the target directory"))
+        self.logCheckBox.setText(_translate("VirtualenvConfigurationDialog", "Save a log file in the target directory after creation"))
+        self.scriptCheckBox.setToolTip(_translate("VirtualenvConfigurationDialog", "Select to write a shell script/batch file to regenerate the virtualenv"))
+        self.scriptCheckBox.setText(_translate("VirtualenvConfigurationDialog", "Save virtualenv generation script"))
+        self.openCheckBox.setToolTip(_translate("VirtualenvConfigurationDialog", "Open the newly created virtualenv in a file manager window"))
+        self.openCheckBox.setText(_translate("VirtualenvConfigurationDialog", "Open target directory after creation"))
+        self.groupBox_4.setTitle(_translate("VirtualenvConfigurationDialog", "Target Environment Specification"))
+        self.label_3.setText(_translate("VirtualenvConfigurationDialog", "Name:"))
+        self.condaNameEdit.setToolTip(_translate("VirtualenvConfigurationDialog", "Enter the name for the environment"))
+        self.label_4.setText(_translate("VirtualenvConfigurationDialog", "Path:"))
+        self.condaTargetDirectoryPicker.setToolTip(_translate("VirtualenvConfigurationDialog", "Enter the target directory for the conda environment"))
+        self.label_6.setText(_translate("VirtualenvConfigurationDialog", "<b>Note:</b> Only one of the above entries is mandatory."))
+        self.condaSpecialsGroup.setTitle(_translate("VirtualenvConfigurationDialog", "Special Operations"))
+        self.condaCloneButton.setToolTip(_translate("VirtualenvConfigurationDialog", "Select to clone an environment"))
+        self.condaCloneButton.setText(_translate("VirtualenvConfigurationDialog", "Clone Environment"))
+        self.condaRequirementsButton.setStatusTip(_translate("VirtualenvConfigurationDialog", "Select to create the environment from a requirements file"))
+        self.condaRequirementsButton.setText(_translate("VirtualenvConfigurationDialog", "from Requirements"))
+        self.label_8.setText(_translate("VirtualenvConfigurationDialog", "Name:"))
+        self.condaCloneNameEdit.setToolTip(_translate("VirtualenvConfigurationDialog", "Enter the name of the environment to be cloned"))
+        self.label_7.setText(_translate("VirtualenvConfigurationDialog", "Path:"))
+        self.condaCloneDirectoryPicker.setToolTip(_translate("VirtualenvConfigurationDialog", "Enter the directory of the environment to be cloned"))
+        self.label_9.setText(_translate("VirtualenvConfigurationDialog", "Package Specs:"))
+        self.condaPackagesEdit.setToolTip(_translate("VirtualenvConfigurationDialog", "Enter the package specifications for the environment"))
+        self.groupBox_5.setTitle(_translate("VirtualenvConfigurationDialog", "Options"))
+        self.versionLabel_2.setText(_translate("VirtualenvConfigurationDialog", "Python Version:"))
+        self.condaPythonEdit.setToolTip(_translate("VirtualenvConfigurationDialog", "Enter the Python version for the environment"))
+        self.condaInsecureCheckBox.setText(_translate("VirtualenvConfigurationDialog", "Allow insecure SSL connections"))
+        self.condaDryrunCheckBox.setToolTip(_translate("VirtualenvConfigurationDialog", "Select to perform just a dry-run"))
+        self.condaDryrunCheckBox.setText(_translate("VirtualenvConfigurationDialog", "Perform dry-run"))
+from eric7.EricWidgets.EricPathPicker import EricPathPicker
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/VirtualEnv/Ui_VirtualenvExecDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,80 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/VirtualEnv/VirtualenvExecDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_VirtualenvExecDialog(object):
+    def setupUi(self, VirtualenvExecDialog):
+        VirtualenvExecDialog.setObjectName("VirtualenvExecDialog")
+        VirtualenvExecDialog.resize(750, 600)
+        VirtualenvExecDialog.setSizeGripEnabled(True)
+        self.verticalLayout_3 = QtWidgets.QVBoxLayout(VirtualenvExecDialog)
+        self.verticalLayout_3.setContentsMargins(11, 11, 11, 11)
+        self.verticalLayout_3.setSpacing(6)
+        self.verticalLayout_3.setObjectName("verticalLayout_3")
+        self.messagesGroup = QtWidgets.QGroupBox(parent=VirtualenvExecDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(3)
+        sizePolicy.setHeightForWidth(self.messagesGroup.sizePolicy().hasHeightForWidth())
+        self.messagesGroup.setSizePolicy(sizePolicy)
+        self.messagesGroup.setObjectName("messagesGroup")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.messagesGroup)
+        self.verticalLayout.setContentsMargins(11, 11, 11, 11)
+        self.verticalLayout.setSpacing(6)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.contents = QtWidgets.QTextBrowser(parent=self.messagesGroup)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(3)
+        sizePolicy.setHeightForWidth(self.contents.sizePolicy().hasHeightForWidth())
+        self.contents.setSizePolicy(sizePolicy)
+        self.contents.setObjectName("contents")
+        self.verticalLayout.addWidget(self.contents)
+        self.verticalLayout_3.addWidget(self.messagesGroup)
+        self.errorGroup = QtWidgets.QGroupBox(parent=VirtualenvExecDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(1)
+        sizePolicy.setHeightForWidth(self.errorGroup.sizePolicy().hasHeightForWidth())
+        self.errorGroup.setSizePolicy(sizePolicy)
+        self.errorGroup.setObjectName("errorGroup")
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.errorGroup)
+        self.verticalLayout_2.setContentsMargins(11, 11, 11, 11)
+        self.verticalLayout_2.setSpacing(6)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.errors = QtWidgets.QTextBrowser(parent=self.errorGroup)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(1)
+        sizePolicy.setHeightForWidth(self.errors.sizePolicy().hasHeightForWidth())
+        self.errors.setSizePolicy(sizePolicy)
+        self.errors.setObjectName("errors")
+        self.verticalLayout_2.addWidget(self.errors)
+        self.verticalLayout_3.addWidget(self.errorGroup)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=VirtualenvExecDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout_3.addWidget(self.buttonBox)
+
+        self.retranslateUi(VirtualenvExecDialog)
+        QtCore.QMetaObject.connectSlotsByName(VirtualenvExecDialog)
+        VirtualenvExecDialog.setTabOrder(self.contents, self.errors)
+        VirtualenvExecDialog.setTabOrder(self.errors, self.buttonBox)
+
+    def retranslateUi(self, VirtualenvExecDialog):
+        _translate = QtCore.QCoreApplication.translate
+        VirtualenvExecDialog.setWindowTitle(_translate("VirtualenvExecDialog", "Virtualenv Creation"))
+        self.messagesGroup.setTitle(_translate("VirtualenvExecDialog", "Messages"))
+        self.contents.setWhatsThis(_translate("VirtualenvExecDialog", "<b>virtualenv Execution</b>\n"
+"<p>This shows the output of the virtualenv command.</p>"))
+        self.errorGroup.setTitle(_translate("VirtualenvExecDialog", "Errors"))
+        self.errors.setWhatsThis(_translate("VirtualenvExecDialog", "<b>virtualenv Execution</b>\n"
+"<p>This shows the errors of the virtualenv command.</p>"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/VirtualEnv/Ui_VirtualenvInterpreterSelectionDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,59 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/VirtualEnv/VirtualenvInterpreterSelectionDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_VirtualenvInterpreterSelectionDialog(object):
+    def setupUi(self, VirtualenvInterpreterSelectionDialog):
+        VirtualenvInterpreterSelectionDialog.setObjectName("VirtualenvInterpreterSelectionDialog")
+        VirtualenvInterpreterSelectionDialog.resize(550, 118)
+        VirtualenvInterpreterSelectionDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(VirtualenvInterpreterSelectionDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.label_2 = QtWidgets.QLabel(parent=VirtualenvInterpreterSelectionDialog)
+        self.label_2.setObjectName("label_2")
+        self.horizontalLayout.addWidget(self.label_2)
+        self.nameEdit = QtWidgets.QLineEdit(parent=VirtualenvInterpreterSelectionDialog)
+        self.nameEdit.setFocusPolicy(QtCore.Qt.FocusPolicy.NoFocus)
+        self.nameEdit.setReadOnly(True)
+        self.nameEdit.setObjectName("nameEdit")
+        self.horizontalLayout.addWidget(self.nameEdit)
+        self.verticalLayout.addLayout(self.horizontalLayout)
+        self.label = QtWidgets.QLabel(parent=VirtualenvInterpreterSelectionDialog)
+        self.label.setObjectName("label")
+        self.verticalLayout.addWidget(self.label)
+        self.pythonExecPicker = EricComboPathPicker(parent=VirtualenvInterpreterSelectionDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.pythonExecPicker.sizePolicy().hasHeightForWidth())
+        self.pythonExecPicker.setSizePolicy(sizePolicy)
+        self.pythonExecPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.WheelFocus)
+        self.pythonExecPicker.setObjectName("pythonExecPicker")
+        self.verticalLayout.addWidget(self.pythonExecPicker)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=VirtualenvInterpreterSelectionDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(VirtualenvInterpreterSelectionDialog)
+        self.buttonBox.accepted.connect(VirtualenvInterpreterSelectionDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(VirtualenvInterpreterSelectionDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(VirtualenvInterpreterSelectionDialog)
+
+    def retranslateUi(self, VirtualenvInterpreterSelectionDialog):
+        _translate = QtCore.QCoreApplication.translate
+        VirtualenvInterpreterSelectionDialog.setWindowTitle(_translate("VirtualenvInterpreterSelectionDialog", "Add Virtual Environment"))
+        self.label_2.setText(_translate("VirtualenvInterpreterSelectionDialog", "Name:"))
+        self.label.setText(_translate("VirtualenvInterpreterSelectionDialog", "Enter interpreter for virtual environment:"))
+        self.pythonExecPicker.setToolTip(_translate("VirtualenvInterpreterSelectionDialog", "Enter the Python interpreter of the virtual environment"))
+from eric7.EricWidgets.EricPathPicker import EricComboPathPicker
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/VirtualEnv/Ui_VirtualenvManagerWidget.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,156 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/VirtualEnv/VirtualenvManagerWidget.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_VirtualenvManagerWidget(object):
+    def setupUi(self, VirtualenvManagerWidget):
+        VirtualenvManagerWidget.setObjectName("VirtualenvManagerWidget")
+        VirtualenvManagerWidget.resize(700, 500)
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(VirtualenvManagerWidget)
+        self.verticalLayout_2.setContentsMargins(0, 3, 0, 0)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        spacerItem = QtWidgets.QSpacerItem(28, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_2.addItem(spacerItem)
+        self.refreshButton = QtWidgets.QToolButton(parent=VirtualenvManagerWidget)
+        self.refreshButton.setObjectName("refreshButton")
+        self.horizontalLayout_2.addWidget(self.refreshButton)
+        self.line_2 = QtWidgets.QFrame(parent=VirtualenvManagerWidget)
+        self.line_2.setFrameShape(QtWidgets.QFrame.Shape.VLine)
+        self.line_2.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line_2.setObjectName("line_2")
+        self.horizontalLayout_2.addWidget(self.line_2)
+        self.addButton = QtWidgets.QToolButton(parent=VirtualenvManagerWidget)
+        self.addButton.setText("")
+        self.addButton.setObjectName("addButton")
+        self.horizontalLayout_2.addWidget(self.addButton)
+        self.newButton = QtWidgets.QToolButton(parent=VirtualenvManagerWidget)
+        self.newButton.setObjectName("newButton")
+        self.horizontalLayout_2.addWidget(self.newButton)
+        self.searchNewButton = QtWidgets.QToolButton(parent=VirtualenvManagerWidget)
+        self.searchNewButton.setObjectName("searchNewButton")
+        self.horizontalLayout_2.addWidget(self.searchNewButton)
+        self.line_6 = QtWidgets.QFrame(parent=VirtualenvManagerWidget)
+        self.line_6.setFrameShape(QtWidgets.QFrame.Shape.VLine)
+        self.line_6.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line_6.setObjectName("line_6")
+        self.horizontalLayout_2.addWidget(self.line_6)
+        self.editButton = QtWidgets.QToolButton(parent=VirtualenvManagerWidget)
+        self.editButton.setObjectName("editButton")
+        self.horizontalLayout_2.addWidget(self.editButton)
+        self.upgradeButton = QtWidgets.QToolButton(parent=VirtualenvManagerWidget)
+        self.upgradeButton.setObjectName("upgradeButton")
+        self.horizontalLayout_2.addWidget(self.upgradeButton)
+        self.line_3 = QtWidgets.QFrame(parent=VirtualenvManagerWidget)
+        self.line_3.setFrameShape(QtWidgets.QFrame.Shape.VLine)
+        self.line_3.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line_3.setObjectName("line_3")
+        self.horizontalLayout_2.addWidget(self.line_3)
+        self.removeButton = QtWidgets.QToolButton(parent=VirtualenvManagerWidget)
+        self.removeButton.setObjectName("removeButton")
+        self.horizontalLayout_2.addWidget(self.removeButton)
+        self.removeAllButton = QtWidgets.QToolButton(parent=VirtualenvManagerWidget)
+        self.removeAllButton.setObjectName("removeAllButton")
+        self.horizontalLayout_2.addWidget(self.removeAllButton)
+        self.line_4 = QtWidgets.QFrame(parent=VirtualenvManagerWidget)
+        self.line_4.setFrameShape(QtWidgets.QFrame.Shape.VLine)
+        self.line_4.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line_4.setObjectName("line_4")
+        self.horizontalLayout_2.addWidget(self.line_4)
+        self.deleteButton = QtWidgets.QToolButton(parent=VirtualenvManagerWidget)
+        self.deleteButton.setObjectName("deleteButton")
+        self.horizontalLayout_2.addWidget(self.deleteButton)
+        self.deleteAllButton = QtWidgets.QToolButton(parent=VirtualenvManagerWidget)
+        self.deleteAllButton.setObjectName("deleteAllButton")
+        self.horizontalLayout_2.addWidget(self.deleteAllButton)
+        spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_2.addItem(spacerItem1)
+        self.verticalLayout_2.addLayout(self.horizontalLayout_2)
+        self.venvList = QtWidgets.QTreeWidget(parent=VirtualenvManagerWidget)
+        self.venvList.setAlternatingRowColors(True)
+        self.venvList.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.ExtendedSelection)
+        self.venvList.setRootIsDecorated(False)
+        self.venvList.setItemsExpandable(False)
+        self.venvList.setAllColumnsShowFocus(True)
+        self.venvList.setObjectName("venvList")
+        self.verticalLayout_2.addWidget(self.venvList)
+        self.groupBox = QtWidgets.QGroupBox(parent=VirtualenvManagerWidget)
+        self.groupBox.setMaximumSize(QtCore.QSize(16777215, 150))
+        self.groupBox.setObjectName("groupBox")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.groupBox)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.descriptionEdit = QtWidgets.QPlainTextEdit(parent=self.groupBox)
+        self.descriptionEdit.setReadOnly(True)
+        self.descriptionEdit.setObjectName("descriptionEdit")
+        self.verticalLayout.addWidget(self.descriptionEdit)
+        self.verticalLayout_2.addWidget(self.groupBox)
+        self.line = QtWidgets.QFrame(parent=VirtualenvManagerWidget)
+        self.line.setLineWidth(1)
+        self.line.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line.setObjectName("line")
+        self.verticalLayout_2.addWidget(self.line)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.label_2 = QtWidgets.QLabel(parent=VirtualenvManagerWidget)
+        self.label_2.setObjectName("label_2")
+        self.horizontalLayout.addWidget(self.label_2)
+        self.envBaseDirectoryPicker = EricPathPicker(parent=VirtualenvManagerWidget)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.envBaseDirectoryPicker.sizePolicy().hasHeightForWidth())
+        self.envBaseDirectoryPicker.setSizePolicy(sizePolicy)
+        self.envBaseDirectoryPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.WheelFocus)
+        self.envBaseDirectoryPicker.setObjectName("envBaseDirectoryPicker")
+        self.horizontalLayout.addWidget(self.envBaseDirectoryPicker)
+        self.saveButton = QtWidgets.QToolButton(parent=VirtualenvManagerWidget)
+        self.saveButton.setObjectName("saveButton")
+        self.horizontalLayout.addWidget(self.saveButton)
+        self.verticalLayout_2.addLayout(self.horizontalLayout)
+
+        self.retranslateUi(VirtualenvManagerWidget)
+        QtCore.QMetaObject.connectSlotsByName(VirtualenvManagerWidget)
+        VirtualenvManagerWidget.setTabOrder(self.venvList, self.refreshButton)
+        VirtualenvManagerWidget.setTabOrder(self.refreshButton, self.addButton)
+        VirtualenvManagerWidget.setTabOrder(self.addButton, self.newButton)
+        VirtualenvManagerWidget.setTabOrder(self.newButton, self.searchNewButton)
+        VirtualenvManagerWidget.setTabOrder(self.searchNewButton, self.editButton)
+        VirtualenvManagerWidget.setTabOrder(self.editButton, self.upgradeButton)
+        VirtualenvManagerWidget.setTabOrder(self.upgradeButton, self.removeButton)
+        VirtualenvManagerWidget.setTabOrder(self.removeButton, self.removeAllButton)
+        VirtualenvManagerWidget.setTabOrder(self.removeAllButton, self.deleteButton)
+        VirtualenvManagerWidget.setTabOrder(self.deleteButton, self.deleteAllButton)
+        VirtualenvManagerWidget.setTabOrder(self.deleteAllButton, self.descriptionEdit)
+        VirtualenvManagerWidget.setTabOrder(self.descriptionEdit, self.envBaseDirectoryPicker)
+        VirtualenvManagerWidget.setTabOrder(self.envBaseDirectoryPicker, self.saveButton)
+
+    def retranslateUi(self, VirtualenvManagerWidget):
+        _translate = QtCore.QCoreApplication.translate
+        self.refreshButton.setToolTip(_translate("VirtualenvManagerWidget", "Press to refresh the list of virtual environments"))
+        self.addButton.setToolTip(_translate("VirtualenvManagerWidget", "Press to add an existing virtual environment"))
+        self.newButton.setToolTip(_translate("VirtualenvManagerWidget", "Press to create a new virtual environment"))
+        self.searchNewButton.setToolTip(_translate("VirtualenvManagerWidget", "Search the execution path for all Python interpreters not configured in an environment yet."))
+        self.editButton.setToolTip(_translate("VirtualenvManagerWidget", "Press to edit the selected virtual environment"))
+        self.upgradeButton.setToolTip(_translate("VirtualenvManagerWidget", "Press to upgrade the selected virtual environment"))
+        self.removeButton.setToolTip(_translate("VirtualenvManagerWidget", "Press to remove the selected virtual environments"))
+        self.removeAllButton.setToolTip(_translate("VirtualenvManagerWidget", "Press to remove all virtual environments"))
+        self.deleteButton.setToolTip(_translate("VirtualenvManagerWidget", "Press to remove the selected virtual environments and delete them"))
+        self.deleteAllButton.setToolTip(_translate("VirtualenvManagerWidget", "Press to remove all virtual environments and delete them"))
+        self.venvList.setSortingEnabled(True)
+        self.venvList.headerItem().setText(0, _translate("VirtualenvManagerWidget", "Name"))
+        self.venvList.headerItem().setText(1, _translate("VirtualenvManagerWidget", "Directory"))
+        self.venvList.headerItem().setText(2, _translate("VirtualenvManagerWidget", "Interpreter"))
+        self.groupBox.setTitle(_translate("VirtualenvManagerWidget", "Description"))
+        self.label_2.setText(_translate("VirtualenvManagerWidget", "Base Directory:"))
+        self.envBaseDirectoryPicker.setToolTip(_translate("VirtualenvManagerWidget", "Enter the base directory of the virtual environments"))
+        self.saveButton.setToolTip(_translate("VirtualenvManagerWidget", "Press to save the base directory"))
+from eric7.EricWidgets.EricPathPicker import EricPathPicker
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/VirtualEnv/Ui_VirtualenvNameDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,50 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/VirtualEnv/VirtualenvNameDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_VirtualenvNameDialog(object):
+    def setupUi(self, VirtualenvNameDialog):
+        VirtualenvNameDialog.setObjectName("VirtualenvNameDialog")
+        VirtualenvNameDialog.resize(400, 450)
+        VirtualenvNameDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(VirtualenvNameDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.envsList = QtWidgets.QListWidget(parent=VirtualenvNameDialog)
+        self.envsList.setEditTriggers(QtWidgets.QAbstractItemView.EditTrigger.NoEditTriggers)
+        self.envsList.setAlternatingRowColors(True)
+        self.envsList.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.NoSelection)
+        self.envsList.setObjectName("envsList")
+        self.verticalLayout.addWidget(self.envsList)
+        self.label = QtWidgets.QLabel(parent=VirtualenvNameDialog)
+        self.label.setObjectName("label")
+        self.verticalLayout.addWidget(self.label)
+        self.nameEdit = QtWidgets.QLineEdit(parent=VirtualenvNameDialog)
+        self.nameEdit.setClearButtonEnabled(True)
+        self.nameEdit.setObjectName("nameEdit")
+        self.verticalLayout.addWidget(self.nameEdit)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=VirtualenvNameDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(VirtualenvNameDialog)
+        self.buttonBox.accepted.connect(VirtualenvNameDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(VirtualenvNameDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(VirtualenvNameDialog)
+        VirtualenvNameDialog.setTabOrder(self.envsList, self.nameEdit)
+
+    def retranslateUi(self, VirtualenvNameDialog):
+        _translate = QtCore.QCoreApplication.translate
+        VirtualenvNameDialog.setWindowTitle(_translate("VirtualenvNameDialog", "Virtualenv Name"))
+        self.envsList.setSortingEnabled(True)
+        self.label.setText(_translate("VirtualenvNameDialog", "Enter a logical name for the virtual environment:"))
+        self.nameEdit.setToolTip(_translate("VirtualenvNameDialog", "Enter a unique name for the virtual environment"))
+        self.nameEdit.setPlaceholderText(_translate("VirtualenvNameDialog", "Name for the virtual environment"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/VirtualEnv/Ui_VirtualenvUpgradeConfigurationDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,106 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/VirtualEnv/VirtualenvUpgradeConfigurationDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_VirtualenvUpgradeConfigurationDialog(object):
+    def setupUi(self, VirtualenvUpgradeConfigurationDialog):
+        VirtualenvUpgradeConfigurationDialog.setObjectName("VirtualenvUpgradeConfigurationDialog")
+        VirtualenvUpgradeConfigurationDialog.resize(700, 311)
+        VirtualenvUpgradeConfigurationDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(VirtualenvUpgradeConfigurationDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.groupBox_3 = QtWidgets.QGroupBox(parent=VirtualenvUpgradeConfigurationDialog)
+        self.groupBox_3.setObjectName("groupBox_3")
+        self.gridLayout = QtWidgets.QGridLayout(self.groupBox_3)
+        self.gridLayout.setObjectName("gridLayout")
+        self.label_2 = QtWidgets.QLabel(parent=self.groupBox_3)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 0, 0, 1, 1)
+        self.envNameLabel = QtWidgets.QLabel(parent=self.groupBox_3)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.envNameLabel.sizePolicy().hasHeightForWidth())
+        self.envNameLabel.setSizePolicy(sizePolicy)
+        self.envNameLabel.setObjectName("envNameLabel")
+        self.gridLayout.addWidget(self.envNameLabel, 0, 1, 1, 1)
+        self.label = QtWidgets.QLabel(parent=self.groupBox_3)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 1, 0, 1, 1)
+        self.envDirectoryLabel = QtWidgets.QLabel(parent=self.groupBox_3)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.envDirectoryLabel.sizePolicy().hasHeightForWidth())
+        self.envDirectoryLabel.setSizePolicy(sizePolicy)
+        self.envDirectoryLabel.setObjectName("envDirectoryLabel")
+        self.gridLayout.addWidget(self.envDirectoryLabel, 1, 1, 1, 1)
+        self.verticalLayout.addWidget(self.groupBox_3)
+        self.groupBox = QtWidgets.QGroupBox(parent=VirtualenvUpgradeConfigurationDialog)
+        self.groupBox.setObjectName("groupBox")
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.groupBox)
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.label_5 = QtWidgets.QLabel(parent=self.groupBox)
+        self.label_5.setObjectName("label_5")
+        self.horizontalLayout_2.addWidget(self.label_5)
+        self.pythonExecPicker = EricPathPicker(parent=self.groupBox)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.pythonExecPicker.sizePolicy().hasHeightForWidth())
+        self.pythonExecPicker.setSizePolicy(sizePolicy)
+        self.pythonExecPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.WheelFocus)
+        self.pythonExecPicker.setObjectName("pythonExecPicker")
+        self.horizontalLayout_2.addWidget(self.pythonExecPicker)
+        self.verticalLayout.addWidget(self.groupBox)
+        self.groupBox_2 = QtWidgets.QGroupBox(parent=VirtualenvUpgradeConfigurationDialog)
+        self.groupBox_2.setObjectName("groupBox_2")
+        self.gridLayout_2 = QtWidgets.QGridLayout(self.groupBox_2)
+        self.gridLayout_2.setObjectName("gridLayout_2")
+        self.logCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_2)
+        self.logCheckBox.setChecked(True)
+        self.logCheckBox.setObjectName("logCheckBox")
+        self.gridLayout_2.addWidget(self.logCheckBox, 1, 0, 1, 2)
+        self.upgradePythonCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_2)
+        self.upgradePythonCheckBox.setChecked(True)
+        self.upgradePythonCheckBox.setObjectName("upgradePythonCheckBox")
+        self.gridLayout_2.addWidget(self.upgradePythonCheckBox, 0, 0, 1, 1)
+        self.upgradeDepsCheckBox = QtWidgets.QCheckBox(parent=self.groupBox_2)
+        self.upgradeDepsCheckBox.setObjectName("upgradeDepsCheckBox")
+        self.gridLayout_2.addWidget(self.upgradeDepsCheckBox, 0, 1, 1, 1)
+        self.verticalLayout.addWidget(self.groupBox_2)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=VirtualenvUpgradeConfigurationDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(VirtualenvUpgradeConfigurationDialog)
+        self.buttonBox.accepted.connect(VirtualenvUpgradeConfigurationDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(VirtualenvUpgradeConfigurationDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(VirtualenvUpgradeConfigurationDialog)
+
+    def retranslateUi(self, VirtualenvUpgradeConfigurationDialog):
+        _translate = QtCore.QCoreApplication.translate
+        VirtualenvUpgradeConfigurationDialog.setWindowTitle(_translate("VirtualenvUpgradeConfigurationDialog", "Virtual Environment Upgrade Configuration"))
+        self.groupBox_3.setTitle(_translate("VirtualenvUpgradeConfigurationDialog", "Environment"))
+        self.label_2.setText(_translate("VirtualenvUpgradeConfigurationDialog", "Name:"))
+        self.label.setText(_translate("VirtualenvUpgradeConfigurationDialog", "Directory:"))
+        self.groupBox.setTitle(_translate("VirtualenvUpgradeConfigurationDialog", "Paths"))
+        self.label_5.setText(_translate("VirtualenvUpgradeConfigurationDialog", "Python Executable:"))
+        self.pythonExecPicker.setToolTip(_translate("VirtualenvUpgradeConfigurationDialog", "Enter the Python interpreter for the virtual environment upgrade"))
+        self.groupBox_2.setTitle(_translate("VirtualenvUpgradeConfigurationDialog", "Options"))
+        self.logCheckBox.setToolTip(_translate("VirtualenvUpgradeConfigurationDialog", "Select to generate a log file in the environment directory"))
+        self.logCheckBox.setText(_translate("VirtualenvUpgradeConfigurationDialog", "Save a log file in the environment directory after upgrade"))
+        self.upgradePythonCheckBox.setToolTip(_translate("VirtualenvUpgradeConfigurationDialog", "Select to upgrade the environment directory to use this version of Python."))
+        self.upgradePythonCheckBox.setText(_translate("VirtualenvUpgradeConfigurationDialog", "Upgrade Python"))
+        self.upgradeDepsCheckBox.setToolTip(_translate("VirtualenvUpgradeConfigurationDialog", "Select to upgrade the core dependencies"))
+        self.upgradeDepsCheckBox.setText(_translate("VirtualenvUpgradeConfigurationDialog", "Upgrade Dependencies"))
+from eric7.EricWidgets.EricPathPicker import EricPathPicker
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/WebBrowser/AdBlock/Ui_AdBlockDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,92 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/WebBrowser/AdBlock/AdBlockDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_AdBlockDialog(object):
+    def setupUi(self, AdBlockDialog):
+        AdBlockDialog.setObjectName("AdBlockDialog")
+        AdBlockDialog.resize(650, 600)
+        AdBlockDialog.setSizeGripEnabled(True)
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(AdBlockDialog)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.adBlockGroup = QtWidgets.QGroupBox(parent=AdBlockDialog)
+        self.adBlockGroup.setCheckable(True)
+        self.adBlockGroup.setObjectName("adBlockGroup")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.adBlockGroup)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.gridLayout = QtWidgets.QGridLayout()
+        self.gridLayout.setHorizontalSpacing(20)
+        self.gridLayout.setObjectName("gridLayout")
+        self.iconLabel = QtWidgets.QLabel(parent=self.adBlockGroup)
+        self.iconLabel.setMinimumSize(QtCore.QSize(48, 48))
+        self.iconLabel.setText("Icon")
+        self.iconLabel.setObjectName("iconLabel")
+        self.gridLayout.addWidget(self.iconLabel, 0, 0, 2, 1)
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout.addItem(spacerItem, 0, 1, 1, 1)
+        self.searchEdit = QtWidgets.QLineEdit(parent=self.adBlockGroup)
+        self.searchEdit.setClearButtonEnabled(True)
+        self.searchEdit.setObjectName("searchEdit")
+        self.gridLayout.addWidget(self.searchEdit, 1, 1, 1, 1)
+        self.verticalLayout.addLayout(self.gridLayout)
+        self.subscriptionsTabWidget = QtWidgets.QTabWidget(parent=self.adBlockGroup)
+        self.subscriptionsTabWidget.setDocumentMode(True)
+        self.subscriptionsTabWidget.setObjectName("subscriptionsTabWidget")
+        self.verticalLayout.addWidget(self.subscriptionsTabWidget)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.actionButton = QtWidgets.QToolButton(parent=self.adBlockGroup)
+        self.actionButton.setObjectName("actionButton")
+        self.horizontalLayout.addWidget(self.actionButton)
+        spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem1)
+        self.label = QtWidgets.QLabel(parent=self.adBlockGroup)
+        self.label.setObjectName("label")
+        self.horizontalLayout.addWidget(self.label)
+        self.updateSpinBox = QtWidgets.QSpinBox(parent=self.adBlockGroup)
+        self.updateSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.updateSpinBox.setSuffix("")
+        self.updateSpinBox.setMinimum(1)
+        self.updateSpinBox.setMaximum(14)
+        self.updateSpinBox.setProperty("value", 7)
+        self.updateSpinBox.setObjectName("updateSpinBox")
+        self.horizontalLayout.addWidget(self.updateSpinBox)
+        self.verticalLayout.addLayout(self.horizontalLayout)
+        self.useLimitedEasyListCheckBox = QtWidgets.QCheckBox(parent=self.adBlockGroup)
+        self.useLimitedEasyListCheckBox.setToolTip("")
+        self.useLimitedEasyListCheckBox.setObjectName("useLimitedEasyListCheckBox")
+        self.verticalLayout.addWidget(self.useLimitedEasyListCheckBox)
+        self.verticalLayout_2.addWidget(self.adBlockGroup)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=AdBlockDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout_2.addWidget(self.buttonBox)
+
+        self.retranslateUi(AdBlockDialog)
+        self.buttonBox.accepted.connect(AdBlockDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(AdBlockDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(AdBlockDialog)
+        AdBlockDialog.setTabOrder(self.adBlockGroup, self.searchEdit)
+        AdBlockDialog.setTabOrder(self.searchEdit, self.subscriptionsTabWidget)
+        AdBlockDialog.setTabOrder(self.subscriptionsTabWidget, self.actionButton)
+        AdBlockDialog.setTabOrder(self.actionButton, self.updateSpinBox)
+        AdBlockDialog.setTabOrder(self.updateSpinBox, self.buttonBox)
+
+    def retranslateUi(self, AdBlockDialog):
+        _translate = QtCore.QCoreApplication.translate
+        AdBlockDialog.setWindowTitle(_translate("AdBlockDialog", "AdBlock Configuration"))
+        self.adBlockGroup.setTitle(_translate("AdBlockDialog", "Enable AdBlock"))
+        self.searchEdit.setToolTip(_translate("AdBlockDialog", "Enter search term for subscriptions and rules"))
+        self.searchEdit.setPlaceholderText(_translate("AdBlockDialog", "Search..."))
+        self.actionButton.setText(_translate("AdBlockDialog", "Actions"))
+        self.label.setText(_translate("AdBlockDialog", "Default Update Period (days):"))
+        self.updateSpinBox.setToolTip(_translate("AdBlockDialog", "Enter the update period (1 to 14 days)"))
+        self.useLimitedEasyListCheckBox.setText(_translate("AdBlockDialog", "Use only essential part of EasyList (for performance reasons)"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/WebBrowser/AdBlock/Ui_AdBlockExceptionsDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,71 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/WebBrowser/AdBlock/AdBlockExceptionsDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_AdBlockExceptionsDialog(object):
+    def setupUi(self, AdBlockExceptionsDialog):
+        AdBlockExceptionsDialog.setObjectName("AdBlockExceptionsDialog")
+        AdBlockExceptionsDialog.resize(550, 450)
+        AdBlockExceptionsDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(AdBlockExceptionsDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.gridLayout = QtWidgets.QGridLayout()
+        self.gridLayout.setObjectName("gridLayout")
+        self.iconLabel = QtWidgets.QLabel(parent=AdBlockExceptionsDialog)
+        self.iconLabel.setMinimumSize(QtCore.QSize(48, 48))
+        self.iconLabel.setText("Icon")
+        self.iconLabel.setObjectName("iconLabel")
+        self.gridLayout.addWidget(self.iconLabel, 0, 0, 2, 1)
+        spacerItem = QtWidgets.QSpacerItem(188, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout.addItem(spacerItem, 0, 1, 1, 1)
+        self.hostEdit = QtWidgets.QLineEdit(parent=AdBlockExceptionsDialog)
+        self.hostEdit.setClearButtonEnabled(True)
+        self.hostEdit.setObjectName("hostEdit")
+        self.gridLayout.addWidget(self.hostEdit, 1, 1, 1, 1)
+        self.addButton = QtWidgets.QPushButton(parent=AdBlockExceptionsDialog)
+        self.addButton.setEnabled(False)
+        self.addButton.setObjectName("addButton")
+        self.gridLayout.addWidget(self.addButton, 1, 2, 1, 1)
+        self.hostList = QtWidgets.QListWidget(parent=AdBlockExceptionsDialog)
+        self.hostList.setAlternatingRowColors(True)
+        self.hostList.setObjectName("hostList")
+        self.gridLayout.addWidget(self.hostList, 2, 0, 2, 2)
+        self.deleteButton = QtWidgets.QPushButton(parent=AdBlockExceptionsDialog)
+        self.deleteButton.setEnabled(False)
+        self.deleteButton.setObjectName("deleteButton")
+        self.gridLayout.addWidget(self.deleteButton, 2, 2, 1, 1)
+        spacerItem1 = QtWidgets.QSpacerItem(20, 148, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.gridLayout.addItem(spacerItem1, 3, 2, 1, 1)
+        self.verticalLayout.addLayout(self.gridLayout)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=AdBlockExceptionsDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(AdBlockExceptionsDialog)
+        self.buttonBox.accepted.connect(AdBlockExceptionsDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(AdBlockExceptionsDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(AdBlockExceptionsDialog)
+        AdBlockExceptionsDialog.setTabOrder(self.hostEdit, self.addButton)
+        AdBlockExceptionsDialog.setTabOrder(self.addButton, self.hostList)
+        AdBlockExceptionsDialog.setTabOrder(self.hostList, self.deleteButton)
+        AdBlockExceptionsDialog.setTabOrder(self.deleteButton, self.buttonBox)
+
+    def retranslateUi(self, AdBlockExceptionsDialog):
+        _translate = QtCore.QCoreApplication.translate
+        AdBlockExceptionsDialog.setWindowTitle(_translate("AdBlockExceptionsDialog", "AdBlock Exceptions"))
+        self.hostEdit.setToolTip(_translate("AdBlockExceptionsDialog", "Enter a host to block AdBlock for"))
+        self.hostEdit.setPlaceholderText(_translate("AdBlockExceptionsDialog", "Enter host to be added..."))
+        self.addButton.setToolTip(_translate("AdBlockExceptionsDialog", "Press to add the host"))
+        self.addButton.setText(_translate("AdBlockExceptionsDialog", "&Add"))
+        self.hostList.setSortingEnabled(True)
+        self.deleteButton.setToolTip(_translate("AdBlockExceptionsDialog", "Press to delete the selected hosts"))
+        self.deleteButton.setText(_translate("AdBlockExceptionsDialog", "&Delete"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/WebBrowser/Bookmarks/Ui_AddBookmarkDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,75 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/WebBrowser/Bookmarks/AddBookmarkDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_AddBookmarkDialog(object):
+    def setupUi(self, AddBookmarkDialog):
+        AddBookmarkDialog.setObjectName("AddBookmarkDialog")
+        AddBookmarkDialog.resize(500, 230)
+        AddBookmarkDialog.setMinimumSize(QtCore.QSize(500, 0))
+        AddBookmarkDialog.setMaximumSize(QtCore.QSize(500, 250))
+        AddBookmarkDialog.setSizeGripEnabled(True)
+        self.gridLayout = QtWidgets.QGridLayout(AddBookmarkDialog)
+        self.gridLayout.setObjectName("gridLayout")
+        self.label_2 = QtWidgets.QLabel(parent=AddBookmarkDialog)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 0, 0, 1, 1)
+        self.nameEdit = QtWidgets.QLineEdit(parent=AddBookmarkDialog)
+        self.nameEdit.setClearButtonEnabled(True)
+        self.nameEdit.setObjectName("nameEdit")
+        self.gridLayout.addWidget(self.nameEdit, 0, 1, 1, 1)
+        self.addressLabel = QtWidgets.QLabel(parent=AddBookmarkDialog)
+        self.addressLabel.setObjectName("addressLabel")
+        self.gridLayout.addWidget(self.addressLabel, 1, 0, 1, 1)
+        self.addressEdit = QtWidgets.QLineEdit(parent=AddBookmarkDialog)
+        self.addressEdit.setClearButtonEnabled(True)
+        self.addressEdit.setObjectName("addressEdit")
+        self.gridLayout.addWidget(self.addressEdit, 1, 1, 1, 1)
+        self.label = QtWidgets.QLabel(parent=AddBookmarkDialog)
+        self.label.setAlignment(QtCore.Qt.AlignmentFlag.AlignLeading|QtCore.Qt.AlignmentFlag.AlignLeft|QtCore.Qt.AlignmentFlag.AlignTop)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 2, 0, 1, 1)
+        self.descriptionEdit = EricSpellCheckedPlainTextEdit(parent=AddBookmarkDialog)
+        self.descriptionEdit.setObjectName("descriptionEdit")
+        self.gridLayout.addWidget(self.descriptionEdit, 2, 1, 1, 1)
+        self.label_4 = QtWidgets.QLabel(parent=AddBookmarkDialog)
+        self.label_4.setObjectName("label_4")
+        self.gridLayout.addWidget(self.label_4, 3, 0, 1, 1)
+        self.locationCombo = QtWidgets.QComboBox(parent=AddBookmarkDialog)
+        self.locationCombo.setObjectName("locationCombo")
+        self.gridLayout.addWidget(self.locationCombo, 3, 1, 1, 1)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=AddBookmarkDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout.addWidget(self.buttonBox, 4, 0, 1, 2)
+
+        self.retranslateUi(AddBookmarkDialog)
+        self.buttonBox.accepted.connect(AddBookmarkDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(AddBookmarkDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(AddBookmarkDialog)
+        AddBookmarkDialog.setTabOrder(self.nameEdit, self.addressEdit)
+        AddBookmarkDialog.setTabOrder(self.addressEdit, self.descriptionEdit)
+        AddBookmarkDialog.setTabOrder(self.descriptionEdit, self.locationCombo)
+        AddBookmarkDialog.setTabOrder(self.locationCombo, self.buttonBox)
+
+    def retranslateUi(self, AddBookmarkDialog):
+        _translate = QtCore.QCoreApplication.translate
+        AddBookmarkDialog.setWindowTitle(_translate("AddBookmarkDialog", "Add Bookmark"))
+        self.label_2.setText(_translate("AddBookmarkDialog", "Name:"))
+        self.nameEdit.setToolTip(_translate("AddBookmarkDialog", "Enter the name"))
+        self.nameEdit.setPlaceholderText(_translate("AddBookmarkDialog", "Bookmark Title"))
+        self.addressLabel.setText(_translate("AddBookmarkDialog", "Address:"))
+        self.addressEdit.setToolTip(_translate("AddBookmarkDialog", "Enter the address"))
+        self.addressEdit.setPlaceholderText(_translate("AddBookmarkDialog", "Bookmark URL"))
+        self.label.setText(_translate("AddBookmarkDialog", "Description:"))
+        self.descriptionEdit.setToolTip(_translate("AddBookmarkDialog", "Enter a description"))
+        self.label_4.setText(_translate("AddBookmarkDialog", "Folder:"))
+from eric7.EricWidgets.EricSpellCheckedTextEdit import EricSpellCheckedPlainTextEdit
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/WebBrowser/Bookmarks/Ui_BookmarkPropertiesDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,67 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/WebBrowser/Bookmarks/BookmarkPropertiesDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_BookmarkPropertiesDialog(object):
+    def setupUi(self, BookmarkPropertiesDialog):
+        BookmarkPropertiesDialog.setObjectName("BookmarkPropertiesDialog")
+        BookmarkPropertiesDialog.resize(500, 250)
+        BookmarkPropertiesDialog.setMinimumSize(QtCore.QSize(500, 0))
+        BookmarkPropertiesDialog.setMaximumSize(QtCore.QSize(500, 250))
+        BookmarkPropertiesDialog.setSizeGripEnabled(True)
+        self.gridLayout = QtWidgets.QGridLayout(BookmarkPropertiesDialog)
+        self.gridLayout.setObjectName("gridLayout")
+        self.label_2 = QtWidgets.QLabel(parent=BookmarkPropertiesDialog)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 0, 0, 1, 1)
+        self.nameEdit = QtWidgets.QLineEdit(parent=BookmarkPropertiesDialog)
+        self.nameEdit.setObjectName("nameEdit")
+        self.gridLayout.addWidget(self.nameEdit, 0, 1, 1, 1)
+        self.addressLabel = QtWidgets.QLabel(parent=BookmarkPropertiesDialog)
+        self.addressLabel.setObjectName("addressLabel")
+        self.gridLayout.addWidget(self.addressLabel, 1, 0, 1, 1)
+        self.addressEdit = QtWidgets.QLineEdit(parent=BookmarkPropertiesDialog)
+        self.addressEdit.setObjectName("addressEdit")
+        self.gridLayout.addWidget(self.addressEdit, 1, 1, 1, 1)
+        self.label = QtWidgets.QLabel(parent=BookmarkPropertiesDialog)
+        self.label.setAlignment(QtCore.Qt.AlignmentFlag.AlignLeading|QtCore.Qt.AlignmentFlag.AlignLeft|QtCore.Qt.AlignmentFlag.AlignTop)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 2, 0, 1, 1)
+        self.descriptionEdit = EricSpellCheckedPlainTextEdit(parent=BookmarkPropertiesDialog)
+        self.descriptionEdit.setObjectName("descriptionEdit")
+        self.gridLayout.addWidget(self.descriptionEdit, 2, 1, 1, 1)
+        self.visitedLabel = QtWidgets.QLabel(parent=BookmarkPropertiesDialog)
+        self.visitedLabel.setText("")
+        self.visitedLabel.setObjectName("visitedLabel")
+        self.gridLayout.addWidget(self.visitedLabel, 3, 1, 1, 1)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=BookmarkPropertiesDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout.addWidget(self.buttonBox, 4, 0, 1, 2)
+
+        self.retranslateUi(BookmarkPropertiesDialog)
+        self.buttonBox.accepted.connect(BookmarkPropertiesDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(BookmarkPropertiesDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(BookmarkPropertiesDialog)
+        BookmarkPropertiesDialog.setTabOrder(self.nameEdit, self.addressEdit)
+        BookmarkPropertiesDialog.setTabOrder(self.addressEdit, self.descriptionEdit)
+        BookmarkPropertiesDialog.setTabOrder(self.descriptionEdit, self.buttonBox)
+
+    def retranslateUi(self, BookmarkPropertiesDialog):
+        _translate = QtCore.QCoreApplication.translate
+        BookmarkPropertiesDialog.setWindowTitle(_translate("BookmarkPropertiesDialog", "Bookmark Properties"))
+        self.label_2.setText(_translate("BookmarkPropertiesDialog", "Name:"))
+        self.nameEdit.setToolTip(_translate("BookmarkPropertiesDialog", "Enter the name"))
+        self.addressLabel.setText(_translate("BookmarkPropertiesDialog", "Address:"))
+        self.addressEdit.setToolTip(_translate("BookmarkPropertiesDialog", "Enter the address"))
+        self.label.setText(_translate("BookmarkPropertiesDialog", "Description:"))
+        self.descriptionEdit.setToolTip(_translate("BookmarkPropertiesDialog", "Enter a description"))
+from eric7.EricWidgets.EricSpellCheckedTextEdit import EricSpellCheckedPlainTextEdit
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/WebBrowser/Bookmarks/Ui_BookmarksDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,75 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/WebBrowser/Bookmarks/BookmarksDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_BookmarksDialog(object):
+    def setupUi(self, BookmarksDialog):
+        BookmarksDialog.setObjectName("BookmarksDialog")
+        BookmarksDialog.resize(750, 450)
+        BookmarksDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(BookmarksDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_2.addItem(spacerItem)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setSpacing(0)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.searchEdit = QtWidgets.QLineEdit(parent=BookmarksDialog)
+        self.searchEdit.setClearButtonEnabled(True)
+        self.searchEdit.setObjectName("searchEdit")
+        self.horizontalLayout.addWidget(self.searchEdit)
+        self.horizontalLayout_2.addLayout(self.horizontalLayout)
+        self.verticalLayout.addLayout(self.horizontalLayout_2)
+        self.bookmarksTree = EricTreeView(parent=BookmarksDialog)
+        self.bookmarksTree.setDragDropMode(QtWidgets.QAbstractItemView.DragDropMode.InternalMove)
+        self.bookmarksTree.setAlternatingRowColors(True)
+        self.bookmarksTree.setTextElideMode(QtCore.Qt.TextElideMode.ElideMiddle)
+        self.bookmarksTree.setUniformRowHeights(True)
+        self.bookmarksTree.setObjectName("bookmarksTree")
+        self.verticalLayout.addWidget(self.bookmarksTree)
+        self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
+        self.removeButton = QtWidgets.QPushButton(parent=BookmarksDialog)
+        self.removeButton.setAutoDefault(False)
+        self.removeButton.setObjectName("removeButton")
+        self.horizontalLayout_3.addWidget(self.removeButton)
+        self.addFolderButton = QtWidgets.QPushButton(parent=BookmarksDialog)
+        self.addFolderButton.setAutoDefault(False)
+        self.addFolderButton.setObjectName("addFolderButton")
+        self.horizontalLayout_3.addWidget(self.addFolderButton)
+        spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_3.addItem(spacerItem1)
+        self.verticalLayout.addLayout(self.horizontalLayout_3)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=BookmarksDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(BookmarksDialog)
+        self.buttonBox.accepted.connect(BookmarksDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(BookmarksDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(BookmarksDialog)
+        BookmarksDialog.setTabOrder(self.searchEdit, self.bookmarksTree)
+        BookmarksDialog.setTabOrder(self.bookmarksTree, self.removeButton)
+        BookmarksDialog.setTabOrder(self.removeButton, self.addFolderButton)
+        BookmarksDialog.setTabOrder(self.addFolderButton, self.buttonBox)
+
+    def retranslateUi(self, BookmarksDialog):
+        _translate = QtCore.QCoreApplication.translate
+        BookmarksDialog.setWindowTitle(_translate("BookmarksDialog", "Manage Bookmarks"))
+        self.searchEdit.setToolTip(_translate("BookmarksDialog", "Enter search term for bookmarks"))
+        self.removeButton.setToolTip(_translate("BookmarksDialog", "Press to delete the selected entries"))
+        self.removeButton.setText(_translate("BookmarksDialog", "&Delete"))
+        self.addFolderButton.setToolTip(_translate("BookmarksDialog", "Press to add a new bookmarks folder"))
+        self.addFolderButton.setText(_translate("BookmarksDialog", "Add &Folder"))
+from eric7.EricWidgets.EricTreeView import EricTreeView
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/WebBrowser/Bookmarks/Ui_BookmarksImportDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,105 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/WebBrowser/Bookmarks/BookmarksImportDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_BookmarksImportDialog(object):
+    def setupUi(self, BookmarksImportDialog):
+        BookmarksImportDialog.setObjectName("BookmarksImportDialog")
+        BookmarksImportDialog.resize(550, 354)
+        BookmarksImportDialog.setMinimumSize(QtCore.QSize(550, 350))
+        BookmarksImportDialog.setSizeGripEnabled(True)
+        self.verticalLayout_3 = QtWidgets.QVBoxLayout(BookmarksImportDialog)
+        self.verticalLayout_3.setObjectName("verticalLayout_3")
+        self.pagesWidget = QtWidgets.QStackedWidget(parent=BookmarksImportDialog)
+        self.pagesWidget.setObjectName("pagesWidget")
+        self.sourcePage = QtWidgets.QWidget()
+        self.sourcePage.setObjectName("sourcePage")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.sourcePage)
+        self.verticalLayout.setContentsMargins(0, 0, 0, 0)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.label_2 = QtWidgets.QLabel(parent=self.sourcePage)
+        self.label_2.setObjectName("label_2")
+        self.verticalLayout.addWidget(self.label_2)
+        self.sourcesList = QtWidgets.QListWidget(parent=self.sourcePage)
+        self.sourcesList.setObjectName("sourcesList")
+        self.verticalLayout.addWidget(self.sourcesList)
+        self.pagesWidget.addWidget(self.sourcePage)
+        self.filePage = QtWidgets.QWidget()
+        self.filePage.setObjectName("filePage")
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.filePage)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.iconLabel = QtWidgets.QLabel(parent=self.filePage)
+        self.iconLabel.setMinimumSize(QtCore.QSize(48, 48))
+        self.iconLabel.setMaximumSize(QtCore.QSize(48, 48))
+        self.iconLabel.setObjectName("iconLabel")
+        self.horizontalLayout_2.addWidget(self.iconLabel)
+        self.importingFromLabel = QtWidgets.QLabel(parent=self.filePage)
+        self.importingFromLabel.setObjectName("importingFromLabel")
+        self.horizontalLayout_2.addWidget(self.importingFromLabel)
+        self.verticalLayout_2.addLayout(self.horizontalLayout_2)
+        spacerItem = QtWidgets.QSpacerItem(20, 44, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout_2.addItem(spacerItem)
+        self.fileLabel1 = QtWidgets.QLabel(parent=self.filePage)
+        self.fileLabel1.setWordWrap(True)
+        self.fileLabel1.setObjectName("fileLabel1")
+        self.verticalLayout_2.addWidget(self.fileLabel1)
+        self.standardDirLabel = QtWidgets.QLabel(parent=self.filePage)
+        self.standardDirLabel.setTextInteractionFlags(QtCore.Qt.TextInteractionFlag.LinksAccessibleByMouse|QtCore.Qt.TextInteractionFlag.TextSelectableByMouse)
+        self.standardDirLabel.setObjectName("standardDirLabel")
+        self.verticalLayout_2.addWidget(self.standardDirLabel)
+        self.fileLabel2 = QtWidgets.QLabel(parent=self.filePage)
+        self.fileLabel2.setObjectName("fileLabel2")
+        self.verticalLayout_2.addWidget(self.fileLabel2)
+        spacerItem1 = QtWidgets.QSpacerItem(20, 44, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout_2.addItem(spacerItem1)
+        self.filePicker = EricPathPicker(parent=self.filePage)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.filePicker.sizePolicy().hasHeightForWidth())
+        self.filePicker.setSizePolicy(sizePolicy)
+        self.filePicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.filePicker.setObjectName("filePicker")
+        self.verticalLayout_2.addWidget(self.filePicker)
+        spacerItem2 = QtWidgets.QSpacerItem(20, 44, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout_2.addItem(spacerItem2)
+        self.pagesWidget.addWidget(self.filePage)
+        self.verticalLayout_3.addWidget(self.pagesWidget)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        spacerItem3 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem3)
+        self.nextButton = QtWidgets.QPushButton(parent=BookmarksImportDialog)
+        self.nextButton.setObjectName("nextButton")
+        self.horizontalLayout.addWidget(self.nextButton)
+        self.cancelButton = QtWidgets.QPushButton(parent=BookmarksImportDialog)
+        self.cancelButton.setObjectName("cancelButton")
+        self.horizontalLayout.addWidget(self.cancelButton)
+        self.verticalLayout_3.addLayout(self.horizontalLayout)
+
+        self.retranslateUi(BookmarksImportDialog)
+        self.pagesWidget.setCurrentIndex(0)
+        QtCore.QMetaObject.connectSlotsByName(BookmarksImportDialog)
+        BookmarksImportDialog.setTabOrder(self.sourcesList, self.nextButton)
+        BookmarksImportDialog.setTabOrder(self.nextButton, self.cancelButton)
+        BookmarksImportDialog.setTabOrder(self.cancelButton, self.filePicker)
+
+    def retranslateUi(self, BookmarksImportDialog):
+        _translate = QtCore.QCoreApplication.translate
+        BookmarksImportDialog.setWindowTitle(_translate("BookmarksImportDialog", "Import Bookmarks"))
+        self.label_2.setText(_translate("BookmarksImportDialog", "Choose source from which you want to import bookmarks:"))
+        self.sourcesList.setToolTip(_translate("BookmarksImportDialog", "Choose the source to import from"))
+        self.sourcesList.setSortingEnabled(True)
+        self.filePicker.setToolTip(_translate("BookmarksImportDialog", "Enter the name of the bookmarks file or directory"))
+        self.nextButton.setText(_translate("BookmarksImportDialog", "Next >"))
+        self.cancelButton.setText(_translate("BookmarksImportDialog", "Cancel"))
+from eric7.EricWidgets.EricPathPicker import EricPathPicker
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/WebBrowser/CookieJar/Ui_CookieDetailsDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,90 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/WebBrowser/CookieJar/CookieDetailsDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_CookieDetailsDialog(object):
+    def setupUi(self, CookieDetailsDialog):
+        CookieDetailsDialog.setObjectName("CookieDetailsDialog")
+        CookieDetailsDialog.resize(400, 300)
+        CookieDetailsDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(CookieDetailsDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.formLayout = QtWidgets.QFormLayout()
+        self.formLayout.setObjectName("formLayout")
+        self.label = QtWidgets.QLabel(parent=CookieDetailsDialog)
+        self.label.setObjectName("label")
+        self.formLayout.setWidget(0, QtWidgets.QFormLayout.ItemRole.LabelRole, self.label)
+        self.domainEdit = QtWidgets.QLineEdit(parent=CookieDetailsDialog)
+        self.domainEdit.setReadOnly(True)
+        self.domainEdit.setObjectName("domainEdit")
+        self.formLayout.setWidget(0, QtWidgets.QFormLayout.ItemRole.FieldRole, self.domainEdit)
+        self.label_2 = QtWidgets.QLabel(parent=CookieDetailsDialog)
+        self.label_2.setObjectName("label_2")
+        self.formLayout.setWidget(1, QtWidgets.QFormLayout.ItemRole.LabelRole, self.label_2)
+        self.nameEdit = QtWidgets.QLineEdit(parent=CookieDetailsDialog)
+        self.nameEdit.setReadOnly(True)
+        self.nameEdit.setObjectName("nameEdit")
+        self.formLayout.setWidget(1, QtWidgets.QFormLayout.ItemRole.FieldRole, self.nameEdit)
+        self.label_3 = QtWidgets.QLabel(parent=CookieDetailsDialog)
+        self.label_3.setObjectName("label_3")
+        self.formLayout.setWidget(2, QtWidgets.QFormLayout.ItemRole.LabelRole, self.label_3)
+        self.pathEdit = QtWidgets.QLineEdit(parent=CookieDetailsDialog)
+        self.pathEdit.setReadOnly(True)
+        self.pathEdit.setObjectName("pathEdit")
+        self.formLayout.setWidget(2, QtWidgets.QFormLayout.ItemRole.FieldRole, self.pathEdit)
+        self.label_6 = QtWidgets.QLabel(parent=CookieDetailsDialog)
+        self.label_6.setObjectName("label_6")
+        self.formLayout.setWidget(3, QtWidgets.QFormLayout.ItemRole.LabelRole, self.label_6)
+        self.secureCheckBox = QtWidgets.QCheckBox(parent=CookieDetailsDialog)
+        self.secureCheckBox.setText("")
+        self.secureCheckBox.setCheckable(False)
+        self.secureCheckBox.setObjectName("secureCheckBox")
+        self.formLayout.setWidget(3, QtWidgets.QFormLayout.ItemRole.FieldRole, self.secureCheckBox)
+        self.label_4 = QtWidgets.QLabel(parent=CookieDetailsDialog)
+        self.label_4.setObjectName("label_4")
+        self.formLayout.setWidget(4, QtWidgets.QFormLayout.ItemRole.LabelRole, self.label_4)
+        self.expirationEdit = QtWidgets.QLineEdit(parent=CookieDetailsDialog)
+        self.expirationEdit.setReadOnly(True)
+        self.expirationEdit.setObjectName("expirationEdit")
+        self.formLayout.setWidget(4, QtWidgets.QFormLayout.ItemRole.FieldRole, self.expirationEdit)
+        self.label_5 = QtWidgets.QLabel(parent=CookieDetailsDialog)
+        self.label_5.setObjectName("label_5")
+        self.formLayout.setWidget(5, QtWidgets.QFormLayout.ItemRole.LabelRole, self.label_5)
+        self.valueEdit = QtWidgets.QPlainTextEdit(parent=CookieDetailsDialog)
+        self.valueEdit.setReadOnly(True)
+        self.valueEdit.setObjectName("valueEdit")
+        self.formLayout.setWidget(5, QtWidgets.QFormLayout.ItemRole.FieldRole, self.valueEdit)
+        self.verticalLayout.addLayout(self.formLayout)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=CookieDetailsDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(CookieDetailsDialog)
+        self.buttonBox.accepted.connect(CookieDetailsDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(CookieDetailsDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(CookieDetailsDialog)
+        CookieDetailsDialog.setTabOrder(self.domainEdit, self.nameEdit)
+        CookieDetailsDialog.setTabOrder(self.nameEdit, self.pathEdit)
+        CookieDetailsDialog.setTabOrder(self.pathEdit, self.secureCheckBox)
+        CookieDetailsDialog.setTabOrder(self.secureCheckBox, self.expirationEdit)
+        CookieDetailsDialog.setTabOrder(self.expirationEdit, self.valueEdit)
+        CookieDetailsDialog.setTabOrder(self.valueEdit, self.buttonBox)
+
+    def retranslateUi(self, CookieDetailsDialog):
+        _translate = QtCore.QCoreApplication.translate
+        CookieDetailsDialog.setWindowTitle(_translate("CookieDetailsDialog", "Cookie Details"))
+        self.label.setText(_translate("CookieDetailsDialog", "Domain:"))
+        self.label_2.setText(_translate("CookieDetailsDialog", "Name:"))
+        self.label_3.setText(_translate("CookieDetailsDialog", "Path:"))
+        self.label_6.setText(_translate("CookieDetailsDialog", "Secure:"))
+        self.label_4.setText(_translate("CookieDetailsDialog", "Expires:"))
+        self.label_5.setText(_translate("CookieDetailsDialog", "Contents:"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/WebBrowser/CookieJar/Ui_CookiesConfigurationDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,103 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/WebBrowser/CookieJar/CookiesConfigurationDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_CookiesConfigurationDialog(object):
+    def setupUi(self, CookiesConfigurationDialog):
+        CookiesConfigurationDialog.setObjectName("CookiesConfigurationDialog")
+        CookiesConfigurationDialog.resize(500, 160)
+        CookiesConfigurationDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(CookiesConfigurationDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.headerLabel = QtWidgets.QLabel(parent=CookiesConfigurationDialog)
+        self.headerLabel.setObjectName("headerLabel")
+        self.verticalLayout.addWidget(self.headerLabel)
+        self.line17 = QtWidgets.QFrame(parent=CookiesConfigurationDialog)
+        self.line17.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line17.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line17.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line17.setObjectName("line17")
+        self.verticalLayout.addWidget(self.line17)
+        self.gridLayout = QtWidgets.QGridLayout()
+        self.gridLayout.setObjectName("gridLayout")
+        self.label_2 = QtWidgets.QLabel(parent=CookiesConfigurationDialog)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 0, 0, 1, 1)
+        self.acceptCombo = QtWidgets.QComboBox(parent=CookiesConfigurationDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.acceptCombo.sizePolicy().hasHeightForWidth())
+        self.acceptCombo.setSizePolicy(sizePolicy)
+        self.acceptCombo.setObjectName("acceptCombo")
+        self.acceptCombo.addItem("")
+        self.acceptCombo.addItem("")
+        self.acceptCombo.addItem("")
+        self.gridLayout.addWidget(self.acceptCombo, 0, 1, 1, 1)
+        self.exceptionsButton = QtWidgets.QPushButton(parent=CookiesConfigurationDialog)
+        self.exceptionsButton.setObjectName("exceptionsButton")
+        self.gridLayout.addWidget(self.exceptionsButton, 0, 2, 1, 1)
+        self.label = QtWidgets.QLabel(parent=CookiesConfigurationDialog)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 1, 0, 1, 1)
+        self.keepUntilCombo = QtWidgets.QComboBox(parent=CookiesConfigurationDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.keepUntilCombo.sizePolicy().hasHeightForWidth())
+        self.keepUntilCombo.setSizePolicy(sizePolicy)
+        self.keepUntilCombo.setObjectName("keepUntilCombo")
+        self.keepUntilCombo.addItem("")
+        self.keepUntilCombo.addItem("")
+        self.gridLayout.addWidget(self.keepUntilCombo, 1, 1, 1, 1)
+        self.cookiesButton = QtWidgets.QPushButton(parent=CookiesConfigurationDialog)
+        self.cookiesButton.setObjectName("cookiesButton")
+        self.gridLayout.addWidget(self.cookiesButton, 1, 2, 1, 1)
+        self.filterTrackingCookiesCheckbox = QtWidgets.QCheckBox(parent=CookiesConfigurationDialog)
+        self.filterTrackingCookiesCheckbox.setObjectName("filterTrackingCookiesCheckbox")
+        self.gridLayout.addWidget(self.filterTrackingCookiesCheckbox, 2, 1, 1, 1)
+        self.verticalLayout.addLayout(self.gridLayout)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=CookiesConfigurationDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+        self.label_2.setBuddy(self.acceptCombo)
+        self.label.setBuddy(self.keepUntilCombo)
+
+        self.retranslateUi(CookiesConfigurationDialog)
+        self.buttonBox.accepted.connect(CookiesConfigurationDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(CookiesConfigurationDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(CookiesConfigurationDialog)
+        CookiesConfigurationDialog.setTabOrder(self.acceptCombo, self.exceptionsButton)
+        CookiesConfigurationDialog.setTabOrder(self.exceptionsButton, self.keepUntilCombo)
+        CookiesConfigurationDialog.setTabOrder(self.keepUntilCombo, self.cookiesButton)
+        CookiesConfigurationDialog.setTabOrder(self.cookiesButton, self.filterTrackingCookiesCheckbox)
+        CookiesConfigurationDialog.setTabOrder(self.filterTrackingCookiesCheckbox, self.buttonBox)
+
+    def retranslateUi(self, CookiesConfigurationDialog):
+        _translate = QtCore.QCoreApplication.translate
+        CookiesConfigurationDialog.setWindowTitle(_translate("CookiesConfigurationDialog", "Configure cookies"))
+        self.headerLabel.setText(_translate("CookiesConfigurationDialog", "<b>Configure cookies</b>"))
+        self.label_2.setText(_translate("CookiesConfigurationDialog", "&Accept Cookies:"))
+        self.acceptCombo.setToolTip(_translate("CookiesConfigurationDialog", "Select the accept policy"))
+        self.acceptCombo.setItemText(0, _translate("CookiesConfigurationDialog", "Always"))
+        self.acceptCombo.setItemText(1, _translate("CookiesConfigurationDialog", "Never"))
+        self.acceptCombo.setItemText(2, _translate("CookiesConfigurationDialog", "Only from sites you navigate to"))
+        self.exceptionsButton.setToolTip(_translate("CookiesConfigurationDialog", "Show a dialog to configure exceptions"))
+        self.exceptionsButton.setText(_translate("CookiesConfigurationDialog", "&Exceptions..."))
+        self.label.setText(_translate("CookiesConfigurationDialog", "&Keep until:"))
+        self.keepUntilCombo.setToolTip(_translate("CookiesConfigurationDialog", "Select the keep policy"))
+        self.keepUntilCombo.setItemText(0, _translate("CookiesConfigurationDialog", "They expire"))
+        self.keepUntilCombo.setItemText(1, _translate("CookiesConfigurationDialog", "I exit the application"))
+        self.cookiesButton.setToolTip(_translate("CookiesConfigurationDialog", "Show a dialog listing all cookies"))
+        self.cookiesButton.setText(_translate("CookiesConfigurationDialog", "&Show Cookies..."))
+        self.filterTrackingCookiesCheckbox.setToolTip(_translate("CookiesConfigurationDialog", "Select to filter tracking cookies"))
+        self.filterTrackingCookiesCheckbox.setText(_translate("CookiesConfigurationDialog", "&Filter Tracking Cookies"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/WebBrowser/CookieJar/Ui_CookiesDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,176 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/WebBrowser/CookieJar/CookiesDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_CookiesDialog(object):
+    def setupUi(self, CookiesDialog):
+        CookiesDialog.setObjectName("CookiesDialog")
+        CookiesDialog.resize(500, 480)
+        CookiesDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(CookiesDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_2.addItem(spacerItem)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setSpacing(0)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.searchEdit = QtWidgets.QLineEdit(parent=CookiesDialog)
+        self.searchEdit.setMinimumSize(QtCore.QSize(300, 0))
+        self.searchEdit.setClearButtonEnabled(True)
+        self.searchEdit.setObjectName("searchEdit")
+        self.horizontalLayout.addWidget(self.searchEdit)
+        self.horizontalLayout_2.addLayout(self.horizontalLayout)
+        self.verticalLayout.addLayout(self.horizontalLayout_2)
+        self.cookiesTree = QtWidgets.QTreeWidget(parent=CookiesDialog)
+        self.cookiesTree.setAlternatingRowColors(True)
+        self.cookiesTree.setAllColumnsShowFocus(True)
+        self.cookiesTree.setObjectName("cookiesTree")
+        self.verticalLayout.addWidget(self.cookiesTree)
+        self.frame = QtWidgets.QFrame(parent=CookiesDialog)
+        self.frame.setFrameShape(QtWidgets.QFrame.Shape.StyledPanel)
+        self.frame.setFrameShadow(QtWidgets.QFrame.Shadow.Raised)
+        self.frame.setObjectName("frame")
+        self.gridLayout = QtWidgets.QGridLayout(self.frame)
+        self.gridLayout.setObjectName("gridLayout")
+        self.label = QtWidgets.QLabel(parent=self.frame)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
+        self.domain = EricSqueezeLabel(parent=self.frame)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.domain.sizePolicy().hasHeightForWidth())
+        self.domain.setSizePolicy(sizePolicy)
+        self.domain.setTextInteractionFlags(QtCore.Qt.TextInteractionFlag.LinksAccessibleByMouse|QtCore.Qt.TextInteractionFlag.TextSelectableByMouse)
+        self.domain.setObjectName("domain")
+        self.gridLayout.addWidget(self.domain, 0, 1, 1, 1)
+        self.label_2 = QtWidgets.QLabel(parent=self.frame)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 1, 0, 1, 1)
+        self.name = EricSqueezeLabel(parent=self.frame)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.name.sizePolicy().hasHeightForWidth())
+        self.name.setSizePolicy(sizePolicy)
+        self.name.setTextInteractionFlags(QtCore.Qt.TextInteractionFlag.LinksAccessibleByMouse|QtCore.Qt.TextInteractionFlag.TextSelectableByMouse)
+        self.name.setObjectName("name")
+        self.gridLayout.addWidget(self.name, 1, 1, 1, 1)
+        self.label_3 = QtWidgets.QLabel(parent=self.frame)
+        self.label_3.setObjectName("label_3")
+        self.gridLayout.addWidget(self.label_3, 2, 0, 1, 1)
+        self.path = EricSqueezeLabel(parent=self.frame)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.path.sizePolicy().hasHeightForWidth())
+        self.path.setSizePolicy(sizePolicy)
+        self.path.setTextInteractionFlags(QtCore.Qt.TextInteractionFlag.LinksAccessibleByMouse|QtCore.Qt.TextInteractionFlag.TextSelectableByMouse)
+        self.path.setObjectName("path")
+        self.gridLayout.addWidget(self.path, 2, 1, 1, 1)
+        self.label_4 = QtWidgets.QLabel(parent=self.frame)
+        self.label_4.setObjectName("label_4")
+        self.gridLayout.addWidget(self.label_4, 3, 0, 1, 1)
+        self.secure = EricSqueezeLabel(parent=self.frame)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.secure.sizePolicy().hasHeightForWidth())
+        self.secure.setSizePolicy(sizePolicy)
+        self.secure.setTextInteractionFlags(QtCore.Qt.TextInteractionFlag.LinksAccessibleByMouse|QtCore.Qt.TextInteractionFlag.TextSelectableByMouse)
+        self.secure.setObjectName("secure")
+        self.gridLayout.addWidget(self.secure, 3, 1, 1, 1)
+        self.label_5 = QtWidgets.QLabel(parent=self.frame)
+        self.label_5.setObjectName("label_5")
+        self.gridLayout.addWidget(self.label_5, 4, 0, 1, 1)
+        self.expiration = EricSqueezeLabel(parent=self.frame)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.expiration.sizePolicy().hasHeightForWidth())
+        self.expiration.setSizePolicy(sizePolicy)
+        self.expiration.setTextInteractionFlags(QtCore.Qt.TextInteractionFlag.LinksAccessibleByMouse|QtCore.Qt.TextInteractionFlag.TextSelectableByMouse)
+        self.expiration.setObjectName("expiration")
+        self.gridLayout.addWidget(self.expiration, 4, 1, 1, 1)
+        self.label_6 = QtWidgets.QLabel(parent=self.frame)
+        self.label_6.setObjectName("label_6")
+        self.gridLayout.addWidget(self.label_6, 5, 0, 1, 1)
+        self.value = EricSqueezeLabel(parent=self.frame)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.value.sizePolicy().hasHeightForWidth())
+        self.value.setSizePolicy(sizePolicy)
+        self.value.setWordWrap(True)
+        self.value.setTextInteractionFlags(QtCore.Qt.TextInteractionFlag.LinksAccessibleByMouse|QtCore.Qt.TextInteractionFlag.TextSelectableByMouse)
+        self.value.setObjectName("value")
+        self.gridLayout.addWidget(self.value, 5, 1, 1, 1)
+        self.verticalLayout.addWidget(self.frame)
+        self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
+        self.removeButton = QtWidgets.QPushButton(parent=CookiesDialog)
+        self.removeButton.setAutoDefault(False)
+        self.removeButton.setObjectName("removeButton")
+        self.horizontalLayout_3.addWidget(self.removeButton)
+        self.removeAllButton = QtWidgets.QPushButton(parent=CookiesDialog)
+        self.removeAllButton.setAutoDefault(False)
+        self.removeAllButton.setObjectName("removeAllButton")
+        self.horizontalLayout_3.addWidget(self.removeAllButton)
+        self.addButton = QtWidgets.QPushButton(parent=CookiesDialog)
+        self.addButton.setAutoDefault(False)
+        self.addButton.setObjectName("addButton")
+        self.horizontalLayout_3.addWidget(self.addButton)
+        spacerItem1 = QtWidgets.QSpacerItem(208, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_3.addItem(spacerItem1)
+        self.verticalLayout.addLayout(self.horizontalLayout_3)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=CookiesDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(CookiesDialog)
+        self.buttonBox.accepted.connect(CookiesDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(CookiesDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(CookiesDialog)
+        CookiesDialog.setTabOrder(self.searchEdit, self.cookiesTree)
+        CookiesDialog.setTabOrder(self.cookiesTree, self.removeButton)
+        CookiesDialog.setTabOrder(self.removeButton, self.removeAllButton)
+        CookiesDialog.setTabOrder(self.removeAllButton, self.addButton)
+
+    def retranslateUi(self, CookiesDialog):
+        _translate = QtCore.QCoreApplication.translate
+        CookiesDialog.setWindowTitle(_translate("CookiesDialog", "Cookies"))
+        self.searchEdit.setToolTip(_translate("CookiesDialog", "Enter search term for cookies"))
+        self.searchEdit.setPlaceholderText(_translate("CookiesDialog", "Search"))
+        self.cookiesTree.setSortingEnabled(True)
+        self.cookiesTree.headerItem().setText(0, _translate("CookiesDialog", "Server"))
+        self.cookiesTree.headerItem().setText(1, _translate("CookiesDialog", "Cookie Name"))
+        self.label.setText(_translate("CookiesDialog", "Domain:"))
+        self.domain.setText(_translate("CookiesDialog", "<no cookie selected>"))
+        self.label_2.setText(_translate("CookiesDialog", "Name:"))
+        self.name.setText(_translate("CookiesDialog", "<no cookie selected>"))
+        self.label_3.setText(_translate("CookiesDialog", "Path:"))
+        self.path.setText(_translate("CookiesDialog", "<no cookie selected>"))
+        self.label_4.setText(_translate("CookiesDialog", "Secure:"))
+        self.secure.setText(_translate("CookiesDialog", "<no cookie selected>"))
+        self.label_5.setText(_translate("CookiesDialog", "Expiration:"))
+        self.expiration.setText(_translate("CookiesDialog", "<no cookie selected>"))
+        self.label_6.setText(_translate("CookiesDialog", "Value:"))
+        self.value.setText(_translate("CookiesDialog", "<no cookie selected>"))
+        self.removeButton.setToolTip(_translate("CookiesDialog", "Press to remove the selected cookie or list of cookies"))
+        self.removeButton.setText(_translate("CookiesDialog", "&Remove Cookies"))
+        self.removeAllButton.setToolTip(_translate("CookiesDialog", "Press to remove all cookies"))
+        self.removeAllButton.setText(_translate("CookiesDialog", "Remove &All"))
+        self.addButton.setToolTip(_translate("CookiesDialog", "Press to open the cookies exceptions dialog to add a new rule"))
+        self.addButton.setText(_translate("CookiesDialog", "Add R&ule..."))
+from eric7.EricWidgets.EricSqueezeLabels import EricSqueezeLabel
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/WebBrowser/CookieJar/Ui_CookiesExceptionsDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,129 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/WebBrowser/CookieJar/CookiesExceptionsDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_CookiesExceptionsDialog(object):
+    def setupUi(self, CookiesExceptionsDialog):
+        CookiesExceptionsDialog.setObjectName("CookiesExceptionsDialog")
+        CookiesExceptionsDialog.resize(500, 450)
+        CookiesExceptionsDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(CookiesExceptionsDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.newExceptionGroupBox = QtWidgets.QGroupBox(parent=CookiesExceptionsDialog)
+        self.newExceptionGroupBox.setObjectName("newExceptionGroupBox")
+        self.gridlayout = QtWidgets.QGridLayout(self.newExceptionGroupBox)
+        self.gridlayout.setObjectName("gridlayout")
+        self._2 = QtWidgets.QHBoxLayout()
+        self._2.setObjectName("_2")
+        self.label = QtWidgets.QLabel(parent=self.newExceptionGroupBox)
+        self.label.setObjectName("label")
+        self._2.addWidget(self.label)
+        self.domainEdit = QtWidgets.QLineEdit(parent=self.newExceptionGroupBox)
+        self.domainEdit.setObjectName("domainEdit")
+        self._2.addWidget(self.domainEdit)
+        self.gridlayout.addLayout(self._2, 0, 0, 1, 1)
+        self._3 = QtWidgets.QHBoxLayout()
+        self._3.setObjectName("_3")
+        spacerItem = QtWidgets.QSpacerItem(81, 25, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self._3.addItem(spacerItem)
+        self.blockButton = QtWidgets.QPushButton(parent=self.newExceptionGroupBox)
+        self.blockButton.setEnabled(False)
+        self.blockButton.setAutoDefault(False)
+        self.blockButton.setObjectName("blockButton")
+        self._3.addWidget(self.blockButton)
+        self.allowForSessionButton = QtWidgets.QPushButton(parent=self.newExceptionGroupBox)
+        self.allowForSessionButton.setEnabled(False)
+        self.allowForSessionButton.setAutoDefault(False)
+        self.allowForSessionButton.setObjectName("allowForSessionButton")
+        self._3.addWidget(self.allowForSessionButton)
+        self.allowButton = QtWidgets.QPushButton(parent=self.newExceptionGroupBox)
+        self.allowButton.setEnabled(False)
+        self.allowButton.setAutoDefault(False)
+        self.allowButton.setObjectName("allowButton")
+        self._3.addWidget(self.allowButton)
+        self.gridlayout.addLayout(self._3, 1, 0, 1, 1)
+        self.verticalLayout.addWidget(self.newExceptionGroupBox)
+        self.exceptionsGroup = QtWidgets.QGroupBox(parent=CookiesExceptionsDialog)
+        self.exceptionsGroup.setObjectName("exceptionsGroup")
+        self.gridLayout = QtWidgets.QGridLayout(self.exceptionsGroup)
+        self.gridLayout.setObjectName("gridLayout")
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_2.addItem(spacerItem1)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setSpacing(0)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.searchEdit = QtWidgets.QLineEdit(parent=self.exceptionsGroup)
+        self.searchEdit.setMinimumSize(QtCore.QSize(300, 0))
+        self.searchEdit.setClearButtonEnabled(True)
+        self.searchEdit.setObjectName("searchEdit")
+        self.horizontalLayout.addWidget(self.searchEdit)
+        self.horizontalLayout_2.addLayout(self.horizontalLayout)
+        self.gridLayout.addLayout(self.horizontalLayout_2, 0, 0, 1, 3)
+        self.exceptionsTable = EricTableView(parent=self.exceptionsGroup)
+        self.exceptionsTable.setAlternatingRowColors(True)
+        self.exceptionsTable.setSelectionBehavior(QtWidgets.QAbstractItemView.SelectionBehavior.SelectRows)
+        self.exceptionsTable.setTextElideMode(QtCore.Qt.TextElideMode.ElideMiddle)
+        self.exceptionsTable.setShowGrid(False)
+        self.exceptionsTable.setSortingEnabled(True)
+        self.exceptionsTable.setObjectName("exceptionsTable")
+        self.exceptionsTable.verticalHeader().setVisible(False)
+        self.gridLayout.addWidget(self.exceptionsTable, 1, 0, 1, 3)
+        self.removeButton = QtWidgets.QPushButton(parent=self.exceptionsGroup)
+        self.removeButton.setAutoDefault(False)
+        self.removeButton.setObjectName("removeButton")
+        self.gridLayout.addWidget(self.removeButton, 2, 0, 1, 1)
+        self.removeAllButton = QtWidgets.QPushButton(parent=self.exceptionsGroup)
+        self.removeAllButton.setAutoDefault(False)
+        self.removeAllButton.setObjectName("removeAllButton")
+        self.gridLayout.addWidget(self.removeAllButton, 2, 1, 1, 1)
+        spacerItem2 = QtWidgets.QSpacerItem(286, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout.addItem(spacerItem2, 2, 2, 1, 1)
+        self.verticalLayout.addWidget(self.exceptionsGroup)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=CookiesExceptionsDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+        self.label.setBuddy(self.domainEdit)
+
+        self.retranslateUi(CookiesExceptionsDialog)
+        self.buttonBox.accepted.connect(CookiesExceptionsDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(CookiesExceptionsDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(CookiesExceptionsDialog)
+        CookiesExceptionsDialog.setTabOrder(self.domainEdit, self.blockButton)
+        CookiesExceptionsDialog.setTabOrder(self.blockButton, self.allowForSessionButton)
+        CookiesExceptionsDialog.setTabOrder(self.allowForSessionButton, self.allowButton)
+        CookiesExceptionsDialog.setTabOrder(self.allowButton, self.searchEdit)
+        CookiesExceptionsDialog.setTabOrder(self.searchEdit, self.exceptionsTable)
+        CookiesExceptionsDialog.setTabOrder(self.exceptionsTable, self.removeButton)
+        CookiesExceptionsDialog.setTabOrder(self.removeButton, self.removeAllButton)
+        CookiesExceptionsDialog.setTabOrder(self.removeAllButton, self.buttonBox)
+
+    def retranslateUi(self, CookiesExceptionsDialog):
+        _translate = QtCore.QCoreApplication.translate
+        CookiesExceptionsDialog.setWindowTitle(_translate("CookiesExceptionsDialog", "Cookie Exceptions"))
+        self.newExceptionGroupBox.setTitle(_translate("CookiesExceptionsDialog", "New Exception"))
+        self.label.setText(_translate("CookiesExceptionsDialog", "&Domain:"))
+        self.domainEdit.setToolTip(_translate("CookiesExceptionsDialog", "Enter the domain name"))
+        self.blockButton.setToolTip(_translate("CookiesExceptionsDialog", "Press to always reject cookies for the domain"))
+        self.blockButton.setText(_translate("CookiesExceptionsDialog", "&Block"))
+        self.allowForSessionButton.setToolTip(_translate("CookiesExceptionsDialog", "Press to accept cookies for the domain for the current session"))
+        self.allowForSessionButton.setText(_translate("CookiesExceptionsDialog", "Allow For &Session"))
+        self.allowButton.setToolTip(_translate("CookiesExceptionsDialog", "Press to always accept cookies for the domain"))
+        self.allowButton.setText(_translate("CookiesExceptionsDialog", "Allo&w"))
+        self.exceptionsGroup.setTitle(_translate("CookiesExceptionsDialog", "Exceptions"))
+        self.searchEdit.setToolTip(_translate("CookiesExceptionsDialog", "Enter search term for exceptions"))
+        self.removeButton.setToolTip(_translate("CookiesExceptionsDialog", "Press to remove the selected entries"))
+        self.removeButton.setText(_translate("CookiesExceptionsDialog", "&Remove"))
+        self.removeAllButton.setToolTip(_translate("CookiesExceptionsDialog", "Press to remove all entries"))
+        self.removeAllButton.setText(_translate("CookiesExceptionsDialog", "Remove &All"))
+from eric7.EricWidgets.EricTableView import EricTableView
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/WebBrowser/Download/Ui_DownloadAskActionDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,106 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/WebBrowser/Download/DownloadAskActionDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_DownloadAskActionDialog(object):
+    def setupUi(self, DownloadAskActionDialog):
+        DownloadAskActionDialog.setObjectName("DownloadAskActionDialog")
+        DownloadAskActionDialog.resize(500, 209)
+        DownloadAskActionDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(DownloadAskActionDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.label_3 = QtWidgets.QLabel(parent=DownloadAskActionDialog)
+        self.label_3.setObjectName("label_3")
+        self.verticalLayout.addWidget(self.label_3)
+        self.gridLayout_2 = QtWidgets.QGridLayout()
+        self.gridLayout_2.setObjectName("gridLayout_2")
+        self.label_4 = QtWidgets.QLabel(parent=DownloadAskActionDialog)
+        self.label_4.setText("")
+        self.label_4.setObjectName("label_4")
+        self.gridLayout_2.addWidget(self.label_4, 0, 0, 1, 1)
+        self.infoLabel = QtWidgets.QLabel(parent=DownloadAskActionDialog)
+        self.infoLabel.setText("")
+        self.infoLabel.setWordWrap(True)
+        self.infoLabel.setObjectName("infoLabel")
+        self.gridLayout_2.addWidget(self.infoLabel, 0, 1, 1, 2)
+        self.label_5 = QtWidgets.QLabel(parent=DownloadAskActionDialog)
+        self.label_5.setObjectName("label_5")
+        self.gridLayout_2.addWidget(self.label_5, 1, 1, 1, 1)
+        self.typeLabel = QtWidgets.QLabel(parent=DownloadAskActionDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.typeLabel.sizePolicy().hasHeightForWidth())
+        self.typeLabel.setSizePolicy(sizePolicy)
+        self.typeLabel.setText("")
+        self.typeLabel.setObjectName("typeLabel")
+        self.gridLayout_2.addWidget(self.typeLabel, 1, 2, 1, 1)
+        self.label_6 = QtWidgets.QLabel(parent=DownloadAskActionDialog)
+        self.label_6.setObjectName("label_6")
+        self.gridLayout_2.addWidget(self.label_6, 2, 1, 1, 1)
+        self.siteLabel = QtWidgets.QLabel(parent=DownloadAskActionDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.siteLabel.sizePolicy().hasHeightForWidth())
+        self.siteLabel.setSizePolicy(sizePolicy)
+        self.siteLabel.setText("")
+        self.siteLabel.setObjectName("siteLabel")
+        self.gridLayout_2.addWidget(self.siteLabel, 2, 2, 1, 1)
+        self.verticalLayout.addLayout(self.gridLayout_2)
+        self.gridLayout = QtWidgets.QGridLayout()
+        self.gridLayout.setObjectName("gridLayout")
+        self.label_2 = QtWidgets.QLabel(parent=DownloadAskActionDialog)
+        self.label_2.setText("")
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 1, 0, 1, 1)
+        self.openButton = QtWidgets.QRadioButton(parent=DownloadAskActionDialog)
+        self.openButton.setObjectName("openButton")
+        self.gridLayout.addWidget(self.openButton, 1, 1, 1, 1)
+        self.scanButton = QtWidgets.QRadioButton(parent=DownloadAskActionDialog)
+        self.scanButton.setObjectName("scanButton")
+        self.gridLayout.addWidget(self.scanButton, 2, 1, 1, 1)
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout.addItem(spacerItem, 2, 2, 2, 1)
+        self.saveButton = QtWidgets.QRadioButton(parent=DownloadAskActionDialog)
+        self.saveButton.setChecked(True)
+        self.saveButton.setObjectName("saveButton")
+        self.gridLayout.addWidget(self.saveButton, 3, 1, 1, 1)
+        self.label = QtWidgets.QLabel(parent=DownloadAskActionDialog)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 0, 0, 1, 2)
+        self.verticalLayout.addLayout(self.gridLayout)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=DownloadAskActionDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(DownloadAskActionDialog)
+        self.buttonBox.accepted.connect(DownloadAskActionDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(DownloadAskActionDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(DownloadAskActionDialog)
+        DownloadAskActionDialog.setTabOrder(self.openButton, self.scanButton)
+        DownloadAskActionDialog.setTabOrder(self.scanButton, self.saveButton)
+        DownloadAskActionDialog.setTabOrder(self.saveButton, self.buttonBox)
+
+    def retranslateUi(self, DownloadAskActionDialog):
+        _translate = QtCore.QCoreApplication.translate
+        DownloadAskActionDialog.setWindowTitle(_translate("DownloadAskActionDialog", "What to do?"))
+        self.label_3.setText(_translate("DownloadAskActionDialog", "You are about to download this file:"))
+        self.label_5.setText(_translate("DownloadAskActionDialog", "Type:"))
+        self.label_6.setText(_translate("DownloadAskActionDialog", "From:"))
+        self.openButton.setToolTip(_translate("DownloadAskActionDialog", "Select to open the downloaded file"))
+        self.openButton.setText(_translate("DownloadAskActionDialog", "&Open File"))
+        self.scanButton.setStatusTip(_translate("DownloadAskActionDialog", "Select to scan the file with VirusTotal"))
+        self.scanButton.setText(_translate("DownloadAskActionDialog", "Scan with &VirusTotal"))
+        self.saveButton.setToolTip(_translate("DownloadAskActionDialog", "Select to save the file"))
+        self.saveButton.setText(_translate("DownloadAskActionDialog", "&Save File"))
+        self.label.setText(_translate("DownloadAskActionDialog", "<b>What do you want to do?</b>"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/WebBrowser/Download/Ui_DownloadItem.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,88 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/WebBrowser/Download/DownloadItem.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_DownloadItem(object):
+    def setupUi(self, DownloadItem):
+        DownloadItem.setObjectName("DownloadItem")
+        DownloadItem.resize(397, 93)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(DownloadItem.sizePolicy().hasHeightForWidth())
+        DownloadItem.setSizePolicy(sizePolicy)
+        DownloadItem.setWindowTitle("")
+        self.horizontalLayout = QtWidgets.QHBoxLayout(DownloadItem)
+        self.horizontalLayout.setContentsMargins(1, 1, 1, 1)
+        self.horizontalLayout.setSpacing(3)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.fileIcon = QtWidgets.QLabel(parent=DownloadItem)
+        self.fileIcon.setObjectName("fileIcon")
+        self.horizontalLayout.addWidget(self.fileIcon)
+        self.verticalLayout = QtWidgets.QVBoxLayout()
+        self.verticalLayout.setSpacing(3)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.datetimeLabel = QtWidgets.QLabel(parent=DownloadItem)
+        self.datetimeLabel.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
+        self.datetimeLabel.setWordWrap(True)
+        self.datetimeLabel.setObjectName("datetimeLabel")
+        self.verticalLayout.addWidget(self.datetimeLabel)
+        self.filenameLabel = QtWidgets.QLabel(parent=DownloadItem)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.filenameLabel.sizePolicy().hasHeightForWidth())
+        self.filenameLabel.setSizePolicy(sizePolicy)
+        self.filenameLabel.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
+        self.filenameLabel.setWordWrap(True)
+        self.filenameLabel.setObjectName("filenameLabel")
+        self.verticalLayout.addWidget(self.filenameLabel)
+        self.progressBar = QtWidgets.QProgressBar(parent=DownloadItem)
+        self.progressBar.setObjectName("progressBar")
+        self.verticalLayout.addWidget(self.progressBar)
+        self.infoLabel = QtWidgets.QLabel(parent=DownloadItem)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.infoLabel.sizePolicy().hasHeightForWidth())
+        self.infoLabel.setSizePolicy(sizePolicy)
+        self.infoLabel.setText("Info")
+        self.infoLabel.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
+        self.infoLabel.setWordWrap(True)
+        self.infoLabel.setObjectName("infoLabel")
+        self.verticalLayout.addWidget(self.infoLabel)
+        self.horizontalLayout.addLayout(self.verticalLayout)
+        self.pauseButton = QtWidgets.QToolButton(parent=DownloadItem)
+        self.pauseButton.setText("")
+        self.pauseButton.setCheckable(True)
+        self.pauseButton.setObjectName("pauseButton")
+        self.horizontalLayout.addWidget(self.pauseButton)
+        self.stopButton = QtWidgets.QToolButton(parent=DownloadItem)
+        self.stopButton.setText("")
+        self.stopButton.setObjectName("stopButton")
+        self.horizontalLayout.addWidget(self.stopButton)
+        self.openButton = QtWidgets.QToolButton(parent=DownloadItem)
+        self.openButton.setText("")
+        self.openButton.setObjectName("openButton")
+        self.horizontalLayout.addWidget(self.openButton)
+
+        self.retranslateUi(DownloadItem)
+        QtCore.QMetaObject.connectSlotsByName(DownloadItem)
+        DownloadItem.setTabOrder(self.pauseButton, self.stopButton)
+        DownloadItem.setTabOrder(self.stopButton, self.openButton)
+
+    def retranslateUi(self, DownloadItem):
+        _translate = QtCore.QCoreApplication.translate
+        self.fileIcon.setText(_translate("DownloadItem", "Icon"))
+        self.datetimeLabel.setText(_translate("DownloadItem", "Date and Time"))
+        self.filenameLabel.setText(_translate("DownloadItem", "Filename"))
+        self.pauseButton.setToolTip(_translate("DownloadItem", "Press to pause the download"))
+        self.stopButton.setToolTip(_translate("DownloadItem", "Press to cancel the download"))
+        self.openButton.setToolTip(_translate("DownloadItem", "Press to open the downloaded file"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/WebBrowser/Download/Ui_DownloadManager.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,58 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/WebBrowser/Download/DownloadManager.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_DownloadManager(object):
+    def setupUi(self, DownloadManager):
+        DownloadManager.setObjectName("DownloadManager")
+        DownloadManager.resize(600, 400)
+        DownloadManager.setSizeGripEnabled(True)
+        self.gridLayout = QtWidgets.QGridLayout(DownloadManager)
+        self.gridLayout.setObjectName("gridLayout")
+        self.downloadsView = EricTableView(parent=DownloadManager)
+        self.downloadsView.setObjectName("downloadsView")
+        self.gridLayout.addWidget(self.downloadsView, 0, 0, 1, 3)
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.cleanupButton = QtWidgets.QPushButton(parent=DownloadManager)
+        self.cleanupButton.setEnabled(False)
+        self.cleanupButton.setAutoDefault(False)
+        self.cleanupButton.setObjectName("cleanupButton")
+        self.horizontalLayout_2.addWidget(self.cleanupButton)
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_2.addItem(spacerItem)
+        self.gridLayout.addLayout(self.horizontalLayout_2, 1, 0, 1, 1)
+        self.infoLabel = QtWidgets.QLabel(parent=DownloadManager)
+        self.infoLabel.setText("")
+        self.infoLabel.setObjectName("infoLabel")
+        self.gridLayout.addWidget(self.infoLabel, 1, 1, 1, 1)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem1)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=DownloadManager)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.horizontalLayout.addWidget(self.buttonBox)
+        self.gridLayout.addLayout(self.horizontalLayout, 1, 2, 1, 1)
+
+        self.retranslateUi(DownloadManager)
+        self.buttonBox.rejected.connect(DownloadManager.close) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(DownloadManager)
+        DownloadManager.setTabOrder(self.downloadsView, self.cleanupButton)
+        DownloadManager.setTabOrder(self.cleanupButton, self.buttonBox)
+
+    def retranslateUi(self, DownloadManager):
+        _translate = QtCore.QCoreApplication.translate
+        DownloadManager.setWindowTitle(_translate("DownloadManager", "Download Manager"))
+        self.cleanupButton.setToolTip(_translate("DownloadManager", "Press to clean up the list of downloads"))
+        self.cleanupButton.setText(_translate("DownloadManager", "Clear List"))
+from eric7.EricWidgets.EricTableView import EricTableView
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/WebBrowser/FeaturePermissions/Ui_FeaturePermissionsDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,51 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/WebBrowser/FeaturePermissions/FeaturePermissionsDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_FeaturePermissionsDialog(object):
+    def setupUi(self, FeaturePermissionsDialog):
+        FeaturePermissionsDialog.setObjectName("FeaturePermissionsDialog")
+        FeaturePermissionsDialog.resize(650, 400)
+        FeaturePermissionsDialog.setSizeGripEnabled(True)
+        self.gridLayout = QtWidgets.QGridLayout(FeaturePermissionsDialog)
+        self.gridLayout.setObjectName("gridLayout")
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=FeaturePermissionsDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout.addWidget(self.buttonBox, 1, 0, 1, 2)
+        self.verticalLayout_3 = QtWidgets.QVBoxLayout()
+        self.verticalLayout_3.setObjectName("verticalLayout_3")
+        spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout_3.addItem(spacerItem)
+        self.removeButton = QtWidgets.QPushButton(parent=FeaturePermissionsDialog)
+        self.removeButton.setObjectName("removeButton")
+        self.verticalLayout_3.addWidget(self.removeButton)
+        self.removeAllButton = QtWidgets.QPushButton(parent=FeaturePermissionsDialog)
+        self.removeAllButton.setObjectName("removeAllButton")
+        self.verticalLayout_3.addWidget(self.removeAllButton)
+        self.gridLayout.addLayout(self.verticalLayout_3, 0, 1, 1, 1)
+        self.tabWidget = QtWidgets.QTabWidget(parent=FeaturePermissionsDialog)
+        self.tabWidget.setObjectName("tabWidget")
+        self.gridLayout.addWidget(self.tabWidget, 0, 0, 1, 1)
+
+        self.retranslateUi(FeaturePermissionsDialog)
+        self.tabWidget.setCurrentIndex(-1)
+        self.buttonBox.accepted.connect(FeaturePermissionsDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(FeaturePermissionsDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(FeaturePermissionsDialog)
+        FeaturePermissionsDialog.setTabOrder(self.tabWidget, self.removeButton)
+        FeaturePermissionsDialog.setTabOrder(self.removeButton, self.removeAllButton)
+
+    def retranslateUi(self, FeaturePermissionsDialog):
+        _translate = QtCore.QCoreApplication.translate
+        FeaturePermissionsDialog.setWindowTitle(_translate("FeaturePermissionsDialog", "HTML5 Feature Permissions"))
+        self.removeButton.setText(_translate("FeaturePermissionsDialog", "&Remove"))
+        self.removeAllButton.setText(_translate("FeaturePermissionsDialog", "Remove &All"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/WebBrowser/Feeds/Ui_FeedEditDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,57 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/WebBrowser/Feeds/FeedEditDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_FeedEditDialog(object):
+    def setupUi(self, FeedEditDialog):
+        FeedEditDialog.setObjectName("FeedEditDialog")
+        FeedEditDialog.resize(475, 114)
+        FeedEditDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(FeedEditDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.gridLayout = QtWidgets.QGridLayout()
+        self.gridLayout.setObjectName("gridLayout")
+        self.label = QtWidgets.QLabel(parent=FeedEditDialog)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 0, 0, 1, 2)
+        self.label_2 = QtWidgets.QLabel(parent=FeedEditDialog)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 1, 0, 1, 1)
+        self.titleEdit = QtWidgets.QLineEdit(parent=FeedEditDialog)
+        self.titleEdit.setObjectName("titleEdit")
+        self.gridLayout.addWidget(self.titleEdit, 1, 1, 1, 1)
+        self.label_3 = QtWidgets.QLabel(parent=FeedEditDialog)
+        self.label_3.setObjectName("label_3")
+        self.gridLayout.addWidget(self.label_3, 2, 0, 1, 1)
+        self.urlEdit = QtWidgets.QLineEdit(parent=FeedEditDialog)
+        self.urlEdit.setObjectName("urlEdit")
+        self.gridLayout.addWidget(self.urlEdit, 2, 1, 1, 1)
+        self.verticalLayout.addLayout(self.gridLayout)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=FeedEditDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(FeedEditDialog)
+        self.buttonBox.accepted.connect(FeedEditDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(FeedEditDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(FeedEditDialog)
+        FeedEditDialog.setTabOrder(self.titleEdit, self.urlEdit)
+        FeedEditDialog.setTabOrder(self.urlEdit, self.buttonBox)
+
+    def retranslateUi(self, FeedEditDialog):
+        _translate = QtCore.QCoreApplication.translate
+        FeedEditDialog.setWindowTitle(_translate("FeedEditDialog", "Edit Feed Data"))
+        self.label.setText(_translate("FeedEditDialog", "Fill title and URL of a feed:"))
+        self.label_2.setText(_translate("FeedEditDialog", "Feed title:"))
+        self.titleEdit.setToolTip(_translate("FeedEditDialog", "Enter the title of the feed"))
+        self.label_3.setText(_translate("FeedEditDialog", "Feed URL:"))
+        self.urlEdit.setToolTip(_translate("FeedEditDialog", "Enter the URL of the feed"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/WebBrowser/Feeds/Ui_FeedsDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,51 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/WebBrowser/Feeds/FeedsDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_FeedsDialog(object):
+    def setupUi(self, FeedsDialog):
+        FeedsDialog.setObjectName("FeedsDialog")
+        FeedsDialog.resize(352, 94)
+        FeedsDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(FeedsDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.iconLabel = QtWidgets.QLabel(parent=FeedsDialog)
+        self.iconLabel.setText("")
+        self.iconLabel.setObjectName("iconLabel")
+        self.horizontalLayout.addWidget(self.iconLabel)
+        self.label = QtWidgets.QLabel(parent=FeedsDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.label.sizePolicy().hasHeightForWidth())
+        self.label.setSizePolicy(sizePolicy)
+        self.label.setObjectName("label")
+        self.horizontalLayout.addWidget(self.label)
+        self.verticalLayout.addLayout(self.horizontalLayout)
+        self.feedsLayout = QtWidgets.QGridLayout()
+        self.feedsLayout.setObjectName("feedsLayout")
+        self.verticalLayout.addLayout(self.feedsLayout)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=FeedsDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(FeedsDialog)
+        self.buttonBox.accepted.connect(FeedsDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(FeedsDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(FeedsDialog)
+
+    def retranslateUi(self, FeedsDialog):
+        _translate = QtCore.QCoreApplication.translate
+        FeedsDialog.setWindowTitle(_translate("FeedsDialog", "Add Feed"))
+        self.label.setText(_translate("FeedsDialog", "Add Feeds from this site"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/WebBrowser/Feeds/Ui_FeedsManager.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,74 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/WebBrowser/Feeds/FeedsManager.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_FeedsManager(object):
+    def setupUi(self, FeedsManager):
+        FeedsManager.setObjectName("FeedsManager")
+        FeedsManager.resize(750, 500)
+        FeedsManager.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(FeedsManager)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.feedsTree = QtWidgets.QTreeWidget(parent=FeedsManager)
+        self.feedsTree.setAlternatingRowColors(True)
+        self.feedsTree.setAllColumnsShowFocus(True)
+        self.feedsTree.setWordWrap(True)
+        self.feedsTree.setObjectName("feedsTree")
+        self.feedsTree.header().setVisible(False)
+        self.verticalLayout.addWidget(self.feedsTree)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.reloadAllButton = QtWidgets.QPushButton(parent=FeedsManager)
+        self.reloadAllButton.setAutoDefault(False)
+        self.reloadAllButton.setObjectName("reloadAllButton")
+        self.horizontalLayout.addWidget(self.reloadAllButton)
+        self.reloadButton = QtWidgets.QPushButton(parent=FeedsManager)
+        self.reloadButton.setAutoDefault(False)
+        self.reloadButton.setObjectName("reloadButton")
+        self.horizontalLayout.addWidget(self.reloadButton)
+        self.editButton = QtWidgets.QPushButton(parent=FeedsManager)
+        self.editButton.setAutoDefault(False)
+        self.editButton.setObjectName("editButton")
+        self.horizontalLayout.addWidget(self.editButton)
+        self.deleteButton = QtWidgets.QPushButton(parent=FeedsManager)
+        self.deleteButton.setAutoDefault(False)
+        self.deleteButton.setObjectName("deleteButton")
+        self.horizontalLayout.addWidget(self.deleteButton)
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem)
+        self.verticalLayout.addLayout(self.horizontalLayout)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=FeedsManager)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(FeedsManager)
+        self.buttonBox.accepted.connect(FeedsManager.accept) # type: ignore
+        self.buttonBox.rejected.connect(FeedsManager.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(FeedsManager)
+        FeedsManager.setTabOrder(self.feedsTree, self.reloadAllButton)
+        FeedsManager.setTabOrder(self.reloadAllButton, self.reloadButton)
+        FeedsManager.setTabOrder(self.reloadButton, self.editButton)
+        FeedsManager.setTabOrder(self.editButton, self.deleteButton)
+        FeedsManager.setTabOrder(self.deleteButton, self.buttonBox)
+
+    def retranslateUi(self, FeedsManager):
+        _translate = QtCore.QCoreApplication.translate
+        FeedsManager.setWindowTitle(_translate("FeedsManager", "Feeds Manager"))
+        self.feedsTree.headerItem().setText(0, _translate("FeedsManager", "News"))
+        self.reloadAllButton.setToolTip(_translate("FeedsManager", "Press to reload all feeds"))
+        self.reloadAllButton.setText(_translate("FeedsManager", "Reload &All"))
+        self.reloadButton.setToolTip(_translate("FeedsManager", "Press to reload the selected feed"))
+        self.reloadButton.setText(_translate("FeedsManager", "&Reload"))
+        self.editButton.setToolTip(_translate("FeedsManager", "Press to edit the selected feed"))
+        self.editButton.setText(_translate("FeedsManager", "&Edit Feed"))
+        self.deleteButton.setToolTip(_translate("FeedsManager", "Press to delete the selected feed"))
+        self.deleteButton.setText(_translate("FeedsManager", "&Delete Feed"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/WebBrowser/GreaseMonkey/GreaseMonkeyConfiguration/Ui_GreaseMonkeyConfigurationDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,83 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/WebBrowser/GreaseMonkey/GreaseMonkeyConfiguration/GreaseMonkeyConfigurationDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_GreaseMonkeyConfigurationDialog(object):
+    def setupUi(self, GreaseMonkeyConfigurationDialog):
+        GreaseMonkeyConfigurationDialog.setObjectName("GreaseMonkeyConfigurationDialog")
+        GreaseMonkeyConfigurationDialog.resize(550, 450)
+        GreaseMonkeyConfigurationDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(GreaseMonkeyConfigurationDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem)
+        self.iconLabel = QtWidgets.QLabel(parent=GreaseMonkeyConfigurationDialog)
+        self.iconLabel.setMinimumSize(QtCore.QSize(48, 48))
+        self.iconLabel.setText("Icon")
+        self.iconLabel.setObjectName("iconLabel")
+        self.horizontalLayout.addWidget(self.iconLabel)
+        self.label_2 = QtWidgets.QLabel(parent=GreaseMonkeyConfigurationDialog)
+        self.label_2.setObjectName("label_2")
+        self.horizontalLayout.addWidget(self.label_2)
+        spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem1)
+        self.verticalLayout.addLayout(self.horizontalLayout)
+        self.label_4 = QtWidgets.QLabel(parent=GreaseMonkeyConfigurationDialog)
+        self.label_4.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
+        self.label_4.setObjectName("label_4")
+        self.verticalLayout.addWidget(self.label_4)
+        self.scriptsList = GreaseMonkeyConfigurationListWidget(parent=GreaseMonkeyConfigurationDialog)
+        self.scriptsList.setAlternatingRowColors(True)
+        self.scriptsList.setVerticalScrollMode(QtWidgets.QAbstractItemView.ScrollMode.ScrollPerPixel)
+        self.scriptsList.setUniformItemSizes(True)
+        self.scriptsList.setSelectionRectVisible(True)
+        self.scriptsList.setObjectName("scriptsList")
+        self.verticalLayout.addWidget(self.scriptsList)
+        self.downloadLabel = QtWidgets.QLabel(parent=GreaseMonkeyConfigurationDialog)
+        self.downloadLabel.setTextFormat(QtCore.Qt.TextFormat.RichText)
+        self.downloadLabel.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
+        self.downloadLabel.setTextInteractionFlags(QtCore.Qt.TextInteractionFlag.LinksAccessibleByKeyboard|QtCore.Qt.TextInteractionFlag.LinksAccessibleByMouse)
+        self.downloadLabel.setObjectName("downloadLabel")
+        self.verticalLayout.addWidget(self.downloadLabel)
+        self.horizontalLayout_4 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_4.setObjectName("horizontalLayout_4")
+        self.openDirectoryButton = QtWidgets.QPushButton(parent=GreaseMonkeyConfigurationDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.openDirectoryButton.sizePolicy().hasHeightForWidth())
+        self.openDirectoryButton.setSizePolicy(sizePolicy)
+        self.openDirectoryButton.setObjectName("openDirectoryButton")
+        self.horizontalLayout_4.addWidget(self.openDirectoryButton)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=GreaseMonkeyConfigurationDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.horizontalLayout_4.addWidget(self.buttonBox)
+        self.verticalLayout.addLayout(self.horizontalLayout_4)
+
+        self.retranslateUi(GreaseMonkeyConfigurationDialog)
+        self.buttonBox.accepted.connect(GreaseMonkeyConfigurationDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(GreaseMonkeyConfigurationDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(GreaseMonkeyConfigurationDialog)
+        GreaseMonkeyConfigurationDialog.setTabOrder(self.scriptsList, self.openDirectoryButton)
+        GreaseMonkeyConfigurationDialog.setTabOrder(self.openDirectoryButton, self.buttonBox)
+
+    def retranslateUi(self, GreaseMonkeyConfigurationDialog):
+        _translate = QtCore.QCoreApplication.translate
+        GreaseMonkeyConfigurationDialog.setWindowTitle(_translate("GreaseMonkeyConfigurationDialog", "GreaseMonkey Scripts Configuration"))
+        self.label_2.setText(_translate("GreaseMonkeyConfigurationDialog", "<h2>GreaseMonkey Scripts</h2>"))
+        self.label_4.setText(_translate("GreaseMonkeyConfigurationDialog", "Double clicking script will show additional information."))
+        self.downloadLabel.setText(_translate("GreaseMonkeyConfigurationDialog", "<p>Get more scripts from <a href=\"https://greasyfork.org/\">greasyfork.org</a> or via <a href=\"http://wiki.greasespot.net/User_Script_Hosting\">Greasespot Wiki.</a></p>"))
+        self.openDirectoryButton.setToolTip(_translate("GreaseMonkeyConfigurationDialog", "Press to open the scripts directory"))
+        self.openDirectoryButton.setText(_translate("GreaseMonkeyConfigurationDialog", "Open Scripts Directory"))
+from .GreaseMonkeyConfigurationListWidget import GreaseMonkeyConfigurationListWidget
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/WebBrowser/GreaseMonkey/GreaseMonkeyConfiguration/Ui_GreaseMonkeyConfigurationScriptInfoDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,122 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/WebBrowser/GreaseMonkey/GreaseMonkeyConfiguration/GreaseMonkeyConfigurationScriptInfoDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_GreaseMonkeyConfigurationScriptInfoDialog(object):
+    def setupUi(self, GreaseMonkeyConfigurationScriptInfoDialog):
+        GreaseMonkeyConfigurationScriptInfoDialog.setObjectName("GreaseMonkeyConfigurationScriptInfoDialog")
+        GreaseMonkeyConfigurationScriptInfoDialog.resize(550, 500)
+        GreaseMonkeyConfigurationScriptInfoDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(GreaseMonkeyConfigurationScriptInfoDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem)
+        self.iconLabel = QtWidgets.QLabel(parent=GreaseMonkeyConfigurationScriptInfoDialog)
+        self.iconLabel.setMinimumSize(QtCore.QSize(48, 48))
+        self.iconLabel.setText("Icon")
+        self.iconLabel.setObjectName("iconLabel")
+        self.horizontalLayout.addWidget(self.iconLabel)
+        self.label_8 = QtWidgets.QLabel(parent=GreaseMonkeyConfigurationScriptInfoDialog)
+        self.label_8.setObjectName("label_8")
+        self.horizontalLayout.addWidget(self.label_8)
+        spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem1)
+        self.verticalLayout.addLayout(self.horizontalLayout)
+        self.gridLayout = QtWidgets.QGridLayout()
+        self.gridLayout.setObjectName("gridLayout")
+        self.label = QtWidgets.QLabel(parent=GreaseMonkeyConfigurationScriptInfoDialog)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
+        self.nameLabel = QtWidgets.QLabel(parent=GreaseMonkeyConfigurationScriptInfoDialog)
+        self.nameLabel.setText("")
+        self.nameLabel.setTextInteractionFlags(QtCore.Qt.TextInteractionFlag.LinksAccessibleByMouse|QtCore.Qt.TextInteractionFlag.TextSelectableByMouse)
+        self.nameLabel.setObjectName("nameLabel")
+        self.gridLayout.addWidget(self.nameLabel, 0, 1, 1, 1)
+        self.label_2 = QtWidgets.QLabel(parent=GreaseMonkeyConfigurationScriptInfoDialog)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 1, 0, 1, 1)
+        self.versionLabel = QtWidgets.QLabel(parent=GreaseMonkeyConfigurationScriptInfoDialog)
+        self.versionLabel.setText("")
+        self.versionLabel.setTextInteractionFlags(QtCore.Qt.TextInteractionFlag.LinksAccessibleByMouse|QtCore.Qt.TextInteractionFlag.TextSelectableByMouse)
+        self.versionLabel.setObjectName("versionLabel")
+        self.gridLayout.addWidget(self.versionLabel, 1, 1, 1, 1)
+        self.label_3 = QtWidgets.QLabel(parent=GreaseMonkeyConfigurationScriptInfoDialog)
+        self.label_3.setObjectName("label_3")
+        self.gridLayout.addWidget(self.label_3, 2, 0, 1, 1)
+        self.urlLabel = QtWidgets.QLabel(parent=GreaseMonkeyConfigurationScriptInfoDialog)
+        self.urlLabel.setText("")
+        self.urlLabel.setTextInteractionFlags(QtCore.Qt.TextInteractionFlag.LinksAccessibleByMouse|QtCore.Qt.TextInteractionFlag.TextSelectableByMouse)
+        self.urlLabel.setObjectName("urlLabel")
+        self.gridLayout.addWidget(self.urlLabel, 2, 1, 1, 1)
+        self.label_4 = QtWidgets.QLabel(parent=GreaseMonkeyConfigurationScriptInfoDialog)
+        self.label_4.setObjectName("label_4")
+        self.gridLayout.addWidget(self.label_4, 3, 0, 1, 1)
+        self.startAtLabel = QtWidgets.QLabel(parent=GreaseMonkeyConfigurationScriptInfoDialog)
+        self.startAtLabel.setText("")
+        self.startAtLabel.setTextInteractionFlags(QtCore.Qt.TextInteractionFlag.LinksAccessibleByMouse|QtCore.Qt.TextInteractionFlag.TextSelectableByMouse)
+        self.startAtLabel.setObjectName("startAtLabel")
+        self.gridLayout.addWidget(self.startAtLabel, 3, 1, 1, 1)
+        self.label_5 = QtWidgets.QLabel(parent=GreaseMonkeyConfigurationScriptInfoDialog)
+        self.label_5.setAlignment(QtCore.Qt.AlignmentFlag.AlignLeading|QtCore.Qt.AlignmentFlag.AlignLeft|QtCore.Qt.AlignmentFlag.AlignTop)
+        self.label_5.setObjectName("label_5")
+        self.gridLayout.addWidget(self.label_5, 4, 0, 1, 1)
+        self.descriptionBrowser = QtWidgets.QTextBrowser(parent=GreaseMonkeyConfigurationScriptInfoDialog)
+        self.descriptionBrowser.setObjectName("descriptionBrowser")
+        self.gridLayout.addWidget(self.descriptionBrowser, 4, 1, 1, 1)
+        self.label_6 = QtWidgets.QLabel(parent=GreaseMonkeyConfigurationScriptInfoDialog)
+        self.label_6.setAlignment(QtCore.Qt.AlignmentFlag.AlignLeading|QtCore.Qt.AlignmentFlag.AlignLeft|QtCore.Qt.AlignmentFlag.AlignTop)
+        self.label_6.setObjectName("label_6")
+        self.gridLayout.addWidget(self.label_6, 5, 0, 1, 1)
+        self.runsAtBrowser = QtWidgets.QTextBrowser(parent=GreaseMonkeyConfigurationScriptInfoDialog)
+        self.runsAtBrowser.setObjectName("runsAtBrowser")
+        self.gridLayout.addWidget(self.runsAtBrowser, 5, 1, 1, 1)
+        self.label_7 = QtWidgets.QLabel(parent=GreaseMonkeyConfigurationScriptInfoDialog)
+        self.label_7.setAlignment(QtCore.Qt.AlignmentFlag.AlignLeading|QtCore.Qt.AlignmentFlag.AlignLeft|QtCore.Qt.AlignmentFlag.AlignTop)
+        self.label_7.setObjectName("label_7")
+        self.gridLayout.addWidget(self.label_7, 6, 0, 1, 1)
+        self.doesNotRunAtBrowser = QtWidgets.QTextBrowser(parent=GreaseMonkeyConfigurationScriptInfoDialog)
+        self.doesNotRunAtBrowser.setObjectName("doesNotRunAtBrowser")
+        self.gridLayout.addWidget(self.doesNotRunAtBrowser, 6, 1, 1, 1)
+        self.verticalLayout.addLayout(self.gridLayout)
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.showScriptSourceButton = QtWidgets.QPushButton(parent=GreaseMonkeyConfigurationScriptInfoDialog)
+        self.showScriptSourceButton.setObjectName("showScriptSourceButton")
+        self.horizontalLayout_2.addWidget(self.showScriptSourceButton)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=GreaseMonkeyConfigurationScriptInfoDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.horizontalLayout_2.addWidget(self.buttonBox)
+        self.verticalLayout.addLayout(self.horizontalLayout_2)
+
+        self.retranslateUi(GreaseMonkeyConfigurationScriptInfoDialog)
+        self.buttonBox.accepted.connect(GreaseMonkeyConfigurationScriptInfoDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(GreaseMonkeyConfigurationScriptInfoDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(GreaseMonkeyConfigurationScriptInfoDialog)
+        GreaseMonkeyConfigurationScriptInfoDialog.setTabOrder(self.descriptionBrowser, self.runsAtBrowser)
+        GreaseMonkeyConfigurationScriptInfoDialog.setTabOrder(self.runsAtBrowser, self.doesNotRunAtBrowser)
+        GreaseMonkeyConfigurationScriptInfoDialog.setTabOrder(self.doesNotRunAtBrowser, self.showScriptSourceButton)
+        GreaseMonkeyConfigurationScriptInfoDialog.setTabOrder(self.showScriptSourceButton, self.buttonBox)
+
+    def retranslateUi(self, GreaseMonkeyConfigurationScriptInfoDialog):
+        _translate = QtCore.QCoreApplication.translate
+        self.label_8.setText(_translate("GreaseMonkeyConfigurationScriptInfoDialog", "<h2>GreaseMonkey Script Details</h2>"))
+        self.label.setText(_translate("GreaseMonkeyConfigurationScriptInfoDialog", "Name:"))
+        self.label_2.setText(_translate("GreaseMonkeyConfigurationScriptInfoDialog", "Version:"))
+        self.label_3.setText(_translate("GreaseMonkeyConfigurationScriptInfoDialog", "URL:"))
+        self.label_4.setText(_translate("GreaseMonkeyConfigurationScriptInfoDialog", "Start at:"))
+        self.label_5.setText(_translate("GreaseMonkeyConfigurationScriptInfoDialog", "Description:"))
+        self.label_6.setText(_translate("GreaseMonkeyConfigurationScriptInfoDialog", "Runs at:"))
+        self.label_7.setText(_translate("GreaseMonkeyConfigurationScriptInfoDialog", "Does not run at:"))
+        self.showScriptSourceButton.setToolTip(_translate("GreaseMonkeyConfigurationScriptInfoDialog", "Press to open an editor with the script\'s source"))
+        self.showScriptSourceButton.setText(_translate("GreaseMonkeyConfigurationScriptInfoDialog", "Show source code of script"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/WebBrowser/GreaseMonkey/Ui_GreaseMonkeyAddScriptDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,79 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/WebBrowser/GreaseMonkey/GreaseMonkeyAddScriptDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_GreaseMonkeyAddScriptDialog(object):
+    def setupUi(self, GreaseMonkeyAddScriptDialog):
+        GreaseMonkeyAddScriptDialog.setObjectName("GreaseMonkeyAddScriptDialog")
+        GreaseMonkeyAddScriptDialog.resize(550, 400)
+        GreaseMonkeyAddScriptDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(GreaseMonkeyAddScriptDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem)
+        self.iconLabel = QtWidgets.QLabel(parent=GreaseMonkeyAddScriptDialog)
+        self.iconLabel.setMinimumSize(QtCore.QSize(48, 48))
+        self.iconLabel.setText("Icon")
+        self.iconLabel.setObjectName("iconLabel")
+        self.horizontalLayout.addWidget(self.iconLabel)
+        self.label_2 = QtWidgets.QLabel(parent=GreaseMonkeyAddScriptDialog)
+        self.label_2.setObjectName("label_2")
+        self.horizontalLayout.addWidget(self.label_2)
+        spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem1)
+        self.verticalLayout.addLayout(self.horizontalLayout)
+        self.label_3 = QtWidgets.QLabel(parent=GreaseMonkeyAddScriptDialog)
+        self.label_3.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
+        self.label_3.setObjectName("label_3")
+        self.verticalLayout.addWidget(self.label_3)
+        self.scriptInfo = QtWidgets.QTextBrowser(parent=GreaseMonkeyAddScriptDialog)
+        self.scriptInfo.setObjectName("scriptInfo")
+        self.verticalLayout.addWidget(self.scriptInfo)
+        self.label_5 = QtWidgets.QLabel(parent=GreaseMonkeyAddScriptDialog)
+        self.label_5.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
+        self.label_5.setObjectName("label_5")
+        self.verticalLayout.addWidget(self.label_5)
+        self.label_4 = QtWidgets.QLabel(parent=GreaseMonkeyAddScriptDialog)
+        self.label_4.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
+        self.label_4.setObjectName("label_4")
+        self.verticalLayout.addWidget(self.label_4)
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.showScriptSourceButton = QtWidgets.QPushButton(parent=GreaseMonkeyAddScriptDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.showScriptSourceButton.sizePolicy().hasHeightForWidth())
+        self.showScriptSourceButton.setSizePolicy(sizePolicy)
+        self.showScriptSourceButton.setObjectName("showScriptSourceButton")
+        self.horizontalLayout_2.addWidget(self.showScriptSourceButton)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=GreaseMonkeyAddScriptDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.No|QtWidgets.QDialogButtonBox.StandardButton.Yes)
+        self.buttonBox.setObjectName("buttonBox")
+        self.horizontalLayout_2.addWidget(self.buttonBox)
+        self.verticalLayout.addLayout(self.horizontalLayout_2)
+
+        self.retranslateUi(GreaseMonkeyAddScriptDialog)
+        self.buttonBox.accepted.connect(GreaseMonkeyAddScriptDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(GreaseMonkeyAddScriptDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(GreaseMonkeyAddScriptDialog)
+
+    def retranslateUi(self, GreaseMonkeyAddScriptDialog):
+        _translate = QtCore.QCoreApplication.translate
+        GreaseMonkeyAddScriptDialog.setWindowTitle(_translate("GreaseMonkeyAddScriptDialog", "GreaseMonkey Script Installation"))
+        self.label_2.setText(_translate("GreaseMonkeyAddScriptDialog", "<h2>GreaseMonkey Script Installation</h2>"))
+        self.label_3.setText(_translate("GreaseMonkeyAddScriptDialog", "You are about to install this userscript into GreaseMonkey:"))
+        self.label_5.setText(_translate("GreaseMonkeyAddScriptDialog", "<b>You should only install scripts from sources you trust!</b>"))
+        self.label_4.setText(_translate("GreaseMonkeyAddScriptDialog", "Are you sure you want to install it?"))
+        self.showScriptSourceButton.setToolTip(_translate("GreaseMonkeyAddScriptDialog", "Press to open an editor with the script\'s source"))
+        self.showScriptSourceButton.setText(_translate("GreaseMonkeyAddScriptDialog", "Show source code of script"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/WebBrowser/History/Ui_HistoryDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,75 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/WebBrowser/History/HistoryDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_HistoryDialog(object):
+    def setupUi(self, HistoryDialog):
+        HistoryDialog.setObjectName("HistoryDialog")
+        HistoryDialog.resize(750, 450)
+        HistoryDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(HistoryDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_2.addItem(spacerItem)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setSpacing(0)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.searchEdit = QtWidgets.QLineEdit(parent=HistoryDialog)
+        self.searchEdit.setClearButtonEnabled(True)
+        self.searchEdit.setObjectName("searchEdit")
+        self.horizontalLayout.addWidget(self.searchEdit)
+        self.horizontalLayout_2.addLayout(self.horizontalLayout)
+        self.verticalLayout.addLayout(self.horizontalLayout_2)
+        self.historyTree = EricTreeView(parent=HistoryDialog)
+        self.historyTree.setAlternatingRowColors(True)
+        self.historyTree.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.ExtendedSelection)
+        self.historyTree.setTextElideMode(QtCore.Qt.TextElideMode.ElideMiddle)
+        self.historyTree.setUniformRowHeights(True)
+        self.historyTree.setObjectName("historyTree")
+        self.verticalLayout.addWidget(self.historyTree)
+        self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
+        self.removeButton = QtWidgets.QPushButton(parent=HistoryDialog)
+        self.removeButton.setAutoDefault(False)
+        self.removeButton.setObjectName("removeButton")
+        self.horizontalLayout_3.addWidget(self.removeButton)
+        self.removeAllButton = QtWidgets.QPushButton(parent=HistoryDialog)
+        self.removeAllButton.setAutoDefault(False)
+        self.removeAllButton.setObjectName("removeAllButton")
+        self.horizontalLayout_3.addWidget(self.removeAllButton)
+        spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_3.addItem(spacerItem1)
+        self.verticalLayout.addLayout(self.horizontalLayout_3)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=HistoryDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(HistoryDialog)
+        self.buttonBox.accepted.connect(HistoryDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(HistoryDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(HistoryDialog)
+        HistoryDialog.setTabOrder(self.searchEdit, self.historyTree)
+        HistoryDialog.setTabOrder(self.historyTree, self.removeButton)
+        HistoryDialog.setTabOrder(self.removeButton, self.removeAllButton)
+        HistoryDialog.setTabOrder(self.removeAllButton, self.buttonBox)
+
+    def retranslateUi(self, HistoryDialog):
+        _translate = QtCore.QCoreApplication.translate
+        HistoryDialog.setWindowTitle(_translate("HistoryDialog", "Manage History"))
+        self.searchEdit.setToolTip(_translate("HistoryDialog", "Enter search term for history entries"))
+        self.removeButton.setToolTip(_translate("HistoryDialog", "Press to remove the selected entries"))
+        self.removeButton.setText(_translate("HistoryDialog", "&Remove"))
+        self.removeAllButton.setToolTip(_translate("HistoryDialog", "Press to remove all entries"))
+        self.removeAllButton.setText(_translate("HistoryDialog", "Remove &All"))
+from eric7.EricWidgets.EricTreeView import EricTreeView
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/WebBrowser/Network/Ui_ProtocolHandlerManagerDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,50 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/WebBrowser/Network/ProtocolHandlerManagerDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_ProtocolHandlerManagerDialog(object):
+    def setupUi(self, ProtocolHandlerManagerDialog):
+        ProtocolHandlerManagerDialog.setObjectName("ProtocolHandlerManagerDialog")
+        ProtocolHandlerManagerDialog.resize(500, 400)
+        ProtocolHandlerManagerDialog.setSizeGripEnabled(True)
+        self.gridLayout = QtWidgets.QGridLayout(ProtocolHandlerManagerDialog)
+        self.gridLayout.setObjectName("gridLayout")
+        self.protocolHandlersList = QtWidgets.QTreeWidget(parent=ProtocolHandlerManagerDialog)
+        self.protocolHandlersList.setAlternatingRowColors(True)
+        self.protocolHandlersList.setRootIsDecorated(False)
+        self.protocolHandlersList.setObjectName("protocolHandlersList")
+        self.gridLayout.addWidget(self.protocolHandlersList, 0, 0, 1, 1)
+        self.verticalLayout = QtWidgets.QVBoxLayout()
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.deleteButton = QtWidgets.QPushButton(parent=ProtocolHandlerManagerDialog)
+        self.deleteButton.setObjectName("deleteButton")
+        self.verticalLayout.addWidget(self.deleteButton)
+        spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout.addItem(spacerItem)
+        self.gridLayout.addLayout(self.verticalLayout, 0, 1, 1, 1)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=ProtocolHandlerManagerDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout.addWidget(self.buttonBox, 1, 0, 1, 2)
+
+        self.retranslateUi(ProtocolHandlerManagerDialog)
+        self.buttonBox.accepted.connect(ProtocolHandlerManagerDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(ProtocolHandlerManagerDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(ProtocolHandlerManagerDialog)
+
+    def retranslateUi(self, ProtocolHandlerManagerDialog):
+        _translate = QtCore.QCoreApplication.translate
+        ProtocolHandlerManagerDialog.setWindowTitle(_translate("ProtocolHandlerManagerDialog", "Protocol Handlers"))
+        self.protocolHandlersList.setToolTip(_translate("ProtocolHandlerManagerDialog", "Shows a list of registered protocol handlers"))
+        self.protocolHandlersList.headerItem().setText(0, _translate("ProtocolHandlerManagerDialog", "Scheme"))
+        self.protocolHandlersList.headerItem().setText(1, _translate("ProtocolHandlerManagerDialog", "URL"))
+        self.deleteButton.setToolTip(_translate("ProtocolHandlerManagerDialog", "Press to delete the protocol handler"))
+        self.deleteButton.setText(_translate("ProtocolHandlerManagerDialog", "Delete"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/WebBrowser/Network/Ui_SendRefererWhitelistDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,88 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/WebBrowser/Network/SendRefererWhitelistDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_SendRefererWhitelistDialog(object):
+    def setupUi(self, SendRefererWhitelistDialog):
+        SendRefererWhitelistDialog.setObjectName("SendRefererWhitelistDialog")
+        SendRefererWhitelistDialog.resize(500, 350)
+        SendRefererWhitelistDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(SendRefererWhitelistDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.gridLayout_2 = QtWidgets.QGridLayout()
+        self.gridLayout_2.setHorizontalSpacing(0)
+        self.gridLayout_2.setObjectName("gridLayout_2")
+        self.searchEdit = QtWidgets.QLineEdit(parent=SendRefererWhitelistDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.searchEdit.sizePolicy().hasHeightForWidth())
+        self.searchEdit.setSizePolicy(sizePolicy)
+        self.searchEdit.setMinimumSize(QtCore.QSize(300, 0))
+        self.searchEdit.setClearButtonEnabled(True)
+        self.searchEdit.setObjectName("searchEdit")
+        self.gridLayout_2.addWidget(self.searchEdit, 0, 1, 1, 1)
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout_2.addItem(spacerItem, 0, 0, 1, 1)
+        self.verticalLayout.addLayout(self.gridLayout_2)
+        self.gridLayout = QtWidgets.QGridLayout()
+        self.gridLayout.setObjectName("gridLayout")
+        spacerItem1 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.gridLayout.addItem(spacerItem1, 4, 1, 1, 1)
+        self.addButton = QtWidgets.QPushButton(parent=SendRefererWhitelistDialog)
+        self.addButton.setAutoDefault(False)
+        self.addButton.setObjectName("addButton")
+        self.gridLayout.addWidget(self.addButton, 0, 1, 1, 1)
+        self.line = QtWidgets.QFrame(parent=SendRefererWhitelistDialog)
+        self.line.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line.setObjectName("line")
+        self.gridLayout.addWidget(self.line, 1, 1, 1, 1)
+        self.removeButton = QtWidgets.QPushButton(parent=SendRefererWhitelistDialog)
+        self.removeButton.setAutoDefault(False)
+        self.removeButton.setObjectName("removeButton")
+        self.gridLayout.addWidget(self.removeButton, 2, 1, 1, 1)
+        self.removeAllButton = QtWidgets.QPushButton(parent=SendRefererWhitelistDialog)
+        self.removeAllButton.setAutoDefault(False)
+        self.removeAllButton.setObjectName("removeAllButton")
+        self.gridLayout.addWidget(self.removeAllButton, 3, 1, 1, 1)
+        self.whitelist = EricListView(parent=SendRefererWhitelistDialog)
+        self.whitelist.setAlternatingRowColors(True)
+        self.whitelist.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.ExtendedSelection)
+        self.whitelist.setObjectName("whitelist")
+        self.gridLayout.addWidget(self.whitelist, 0, 0, 5, 1)
+        self.verticalLayout.addLayout(self.gridLayout)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=SendRefererWhitelistDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(SendRefererWhitelistDialog)
+        self.buttonBox.accepted.connect(SendRefererWhitelistDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(SendRefererWhitelistDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(SendRefererWhitelistDialog)
+        SendRefererWhitelistDialog.setTabOrder(self.searchEdit, self.whitelist)
+        SendRefererWhitelistDialog.setTabOrder(self.whitelist, self.addButton)
+        SendRefererWhitelistDialog.setTabOrder(self.addButton, self.removeButton)
+        SendRefererWhitelistDialog.setTabOrder(self.removeButton, self.removeAllButton)
+        SendRefererWhitelistDialog.setTabOrder(self.removeAllButton, self.buttonBox)
+
+    def retranslateUi(self, SendRefererWhitelistDialog):
+        _translate = QtCore.QCoreApplication.translate
+        SendRefererWhitelistDialog.setWindowTitle(_translate("SendRefererWhitelistDialog", "Send Referer Whitelist"))
+        self.searchEdit.setToolTip(_translate("SendRefererWhitelistDialog", "Enter search term for hosts"))
+        self.addButton.setToolTip(_translate("SendRefererWhitelistDialog", "Press to add site to the whitelist"))
+        self.addButton.setText(_translate("SendRefererWhitelistDialog", "&Add..."))
+        self.removeButton.setToolTip(_translate("SendRefererWhitelistDialog", "Press to remove the selected entries"))
+        self.removeButton.setText(_translate("SendRefererWhitelistDialog", "&Remove"))
+        self.removeAllButton.setToolTip(_translate("SendRefererWhitelistDialog", "Press to remove all entries"))
+        self.removeAllButton.setText(_translate("SendRefererWhitelistDialog", "R&emove All"))
+from eric7.EricWidgets.EricListView import EricListView
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/WebBrowser/Network/Ui_SslErrorExceptionsDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,57 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/WebBrowser/Network/SslErrorExceptionsDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_SslErrorExceptionsDialog(object):
+    def setupUi(self, SslErrorExceptionsDialog):
+        SslErrorExceptionsDialog.setObjectName("SslErrorExceptionsDialog")
+        SslErrorExceptionsDialog.resize(751, 513)
+        SslErrorExceptionsDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(SslErrorExceptionsDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.gridLayout = QtWidgets.QGridLayout()
+        self.gridLayout.setObjectName("gridLayout")
+        self.errorsTree = QtWidgets.QTreeWidget(parent=SslErrorExceptionsDialog)
+        self.errorsTree.setContextMenuPolicy(QtCore.Qt.ContextMenuPolicy.CustomContextMenu)
+        self.errorsTree.setAlternatingRowColors(True)
+        self.errorsTree.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.ExtendedSelection)
+        self.errorsTree.setAllColumnsShowFocus(True)
+        self.errorsTree.setObjectName("errorsTree")
+        self.gridLayout.addWidget(self.errorsTree, 0, 0, 3, 1)
+        self.removeButton = QtWidgets.QPushButton(parent=SslErrorExceptionsDialog)
+        self.removeButton.setObjectName("removeButton")
+        self.gridLayout.addWidget(self.removeButton, 0, 1, 1, 1)
+        self.removeAllButton = QtWidgets.QPushButton(parent=SslErrorExceptionsDialog)
+        self.removeAllButton.setObjectName("removeAllButton")
+        self.gridLayout.addWidget(self.removeAllButton, 1, 1, 1, 1)
+        spacerItem = QtWidgets.QSpacerItem(20, 128, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.gridLayout.addItem(spacerItem, 2, 1, 1, 1)
+        self.verticalLayout.addLayout(self.gridLayout)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=SslErrorExceptionsDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(SslErrorExceptionsDialog)
+        self.buttonBox.accepted.connect(SslErrorExceptionsDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(SslErrorExceptionsDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(SslErrorExceptionsDialog)
+
+    def retranslateUi(self, SslErrorExceptionsDialog):
+        _translate = QtCore.QCoreApplication.translate
+        SslErrorExceptionsDialog.setWindowTitle(_translate("SslErrorExceptionsDialog", "SSL Error Exceptions"))
+        self.errorsTree.setSortingEnabled(True)
+        self.errorsTree.headerItem().setText(0, _translate("SslErrorExceptionsDialog", "Code"))
+        self.errorsTree.headerItem().setText(1, _translate("SslErrorExceptionsDialog", "Error Description"))
+        self.removeButton.setToolTip(_translate("SslErrorExceptionsDialog", "Press to remove the selected entries"))
+        self.removeButton.setText(_translate("SslErrorExceptionsDialog", "&Remove"))
+        self.removeAllButton.setToolTip(_translate("SslErrorExceptionsDialog", "Press to remove all entries"))
+        self.removeAllButton.setText(_translate("SslErrorExceptionsDialog", "Remove &All"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/WebBrowser/OpenSearch/Ui_OpenSearchDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,73 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/WebBrowser/OpenSearch/OpenSearchDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_OpenSearchDialog(object):
+    def setupUi(self, OpenSearchDialog):
+        OpenSearchDialog.setObjectName("OpenSearchDialog")
+        OpenSearchDialog.resize(650, 350)
+        OpenSearchDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(OpenSearchDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.gridLayout = QtWidgets.QGridLayout()
+        self.gridLayout.setObjectName("gridLayout")
+        self.enginesTable = EricTableView(parent=OpenSearchDialog)
+        self.enginesTable.setAlternatingRowColors(True)
+        self.enginesTable.setSelectionBehavior(QtWidgets.QAbstractItemView.SelectionBehavior.SelectRows)
+        self.enginesTable.setShowGrid(False)
+        self.enginesTable.setObjectName("enginesTable")
+        self.gridLayout.addWidget(self.enginesTable, 0, 0, 5, 1)
+        self.addButton = QtWidgets.QPushButton(parent=OpenSearchDialog)
+        self.addButton.setAutoDefault(False)
+        self.addButton.setObjectName("addButton")
+        self.gridLayout.addWidget(self.addButton, 0, 1, 1, 1)
+        self.deleteButton = QtWidgets.QPushButton(parent=OpenSearchDialog)
+        self.deleteButton.setAutoDefault(False)
+        self.deleteButton.setObjectName("deleteButton")
+        self.gridLayout.addWidget(self.deleteButton, 1, 1, 1, 1)
+        self.editButton = QtWidgets.QPushButton(parent=OpenSearchDialog)
+        self.editButton.setAutoDefault(False)
+        self.editButton.setObjectName("editButton")
+        self.gridLayout.addWidget(self.editButton, 2, 1, 1, 1)
+        self.restoreButton = QtWidgets.QPushButton(parent=OpenSearchDialog)
+        self.restoreButton.setAutoDefault(False)
+        self.restoreButton.setObjectName("restoreButton")
+        self.gridLayout.addWidget(self.restoreButton, 3, 1, 1, 1)
+        spacerItem = QtWidgets.QSpacerItem(20, 38, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.gridLayout.addItem(spacerItem, 4, 1, 1, 1)
+        self.verticalLayout.addLayout(self.gridLayout)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=OpenSearchDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(OpenSearchDialog)
+        self.buttonBox.accepted.connect(OpenSearchDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(OpenSearchDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(OpenSearchDialog)
+        OpenSearchDialog.setTabOrder(self.enginesTable, self.addButton)
+        OpenSearchDialog.setTabOrder(self.addButton, self.deleteButton)
+        OpenSearchDialog.setTabOrder(self.deleteButton, self.editButton)
+        OpenSearchDialog.setTabOrder(self.editButton, self.restoreButton)
+        OpenSearchDialog.setTabOrder(self.restoreButton, self.buttonBox)
+
+    def retranslateUi(self, OpenSearchDialog):
+        _translate = QtCore.QCoreApplication.translate
+        OpenSearchDialog.setWindowTitle(_translate("OpenSearchDialog", "Open Search Engines Configuration"))
+        self.addButton.setToolTip(_translate("OpenSearchDialog", "Press to add a new search engine from file"))
+        self.addButton.setText(_translate("OpenSearchDialog", "&Add..."))
+        self.deleteButton.setToolTip(_translate("OpenSearchDialog", "Press to delete the selected engines"))
+        self.deleteButton.setText(_translate("OpenSearchDialog", "&Delete"))
+        self.editButton.setToolTip(_translate("OpenSearchDialog", "Press to edit the data of the current engine"))
+        self.editButton.setText(_translate("OpenSearchDialog", "Edit..."))
+        self.restoreButton.setToolTip(_translate("OpenSearchDialog", "Press to restore the default engines"))
+        self.restoreButton.setText(_translate("OpenSearchDialog", "&Restore Defaults"))
+from eric7.EricWidgets.EricTableView import EricTableView
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/WebBrowser/OpenSearch/Ui_OpenSearchEditDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,87 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/WebBrowser/OpenSearch/OpenSearchEditDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_OpenSearchEditDialog(object):
+    def setupUi(self, OpenSearchEditDialog):
+        OpenSearchEditDialog.setObjectName("OpenSearchEditDialog")
+        OpenSearchEditDialog.resize(690, 218)
+        OpenSearchEditDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(OpenSearchEditDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.gridLayout = QtWidgets.QGridLayout()
+        self.gridLayout.setObjectName("gridLayout")
+        self.label_2 = QtWidgets.QLabel(parent=OpenSearchEditDialog)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 0, 0, 1, 1)
+        self.nameEdit = QtWidgets.QLineEdit(parent=OpenSearchEditDialog)
+        self.nameEdit.setFocusPolicy(QtCore.Qt.FocusPolicy.NoFocus)
+        self.nameEdit.setReadOnly(True)
+        self.nameEdit.setObjectName("nameEdit")
+        self.gridLayout.addWidget(self.nameEdit, 0, 1, 1, 1)
+        self.label_3 = QtWidgets.QLabel(parent=OpenSearchEditDialog)
+        self.label_3.setObjectName("label_3")
+        self.gridLayout.addWidget(self.label_3, 1, 0, 1, 1)
+        self.descriptionEdit = QtWidgets.QLineEdit(parent=OpenSearchEditDialog)
+        self.descriptionEdit.setObjectName("descriptionEdit")
+        self.gridLayout.addWidget(self.descriptionEdit, 1, 1, 1, 1)
+        self.label_5 = QtWidgets.QLabel(parent=OpenSearchEditDialog)
+        self.label_5.setObjectName("label_5")
+        self.gridLayout.addWidget(self.label_5, 2, 0, 1, 1)
+        self.imageEdit = QtWidgets.QLineEdit(parent=OpenSearchEditDialog)
+        self.imageEdit.setObjectName("imageEdit")
+        self.gridLayout.addWidget(self.imageEdit, 2, 1, 1, 1)
+        self.verticalLayout.addLayout(self.gridLayout)
+        self.label_4 = QtWidgets.QLabel(parent=OpenSearchEditDialog)
+        self.label_4.setObjectName("label_4")
+        self.verticalLayout.addWidget(self.label_4)
+        self.searchEdit = QtWidgets.QLineEdit(parent=OpenSearchEditDialog)
+        self.searchEdit.setObjectName("searchEdit")
+        self.verticalLayout.addWidget(self.searchEdit)
+        self.label_6 = QtWidgets.QLabel(parent=OpenSearchEditDialog)
+        self.label_6.setObjectName("label_6")
+        self.verticalLayout.addWidget(self.label_6)
+        self.suggestionsEdit = QtWidgets.QLineEdit(parent=OpenSearchEditDialog)
+        self.suggestionsEdit.setObjectName("suggestionsEdit")
+        self.verticalLayout.addWidget(self.suggestionsEdit)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=OpenSearchEditDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+        self.label_2.setBuddy(self.nameEdit)
+        self.label_3.setBuddy(self.descriptionEdit)
+        self.label_5.setBuddy(self.imageEdit)
+        self.label_4.setBuddy(self.searchEdit)
+        self.label_6.setBuddy(self.suggestionsEdit)
+
+        self.retranslateUi(OpenSearchEditDialog)
+        self.buttonBox.accepted.connect(OpenSearchEditDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(OpenSearchEditDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(OpenSearchEditDialog)
+        OpenSearchEditDialog.setTabOrder(self.nameEdit, self.descriptionEdit)
+        OpenSearchEditDialog.setTabOrder(self.descriptionEdit, self.imageEdit)
+        OpenSearchEditDialog.setTabOrder(self.imageEdit, self.searchEdit)
+        OpenSearchEditDialog.setTabOrder(self.searchEdit, self.suggestionsEdit)
+        OpenSearchEditDialog.setTabOrder(self.suggestionsEdit, self.buttonBox)
+
+    def retranslateUi(self, OpenSearchEditDialog):
+        _translate = QtCore.QCoreApplication.translate
+        OpenSearchEditDialog.setWindowTitle(_translate("OpenSearchEditDialog", "Edit search engine data"))
+        self.label_2.setText(_translate("OpenSearchEditDialog", "&Name:"))
+        self.nameEdit.setToolTip(_translate("OpenSearchEditDialog", "Shows the name of the search engine"))
+        self.label_3.setText(_translate("OpenSearchEditDialog", "&Description:"))
+        self.descriptionEdit.setToolTip(_translate("OpenSearchEditDialog", "Enter a description"))
+        self.label_5.setText(_translate("OpenSearchEditDialog", "&Image URL:"))
+        self.imageEdit.setToolTip(_translate("OpenSearchEditDialog", "Enter the URL of the image"))
+        self.label_4.setText(_translate("OpenSearchEditDialog", "&Search URL Template:"))
+        self.searchEdit.setToolTip(_translate("OpenSearchEditDialog", "Enter the template of the search URL"))
+        self.label_6.setText(_translate("OpenSearchEditDialog", "Su&ggestions URL Template:"))
+        self.suggestionsEdit.setToolTip(_translate("OpenSearchEditDialog", "Enter the template of the suggestions URL"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/WebBrowser/Passwords/Ui_PasswordsDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,88 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/WebBrowser/Passwords/PasswordsDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_PasswordsDialog(object):
+    def setupUi(self, PasswordsDialog):
+        PasswordsDialog.setObjectName("PasswordsDialog")
+        PasswordsDialog.resize(500, 350)
+        PasswordsDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(PasswordsDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_2.addItem(spacerItem)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setSpacing(0)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.searchEdit = QtWidgets.QLineEdit(parent=PasswordsDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.searchEdit.sizePolicy().hasHeightForWidth())
+        self.searchEdit.setSizePolicy(sizePolicy)
+        self.searchEdit.setMinimumSize(QtCore.QSize(300, 0))
+        self.searchEdit.setClearButtonEnabled(True)
+        self.searchEdit.setObjectName("searchEdit")
+        self.horizontalLayout.addWidget(self.searchEdit)
+        self.horizontalLayout_2.addLayout(self.horizontalLayout)
+        self.verticalLayout.addLayout(self.horizontalLayout_2)
+        self.passwordsTable = EricTableView(parent=PasswordsDialog)
+        self.passwordsTable.setAlternatingRowColors(True)
+        self.passwordsTable.setSelectionBehavior(QtWidgets.QAbstractItemView.SelectionBehavior.SelectRows)
+        self.passwordsTable.setTextElideMode(QtCore.Qt.TextElideMode.ElideMiddle)
+        self.passwordsTable.setShowGrid(False)
+        self.passwordsTable.setSortingEnabled(True)
+        self.passwordsTable.setObjectName("passwordsTable")
+        self.verticalLayout.addWidget(self.passwordsTable)
+        self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
+        self.removeButton = QtWidgets.QPushButton(parent=PasswordsDialog)
+        self.removeButton.setAutoDefault(False)
+        self.removeButton.setObjectName("removeButton")
+        self.horizontalLayout_3.addWidget(self.removeButton)
+        self.removeAllButton = QtWidgets.QPushButton(parent=PasswordsDialog)
+        self.removeAllButton.setAutoDefault(False)
+        self.removeAllButton.setObjectName("removeAllButton")
+        self.horizontalLayout_3.addWidget(self.removeAllButton)
+        spacerItem1 = QtWidgets.QSpacerItem(208, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_3.addItem(spacerItem1)
+        self.passwordsButton = QtWidgets.QPushButton(parent=PasswordsDialog)
+        self.passwordsButton.setText("")
+        self.passwordsButton.setObjectName("passwordsButton")
+        self.horizontalLayout_3.addWidget(self.passwordsButton)
+        self.verticalLayout.addLayout(self.horizontalLayout_3)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=PasswordsDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(PasswordsDialog)
+        self.buttonBox.accepted.connect(PasswordsDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(PasswordsDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(PasswordsDialog)
+        PasswordsDialog.setTabOrder(self.searchEdit, self.passwordsTable)
+        PasswordsDialog.setTabOrder(self.passwordsTable, self.removeButton)
+        PasswordsDialog.setTabOrder(self.removeButton, self.removeAllButton)
+        PasswordsDialog.setTabOrder(self.removeAllButton, self.passwordsButton)
+        PasswordsDialog.setTabOrder(self.passwordsButton, self.buttonBox)
+
+    def retranslateUi(self, PasswordsDialog):
+        _translate = QtCore.QCoreApplication.translate
+        PasswordsDialog.setWindowTitle(_translate("PasswordsDialog", "Saved Passwords"))
+        self.searchEdit.setToolTip(_translate("PasswordsDialog", "Enter search term"))
+        self.removeButton.setToolTip(_translate("PasswordsDialog", "Press to remove the selected entries"))
+        self.removeButton.setText(_translate("PasswordsDialog", "&Remove"))
+        self.removeAllButton.setToolTip(_translate("PasswordsDialog", "Press to remove all entries"))
+        self.removeAllButton.setText(_translate("PasswordsDialog", "Remove &All"))
+        self.passwordsButton.setToolTip(_translate("PasswordsDialog", "Press to toggle the display of passwords"))
+from eric7.EricWidgets.EricTableView import EricTableView
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/WebBrowser/PersonalInformationManager/Ui_PersonalDataDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,224 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/WebBrowser/PersonalInformationManager/PersonalDataDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_PersonalDataDialog(object):
+    def setupUi(self, PersonalDataDialog):
+        PersonalDataDialog.setObjectName("PersonalDataDialog")
+        PersonalDataDialog.resize(600, 412)
+        PersonalDataDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(PersonalDataDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem)
+        self.iconLabel = QtWidgets.QLabel(parent=PersonalDataDialog)
+        self.iconLabel.setMinimumSize(QtCore.QSize(48, 48))
+        self.iconLabel.setText("Icon")
+        self.iconLabel.setObjectName("iconLabel")
+        self.horizontalLayout.addWidget(self.iconLabel)
+        self.label = QtWidgets.QLabel(parent=PersonalDataDialog)
+        self.label.setObjectName("label")
+        self.horizontalLayout.addWidget(self.label)
+        spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem1)
+        self.verticalLayout.addLayout(self.horizontalLayout)
+        self.label_01 = QtWidgets.QLabel(parent=PersonalDataDialog)
+        self.label_01.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
+        self.label_01.setWordWrap(True)
+        self.label_01.setObjectName("label_01")
+        self.verticalLayout.addWidget(self.label_01)
+        self.gridLayout = QtWidgets.QGridLayout()
+        self.gridLayout.setObjectName("gridLayout")
+        self.label_02 = QtWidgets.QLabel(parent=PersonalDataDialog)
+        self.label_02.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.label_02.setObjectName("label_02")
+        self.gridLayout.addWidget(self.label_02, 0, 0, 1, 1)
+        self.firstnameEdit = QtWidgets.QLineEdit(parent=PersonalDataDialog)
+        self.firstnameEdit.setClearButtonEnabled(True)
+        self.firstnameEdit.setObjectName("firstnameEdit")
+        self.gridLayout.addWidget(self.firstnameEdit, 0, 1, 1, 1)
+        self.label_08 = QtWidgets.QLabel(parent=PersonalDataDialog)
+        self.label_08.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.label_08.setObjectName("label_08")
+        self.gridLayout.addWidget(self.label_08, 0, 2, 1, 1)
+        self.zipEdit = QtWidgets.QLineEdit(parent=PersonalDataDialog)
+        self.zipEdit.setClearButtonEnabled(True)
+        self.zipEdit.setObjectName("zipEdit")
+        self.gridLayout.addWidget(self.zipEdit, 0, 3, 1, 1)
+        self.label_03 = QtWidgets.QLabel(parent=PersonalDataDialog)
+        self.label_03.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.label_03.setObjectName("label_03")
+        self.gridLayout.addWidget(self.label_03, 1, 0, 1, 1)
+        self.lastnameEdit = QtWidgets.QLineEdit(parent=PersonalDataDialog)
+        self.lastnameEdit.setClearButtonEnabled(True)
+        self.lastnameEdit.setObjectName("lastnameEdit")
+        self.gridLayout.addWidget(self.lastnameEdit, 1, 1, 1, 1)
+        self.label_09 = QtWidgets.QLabel(parent=PersonalDataDialog)
+        self.label_09.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.label_09.setObjectName("label_09")
+        self.gridLayout.addWidget(self.label_09, 1, 2, 1, 1)
+        self.stateEdit = QtWidgets.QLineEdit(parent=PersonalDataDialog)
+        self.stateEdit.setClearButtonEnabled(True)
+        self.stateEdit.setObjectName("stateEdit")
+        self.gridLayout.addWidget(self.stateEdit, 1, 3, 1, 1)
+        self.label_18 = QtWidgets.QLabel(parent=PersonalDataDialog)
+        self.label_18.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.label_18.setObjectName("label_18")
+        self.gridLayout.addWidget(self.label_18, 2, 0, 1, 1)
+        self.fullnameEdit = QtWidgets.QLineEdit(parent=PersonalDataDialog)
+        self.fullnameEdit.setClearButtonEnabled(True)
+        self.fullnameEdit.setObjectName("fullnameEdit")
+        self.gridLayout.addWidget(self.fullnameEdit, 2, 1, 1, 1)
+        self.label_10 = QtWidgets.QLabel(parent=PersonalDataDialog)
+        self.label_10.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.label_10.setObjectName("label_10")
+        self.gridLayout.addWidget(self.label_10, 2, 2, 1, 1)
+        self.countryEdit = QtWidgets.QLineEdit(parent=PersonalDataDialog)
+        self.countryEdit.setClearButtonEnabled(True)
+        self.countryEdit.setObjectName("countryEdit")
+        self.gridLayout.addWidget(self.countryEdit, 2, 3, 1, 1)
+        self.label_12 = QtWidgets.QLabel(parent=PersonalDataDialog)
+        self.label_12.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.label_12.setObjectName("label_12")
+        self.gridLayout.addWidget(self.label_12, 3, 0, 1, 1)
+        self.emailEdit = QtWidgets.QLineEdit(parent=PersonalDataDialog)
+        self.emailEdit.setClearButtonEnabled(True)
+        self.emailEdit.setObjectName("emailEdit")
+        self.gridLayout.addWidget(self.emailEdit, 3, 1, 1, 1)
+        self.label_11 = QtWidgets.QLabel(parent=PersonalDataDialog)
+        self.label_11.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.label_11.setObjectName("label_11")
+        self.gridLayout.addWidget(self.label_11, 3, 2, 1, 1)
+        self.homepageEdit = QtWidgets.QLineEdit(parent=PersonalDataDialog)
+        self.homepageEdit.setClearButtonEnabled(True)
+        self.homepageEdit.setObjectName("homepageEdit")
+        self.gridLayout.addWidget(self.homepageEdit, 3, 3, 1, 1)
+        self.label_04 = QtWidgets.QLabel(parent=PersonalDataDialog)
+        self.label_04.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.label_04.setObjectName("label_04")
+        self.gridLayout.addWidget(self.label_04, 4, 0, 1, 1)
+        self.phoneEdit = QtWidgets.QLineEdit(parent=PersonalDataDialog)
+        self.phoneEdit.setClearButtonEnabled(True)
+        self.phoneEdit.setObjectName("phoneEdit")
+        self.gridLayout.addWidget(self.phoneEdit, 4, 1, 1, 1)
+        self.label_13 = QtWidgets.QLabel(parent=PersonalDataDialog)
+        self.label_13.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.label_13.setObjectName("label_13")
+        self.gridLayout.addWidget(self.label_13, 4, 2, 1, 1)
+        self.special1Edit = QtWidgets.QLineEdit(parent=PersonalDataDialog)
+        self.special1Edit.setClearButtonEnabled(True)
+        self.special1Edit.setObjectName("special1Edit")
+        self.gridLayout.addWidget(self.special1Edit, 4, 3, 1, 1)
+        self.label_05 = QtWidgets.QLabel(parent=PersonalDataDialog)
+        self.label_05.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.label_05.setObjectName("label_05")
+        self.gridLayout.addWidget(self.label_05, 5, 0, 1, 1)
+        self.mobileEdit = QtWidgets.QLineEdit(parent=PersonalDataDialog)
+        self.mobileEdit.setClearButtonEnabled(True)
+        self.mobileEdit.setObjectName("mobileEdit")
+        self.gridLayout.addWidget(self.mobileEdit, 5, 1, 1, 1)
+        self.label_14 = QtWidgets.QLabel(parent=PersonalDataDialog)
+        self.label_14.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.label_14.setObjectName("label_14")
+        self.gridLayout.addWidget(self.label_14, 5, 2, 1, 1)
+        self.special2Edit = QtWidgets.QLineEdit(parent=PersonalDataDialog)
+        self.special2Edit.setClearButtonEnabled(True)
+        self.special2Edit.setObjectName("special2Edit")
+        self.gridLayout.addWidget(self.special2Edit, 5, 3, 1, 1)
+        self.label_06 = QtWidgets.QLabel(parent=PersonalDataDialog)
+        self.label_06.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.label_06.setObjectName("label_06")
+        self.gridLayout.addWidget(self.label_06, 6, 0, 1, 1)
+        self.addressEdit = QtWidgets.QLineEdit(parent=PersonalDataDialog)
+        self.addressEdit.setClearButtonEnabled(True)
+        self.addressEdit.setObjectName("addressEdit")
+        self.gridLayout.addWidget(self.addressEdit, 6, 1, 1, 1)
+        self.label_15 = QtWidgets.QLabel(parent=PersonalDataDialog)
+        self.label_15.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.label_15.setObjectName("label_15")
+        self.gridLayout.addWidget(self.label_15, 6, 2, 1, 1)
+        self.special3Edit = QtWidgets.QLineEdit(parent=PersonalDataDialog)
+        self.special3Edit.setClearButtonEnabled(True)
+        self.special3Edit.setObjectName("special3Edit")
+        self.gridLayout.addWidget(self.special3Edit, 6, 3, 1, 1)
+        self.label_07 = QtWidgets.QLabel(parent=PersonalDataDialog)
+        self.label_07.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.label_07.setObjectName("label_07")
+        self.gridLayout.addWidget(self.label_07, 7, 0, 1, 1)
+        self.cityEdit = QtWidgets.QLineEdit(parent=PersonalDataDialog)
+        self.cityEdit.setClearButtonEnabled(True)
+        self.cityEdit.setObjectName("cityEdit")
+        self.gridLayout.addWidget(self.cityEdit, 7, 1, 1, 1)
+        self.label_17 = QtWidgets.QLabel(parent=PersonalDataDialog)
+        self.label_17.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.label_17.setObjectName("label_17")
+        self.gridLayout.addWidget(self.label_17, 7, 2, 1, 1)
+        self.special4Edit = QtWidgets.QLineEdit(parent=PersonalDataDialog)
+        self.special4Edit.setClearButtonEnabled(True)
+        self.special4Edit.setObjectName("special4Edit")
+        self.gridLayout.addWidget(self.special4Edit, 7, 3, 1, 1)
+        self.verticalLayout.addLayout(self.gridLayout)
+        self.label_16 = QtWidgets.QLabel(parent=PersonalDataDialog)
+        self.label_16.setWordWrap(True)
+        self.label_16.setObjectName("label_16")
+        self.verticalLayout.addWidget(self.label_16)
+        spacerItem2 = QtWidgets.QSpacerItem(20, 31, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout.addItem(spacerItem2)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=PersonalDataDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(PersonalDataDialog)
+        self.buttonBox.accepted.connect(PersonalDataDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(PersonalDataDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(PersonalDataDialog)
+        PersonalDataDialog.setTabOrder(self.firstnameEdit, self.lastnameEdit)
+        PersonalDataDialog.setTabOrder(self.lastnameEdit, self.fullnameEdit)
+        PersonalDataDialog.setTabOrder(self.fullnameEdit, self.emailEdit)
+        PersonalDataDialog.setTabOrder(self.emailEdit, self.phoneEdit)
+        PersonalDataDialog.setTabOrder(self.phoneEdit, self.mobileEdit)
+        PersonalDataDialog.setTabOrder(self.mobileEdit, self.addressEdit)
+        PersonalDataDialog.setTabOrder(self.addressEdit, self.cityEdit)
+        PersonalDataDialog.setTabOrder(self.cityEdit, self.zipEdit)
+        PersonalDataDialog.setTabOrder(self.zipEdit, self.stateEdit)
+        PersonalDataDialog.setTabOrder(self.stateEdit, self.countryEdit)
+        PersonalDataDialog.setTabOrder(self.countryEdit, self.homepageEdit)
+        PersonalDataDialog.setTabOrder(self.homepageEdit, self.special1Edit)
+        PersonalDataDialog.setTabOrder(self.special1Edit, self.special2Edit)
+        PersonalDataDialog.setTabOrder(self.special2Edit, self.special3Edit)
+        PersonalDataDialog.setTabOrder(self.special3Edit, self.special4Edit)
+        PersonalDataDialog.setTabOrder(self.special4Edit, self.buttonBox)
+
+    def retranslateUi(self, PersonalDataDialog):
+        _translate = QtCore.QCoreApplication.translate
+        PersonalDataDialog.setWindowTitle(_translate("PersonalDataDialog", "Personal Information"))
+        self.label.setText(_translate("PersonalDataDialog", "<h2>Personal Information</h2>"))
+        self.label_01.setText(_translate("PersonalDataDialog", "Your personal information that will be used on webpages."))
+        self.label_02.setText(_translate("PersonalDataDialog", "First Name:"))
+        self.label_08.setText(_translate("PersonalDataDialog", "ZIP Code:"))
+        self.label_03.setText(_translate("PersonalDataDialog", "Last Name:"))
+        self.label_09.setText(_translate("PersonalDataDialog", "State/Region:"))
+        self.label_18.setText(_translate("PersonalDataDialog", "Full Name:"))
+        self.label_10.setText(_translate("PersonalDataDialog", "Country:"))
+        self.label_12.setText(_translate("PersonalDataDialog", "E-mail:"))
+        self.label_11.setText(_translate("PersonalDataDialog", "Home Page:"))
+        self.label_04.setText(_translate("PersonalDataDialog", "Phone:"))
+        self.label_13.setText(_translate("PersonalDataDialog", "Custom 1:"))
+        self.label_05.setText(_translate("PersonalDataDialog", "Mobile Phone:"))
+        self.label_14.setText(_translate("PersonalDataDialog", "Custom 2:"))
+        self.label_06.setText(_translate("PersonalDataDialog", "Address:"))
+        self.label_15.setText(_translate("PersonalDataDialog", "Custom 3:"))
+        self.label_07.setText(_translate("PersonalDataDialog", "City:"))
+        self.label_17.setText(_translate("PersonalDataDialog", "Custom 4:"))
+        self.label_16.setText(_translate("PersonalDataDialog", "<b>Note:</b> Press Ctrl+ENTER to autofill form fields for which personal entries were found."))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/WebBrowser/SafeBrowsing/Ui_SafeBrowsingDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,178 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/WebBrowser/SafeBrowsing/SafeBrowsingDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_SafeBrowsingDialog(object):
+    def setupUi(self, SafeBrowsingDialog):
+        SafeBrowsingDialog.setObjectName("SafeBrowsingDialog")
+        SafeBrowsingDialog.resize(650, 597)
+        SafeBrowsingDialog.setSizeGripEnabled(True)
+        self.verticalLayout_3 = QtWidgets.QVBoxLayout(SafeBrowsingDialog)
+        self.verticalLayout_3.setObjectName("verticalLayout_3")
+        self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_3.addItem(spacerItem)
+        self.iconLabel = QtWidgets.QLabel(parent=SafeBrowsingDialog)
+        self.iconLabel.setMinimumSize(QtCore.QSize(48, 48))
+        self.iconLabel.setText("Icon")
+        self.iconLabel.setObjectName("iconLabel")
+        self.horizontalLayout_3.addWidget(self.iconLabel)
+        self.label_2 = QtWidgets.QLabel(parent=SafeBrowsingDialog)
+        self.label_2.setObjectName("label_2")
+        self.horizontalLayout_3.addWidget(self.label_2)
+        spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_3.addItem(spacerItem1)
+        self.verticalLayout_3.addLayout(self.horizontalLayout_3)
+        self.gsbGroupBox = QtWidgets.QGroupBox(parent=SafeBrowsingDialog)
+        self.gsbGroupBox.setCheckable(True)
+        self.gsbGroupBox.setObjectName("gsbGroupBox")
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.gsbGroupBox)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.gsbFilterPlatformCheckBox = QtWidgets.QCheckBox(parent=self.gsbGroupBox)
+        self.gsbFilterPlatformCheckBox.setObjectName("gsbFilterPlatformCheckBox")
+        self.verticalLayout_2.addWidget(self.gsbFilterPlatformCheckBox)
+        self.gsbAutoUpdateCheckBox = QtWidgets.QCheckBox(parent=self.gsbGroupBox)
+        self.gsbAutoUpdateCheckBox.setObjectName("gsbAutoUpdateCheckBox")
+        self.verticalLayout_2.addWidget(self.gsbAutoUpdateCheckBox)
+        self.gsbLookupCheckBox = QtWidgets.QCheckBox(parent=self.gsbGroupBox)
+        self.gsbLookupCheckBox.setObjectName("gsbLookupCheckBox")
+        self.verticalLayout_2.addWidget(self.gsbLookupCheckBox)
+        self.horizontalLayout_4 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_4.setObjectName("horizontalLayout_4")
+        self.label_14 = QtWidgets.QLabel(parent=self.gsbGroupBox)
+        self.label_14.setObjectName("label_14")
+        self.horizontalLayout_4.addWidget(self.label_14)
+        self.gsbApiKeyEdit = QtWidgets.QLineEdit(parent=self.gsbGroupBox)
+        self.gsbApiKeyEdit.setClearButtonEnabled(True)
+        self.gsbApiKeyEdit.setObjectName("gsbApiKeyEdit")
+        self.horizontalLayout_4.addWidget(self.gsbApiKeyEdit)
+        self.verticalLayout_2.addLayout(self.horizontalLayout_4)
+        self.gsbHelpButton = QtWidgets.QPushButton(parent=self.gsbGroupBox)
+        self.gsbHelpButton.setObjectName("gsbHelpButton")
+        self.verticalLayout_2.addWidget(self.gsbHelpButton)
+        self.verticalLayout_3.addWidget(self.gsbGroupBox)
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_2.addItem(spacerItem2)
+        self.saveButton = QtWidgets.QPushButton(parent=SafeBrowsingDialog)
+        self.saveButton.setObjectName("saveButton")
+        self.horizontalLayout_2.addWidget(self.saveButton)
+        spacerItem3 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_2.addItem(spacerItem3)
+        self.verticalLayout_3.addLayout(self.horizontalLayout_2)
+        self.line = QtWidgets.QFrame(parent=SafeBrowsingDialog)
+        self.line.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line.setObjectName("line")
+        self.verticalLayout_3.addWidget(self.line)
+        self.manageCacheGroupBox = QtWidgets.QGroupBox(parent=SafeBrowsingDialog)
+        self.manageCacheGroupBox.setObjectName("manageCacheGroupBox")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.manageCacheGroupBox)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.updateCacheButton = QtWidgets.QPushButton(parent=self.manageCacheGroupBox)
+        self.updateCacheButton.setObjectName("updateCacheButton")
+        self.horizontalLayout.addWidget(self.updateCacheButton)
+        self.clearCacheButton = QtWidgets.QPushButton(parent=self.manageCacheGroupBox)
+        self.clearCacheButton.setObjectName("clearCacheButton")
+        self.horizontalLayout.addWidget(self.clearCacheButton)
+        self.line_3 = QtWidgets.QFrame(parent=self.manageCacheGroupBox)
+        self.line_3.setFrameShape(QtWidgets.QFrame.Shape.VLine)
+        self.line_3.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line_3.setObjectName("line_3")
+        self.horizontalLayout.addWidget(self.line_3)
+        self.showUpdateTimeButton = QtWidgets.QPushButton(parent=self.manageCacheGroupBox)
+        self.showUpdateTimeButton.setObjectName("showUpdateTimeButton")
+        self.horizontalLayout.addWidget(self.showUpdateTimeButton)
+        self.verticalLayout.addLayout(self.horizontalLayout)
+        self.progressLabel = QtWidgets.QLabel(parent=self.manageCacheGroupBox)
+        self.progressLabel.setText("")
+        self.progressLabel.setWordWrap(True)
+        self.progressLabel.setObjectName("progressLabel")
+        self.verticalLayout.addWidget(self.progressLabel)
+        self.progressBar = QtWidgets.QProgressBar(parent=self.manageCacheGroupBox)
+        self.progressBar.setProperty("value", 0)
+        self.progressBar.setObjectName("progressBar")
+        self.verticalLayout.addWidget(self.progressBar)
+        self.verticalLayout_3.addWidget(self.manageCacheGroupBox)
+        self.line_2 = QtWidgets.QFrame(parent=SafeBrowsingDialog)
+        self.line_2.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line_2.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line_2.setObjectName("line_2")
+        self.verticalLayout_3.addWidget(self.line_2)
+        self.groupBox_2 = QtWidgets.QGroupBox(parent=SafeBrowsingDialog)
+        self.groupBox_2.setObjectName("groupBox_2")
+        self.gridLayout_2 = QtWidgets.QGridLayout(self.groupBox_2)
+        self.gridLayout_2.setObjectName("gridLayout_2")
+        self.label = QtWidgets.QLabel(parent=self.groupBox_2)
+        self.label.setObjectName("label")
+        self.gridLayout_2.addWidget(self.label, 0, 0, 1, 1)
+        self.urlEdit = QtWidgets.QLineEdit(parent=self.groupBox_2)
+        self.urlEdit.setClearButtonEnabled(True)
+        self.urlEdit.setObjectName("urlEdit")
+        self.gridLayout_2.addWidget(self.urlEdit, 0, 1, 1, 1)
+        self.urlCheckButton = QtWidgets.QPushButton(parent=self.groupBox_2)
+        self.urlCheckButton.setEnabled(False)
+        self.urlCheckButton.setObjectName("urlCheckButton")
+        self.gridLayout_2.addWidget(self.urlCheckButton, 1, 0, 1, 2)
+        self.verticalLayout_3.addWidget(self.groupBox_2)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=SafeBrowsingDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout_3.addWidget(self.buttonBox)
+
+        self.retranslateUi(SafeBrowsingDialog)
+        self.gsbLookupCheckBox.toggled['bool'].connect(self.manageCacheGroupBox.setDisabled) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(SafeBrowsingDialog)
+        SafeBrowsingDialog.setTabOrder(self.gsbGroupBox, self.gsbFilterPlatformCheckBox)
+        SafeBrowsingDialog.setTabOrder(self.gsbFilterPlatformCheckBox, self.gsbAutoUpdateCheckBox)
+        SafeBrowsingDialog.setTabOrder(self.gsbAutoUpdateCheckBox, self.gsbLookupCheckBox)
+        SafeBrowsingDialog.setTabOrder(self.gsbLookupCheckBox, self.gsbApiKeyEdit)
+        SafeBrowsingDialog.setTabOrder(self.gsbApiKeyEdit, self.gsbHelpButton)
+        SafeBrowsingDialog.setTabOrder(self.gsbHelpButton, self.saveButton)
+        SafeBrowsingDialog.setTabOrder(self.saveButton, self.updateCacheButton)
+        SafeBrowsingDialog.setTabOrder(self.updateCacheButton, self.clearCacheButton)
+        SafeBrowsingDialog.setTabOrder(self.clearCacheButton, self.showUpdateTimeButton)
+        SafeBrowsingDialog.setTabOrder(self.showUpdateTimeButton, self.urlEdit)
+        SafeBrowsingDialog.setTabOrder(self.urlEdit, self.urlCheckButton)
+
+    def retranslateUi(self, SafeBrowsingDialog):
+        _translate = QtCore.QCoreApplication.translate
+        SafeBrowsingDialog.setWindowTitle(_translate("SafeBrowsingDialog", "Safe Browsing Management"))
+        self.label_2.setText(_translate("SafeBrowsingDialog", "<h2>Google Safe Browsing</h2>"))
+        self.gsbGroupBox.setToolTip(_translate("SafeBrowsingDialog", "Select to enable the Google safe browsing support"))
+        self.gsbGroupBox.setTitle(_translate("SafeBrowsingDialog", "Enable Google Safe Browsing"))
+        self.gsbFilterPlatformCheckBox.setToolTip(_translate("SafeBrowsingDialog", "Select to check against the current platform only"))
+        self.gsbFilterPlatformCheckBox.setText(_translate("SafeBrowsingDialog", "Adjust threat lists to current platform"))
+        self.gsbAutoUpdateCheckBox.setToolTip(_translate("SafeBrowsingDialog", "Select to update the threat lists automatically when fair use period has expired"))
+        self.gsbAutoUpdateCheckBox.setText(_translate("SafeBrowsingDialog", "Update threat lists automatically (Update API only)"))
+        self.gsbLookupCheckBox.setText(_translate("SafeBrowsingDialog", "Use \'Lookup API\' (Note: each URL is sent to Google for checking)"))
+        self.label_14.setText(_translate("SafeBrowsingDialog", "API Key:"))
+        self.gsbApiKeyEdit.setToolTip(_translate("SafeBrowsingDialog", "Enter the Google Safe Browsing API key"))
+        self.gsbHelpButton.setToolTip(_translate("SafeBrowsingDialog", "Press to get some help about obtaining the API key"))
+        self.gsbHelpButton.setText(_translate("SafeBrowsingDialog", "Google Safe Browsing API Help"))
+        self.saveButton.setToolTip(_translate("SafeBrowsingDialog", "Press to save the current configuration settings"))
+        self.saveButton.setText(_translate("SafeBrowsingDialog", "Save Configuration"))
+        self.manageCacheGroupBox.setTitle(_translate("SafeBrowsingDialog", "Manage Local Cache (Update API only)"))
+        self.updateCacheButton.setToolTip(_translate("SafeBrowsingDialog", "Press to update the local cache database"))
+        self.updateCacheButton.setText(_translate("SafeBrowsingDialog", "Update Cache"))
+        self.clearCacheButton.setToolTip(_translate("SafeBrowsingDialog", "Press to clear the local cache database"))
+        self.clearCacheButton.setText(_translate("SafeBrowsingDialog", "Clear Cache"))
+        self.showUpdateTimeButton.setToolTip(_translate("SafeBrowsingDialog", "Press to see, when the next threat list update will be done"))
+        self.showUpdateTimeButton.setText(_translate("SafeBrowsingDialog", "Show Update Time"))
+        self.progressBar.setFormat(_translate("SafeBrowsingDialog", "%v/%m"))
+        self.groupBox_2.setTitle(_translate("SafeBrowsingDialog", "URL Check"))
+        self.label.setText(_translate("SafeBrowsingDialog", "URL:"))
+        self.urlCheckButton.setToolTip(_translate("SafeBrowsingDialog", "Press to check the entered URL"))
+        self.urlCheckButton.setText(_translate("SafeBrowsingDialog", "Check URL"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/WebBrowser/Session/Ui_SessionManagerDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,70 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/WebBrowser/Session/SessionManagerDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_SessionManagerDialog(object):
+    def setupUi(self, SessionManagerDialog):
+        SessionManagerDialog.setObjectName("SessionManagerDialog")
+        SessionManagerDialog.resize(500, 400)
+        SessionManagerDialog.setSizeGripEnabled(True)
+        self.gridLayout = QtWidgets.QGridLayout(SessionManagerDialog)
+        self.gridLayout.setObjectName("gridLayout")
+        self.sessionsList = QtWidgets.QTreeWidget(parent=SessionManagerDialog)
+        self.sessionsList.setAlternatingRowColors(True)
+        self.sessionsList.setRootIsDecorated(False)
+        self.sessionsList.setObjectName("sessionsList")
+        self.gridLayout.addWidget(self.sessionsList, 0, 0, 1, 1)
+        self.verticalLayout = QtWidgets.QVBoxLayout()
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.newButton = QtWidgets.QPushButton(parent=SessionManagerDialog)
+        self.newButton.setObjectName("newButton")
+        self.verticalLayout.addWidget(self.newButton)
+        self.renameButton = QtWidgets.QPushButton(parent=SessionManagerDialog)
+        self.renameButton.setObjectName("renameButton")
+        self.verticalLayout.addWidget(self.renameButton)
+        self.cloneButton = QtWidgets.QPushButton(parent=SessionManagerDialog)
+        self.cloneButton.setObjectName("cloneButton")
+        self.verticalLayout.addWidget(self.cloneButton)
+        self.deleteButton = QtWidgets.QPushButton(parent=SessionManagerDialog)
+        self.deleteButton.setObjectName("deleteButton")
+        self.verticalLayout.addWidget(self.deleteButton)
+        self.switchButton = QtWidgets.QPushButton(parent=SessionManagerDialog)
+        self.switchButton.setObjectName("switchButton")
+        self.verticalLayout.addWidget(self.switchButton)
+        spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout.addItem(spacerItem)
+        self.gridLayout.addLayout(self.verticalLayout, 0, 1, 1, 1)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=SessionManagerDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout.addWidget(self.buttonBox, 1, 0, 1, 2)
+
+        self.retranslateUi(SessionManagerDialog)
+        self.buttonBox.accepted.connect(SessionManagerDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(SessionManagerDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(SessionManagerDialog)
+
+    def retranslateUi(self, SessionManagerDialog):
+        _translate = QtCore.QCoreApplication.translate
+        SessionManagerDialog.setWindowTitle(_translate("SessionManagerDialog", "Session Manager"))
+        self.sessionsList.setToolTip(_translate("SessionManagerDialog", "Shows a list of available sessions"))
+        self.sessionsList.headerItem().setText(0, _translate("SessionManagerDialog", "Session"))
+        self.sessionsList.headerItem().setText(1, _translate("SessionManagerDialog", "Last Modified"))
+        self.newButton.setToolTip(_translate("SessionManagerDialog", "Press to create a new session"))
+        self.newButton.setText(_translate("SessionManagerDialog", "New"))
+        self.renameButton.setToolTip(_translate("SessionManagerDialog", "Press to rename the selected session"))
+        self.renameButton.setText(_translate("SessionManagerDialog", "Rename"))
+        self.cloneButton.setToolTip(_translate("SessionManagerDialog", "Press to clone the selected session"))
+        self.cloneButton.setText(_translate("SessionManagerDialog", "Clone"))
+        self.deleteButton.setToolTip(_translate("SessionManagerDialog", "Press to delete the selected session"))
+        self.deleteButton.setText(_translate("SessionManagerDialog", "Delete"))
+        self.switchButton.setToolTip(_translate("SessionManagerDialog", "Press to switch to the selected session"))
+        self.switchButton.setText(_translate("SessionManagerDialog", "Switch To"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/WebBrowser/SiteInfo/Ui_SiteInfoDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,157 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/WebBrowser/SiteInfo/SiteInfoDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_SiteInfoDialog(object):
+    def setupUi(self, SiteInfoDialog):
+        SiteInfoDialog.setObjectName("SiteInfoDialog")
+        SiteInfoDialog.resize(700, 550)
+        SiteInfoDialog.setSizeGripEnabled(True)
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(SiteInfoDialog)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.heading = QtWidgets.QLabel(parent=SiteInfoDialog)
+        self.heading.setText("")
+        self.heading.setWordWrap(True)
+        self.heading.setObjectName("heading")
+        self.verticalLayout_2.addWidget(self.heading)
+        self.tabWidget = QtWidgets.QTabWidget(parent=SiteInfoDialog)
+        self.tabWidget.setObjectName("tabWidget")
+        self.generalTab = QtWidgets.QWidget()
+        self.generalTab.setObjectName("generalTab")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.generalTab)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.gridLayout = QtWidgets.QGridLayout()
+        self.gridLayout.setObjectName("gridLayout")
+        self.label = QtWidgets.QLabel(parent=self.generalTab)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
+        self.siteAddressLabel = QtWidgets.QLabel(parent=self.generalTab)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.siteAddressLabel.sizePolicy().hasHeightForWidth())
+        self.siteAddressLabel.setSizePolicy(sizePolicy)
+        self.siteAddressLabel.setObjectName("siteAddressLabel")
+        self.gridLayout.addWidget(self.siteAddressLabel, 0, 1, 1, 1)
+        self.label_2 = QtWidgets.QLabel(parent=self.generalTab)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 1, 0, 1, 1)
+        self.encodingLabel = QtWidgets.QLabel(parent=self.generalTab)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.encodingLabel.sizePolicy().hasHeightForWidth())
+        self.encodingLabel.setSizePolicy(sizePolicy)
+        self.encodingLabel.setObjectName("encodingLabel")
+        self.gridLayout.addWidget(self.encodingLabel, 1, 1, 1, 1)
+        self.verticalLayout.addLayout(self.gridLayout)
+        self.label_9 = QtWidgets.QLabel(parent=self.generalTab)
+        self.label_9.setObjectName("label_9")
+        self.verticalLayout.addWidget(self.label_9)
+        self.tagsTree = QtWidgets.QTreeWidget(parent=self.generalTab)
+        self.tagsTree.setAlternatingRowColors(True)
+        self.tagsTree.setRootIsDecorated(False)
+        self.tagsTree.setItemsExpandable(False)
+        self.tagsTree.setWordWrap(False)
+        self.tagsTree.setObjectName("tagsTree")
+        self.verticalLayout.addWidget(self.tagsTree)
+        self.gridLayout_2 = QtWidgets.QGridLayout()
+        self.gridLayout_2.setObjectName("gridLayout_2")
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout_2.addItem(spacerItem, 1, 3, 1, 1)
+        self.securityIconLabel = QtWidgets.QLabel(parent=self.generalTab)
+        self.securityIconLabel.setObjectName("securityIconLabel")
+        self.gridLayout_2.addWidget(self.securityIconLabel, 1, 1, 1, 1)
+        self.label_4 = QtWidgets.QLabel(parent=self.generalTab)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.label_4.sizePolicy().hasHeightForWidth())
+        self.label_4.setSizePolicy(sizePolicy)
+        self.label_4.setObjectName("label_4")
+        self.gridLayout_2.addWidget(self.label_4, 0, 0, 1, 4)
+        self.securityLabel = QtWidgets.QLabel(parent=self.generalTab)
+        self.securityLabel.setText("")
+        self.securityLabel.setObjectName("securityLabel")
+        self.gridLayout_2.addWidget(self.securityLabel, 1, 2, 1, 1)
+        spacerItem1 = QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout_2.addItem(spacerItem1, 1, 0, 1, 1)
+        self.securityDetailsButton = QtWidgets.QPushButton(parent=self.generalTab)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.securityDetailsButton.sizePolicy().hasHeightForWidth())
+        self.securityDetailsButton.setSizePolicy(sizePolicy)
+        self.securityDetailsButton.setAutoDefault(False)
+        self.securityDetailsButton.setObjectName("securityDetailsButton")
+        self.gridLayout_2.addWidget(self.securityDetailsButton, 1, 4, 1, 1)
+        self.verticalLayout.addLayout(self.gridLayout_2)
+        self.tabWidget.addTab(self.generalTab, "")
+        self.mediaTab = QtWidgets.QWidget()
+        self.mediaTab.setObjectName("mediaTab")
+        self.verticalLayout_4 = QtWidgets.QVBoxLayout(self.mediaTab)
+        self.verticalLayout_4.setObjectName("verticalLayout_4")
+        self.imagesTree = QtWidgets.QTreeWidget(parent=self.mediaTab)
+        self.imagesTree.setAlternatingRowColors(True)
+        self.imagesTree.setRootIsDecorated(False)
+        self.imagesTree.setItemsExpandable(False)
+        self.imagesTree.setObjectName("imagesTree")
+        self.verticalLayout_4.addWidget(self.imagesTree)
+        self.label_5 = QtWidgets.QLabel(parent=self.mediaTab)
+        self.label_5.setObjectName("label_5")
+        self.verticalLayout_4.addWidget(self.label_5)
+        self.imagePreview = QtWidgets.QGraphicsView(parent=self.mediaTab)
+        self.imagePreview.setObjectName("imagePreview")
+        self.verticalLayout_4.addWidget(self.imagePreview)
+        self.tabWidget.addTab(self.mediaTab, "")
+        self.securityTab = QtWidgets.QWidget()
+        self.securityTab.setObjectName("securityTab")
+        self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.securityTab)
+        self.verticalLayout_3.setObjectName("verticalLayout_3")
+        self.sslWidget = EricSslCertificatesInfoWidget(parent=self.securityTab)
+        self.sslWidget.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.sslWidget.setObjectName("sslWidget")
+        self.verticalLayout_3.addWidget(self.sslWidget)
+        self.tabWidget.addTab(self.securityTab, "")
+        self.verticalLayout_2.addWidget(self.tabWidget)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=SiteInfoDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout_2.addWidget(self.buttonBox)
+
+        self.retranslateUi(SiteInfoDialog)
+        self.tabWidget.setCurrentIndex(0)
+        self.buttonBox.accepted.connect(SiteInfoDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(SiteInfoDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(SiteInfoDialog)
+        SiteInfoDialog.setTabOrder(self.tabWidget, self.tagsTree)
+        SiteInfoDialog.setTabOrder(self.tagsTree, self.securityDetailsButton)
+        SiteInfoDialog.setTabOrder(self.securityDetailsButton, self.imagesTree)
+        SiteInfoDialog.setTabOrder(self.imagesTree, self.imagePreview)
+        SiteInfoDialog.setTabOrder(self.imagePreview, self.sslWidget)
+
+    def retranslateUi(self, SiteInfoDialog):
+        _translate = QtCore.QCoreApplication.translate
+        SiteInfoDialog.setWindowTitle(_translate("SiteInfoDialog", "Site Information"))
+        self.label.setText(_translate("SiteInfoDialog", "Site Address:"))
+        self.label_2.setText(_translate("SiteInfoDialog", "Encoding:"))
+        self.label_9.setText(_translate("SiteInfoDialog", "Meta tags of site:"))
+        self.tagsTree.headerItem().setText(0, _translate("SiteInfoDialog", "Tag"))
+        self.tagsTree.headerItem().setText(1, _translate("SiteInfoDialog", "Value"))
+        self.label_4.setText(_translate("SiteInfoDialog", "<b>Security information</b>"))
+        self.securityDetailsButton.setText(_translate("SiteInfoDialog", "Details"))
+        self.tabWidget.setTabText(self.tabWidget.indexOf(self.generalTab), _translate("SiteInfoDialog", "General"))
+        self.imagesTree.headerItem().setText(0, _translate("SiteInfoDialog", "Image"))
+        self.imagesTree.headerItem().setText(1, _translate("SiteInfoDialog", "Image Address"))
+        self.label_5.setText(_translate("SiteInfoDialog", "<b>Preview</b>"))
+        self.tabWidget.setTabText(self.tabWidget.indexOf(self.mediaTab), _translate("SiteInfoDialog", "Media"))
+        self.tabWidget.setTabText(self.tabWidget.indexOf(self.securityTab), _translate("SiteInfoDialog", "Security"))
+from eric7.EricNetwork.EricSslCertificatesInfoWidget import EricSslCertificatesInfoWidget
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/WebBrowser/SpellCheck/Ui_ManageDictionariesDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,90 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/WebBrowser/SpellCheck/ManageDictionariesDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_ManageDictionariesDialog(object):
+    def setupUi(self, ManageDictionariesDialog):
+        ManageDictionariesDialog.setObjectName("ManageDictionariesDialog")
+        ManageDictionariesDialog.resize(676, 653)
+        ManageDictionariesDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(ManageDictionariesDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.label = QtWidgets.QLabel(parent=ManageDictionariesDialog)
+        self.label.setObjectName("label")
+        self.horizontalLayout_2.addWidget(self.label)
+        self.locationComboBox = QtWidgets.QComboBox(parent=ManageDictionariesDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.locationComboBox.sizePolicy().hasHeightForWidth())
+        self.locationComboBox.setSizePolicy(sizePolicy)
+        self.locationComboBox.setObjectName("locationComboBox")
+        self.horizontalLayout_2.addWidget(self.locationComboBox)
+        self.verticalLayout.addLayout(self.horizontalLayout_2)
+        self.dictionariesList = QtWidgets.QListWidget(parent=ManageDictionariesDialog)
+        self.dictionariesList.setAlternatingRowColors(True)
+        self.dictionariesList.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.ExtendedSelection)
+        self.dictionariesList.setObjectName("dictionariesList")
+        self.verticalLayout.addWidget(self.dictionariesList)
+        self.line = QtWidgets.QFrame(parent=ManageDictionariesDialog)
+        self.line.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line.setObjectName("line")
+        self.verticalLayout.addWidget(self.line)
+        self.downloadProgress = QtWidgets.QProgressBar(parent=ManageDictionariesDialog)
+        self.downloadProgress.setProperty("value", 0)
+        self.downloadProgress.setObjectName("downloadProgress")
+        self.verticalLayout.addWidget(self.downloadProgress)
+        self.statusLabel = QtWidgets.QLabel(parent=ManageDictionariesDialog)
+        self.statusLabel.setText("")
+        self.statusLabel.setObjectName("statusLabel")
+        self.verticalLayout.addWidget(self.statusLabel)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.label_4 = QtWidgets.QLabel(parent=ManageDictionariesDialog)
+        self.label_4.setObjectName("label_4")
+        self.horizontalLayout.addWidget(self.label_4)
+        self.dictionariesUrlEdit = QtWidgets.QLineEdit(parent=ManageDictionariesDialog)
+        self.dictionariesUrlEdit.setReadOnly(True)
+        self.dictionariesUrlEdit.setObjectName("dictionariesUrlEdit")
+        self.horizontalLayout.addWidget(self.dictionariesUrlEdit)
+        self.dictionariesUrlEditButton = QtWidgets.QPushButton(parent=ManageDictionariesDialog)
+        self.dictionariesUrlEditButton.setCheckable(True)
+        self.dictionariesUrlEditButton.setObjectName("dictionariesUrlEditButton")
+        self.horizontalLayout.addWidget(self.dictionariesUrlEditButton)
+        self.verticalLayout.addLayout(self.horizontalLayout)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=ManageDictionariesDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(ManageDictionariesDialog)
+        self.buttonBox.accepted.connect(ManageDictionariesDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(ManageDictionariesDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(ManageDictionariesDialog)
+        ManageDictionariesDialog.setTabOrder(self.locationComboBox, self.dictionariesList)
+        ManageDictionariesDialog.setTabOrder(self.dictionariesList, self.dictionariesUrlEdit)
+        ManageDictionariesDialog.setTabOrder(self.dictionariesUrlEdit, self.dictionariesUrlEditButton)
+
+    def retranslateUi(self, ManageDictionariesDialog):
+        _translate = QtCore.QCoreApplication.translate
+        ManageDictionariesDialog.setWindowTitle(_translate("ManageDictionariesDialog", "Spell Check Dictionaries"))
+        self.label.setText(_translate("ManageDictionariesDialog", "Installation Location:"))
+        self.locationComboBox.setToolTip(_translate("ManageDictionariesDialog", "Select the location for the dictionaries installation"))
+        self.dictionariesList.setToolTip(_translate("ManageDictionariesDialog", "Shows the list of available dictionaries"))
+        self.dictionariesList.setSortingEnabled(True)
+        self.downloadProgress.setToolTip(_translate("ManageDictionariesDialog", "Shows the progress of the current download"))
+        self.label_4.setText(_translate("ManageDictionariesDialog", "Dictionaries URL:"))
+        self.dictionariesUrlEdit.setToolTip(_translate("ManageDictionariesDialog", "Shows the dictionaries URL"))
+        self.dictionariesUrlEditButton.setToolTip(_translate("ManageDictionariesDialog", "Press to edit the dictionaries URL"))
+        self.dictionariesUrlEditButton.setText(_translate("ManageDictionariesDialog", "Edit URL"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/WebBrowser/StatusBar/Ui_JavaScriptSettingsDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,60 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/WebBrowser/StatusBar/JavaScriptSettingsDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_JavaScriptSettingsDialog(object):
+    def setupUi(self, JavaScriptSettingsDialog):
+        JavaScriptSettingsDialog.setObjectName("JavaScriptSettingsDialog")
+        JavaScriptSettingsDialog.resize(400, 209)
+        JavaScriptSettingsDialog.setSizeGripEnabled(True)
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(JavaScriptSettingsDialog)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.javaScriptGroup = QtWidgets.QGroupBox(parent=JavaScriptSettingsDialog)
+        self.javaScriptGroup.setCheckable(True)
+        self.javaScriptGroup.setObjectName("javaScriptGroup")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.javaScriptGroup)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.jsOpenWindowsCheckBox = QtWidgets.QCheckBox(parent=self.javaScriptGroup)
+        self.jsOpenWindowsCheckBox.setObjectName("jsOpenWindowsCheckBox")
+        self.verticalLayout.addWidget(self.jsOpenWindowsCheckBox)
+        self.jsActivateWindowsCheckBox = QtWidgets.QCheckBox(parent=self.javaScriptGroup)
+        self.jsActivateWindowsCheckBox.setObjectName("jsActivateWindowsCheckBox")
+        self.verticalLayout.addWidget(self.jsActivateWindowsCheckBox)
+        self.jsClipboardCheckBox = QtWidgets.QCheckBox(parent=self.javaScriptGroup)
+        self.jsClipboardCheckBox.setObjectName("jsClipboardCheckBox")
+        self.verticalLayout.addWidget(self.jsClipboardCheckBox)
+        self.jsPasteCheckBox = QtWidgets.QCheckBox(parent=self.javaScriptGroup)
+        self.jsPasteCheckBox.setObjectName("jsPasteCheckBox")
+        self.verticalLayout.addWidget(self.jsPasteCheckBox)
+        self.verticalLayout_2.addWidget(self.javaScriptGroup)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=JavaScriptSettingsDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout_2.addWidget(self.buttonBox)
+
+        self.retranslateUi(JavaScriptSettingsDialog)
+        self.buttonBox.accepted.connect(JavaScriptSettingsDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(JavaScriptSettingsDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(JavaScriptSettingsDialog)
+
+    def retranslateUi(self, JavaScriptSettingsDialog):
+        _translate = QtCore.QCoreApplication.translate
+        JavaScriptSettingsDialog.setWindowTitle(_translate("JavaScriptSettingsDialog", "JavaScript Settings"))
+        self.javaScriptGroup.setToolTip(_translate("JavaScriptSettingsDialog", "Select to enable JavaScript support"))
+        self.javaScriptGroup.setTitle(_translate("JavaScriptSettingsDialog", "Enable JavaScript"))
+        self.jsOpenWindowsCheckBox.setToolTip(_translate("JavaScriptSettingsDialog", "Select to allow JavaScript to open windows"))
+        self.jsOpenWindowsCheckBox.setText(_translate("JavaScriptSettingsDialog", "Allow to open windows"))
+        self.jsActivateWindowsCheckBox.setToolTip(_translate("JavaScriptSettingsDialog", "Select to allow JavaScript to activate windows"))
+        self.jsActivateWindowsCheckBox.setText(_translate("JavaScriptSettingsDialog", "Allow to activate windows"))
+        self.jsClipboardCheckBox.setToolTip(_translate("JavaScriptSettingsDialog", "Select to allow JavaScript to access the clipboard"))
+        self.jsClipboardCheckBox.setText(_translate("JavaScriptSettingsDialog", "Allow to access the clipboard"))
+        self.jsPasteCheckBox.setToolTip(_translate("JavaScriptSettingsDialog", "Select to allow JavaScript to paste from the clipboard (this needs access to the clipboard)"))
+        self.jsPasteCheckBox.setText(_translate("JavaScriptSettingsDialog", "Allow to paste from the clipboard"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/WebBrowser/Sync/Ui_SyncCheckPage.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,150 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/WebBrowser/Sync/SyncCheckPage.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_SyncCheckPage(object):
+    def setupUi(self, SyncCheckPage):
+        SyncCheckPage.setObjectName("SyncCheckPage")
+        SyncCheckPage.resize(650, 400)
+        self.verticalLayout = QtWidgets.QVBoxLayout(SyncCheckPage)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.groupBox = QtWidgets.QGroupBox(parent=SyncCheckPage)
+        self.groupBox.setObjectName("groupBox")
+        self.gridLayout = QtWidgets.QGridLayout(self.groupBox)
+        self.gridLayout.setObjectName("gridLayout")
+        self.label = QtWidgets.QLabel(parent=self.groupBox)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
+        self.handlerLabel = QtWidgets.QLabel(parent=self.groupBox)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.handlerLabel.sizePolicy().hasHeightForWidth())
+        self.handlerLabel.setSizePolicy(sizePolicy)
+        self.handlerLabel.setText("handler")
+        self.handlerLabel.setObjectName("handlerLabel")
+        self.gridLayout.addWidget(self.handlerLabel, 0, 1, 1, 1)
+        self.infoLabel = QtWidgets.QLabel(parent=self.groupBox)
+        self.infoLabel.setText("Host:")
+        self.infoLabel.setObjectName("infoLabel")
+        self.gridLayout.addWidget(self.infoLabel, 1, 0, 1, 1)
+        self.infoDataLabel = QtWidgets.QLabel(parent=self.groupBox)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.infoDataLabel.sizePolicy().hasHeightForWidth())
+        self.infoDataLabel.setSizePolicy(sizePolicy)
+        self.infoDataLabel.setText("host")
+        self.infoDataLabel.setObjectName("infoDataLabel")
+        self.gridLayout.addWidget(self.infoDataLabel, 1, 1, 1, 1)
+        self.verticalLayout.addWidget(self.groupBox)
+        self.groupBox_2 = QtWidgets.QGroupBox(parent=SyncCheckPage)
+        self.groupBox_2.setObjectName("groupBox_2")
+        self.gridLayout_2 = QtWidgets.QGridLayout(self.groupBox_2)
+        self.gridLayout_2.setObjectName("gridLayout_2")
+        self.label_3 = QtWidgets.QLabel(parent=self.groupBox_2)
+        self.label_3.setObjectName("label_3")
+        self.gridLayout_2.addWidget(self.label_3, 0, 0, 1, 1)
+        self.bookmarkLabel = EricAnimatedLabel(parent=self.groupBox_2)
+        self.bookmarkLabel.setObjectName("bookmarkLabel")
+        self.gridLayout_2.addWidget(self.bookmarkLabel, 0, 1, 1, 1)
+        self.bookmarkMsgLabel = QtWidgets.QLabel(parent=self.groupBox_2)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.bookmarkMsgLabel.sizePolicy().hasHeightForWidth())
+        self.bookmarkMsgLabel.setSizePolicy(sizePolicy)
+        self.bookmarkMsgLabel.setWordWrap(True)
+        self.bookmarkMsgLabel.setObjectName("bookmarkMsgLabel")
+        self.gridLayout_2.addWidget(self.bookmarkMsgLabel, 0, 2, 1, 2)
+        self.label_4 = QtWidgets.QLabel(parent=self.groupBox_2)
+        self.label_4.setObjectName("label_4")
+        self.gridLayout_2.addWidget(self.label_4, 1, 0, 1, 1)
+        self.historyLabel = EricAnimatedLabel(parent=self.groupBox_2)
+        self.historyLabel.setObjectName("historyLabel")
+        self.gridLayout_2.addWidget(self.historyLabel, 1, 1, 1, 1)
+        self.historyMsgLabel = QtWidgets.QLabel(parent=self.groupBox_2)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.historyMsgLabel.sizePolicy().hasHeightForWidth())
+        self.historyMsgLabel.setSizePolicy(sizePolicy)
+        self.historyMsgLabel.setWordWrap(True)
+        self.historyMsgLabel.setObjectName("historyMsgLabel")
+        self.gridLayout_2.addWidget(self.historyMsgLabel, 1, 2, 1, 2)
+        self.label_5 = QtWidgets.QLabel(parent=self.groupBox_2)
+        self.label_5.setObjectName("label_5")
+        self.gridLayout_2.addWidget(self.label_5, 2, 0, 1, 1)
+        self.passwordsLabel = EricAnimatedLabel(parent=self.groupBox_2)
+        self.passwordsLabel.setObjectName("passwordsLabel")
+        self.gridLayout_2.addWidget(self.passwordsLabel, 2, 1, 1, 1)
+        self.passwordsMsgLabel = QtWidgets.QLabel(parent=self.groupBox_2)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.passwordsMsgLabel.sizePolicy().hasHeightForWidth())
+        self.passwordsMsgLabel.setSizePolicy(sizePolicy)
+        self.passwordsMsgLabel.setWordWrap(True)
+        self.passwordsMsgLabel.setObjectName("passwordsMsgLabel")
+        self.gridLayout_2.addWidget(self.passwordsMsgLabel, 2, 2, 1, 2)
+        self.label_6 = QtWidgets.QLabel(parent=self.groupBox_2)
+        self.label_6.setObjectName("label_6")
+        self.gridLayout_2.addWidget(self.label_6, 3, 0, 1, 1)
+        self.userAgentsLabel = EricAnimatedLabel(parent=self.groupBox_2)
+        self.userAgentsLabel.setObjectName("userAgentsLabel")
+        self.gridLayout_2.addWidget(self.userAgentsLabel, 3, 1, 1, 1)
+        self.userAgentsMsgLabel = QtWidgets.QLabel(parent=self.groupBox_2)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.userAgentsMsgLabel.sizePolicy().hasHeightForWidth())
+        self.userAgentsMsgLabel.setSizePolicy(sizePolicy)
+        self.userAgentsMsgLabel.setWordWrap(True)
+        self.userAgentsMsgLabel.setObjectName("userAgentsMsgLabel")
+        self.gridLayout_2.addWidget(self.userAgentsMsgLabel, 3, 2, 1, 2)
+        self.label_7 = QtWidgets.QLabel(parent=self.groupBox_2)
+        self.label_7.setObjectName("label_7")
+        self.gridLayout_2.addWidget(self.label_7, 4, 0, 1, 1)
+        self.speedDialLabel = EricAnimatedLabel(parent=self.groupBox_2)
+        self.speedDialLabel.setObjectName("speedDialLabel")
+        self.gridLayout_2.addWidget(self.speedDialLabel, 4, 1, 1, 2)
+        self.speedDialMsgLabel = QtWidgets.QLabel(parent=self.groupBox_2)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.speedDialMsgLabel.sizePolicy().hasHeightForWidth())
+        self.speedDialMsgLabel.setSizePolicy(sizePolicy)
+        self.speedDialMsgLabel.setWordWrap(True)
+        self.speedDialMsgLabel.setObjectName("speedDialMsgLabel")
+        self.gridLayout_2.addWidget(self.speedDialMsgLabel, 4, 3, 1, 1)
+        self.syncErrorLabel = QtWidgets.QLabel(parent=self.groupBox_2)
+        self.syncErrorLabel.setWordWrap(True)
+        self.syncErrorLabel.setObjectName("syncErrorLabel")
+        self.gridLayout_2.addWidget(self.syncErrorLabel, 5, 0, 1, 4)
+        self.verticalLayout.addWidget(self.groupBox_2)
+        spacerItem = QtWidgets.QSpacerItem(20, 81, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout.addItem(spacerItem)
+
+        self.retranslateUi(SyncCheckPage)
+        QtCore.QMetaObject.connectSlotsByName(SyncCheckPage)
+
+    def retranslateUi(self, SyncCheckPage):
+        _translate = QtCore.QCoreApplication.translate
+        SyncCheckPage.setTitle(_translate("SyncCheckPage", "Synchronization status"))
+        SyncCheckPage.setSubTitle(_translate("SyncCheckPage", "This page shows the status of the current synchronization process."))
+        self.groupBox.setTitle(_translate("SyncCheckPage", "Synchronization Data"))
+        self.label.setText(_translate("SyncCheckPage", "Sync Handler:"))
+        self.groupBox_2.setTitle(_translate("SyncCheckPage", "Synchronization Status"))
+        self.label_3.setText(_translate("SyncCheckPage", "Bookmarks:"))
+        self.label_4.setText(_translate("SyncCheckPage", "History:"))
+        self.label_5.setText(_translate("SyncCheckPage", "Passwords:"))
+        self.label_6.setText(_translate("SyncCheckPage", "User Agent Settings:"))
+        self.label_7.setText(_translate("SyncCheckPage", "Speed Dial Settings:"))
+from eric7.EricWidgets.EricAnimatedLabel import EricAnimatedLabel
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/WebBrowser/Sync/Ui_SyncDataPage.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,65 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/WebBrowser/Sync/SyncDataPage.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_SyncDataPage(object):
+    def setupUi(self, SyncDataPage):
+        SyncDataPage.setObjectName("SyncDataPage")
+        SyncDataPage.resize(650, 400)
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(SyncDataPage)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.activeCheckBox = QtWidgets.QCheckBox(parent=SyncDataPage)
+        self.activeCheckBox.setObjectName("activeCheckBox")
+        self.verticalLayout_2.addWidget(self.activeCheckBox)
+        self.syncDataBox = QtWidgets.QGroupBox(parent=SyncDataPage)
+        self.syncDataBox.setEnabled(False)
+        self.syncDataBox.setObjectName("syncDataBox")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.syncDataBox)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.bookmarksCheckBox = QtWidgets.QCheckBox(parent=self.syncDataBox)
+        self.bookmarksCheckBox.setObjectName("bookmarksCheckBox")
+        self.verticalLayout.addWidget(self.bookmarksCheckBox)
+        self.historyCheckBox = QtWidgets.QCheckBox(parent=self.syncDataBox)
+        self.historyCheckBox.setObjectName("historyCheckBox")
+        self.verticalLayout.addWidget(self.historyCheckBox)
+        self.passwordsCheckBox = QtWidgets.QCheckBox(parent=self.syncDataBox)
+        self.passwordsCheckBox.setObjectName("passwordsCheckBox")
+        self.verticalLayout.addWidget(self.passwordsCheckBox)
+        self.userAgentsCheckBox = QtWidgets.QCheckBox(parent=self.syncDataBox)
+        self.userAgentsCheckBox.setObjectName("userAgentsCheckBox")
+        self.verticalLayout.addWidget(self.userAgentsCheckBox)
+        self.speedDialCheckBox = QtWidgets.QCheckBox(parent=self.syncDataBox)
+        self.speedDialCheckBox.setObjectName("speedDialCheckBox")
+        self.verticalLayout.addWidget(self.speedDialCheckBox)
+        self.verticalLayout_2.addWidget(self.syncDataBox)
+        spacerItem = QtWidgets.QSpacerItem(20, 150, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout_2.addItem(spacerItem)
+
+        self.retranslateUi(SyncDataPage)
+        self.activeCheckBox.toggled['bool'].connect(self.syncDataBox.setEnabled) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(SyncDataPage)
+
+    def retranslateUi(self, SyncDataPage):
+        _translate = QtCore.QCoreApplication.translate
+        SyncDataPage.setTitle(_translate("SyncDataPage", "Basic synchronization settings"))
+        SyncDataPage.setSubTitle(_translate("SyncDataPage", "Please select, if synchronization should be enabled and which data should be synchronized."))
+        self.activeCheckBox.setToolTip(_translate("SyncDataPage", "Select to activate data synchronization"))
+        self.activeCheckBox.setText(_translate("SyncDataPage", "Activate synchronization"))
+        self.syncDataBox.setTitle(_translate("SyncDataPage", "Data to be synchronized"))
+        self.bookmarksCheckBox.setToolTip(_translate("SyncDataPage", "Select to synchronize bookmarks"))
+        self.bookmarksCheckBox.setText(_translate("SyncDataPage", "Bookmarks"))
+        self.historyCheckBox.setToolTip(_translate("SyncDataPage", "Select to synchronize history"))
+        self.historyCheckBox.setText(_translate("SyncDataPage", "History"))
+        self.passwordsCheckBox.setToolTip(_translate("SyncDataPage", "Select to synchronize passwords"))
+        self.passwordsCheckBox.setText(_translate("SyncDataPage", "Passwords"))
+        self.userAgentsCheckBox.setToolTip(_translate("SyncDataPage", "Select to synchronize user agent settings"))
+        self.userAgentsCheckBox.setText(_translate("SyncDataPage", "User Agent Settings"))
+        self.speedDialCheckBox.setToolTip(_translate("SyncDataPage", "Select to synchronize the speed dial data"))
+        self.speedDialCheckBox.setText(_translate("SyncDataPage", "Speed Dial Settings"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/WebBrowser/Sync/Ui_SyncDirectorySettingsPage.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,49 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/WebBrowser/Sync/SyncDirectorySettingsPage.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_SyncDirectorySettingsPage(object):
+    def setupUi(self, SyncDirectorySettingsPage):
+        SyncDirectorySettingsPage.setObjectName("SyncDirectorySettingsPage")
+        SyncDirectorySettingsPage.resize(650, 400)
+        SyncDirectorySettingsPage.setWindowTitle("")
+        self.verticalLayout = QtWidgets.QVBoxLayout(SyncDirectorySettingsPage)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.groupBox = QtWidgets.QGroupBox(parent=SyncDirectorySettingsPage)
+        self.groupBox.setObjectName("groupBox")
+        self.horizontalLayout = QtWidgets.QHBoxLayout(self.groupBox)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.label = QtWidgets.QLabel(parent=self.groupBox)
+        self.label.setObjectName("label")
+        self.horizontalLayout.addWidget(self.label)
+        self.directoryPicker = EricPathPicker(parent=self.groupBox)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.directoryPicker.sizePolicy().hasHeightForWidth())
+        self.directoryPicker.setSizePolicy(sizePolicy)
+        self.directoryPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.directoryPicker.setObjectName("directoryPicker")
+        self.horizontalLayout.addWidget(self.directoryPicker)
+        self.verticalLayout.addWidget(self.groupBox)
+        spacerItem = QtWidgets.QSpacerItem(20, 317, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout.addItem(spacerItem)
+
+        self.retranslateUi(SyncDirectorySettingsPage)
+        QtCore.QMetaObject.connectSlotsByName(SyncDirectorySettingsPage)
+
+    def retranslateUi(self, SyncDirectorySettingsPage):
+        _translate = QtCore.QCoreApplication.translate
+        SyncDirectorySettingsPage.setTitle(_translate("SyncDirectorySettingsPage", "Synchronize to a shared directory"))
+        SyncDirectorySettingsPage.setSubTitle(_translate("SyncDirectorySettingsPage", "Please enter the data for synchronization via a shared directory. All fields must be filled."))
+        self.groupBox.setTitle(_translate("SyncDirectorySettingsPage", "Shared Directory Settings"))
+        self.label.setText(_translate("SyncDirectorySettingsPage", "Directory Name:"))
+        self.directoryPicker.setToolTip(_translate("SyncDirectorySettingsPage", "Enter the full path of the shared directory"))
+from eric7.EricWidgets.EricPathPicker import EricPathPicker
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/WebBrowser/Sync/Ui_SyncEncryptionPage.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,96 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/WebBrowser/Sync/SyncEncryptionPage.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_SyncEncryptionPage(object):
+    def setupUi(self, SyncEncryptionPage):
+        SyncEncryptionPage.setObjectName("SyncEncryptionPage")
+        SyncEncryptionPage.resize(650, 400)
+        self.verticalLayout = QtWidgets.QVBoxLayout(SyncEncryptionPage)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.encryptionGroupBox = QtWidgets.QGroupBox(parent=SyncEncryptionPage)
+        self.encryptionGroupBox.setCheckable(True)
+        self.encryptionGroupBox.setObjectName("encryptionGroupBox")
+        self.gridLayout = QtWidgets.QGridLayout(self.encryptionGroupBox)
+        self.gridLayout.setObjectName("gridLayout")
+        self.label_3 = QtWidgets.QLabel(parent=self.encryptionGroupBox)
+        self.label_3.setWordWrap(True)
+        self.label_3.setObjectName("label_3")
+        self.gridLayout.addWidget(self.label_3, 0, 0, 1, 2)
+        self.reencryptCheckBox = QtWidgets.QCheckBox(parent=self.encryptionGroupBox)
+        self.reencryptCheckBox.setObjectName("reencryptCheckBox")
+        self.gridLayout.addWidget(self.reencryptCheckBox, 1, 0, 1, 2)
+        self.label = QtWidgets.QLabel(parent=self.encryptionGroupBox)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 2, 0, 1, 1)
+        self.encryptionKeyEdit = QtWidgets.QLineEdit(parent=self.encryptionGroupBox)
+        self.encryptionKeyEdit.setEchoMode(QtWidgets.QLineEdit.EchoMode.Password)
+        self.encryptionKeyEdit.setObjectName("encryptionKeyEdit")
+        self.gridLayout.addWidget(self.encryptionKeyEdit, 2, 1, 1, 1)
+        self.label_2 = QtWidgets.QLabel(parent=self.encryptionGroupBox)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 3, 0, 1, 1)
+        self.encryptionKeyAgainEdit = QtWidgets.QLineEdit(parent=self.encryptionGroupBox)
+        self.encryptionKeyAgainEdit.setEchoMode(QtWidgets.QLineEdit.EchoMode.Password)
+        self.encryptionKeyAgainEdit.setObjectName("encryptionKeyAgainEdit")
+        self.gridLayout.addWidget(self.encryptionKeyAgainEdit, 3, 1, 1, 1)
+        self.passwordMeter = EricPasswordMeter(parent=self.encryptionGroupBox)
+        self.passwordMeter.setObjectName("passwordMeter")
+        self.gridLayout.addWidget(self.passwordMeter, 4, 0, 1, 2)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.label_4 = QtWidgets.QLabel(parent=self.encryptionGroupBox)
+        self.label_4.setObjectName("label_4")
+        self.horizontalLayout.addWidget(self.label_4)
+        self.keySizeComboBox = QtWidgets.QComboBox(parent=self.encryptionGroupBox)
+        self.keySizeComboBox.setObjectName("keySizeComboBox")
+        self.horizontalLayout.addWidget(self.keySizeComboBox)
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem)
+        self.gridLayout.addLayout(self.horizontalLayout, 5, 0, 1, 2)
+        self.errorLabel = QtWidgets.QLabel(parent=self.encryptionGroupBox)
+        self.errorLabel.setStyleSheet("color : red;")
+        self.errorLabel.setWordWrap(True)
+        self.errorLabel.setObjectName("errorLabel")
+        self.gridLayout.addWidget(self.errorLabel, 6, 0, 1, 2)
+        self.loginsOnlyCheckBox = QtWidgets.QCheckBox(parent=self.encryptionGroupBox)
+        self.loginsOnlyCheckBox.setObjectName("loginsOnlyCheckBox")
+        self.gridLayout.addWidget(self.loginsOnlyCheckBox, 7, 0, 1, 2)
+        self.verticalLayout.addWidget(self.encryptionGroupBox)
+        spacerItem1 = QtWidgets.QSpacerItem(20, 191, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout.addItem(spacerItem1)
+
+        self.retranslateUi(SyncEncryptionPage)
+        QtCore.QMetaObject.connectSlotsByName(SyncEncryptionPage)
+        SyncEncryptionPage.setTabOrder(self.encryptionGroupBox, self.reencryptCheckBox)
+        SyncEncryptionPage.setTabOrder(self.reencryptCheckBox, self.encryptionKeyEdit)
+        SyncEncryptionPage.setTabOrder(self.encryptionKeyEdit, self.encryptionKeyAgainEdit)
+        SyncEncryptionPage.setTabOrder(self.encryptionKeyAgainEdit, self.keySizeComboBox)
+        SyncEncryptionPage.setTabOrder(self.keySizeComboBox, self.loginsOnlyCheckBox)
+
+    def retranslateUi(self, SyncEncryptionPage):
+        _translate = QtCore.QCoreApplication.translate
+        SyncEncryptionPage.setTitle(_translate("SyncEncryptionPage", "Encryption Settings"))
+        SyncEncryptionPage.setSubTitle(_translate("SyncEncryptionPage", "Please select, if the synchronized data should be encrypted and enter the encryption key"))
+        self.encryptionGroupBox.setToolTip(_translate("SyncEncryptionPage", "Select to encrypt the synchronzed data"))
+        self.encryptionGroupBox.setTitle(_translate("SyncEncryptionPage", "Encrypt Data"))
+        self.label_3.setText(_translate("SyncEncryptionPage", "<p>The encryption key will be used to encrypt and decrypt the synchronizde data. If the data should be re-encrypted, the respective selection should be done. The key must only be repeated, if a re-encryption is requested.<br/><br/><b>Note: If you forget the encryption key, the encrypted data cannot be recovered!</b><br/></p>"))
+        self.reencryptCheckBox.setToolTip(_translate("SyncEncryptionPage", "Select to re-encrypt the synchronized data"))
+        self.reencryptCheckBox.setText(_translate("SyncEncryptionPage", "Re-encrypt synchronized data"))
+        self.label.setText(_translate("SyncEncryptionPage", "Encryption Key:"))
+        self.encryptionKeyEdit.setToolTip(_translate("SyncEncryptionPage", "Enter the encryption key"))
+        self.label_2.setText(_translate("SyncEncryptionPage", "Encryption Key (again):"))
+        self.encryptionKeyAgainEdit.setToolTip(_translate("SyncEncryptionPage", "Repeat the encryption key"))
+        self.passwordMeter.setToolTip(_translate("SyncEncryptionPage", "Shows an indication for the encryption key strength"))
+        self.label_4.setText(_translate("SyncEncryptionPage", "Size of generated encryption key:"))
+        self.keySizeComboBox.setToolTip(_translate("SyncEncryptionPage", "Select the size of the generated encryption key"))
+        self.loginsOnlyCheckBox.setToolTip(_translate("SyncEncryptionPage", "Select to encrypt only the passwords"))
+        self.loginsOnlyCheckBox.setText(_translate("SyncEncryptionPage", "Encrypt Passwords Only"))
+from eric7.EricWidgets.EricPasswordMeter import EricPasswordMeter
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/WebBrowser/Sync/Ui_SyncFtpSettingsPage.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,94 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/WebBrowser/Sync/SyncFtpSettingsPage.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_SyncFtpSettingsPage(object):
+    def setupUi(self, SyncFtpSettingsPage):
+        SyncFtpSettingsPage.setObjectName("SyncFtpSettingsPage")
+        SyncFtpSettingsPage.resize(650, 400)
+        self.verticalLayout = QtWidgets.QVBoxLayout(SyncFtpSettingsPage)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.groupBox = QtWidgets.QGroupBox(parent=SyncFtpSettingsPage)
+        self.groupBox.setObjectName("groupBox")
+        self.gridLayout = QtWidgets.QGridLayout(self.groupBox)
+        self.gridLayout.setObjectName("gridLayout")
+        self.label = QtWidgets.QLabel(parent=self.groupBox)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
+        self.serverEdit = QtWidgets.QLineEdit(parent=self.groupBox)
+        self.serverEdit.setObjectName("serverEdit")
+        self.gridLayout.addWidget(self.serverEdit, 0, 1, 1, 2)
+        self.label_2 = QtWidgets.QLabel(parent=self.groupBox)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 1, 0, 1, 1)
+        self.userNameEdit = QtWidgets.QLineEdit(parent=self.groupBox)
+        self.userNameEdit.setObjectName("userNameEdit")
+        self.gridLayout.addWidget(self.userNameEdit, 1, 1, 1, 2)
+        self.label_3 = QtWidgets.QLabel(parent=self.groupBox)
+        self.label_3.setObjectName("label_3")
+        self.gridLayout.addWidget(self.label_3, 2, 0, 1, 1)
+        self.passwordEdit = QtWidgets.QLineEdit(parent=self.groupBox)
+        self.passwordEdit.setEchoMode(QtWidgets.QLineEdit.EchoMode.Password)
+        self.passwordEdit.setObjectName("passwordEdit")
+        self.gridLayout.addWidget(self.passwordEdit, 2, 1, 1, 2)
+        self.label_4 = QtWidgets.QLabel(parent=self.groupBox)
+        self.label_4.setObjectName("label_4")
+        self.gridLayout.addWidget(self.label_4, 3, 0, 1, 1)
+        self.pathEdit = QtWidgets.QLineEdit(parent=self.groupBox)
+        self.pathEdit.setObjectName("pathEdit")
+        self.gridLayout.addWidget(self.pathEdit, 3, 1, 1, 2)
+        self.label_5 = QtWidgets.QLabel(parent=self.groupBox)
+        self.label_5.setObjectName("label_5")
+        self.gridLayout.addWidget(self.label_5, 4, 0, 1, 1)
+        self.portSpinBox = QtWidgets.QSpinBox(parent=self.groupBox)
+        self.portSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.portSpinBox.setMinimum(1)
+        self.portSpinBox.setMaximum(65635)
+        self.portSpinBox.setProperty("value", 21)
+        self.portSpinBox.setObjectName("portSpinBox")
+        self.gridLayout.addWidget(self.portSpinBox, 4, 1, 1, 1)
+        spacerItem = QtWidgets.QSpacerItem(218, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout.addItem(spacerItem, 4, 2, 1, 1)
+        self.label_6 = QtWidgets.QLabel(parent=self.groupBox)
+        self.label_6.setObjectName("label_6")
+        self.gridLayout.addWidget(self.label_6, 5, 0, 1, 1)
+        self.idleSpinBox = QtWidgets.QSpinBox(parent=self.groupBox)
+        self.idleSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.idleSpinBox.setMinimum(10)
+        self.idleSpinBox.setMaximum(3600)
+        self.idleSpinBox.setObjectName("idleSpinBox")
+        self.gridLayout.addWidget(self.idleSpinBox, 5, 1, 1, 1)
+        spacerItem1 = QtWidgets.QSpacerItem(419, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.gridLayout.addItem(spacerItem1, 5, 2, 1, 1)
+        self.verticalLayout.addWidget(self.groupBox)
+        spacerItem2 = QtWidgets.QSpacerItem(20, 101, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout.addItem(spacerItem2)
+
+        self.retranslateUi(SyncFtpSettingsPage)
+        QtCore.QMetaObject.connectSlotsByName(SyncFtpSettingsPage)
+
+    def retranslateUi(self, SyncFtpSettingsPage):
+        _translate = QtCore.QCoreApplication.translate
+        SyncFtpSettingsPage.setTitle(_translate("SyncFtpSettingsPage", "Synchronize to an FTP host"))
+        SyncFtpSettingsPage.setSubTitle(_translate("SyncFtpSettingsPage", "Please enter the data for synchronization via FTP. All fields must be filled."))
+        self.groupBox.setTitle(_translate("SyncFtpSettingsPage", "Remote FTP Host Settings"))
+        self.label.setText(_translate("SyncFtpSettingsPage", "Server:"))
+        self.serverEdit.setToolTip(_translate("SyncFtpSettingsPage", "Enter the FTP server name"))
+        self.label_2.setText(_translate("SyncFtpSettingsPage", "User Name:"))
+        self.userNameEdit.setToolTip(_translate("SyncFtpSettingsPage", "Enter the user name"))
+        self.label_3.setText(_translate("SyncFtpSettingsPage", "Password:"))
+        self.passwordEdit.setToolTip(_translate("SyncFtpSettingsPage", "Enter the password"))
+        self.label_4.setText(_translate("SyncFtpSettingsPage", "Path:"))
+        self.pathEdit.setToolTip(_translate("SyncFtpSettingsPage", "Enter the remote path"))
+        self.label_5.setText(_translate("SyncFtpSettingsPage", "Port:"))
+        self.portSpinBox.setToolTip(_translate("SyncFtpSettingsPage", "Enter the remote port"))
+        self.label_6.setText(_translate("SyncFtpSettingsPage", "Idle Timeout:"))
+        self.idleSpinBox.setToolTip(_translate("SyncFtpSettingsPage", "Enter the idle timeout interval to prevent a server disconnect"))
+        self.idleSpinBox.setSuffix(_translate("SyncFtpSettingsPage", " s"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/WebBrowser/Sync/Ui_SyncHostTypePage.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,50 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/WebBrowser/Sync/SyncHostTypePage.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_SyncHostTypePage(object):
+    def setupUi(self, SyncHostTypePage):
+        SyncHostTypePage.setObjectName("SyncHostTypePage")
+        SyncHostTypePage.resize(650, 400)
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(SyncHostTypePage)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.groupBox = QtWidgets.QGroupBox(parent=SyncHostTypePage)
+        self.groupBox.setObjectName("groupBox")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.groupBox)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.ftpRadioButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.ftpRadioButton.setObjectName("ftpRadioButton")
+        self.verticalLayout.addWidget(self.ftpRadioButton)
+        self.directoryRadioButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.directoryRadioButton.setObjectName("directoryRadioButton")
+        self.verticalLayout.addWidget(self.directoryRadioButton)
+        self.noneRadioButton = QtWidgets.QRadioButton(parent=self.groupBox)
+        self.noneRadioButton.setObjectName("noneRadioButton")
+        self.verticalLayout.addWidget(self.noneRadioButton)
+        self.verticalLayout_2.addWidget(self.groupBox)
+        spacerItem = QtWidgets.QSpacerItem(20, 191, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout_2.addItem(spacerItem)
+
+        self.retranslateUi(SyncHostTypePage)
+        QtCore.QMetaObject.connectSlotsByName(SyncHostTypePage)
+        SyncHostTypePage.setTabOrder(self.ftpRadioButton, self.directoryRadioButton)
+        SyncHostTypePage.setTabOrder(self.directoryRadioButton, self.noneRadioButton)
+
+    def retranslateUi(self, SyncHostTypePage):
+        _translate = QtCore.QCoreApplication.translate
+        SyncHostTypePage.setTitle(_translate("SyncHostTypePage", "Host Type Selection"))
+        SyncHostTypePage.setSubTitle(_translate("SyncHostTypePage", "Please select the type of the host to be used for synchronization."))
+        self.groupBox.setTitle(_translate("SyncHostTypePage", "Synchronization Host Type"))
+        self.ftpRadioButton.setToolTip(_translate("SyncHostTypePage", "Select to use a FTP host"))
+        self.ftpRadioButton.setText(_translate("SyncHostTypePage", "FTP"))
+        self.directoryRadioButton.setToolTip(_translate("SyncHostTypePage", "Select to use a shared directory"))
+        self.directoryRadioButton.setText(_translate("SyncHostTypePage", "Shared Directory"))
+        self.noneRadioButton.setToolTip(_translate("SyncHostTypePage", "Select to use no particular host type"))
+        self.noneRadioButton.setText(_translate("SyncHostTypePage", "None"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/WebBrowser/Tools/Ui_PrintToPdfDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,66 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/WebBrowser/Tools/PrintToPdfDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_PrintToPdfDialog(object):
+    def setupUi(self, PrintToPdfDialog):
+        PrintToPdfDialog.setObjectName("PrintToPdfDialog")
+        PrintToPdfDialog.resize(600, 105)
+        PrintToPdfDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(PrintToPdfDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.gridLayout = QtWidgets.QGridLayout()
+        self.gridLayout.setObjectName("gridLayout")
+        self.label = QtWidgets.QLabel(parent=PrintToPdfDialog)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
+        self.pdfFilePicker = EricPathPicker(parent=PrintToPdfDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.pdfFilePicker.sizePolicy().hasHeightForWidth())
+        self.pdfFilePicker.setSizePolicy(sizePolicy)
+        self.pdfFilePicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
+        self.pdfFilePicker.setObjectName("pdfFilePicker")
+        self.gridLayout.addWidget(self.pdfFilePicker, 0, 1, 1, 1)
+        self.label_2 = QtWidgets.QLabel(parent=PrintToPdfDialog)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 1, 0, 1, 1)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.pageLayoutLabel = QtWidgets.QLabel(parent=PrintToPdfDialog)
+        self.pageLayoutLabel.setText("")
+        self.pageLayoutLabel.setObjectName("pageLayoutLabel")
+        self.horizontalLayout.addWidget(self.pageLayoutLabel)
+        self.pageLayoutButton = QtWidgets.QToolButton(parent=PrintToPdfDialog)
+        self.pageLayoutButton.setObjectName("pageLayoutButton")
+        self.horizontalLayout.addWidget(self.pageLayoutButton)
+        self.gridLayout.addLayout(self.horizontalLayout, 1, 1, 1, 1)
+        self.verticalLayout.addLayout(self.gridLayout)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=PrintToPdfDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(PrintToPdfDialog)
+        self.buttonBox.accepted.connect(PrintToPdfDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(PrintToPdfDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(PrintToPdfDialog)
+
+    def retranslateUi(self, PrintToPdfDialog):
+        _translate = QtCore.QCoreApplication.translate
+        PrintToPdfDialog.setWindowTitle(_translate("PrintToPdfDialog", "Print to PDF"))
+        self.label.setText(_translate("PrintToPdfDialog", "Save as:"))
+        self.pdfFilePicker.setToolTip(_translate("PrintToPdfDialog", "Enter the file name of the PDF document"))
+        self.label_2.setText(_translate("PrintToPdfDialog", "Page Layout:"))
+        self.pageLayoutButton.setToolTip(_translate("PrintToPdfDialog", "Select the page layout via a dialog"))
+        self.pageLayoutButton.setText(_translate("PrintToPdfDialog", "..."))
+from eric7.EricWidgets.EricPathPicker import EricPathPicker
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/WebBrowser/Tools/Ui_WebIconDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,55 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/WebBrowser/Tools/WebIconDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_WebIconDialog(object):
+    def setupUi(self, WebIconDialog):
+        WebIconDialog.setObjectName("WebIconDialog")
+        WebIconDialog.resize(550, 600)
+        WebIconDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(WebIconDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.gridLayout = QtWidgets.QGridLayout()
+        self.gridLayout.setObjectName("gridLayout")
+        self.iconsList = QtWidgets.QListWidget(parent=WebIconDialog)
+        self.iconsList.setContextMenuPolicy(QtCore.Qt.ContextMenuPolicy.CustomContextMenu)
+        self.iconsList.setAlternatingRowColors(True)
+        self.iconsList.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.ExtendedSelection)
+        self.iconsList.setIconSize(QtCore.QSize(22, 22))
+        self.iconsList.setObjectName("iconsList")
+        self.gridLayout.addWidget(self.iconsList, 0, 0, 3, 1)
+        self.removeButton = QtWidgets.QPushButton(parent=WebIconDialog)
+        self.removeButton.setObjectName("removeButton")
+        self.gridLayout.addWidget(self.removeButton, 0, 1, 1, 1)
+        self.removeAllButton = QtWidgets.QPushButton(parent=WebIconDialog)
+        self.removeAllButton.setObjectName("removeAllButton")
+        self.gridLayout.addWidget(self.removeAllButton, 1, 1, 1, 1)
+        spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.gridLayout.addItem(spacerItem, 2, 1, 1, 1)
+        self.verticalLayout.addLayout(self.gridLayout)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=WebIconDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(WebIconDialog)
+        self.buttonBox.accepted.connect(WebIconDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(WebIconDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(WebIconDialog)
+
+    def retranslateUi(self, WebIconDialog):
+        _translate = QtCore.QCoreApplication.translate
+        WebIconDialog.setWindowTitle(_translate("WebIconDialog", "Favicons"))
+        self.iconsList.setSortingEnabled(True)
+        self.removeButton.setToolTip(_translate("WebIconDialog", "Press to remove the selected entries"))
+        self.removeButton.setText(_translate("WebIconDialog", "&Remove"))
+        self.removeAllButton.setToolTip(_translate("WebIconDialog", "Press to remove all entries"))
+        self.removeAllButton.setText(_translate("WebIconDialog", "Remove &All"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/WebBrowser/Ui_PageScreenDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,49 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/WebBrowser/PageScreenDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_PageScreenDialog(object):
+    def setupUi(self, PageScreenDialog):
+        PageScreenDialog.setObjectName("PageScreenDialog")
+        PageScreenDialog.resize(500, 450)
+        PageScreenDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(PageScreenDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.scrollArea = QtWidgets.QScrollArea(parent=PageScreenDialog)
+        self.scrollArea.setFrameShape(QtWidgets.QFrame.Shape.NoFrame)
+        self.scrollArea.setFrameShadow(QtWidgets.QFrame.Shadow.Plain)
+        self.scrollArea.setLineWidth(0)
+        self.scrollArea.setWidgetResizable(True)
+        self.scrollArea.setObjectName("scrollArea")
+        self.scrollAreaWidgetContents = QtWidgets.QWidget()
+        self.scrollAreaWidgetContents.setGeometry(QtCore.QRect(0, 0, 482, 403))
+        self.scrollAreaWidgetContents.setObjectName("scrollAreaWidgetContents")
+        self.horizontalLayout = QtWidgets.QHBoxLayout(self.scrollAreaWidgetContents)
+        self.horizontalLayout.setContentsMargins(0, 0, 0, 0)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.pageScreenLabel = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents)
+        self.pageScreenLabel.setAlignment(QtCore.Qt.AlignmentFlag.AlignLeading|QtCore.Qt.AlignmentFlag.AlignLeft|QtCore.Qt.AlignmentFlag.AlignTop)
+        self.pageScreenLabel.setObjectName("pageScreenLabel")
+        self.horizontalLayout.addWidget(self.pageScreenLabel)
+        self.scrollArea.setWidget(self.scrollAreaWidgetContents)
+        self.verticalLayout.addWidget(self.scrollArea)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=PageScreenDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Save)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(PageScreenDialog)
+        QtCore.QMetaObject.connectSlotsByName(PageScreenDialog)
+        PageScreenDialog.setTabOrder(self.scrollArea, self.buttonBox)
+
+    def retranslateUi(self, PageScreenDialog):
+        _translate = QtCore.QCoreApplication.translate
+        PageScreenDialog.setWindowTitle(_translate("PageScreenDialog", "Page Screen"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/WebBrowser/Ui_SearchWidget.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,76 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/WebBrowser/SearchWidget.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_SearchWidget(object):
+    def setupUi(self, SearchWidget):
+        SearchWidget.setObjectName("SearchWidget")
+        SearchWidget.resize(747, 26)
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout(SearchWidget)
+        self.horizontalLayout_2.setContentsMargins(0, 0, 0, 0)
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.closeButton = QtWidgets.QToolButton(parent=SearchWidget)
+        self.closeButton.setText("")
+        self.closeButton.setObjectName("closeButton")
+        self.horizontalLayout_2.addWidget(self.closeButton)
+        self.label = QtWidgets.QLabel(parent=SearchWidget)
+        self.label.setObjectName("label")
+        self.horizontalLayout_2.addWidget(self.label)
+        self.findtextCombo = QtWidgets.QComboBox(parent=SearchWidget)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.findtextCombo.sizePolicy().hasHeightForWidth())
+        self.findtextCombo.setSizePolicy(sizePolicy)
+        self.findtextCombo.setEditable(True)
+        self.findtextCombo.setInsertPolicy(QtWidgets.QComboBox.InsertPolicy.InsertAtTop)
+        self.findtextCombo.setDuplicatesEnabled(False)
+        self.findtextCombo.setObjectName("findtextCombo")
+        self.horizontalLayout_2.addWidget(self.findtextCombo)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setSpacing(0)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.findPrevButton = QtWidgets.QToolButton(parent=SearchWidget)
+        self.findPrevButton.setObjectName("findPrevButton")
+        self.horizontalLayout.addWidget(self.findPrevButton)
+        self.findNextButton = QtWidgets.QToolButton(parent=SearchWidget)
+        self.findNextButton.setObjectName("findNextButton")
+        self.horizontalLayout.addWidget(self.findNextButton)
+        self.horizontalLayout_2.addLayout(self.horizontalLayout)
+        self.caseCheckBox = QtWidgets.QCheckBox(parent=SearchWidget)
+        self.caseCheckBox.setObjectName("caseCheckBox")
+        self.horizontalLayout_2.addWidget(self.caseCheckBox)
+        self.infoLine = QtWidgets.QFrame(parent=SearchWidget)
+        self.infoLine.setFrameShape(QtWidgets.QFrame.Shape.VLine)
+        self.infoLine.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.infoLine.setObjectName("infoLine")
+        self.horizontalLayout_2.addWidget(self.infoLine)
+        self.infoLabel = QtWidgets.QLabel(parent=SearchWidget)
+        self.infoLabel.setMinimumSize(QtCore.QSize(200, 0))
+        self.infoLabel.setText("")
+        self.infoLabel.setObjectName("infoLabel")
+        self.horizontalLayout_2.addWidget(self.infoLabel)
+
+        self.retranslateUi(SearchWidget)
+        QtCore.QMetaObject.connectSlotsByName(SearchWidget)
+        SearchWidget.setTabOrder(self.findtextCombo, self.caseCheckBox)
+        SearchWidget.setTabOrder(self.caseCheckBox, self.findNextButton)
+        SearchWidget.setTabOrder(self.findNextButton, self.findPrevButton)
+        SearchWidget.setTabOrder(self.findPrevButton, self.closeButton)
+
+    def retranslateUi(self, SearchWidget):
+        _translate = QtCore.QCoreApplication.translate
+        SearchWidget.setWindowTitle(_translate("SearchWidget", "Find"))
+        self.closeButton.setToolTip(_translate("SearchWidget", "Press to close the window"))
+        self.label.setText(_translate("SearchWidget", "Find:"))
+        self.findPrevButton.setToolTip(_translate("SearchWidget", "Press to find the previous occurrence"))
+        self.findNextButton.setToolTip(_translate("SearchWidget", "Press to find the next occurrence"))
+        self.caseCheckBox.setToolTip(_translate("SearchWidget", "Select to match case sensitive"))
+        self.caseCheckBox.setText(_translate("SearchWidget", "Match case"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/WebBrowser/Ui_WebBrowserClearPrivateDataDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,119 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/WebBrowser/WebBrowserClearPrivateDataDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_WebBrowserClearPrivateDataDialog(object):
+    def setupUi(self, WebBrowserClearPrivateDataDialog):
+        WebBrowserClearPrivateDataDialog.setObjectName("WebBrowserClearPrivateDataDialog")
+        WebBrowserClearPrivateDataDialog.resize(305, 337)
+        WebBrowserClearPrivateDataDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(WebBrowserClearPrivateDataDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.historyCheckBox = QtWidgets.QCheckBox(parent=WebBrowserClearPrivateDataDialog)
+        self.historyCheckBox.setChecked(True)
+        self.historyCheckBox.setObjectName("historyCheckBox")
+        self.verticalLayout.addWidget(self.historyCheckBox)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem)
+        self.historyCombo = QtWidgets.QComboBox(parent=WebBrowserClearPrivateDataDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(1)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.historyCombo.sizePolicy().hasHeightForWidth())
+        self.historyCombo.setSizePolicy(sizePolicy)
+        self.historyCombo.setObjectName("historyCombo")
+        self.historyCombo.addItem("")
+        self.historyCombo.addItem("")
+        self.historyCombo.addItem("")
+        self.historyCombo.addItem("")
+        self.historyCombo.addItem("")
+        self.horizontalLayout.addWidget(self.historyCombo)
+        self.verticalLayout.addLayout(self.horizontalLayout)
+        self.searchCheckBox = QtWidgets.QCheckBox(parent=WebBrowserClearPrivateDataDialog)
+        self.searchCheckBox.setChecked(True)
+        self.searchCheckBox.setObjectName("searchCheckBox")
+        self.verticalLayout.addWidget(self.searchCheckBox)
+        self.downloadsCheckBox = QtWidgets.QCheckBox(parent=WebBrowserClearPrivateDataDialog)
+        self.downloadsCheckBox.setChecked(True)
+        self.downloadsCheckBox.setObjectName("downloadsCheckBox")
+        self.verticalLayout.addWidget(self.downloadsCheckBox)
+        self.cookiesCheckBox = QtWidgets.QCheckBox(parent=WebBrowserClearPrivateDataDialog)
+        self.cookiesCheckBox.setChecked(True)
+        self.cookiesCheckBox.setObjectName("cookiesCheckBox")
+        self.verticalLayout.addWidget(self.cookiesCheckBox)
+        self.cacheCheckBox = QtWidgets.QCheckBox(parent=WebBrowserClearPrivateDataDialog)
+        self.cacheCheckBox.setChecked(True)
+        self.cacheCheckBox.setObjectName("cacheCheckBox")
+        self.verticalLayout.addWidget(self.cacheCheckBox)
+        self.iconsCheckBox = QtWidgets.QCheckBox(parent=WebBrowserClearPrivateDataDialog)
+        self.iconsCheckBox.setChecked(True)
+        self.iconsCheckBox.setObjectName("iconsCheckBox")
+        self.verticalLayout.addWidget(self.iconsCheckBox)
+        self.passwordsCheckBox = QtWidgets.QCheckBox(parent=WebBrowserClearPrivateDataDialog)
+        self.passwordsCheckBox.setChecked(False)
+        self.passwordsCheckBox.setObjectName("passwordsCheckBox")
+        self.verticalLayout.addWidget(self.passwordsCheckBox)
+        self.zoomCheckBox = QtWidgets.QCheckBox(parent=WebBrowserClearPrivateDataDialog)
+        self.zoomCheckBox.setChecked(True)
+        self.zoomCheckBox.setObjectName("zoomCheckBox")
+        self.verticalLayout.addWidget(self.zoomCheckBox)
+        self.sslExceptionsCheckBox = QtWidgets.QCheckBox(parent=WebBrowserClearPrivateDataDialog)
+        self.sslExceptionsCheckBox.setChecked(True)
+        self.sslExceptionsCheckBox.setObjectName("sslExceptionsCheckBox")
+        self.verticalLayout.addWidget(self.sslExceptionsCheckBox)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=WebBrowserClearPrivateDataDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(WebBrowserClearPrivateDataDialog)
+        self.buttonBox.accepted.connect(WebBrowserClearPrivateDataDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(WebBrowserClearPrivateDataDialog.reject) # type: ignore
+        self.historyCheckBox.toggled['bool'].connect(self.historyCombo.setEnabled) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(WebBrowserClearPrivateDataDialog)
+        WebBrowserClearPrivateDataDialog.setTabOrder(self.historyCheckBox, self.historyCombo)
+        WebBrowserClearPrivateDataDialog.setTabOrder(self.historyCombo, self.searchCheckBox)
+        WebBrowserClearPrivateDataDialog.setTabOrder(self.searchCheckBox, self.downloadsCheckBox)
+        WebBrowserClearPrivateDataDialog.setTabOrder(self.downloadsCheckBox, self.cookiesCheckBox)
+        WebBrowserClearPrivateDataDialog.setTabOrder(self.cookiesCheckBox, self.cacheCheckBox)
+        WebBrowserClearPrivateDataDialog.setTabOrder(self.cacheCheckBox, self.iconsCheckBox)
+        WebBrowserClearPrivateDataDialog.setTabOrder(self.iconsCheckBox, self.passwordsCheckBox)
+        WebBrowserClearPrivateDataDialog.setTabOrder(self.passwordsCheckBox, self.zoomCheckBox)
+        WebBrowserClearPrivateDataDialog.setTabOrder(self.zoomCheckBox, self.sslExceptionsCheckBox)
+
+    def retranslateUi(self, WebBrowserClearPrivateDataDialog):
+        _translate = QtCore.QCoreApplication.translate
+        WebBrowserClearPrivateDataDialog.setWindowTitle(_translate("WebBrowserClearPrivateDataDialog", "Clear Private Data"))
+        self.historyCheckBox.setToolTip(_translate("WebBrowserClearPrivateDataDialog", "Select to clear the browsing history"))
+        self.historyCheckBox.setText(_translate("WebBrowserClearPrivateDataDialog", "&Browsing History"))
+        self.historyCombo.setToolTip(_translate("WebBrowserClearPrivateDataDialog", "Select the history period to be deleted"))
+        self.historyCombo.setItemText(0, _translate("WebBrowserClearPrivateDataDialog", "Last Hour"))
+        self.historyCombo.setItemText(1, _translate("WebBrowserClearPrivateDataDialog", "Last Day"))
+        self.historyCombo.setItemText(2, _translate("WebBrowserClearPrivateDataDialog", "Last Week"))
+        self.historyCombo.setItemText(3, _translate("WebBrowserClearPrivateDataDialog", "Last 4 Weeks"))
+        self.historyCombo.setItemText(4, _translate("WebBrowserClearPrivateDataDialog", "Whole Period"))
+        self.searchCheckBox.setToolTip(_translate("WebBrowserClearPrivateDataDialog", "Select to clear the search history"))
+        self.searchCheckBox.setText(_translate("WebBrowserClearPrivateDataDialog", "&Search History"))
+        self.downloadsCheckBox.setToolTip(_translate("WebBrowserClearPrivateDataDialog", "Select to clear the download history"))
+        self.downloadsCheckBox.setText(_translate("WebBrowserClearPrivateDataDialog", "Download &History"))
+        self.cookiesCheckBox.setToolTip(_translate("WebBrowserClearPrivateDataDialog", "Select to clear the cookies"))
+        self.cookiesCheckBox.setText(_translate("WebBrowserClearPrivateDataDialog", "&Cookies"))
+        self.cacheCheckBox.setToolTip(_translate("WebBrowserClearPrivateDataDialog", "Select to clear the disk cache"))
+        self.cacheCheckBox.setText(_translate("WebBrowserClearPrivateDataDialog", "Cached &Web Pages"))
+        self.iconsCheckBox.setToolTip(_translate("WebBrowserClearPrivateDataDialog", "Select to clear the website icons"))
+        self.iconsCheckBox.setText(_translate("WebBrowserClearPrivateDataDialog", "Website &Icons"))
+        self.passwordsCheckBox.setToolTip(_translate("WebBrowserClearPrivateDataDialog", "Select to clear the saved passwords"))
+        self.passwordsCheckBox.setText(_translate("WebBrowserClearPrivateDataDialog", "Saved &Passwords"))
+        self.zoomCheckBox.setToolTip(_translate("WebBrowserClearPrivateDataDialog", "Select to delete all remembered zoom settings"))
+        self.zoomCheckBox.setText(_translate("WebBrowserClearPrivateDataDialog", "&Zoom Settings"))
+        self.sslExceptionsCheckBox.setText(_translate("WebBrowserClearPrivateDataDialog", "SSL Certificate Error Exceptions"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/WebBrowser/Ui_WebBrowserLanguagesDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,65 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/WebBrowser/WebBrowserLanguagesDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_WebBrowserLanguagesDialog(object):
+    def setupUi(self, WebBrowserLanguagesDialog):
+        WebBrowserLanguagesDialog.setObjectName("WebBrowserLanguagesDialog")
+        WebBrowserLanguagesDialog.resize(400, 300)
+        self.gridLayout = QtWidgets.QGridLayout(WebBrowserLanguagesDialog)
+        self.gridLayout.setObjectName("gridLayout")
+        self.label = QtWidgets.QLabel(parent=WebBrowserLanguagesDialog)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
+        self.languagesList = QtWidgets.QListView(parent=WebBrowserLanguagesDialog)
+        self.languagesList.setObjectName("languagesList")
+        self.gridLayout.addWidget(self.languagesList, 1, 0, 4, 1)
+        self.upButton = QtWidgets.QPushButton(parent=WebBrowserLanguagesDialog)
+        self.upButton.setObjectName("upButton")
+        self.gridLayout.addWidget(self.upButton, 1, 1, 1, 1)
+        self.downButton = QtWidgets.QPushButton(parent=WebBrowserLanguagesDialog)
+        self.downButton.setObjectName("downButton")
+        self.gridLayout.addWidget(self.downButton, 2, 1, 1, 1)
+        self.removeButton = QtWidgets.QPushButton(parent=WebBrowserLanguagesDialog)
+        self.removeButton.setObjectName("removeButton")
+        self.gridLayout.addWidget(self.removeButton, 3, 1, 1, 1)
+        spacerItem = QtWidgets.QSpacerItem(20, 77, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.gridLayout.addItem(spacerItem, 4, 1, 1, 1)
+        self.addCombo = QtWidgets.QComboBox(parent=WebBrowserLanguagesDialog)
+        self.addCombo.setObjectName("addCombo")
+        self.gridLayout.addWidget(self.addCombo, 5, 0, 1, 1)
+        self.addButton = QtWidgets.QPushButton(parent=WebBrowserLanguagesDialog)
+        self.addButton.setObjectName("addButton")
+        self.gridLayout.addWidget(self.addButton, 5, 1, 1, 1)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=WebBrowserLanguagesDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout.addWidget(self.buttonBox, 6, 0, 1, 2)
+
+        self.retranslateUi(WebBrowserLanguagesDialog)
+        self.buttonBox.accepted.connect(WebBrowserLanguagesDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(WebBrowserLanguagesDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(WebBrowserLanguagesDialog)
+        WebBrowserLanguagesDialog.setTabOrder(self.languagesList, self.upButton)
+        WebBrowserLanguagesDialog.setTabOrder(self.upButton, self.downButton)
+        WebBrowserLanguagesDialog.setTabOrder(self.downButton, self.removeButton)
+        WebBrowserLanguagesDialog.setTabOrder(self.removeButton, self.addCombo)
+        WebBrowserLanguagesDialog.setTabOrder(self.addCombo, self.addButton)
+        WebBrowserLanguagesDialog.setTabOrder(self.addButton, self.buttonBox)
+
+    def retranslateUi(self, WebBrowserLanguagesDialog):
+        _translate = QtCore.QCoreApplication.translate
+        WebBrowserLanguagesDialog.setWindowTitle(_translate("WebBrowserLanguagesDialog", "Languages"))
+        self.label.setText(_translate("WebBrowserLanguagesDialog", "Languages in order of preference:"))
+        self.upButton.setText(_translate("WebBrowserLanguagesDialog", "&Up"))
+        self.downButton.setText(_translate("WebBrowserLanguagesDialog", "&Down"))
+        self.removeButton.setText(_translate("WebBrowserLanguagesDialog", "&Remove"))
+        self.addButton.setText(_translate("WebBrowserLanguagesDialog", "&Add"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/WebBrowser/UrlBar/Ui_BookmarkActionSelectionDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,39 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/WebBrowser/UrlBar/BookmarkActionSelectionDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_BookmarkActionSelectionDialog(object):
+    def setupUi(self, BookmarkActionSelectionDialog):
+        BookmarkActionSelectionDialog.setObjectName("BookmarkActionSelectionDialog")
+        BookmarkActionSelectionDialog.resize(291, 153)
+        BookmarkActionSelectionDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(BookmarkActionSelectionDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.icon = QtWidgets.QLabel(parent=BookmarkActionSelectionDialog)
+        self.icon.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
+        self.icon.setObjectName("icon")
+        self.verticalLayout.addWidget(self.icon)
+        self.label_2 = QtWidgets.QLabel(parent=BookmarkActionSelectionDialog)
+        self.label_2.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
+        self.label_2.setObjectName("label_2")
+        self.verticalLayout.addWidget(self.label_2)
+        self.bookmarkPushButton = QtWidgets.QPushButton(parent=BookmarkActionSelectionDialog)
+        self.bookmarkPushButton.setObjectName("bookmarkPushButton")
+        self.verticalLayout.addWidget(self.bookmarkPushButton)
+        self.speeddialPushButton = QtWidgets.QPushButton(parent=BookmarkActionSelectionDialog)
+        self.speeddialPushButton.setObjectName("speeddialPushButton")
+        self.verticalLayout.addWidget(self.speeddialPushButton)
+
+        self.retranslateUi(BookmarkActionSelectionDialog)
+        QtCore.QMetaObject.connectSlotsByName(BookmarkActionSelectionDialog)
+
+    def retranslateUi(self, BookmarkActionSelectionDialog):
+        _translate = QtCore.QCoreApplication.translate
+        self.label_2.setText(_translate("BookmarkActionSelectionDialog", "<b>Add/Edit Bookmark</b>"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/WebBrowser/UrlBar/Ui_BookmarkInfoDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,72 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/WebBrowser/UrlBar/BookmarkInfoDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_BookmarkInfoDialog(object):
+    def setupUi(self, BookmarkInfoDialog):
+        BookmarkInfoDialog.setObjectName("BookmarkInfoDialog")
+        BookmarkInfoDialog.resize(350, 135)
+        BookmarkInfoDialog.setSizeGripEnabled(True)
+        self.gridLayout = QtWidgets.QGridLayout(BookmarkInfoDialog)
+        self.gridLayout.setObjectName("gridLayout")
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setSpacing(10)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.icon = QtWidgets.QLabel(parent=BookmarkInfoDialog)
+        self.icon.setText("")
+        self.icon.setObjectName("icon")
+        self.horizontalLayout.addWidget(self.icon)
+        self.verticalLayout = QtWidgets.QVBoxLayout()
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.title = QtWidgets.QLabel(parent=BookmarkInfoDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.title.sizePolicy().hasHeightForWidth())
+        self.title.setSizePolicy(sizePolicy)
+        self.title.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
+        self.title.setObjectName("title")
+        self.verticalLayout.addWidget(self.title)
+        self.removeButton = QtWidgets.QPushButton(parent=BookmarkInfoDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.removeButton.sizePolicy().hasHeightForWidth())
+        self.removeButton.setSizePolicy(sizePolicy)
+        self.removeButton.setObjectName("removeButton")
+        self.verticalLayout.addWidget(self.removeButton)
+        self.horizontalLayout.addLayout(self.verticalLayout)
+        self.gridLayout.addLayout(self.horizontalLayout, 0, 1, 1, 1)
+        self.label = QtWidgets.QLabel(parent=BookmarkInfoDialog)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 1, 0, 1, 1)
+        self.titleEdit = QtWidgets.QLineEdit(parent=BookmarkInfoDialog)
+        self.titleEdit.setObjectName("titleEdit")
+        self.gridLayout.addWidget(self.titleEdit, 1, 1, 1, 1)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=BookmarkInfoDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayout.addWidget(self.buttonBox, 2, 0, 1, 2)
+
+        self.retranslateUi(BookmarkInfoDialog)
+        self.buttonBox.accepted.connect(BookmarkInfoDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(BookmarkInfoDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(BookmarkInfoDialog)
+        BookmarkInfoDialog.setTabOrder(self.removeButton, self.titleEdit)
+        BookmarkInfoDialog.setTabOrder(self.titleEdit, self.buttonBox)
+
+    def retranslateUi(self, BookmarkInfoDialog):
+        _translate = QtCore.QCoreApplication.translate
+        BookmarkInfoDialog.setWindowTitle(_translate("BookmarkInfoDialog", "Edit Bookmark"))
+        self.title.setText(_translate("BookmarkInfoDialog", "Edit this Bookmark"))
+        self.removeButton.setToolTip(_translate("BookmarkInfoDialog", "Press to remove this bookmark"))
+        self.removeButton.setText(_translate("BookmarkInfoDialog", "Remove this Bookmark"))
+        self.label.setText(_translate("BookmarkInfoDialog", "Title:"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/WebBrowser/UserAgent/Ui_UserAgentsDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,76 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/WebBrowser/UserAgent/UserAgentsDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_UserAgentsDialog(object):
+    def setupUi(self, UserAgentsDialog):
+        UserAgentsDialog.setObjectName("UserAgentsDialog")
+        UserAgentsDialog.resize(700, 400)
+        UserAgentsDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(UserAgentsDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_2.addItem(spacerItem)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setSpacing(0)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.searchEdit = QtWidgets.QLineEdit(parent=UserAgentsDialog)
+        self.searchEdit.setClearButtonEnabled(True)
+        self.searchEdit.setObjectName("searchEdit")
+        self.horizontalLayout.addWidget(self.searchEdit)
+        self.horizontalLayout_2.addLayout(self.horizontalLayout)
+        self.verticalLayout.addLayout(self.horizontalLayout_2)
+        self.userAgentsTable = EricTableView(parent=UserAgentsDialog)
+        self.userAgentsTable.setAlternatingRowColors(True)
+        self.userAgentsTable.setSelectionBehavior(QtWidgets.QAbstractItemView.SelectionBehavior.SelectRows)
+        self.userAgentsTable.setTextElideMode(QtCore.Qt.TextElideMode.ElideMiddle)
+        self.userAgentsTable.setShowGrid(False)
+        self.userAgentsTable.setSortingEnabled(True)
+        self.userAgentsTable.setObjectName("userAgentsTable")
+        self.verticalLayout.addWidget(self.userAgentsTable)
+        self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
+        self.removeButton = QtWidgets.QPushButton(parent=UserAgentsDialog)
+        self.removeButton.setAutoDefault(False)
+        self.removeButton.setObjectName("removeButton")
+        self.horizontalLayout_3.addWidget(self.removeButton)
+        self.removeAllButton = QtWidgets.QPushButton(parent=UserAgentsDialog)
+        self.removeAllButton.setAutoDefault(False)
+        self.removeAllButton.setObjectName("removeAllButton")
+        self.horizontalLayout_3.addWidget(self.removeAllButton)
+        spacerItem1 = QtWidgets.QSpacerItem(208, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_3.addItem(spacerItem1)
+        self.verticalLayout.addLayout(self.horizontalLayout_3)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=UserAgentsDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(UserAgentsDialog)
+        self.buttonBox.accepted.connect(UserAgentsDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(UserAgentsDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(UserAgentsDialog)
+        UserAgentsDialog.setTabOrder(self.searchEdit, self.userAgentsTable)
+        UserAgentsDialog.setTabOrder(self.userAgentsTable, self.removeButton)
+        UserAgentsDialog.setTabOrder(self.removeButton, self.removeAllButton)
+        UserAgentsDialog.setTabOrder(self.removeAllButton, self.buttonBox)
+
+    def retranslateUi(self, UserAgentsDialog):
+        _translate = QtCore.QCoreApplication.translate
+        UserAgentsDialog.setWindowTitle(_translate("UserAgentsDialog", "User Agent Settings"))
+        self.searchEdit.setToolTip(_translate("UserAgentsDialog", "Enter search term"))
+        self.removeButton.setToolTip(_translate("UserAgentsDialog", "Press to remove the selected entries"))
+        self.removeButton.setText(_translate("UserAgentsDialog", "&Remove"))
+        self.removeAllButton.setToolTip(_translate("UserAgentsDialog", "Press to remove all entries"))
+        self.removeAllButton.setText(_translate("UserAgentsDialog", "Remove &All"))
+from eric7.EricWidgets.EricTableView import EricTableView
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/WebBrowser/VirusTotal/Ui_VirusTotalDomainReportDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,264 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/WebBrowser/VirusTotal/VirusTotalDomainReportDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_VirusTotalDomainReportDialog(object):
+    def setupUi(self, VirusTotalDomainReportDialog):
+        VirusTotalDomainReportDialog.setObjectName("VirusTotalDomainReportDialog")
+        VirusTotalDomainReportDialog.resize(900, 700)
+        VirusTotalDomainReportDialog.setSizeGripEnabled(True)
+        self.verticalLayout_4 = QtWidgets.QVBoxLayout(VirusTotalDomainReportDialog)
+        self.verticalLayout_4.setObjectName("verticalLayout_4")
+        self.horizontalLayout_4 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_4.setObjectName("horizontalLayout_4")
+        self.headerPixmap = QtWidgets.QLabel(parent=VirusTotalDomainReportDialog)
+        self.headerPixmap.setObjectName("headerPixmap")
+        self.horizontalLayout_4.addWidget(self.headerPixmap)
+        self.headerLabel = QtWidgets.QLabel(parent=VirusTotalDomainReportDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.headerLabel.sizePolicy().hasHeightForWidth())
+        self.headerLabel.setSizePolicy(sizePolicy)
+        self.headerLabel.setObjectName("headerLabel")
+        self.horizontalLayout_4.addWidget(self.headerLabel)
+        self.verticalLayout_4.addLayout(self.horizontalLayout_4)
+        self.line9_3 = QtWidgets.QFrame(parent=VirusTotalDomainReportDialog)
+        self.line9_3.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line9_3.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line9_3.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line9_3.setObjectName("line9_3")
+        self.verticalLayout_4.addWidget(self.line9_3)
+        self.gridLayout_3 = QtWidgets.QGridLayout()
+        self.gridLayout_3.setObjectName("gridLayout_3")
+        self.groupBox = QtWidgets.QGroupBox(parent=VirusTotalDomainReportDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.groupBox.sizePolicy().hasHeightForWidth())
+        self.groupBox.setSizePolicy(sizePolicy)
+        self.groupBox.setObjectName("groupBox")
+        self.gridLayout = QtWidgets.QGridLayout(self.groupBox)
+        self.gridLayout.setObjectName("gridLayout")
+        self.label = QtWidgets.QLabel(parent=self.groupBox)
+        self.label.setText("BitDefender:")
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
+        self.bdLabel = QtWidgets.QLabel(parent=self.groupBox)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.bdLabel.sizePolicy().hasHeightForWidth())
+        self.bdLabel.setSizePolicy(sizePolicy)
+        self.bdLabel.setText("")
+        self.bdLabel.setWordWrap(True)
+        self.bdLabel.setObjectName("bdLabel")
+        self.gridLayout.addWidget(self.bdLabel, 0, 1, 1, 1)
+        self.label_2 = QtWidgets.QLabel(parent=self.groupBox)
+        self.label_2.setText("Sophos:")
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 1, 0, 1, 1)
+        self.soLabel = QtWidgets.QLabel(parent=self.groupBox)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.soLabel.sizePolicy().hasHeightForWidth())
+        self.soLabel.setSizePolicy(sizePolicy)
+        self.soLabel.setText("")
+        self.soLabel.setWordWrap(True)
+        self.soLabel.setObjectName("soLabel")
+        self.gridLayout.addWidget(self.soLabel, 1, 1, 1, 1)
+        self.label_4 = QtWidgets.QLabel(parent=self.groupBox)
+        self.label_4.setObjectName("label_4")
+        self.gridLayout.addWidget(self.label_4, 2, 0, 1, 1)
+        self.vvLabel = QtWidgets.QLabel(parent=self.groupBox)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.vvLabel.sizePolicy().hasHeightForWidth())
+        self.vvLabel.setSizePolicy(sizePolicy)
+        self.vvLabel.setText("")
+        self.vvLabel.setWordWrap(True)
+        self.vvLabel.setObjectName("vvLabel")
+        self.gridLayout.addWidget(self.vvLabel, 2, 1, 1, 1)
+        self.label_5 = QtWidgets.QLabel(parent=self.groupBox)
+        self.label_5.setObjectName("label_5")
+        self.gridLayout.addWidget(self.label_5, 3, 0, 1, 1)
+        self.amLabel = QtWidgets.QLabel(parent=self.groupBox)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.amLabel.sizePolicy().hasHeightForWidth())
+        self.amLabel.setSizePolicy(sizePolicy)
+        self.amLabel.setText("")
+        self.amLabel.setWordWrap(True)
+        self.amLabel.setObjectName("amLabel")
+        self.gridLayout.addWidget(self.amLabel, 3, 1, 1, 1)
+        self.label_3 = QtWidgets.QLabel(parent=self.groupBox)
+        self.label_3.setText("Forcepoint ThreatSeeker:")
+        self.label_3.setObjectName("label_3")
+        self.gridLayout.addWidget(self.label_3, 4, 0, 1, 1)
+        self.ftsLabel = QtWidgets.QLabel(parent=self.groupBox)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.ftsLabel.sizePolicy().hasHeightForWidth())
+        self.ftsLabel.setSizePolicy(sizePolicy)
+        self.ftsLabel.setText("")
+        self.ftsLabel.setWordWrap(True)
+        self.ftsLabel.setObjectName("ftsLabel")
+        self.gridLayout.addWidget(self.ftsLabel, 4, 1, 1, 1)
+        self.gridLayout_3.addWidget(self.groupBox, 0, 0, 2, 1)
+        self.groupBox_2 = QtWidgets.QGroupBox(parent=VirusTotalDomainReportDialog)
+        self.groupBox_2.setMaximumSize(QtCore.QSize(300, 16777215))
+        self.groupBox_2.setTitle("Webutation")
+        self.groupBox_2.setObjectName("groupBox_2")
+        self.gridLayout_2 = QtWidgets.QGridLayout(self.groupBox_2)
+        self.gridLayout_2.setObjectName("gridLayout_2")
+        self.label_6 = QtWidgets.QLabel(parent=self.groupBox_2)
+        self.label_6.setObjectName("label_6")
+        self.gridLayout_2.addWidget(self.label_6, 0, 0, 1, 1)
+        self.webutationAdultLabel = QtWidgets.QLabel(parent=self.groupBox_2)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.webutationAdultLabel.sizePolicy().hasHeightForWidth())
+        self.webutationAdultLabel.setSizePolicy(sizePolicy)
+        self.webutationAdultLabel.setText("")
+        self.webutationAdultLabel.setObjectName("webutationAdultLabel")
+        self.gridLayout_2.addWidget(self.webutationAdultLabel, 0, 1, 1, 1)
+        self.label_7 = QtWidgets.QLabel(parent=self.groupBox_2)
+        self.label_7.setObjectName("label_7")
+        self.gridLayout_2.addWidget(self.label_7, 1, 0, 1, 1)
+        self.webutationSafetyLabel = QtWidgets.QLabel(parent=self.groupBox_2)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.webutationSafetyLabel.sizePolicy().hasHeightForWidth())
+        self.webutationSafetyLabel.setSizePolicy(sizePolicy)
+        self.webutationSafetyLabel.setText("")
+        self.webutationSafetyLabel.setObjectName("webutationSafetyLabel")
+        self.gridLayout_2.addWidget(self.webutationSafetyLabel, 1, 1, 1, 1)
+        self.label_8 = QtWidgets.QLabel(parent=self.groupBox_2)
+        self.label_8.setObjectName("label_8")
+        self.gridLayout_2.addWidget(self.label_8, 2, 0, 1, 1)
+        self.webutationVerdictLabel = QtWidgets.QLabel(parent=self.groupBox_2)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.webutationVerdictLabel.sizePolicy().hasHeightForWidth())
+        self.webutationVerdictLabel.setSizePolicy(sizePolicy)
+        self.webutationVerdictLabel.setText("")
+        self.webutationVerdictLabel.setObjectName("webutationVerdictLabel")
+        self.gridLayout_2.addWidget(self.webutationVerdictLabel, 2, 1, 1, 1)
+        self.gridLayout_3.addWidget(self.groupBox_2, 0, 1, 1, 1)
+        self.whoisButton = QtWidgets.QPushButton(parent=VirusTotalDomainReportDialog)
+        self.whoisButton.setText("Whois")
+        self.whoisButton.setObjectName("whoisButton")
+        self.gridLayout_3.addWidget(self.whoisButton, 1, 1, 1, 1)
+        self.verticalLayout_4.addLayout(self.gridLayout_3)
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.resolutionsGroup = QtWidgets.QGroupBox(parent=VirusTotalDomainReportDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(4)
+        sizePolicy.setHeightForWidth(self.resolutionsGroup.sizePolicy().hasHeightForWidth())
+        self.resolutionsGroup.setSizePolicy(sizePolicy)
+        self.resolutionsGroup.setObjectName("resolutionsGroup")
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.resolutionsGroup)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.resolutionsList = QtWidgets.QTreeWidget(parent=self.resolutionsGroup)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.resolutionsList.sizePolicy().hasHeightForWidth())
+        self.resolutionsList.setSizePolicy(sizePolicy)
+        self.resolutionsList.setAlternatingRowColors(True)
+        self.resolutionsList.setRootIsDecorated(False)
+        self.resolutionsList.setAllColumnsShowFocus(True)
+        self.resolutionsList.setObjectName("resolutionsList")
+        self.verticalLayout_2.addWidget(self.resolutionsList)
+        self.horizontalLayout_2.addWidget(self.resolutionsGroup)
+        self.subdomainsGroup = QtWidgets.QGroupBox(parent=VirusTotalDomainReportDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(4)
+        sizePolicy.setHeightForWidth(self.subdomainsGroup.sizePolicy().hasHeightForWidth())
+        self.subdomainsGroup.setSizePolicy(sizePolicy)
+        self.subdomainsGroup.setObjectName("subdomainsGroup")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.subdomainsGroup)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.subdomainsList = QtWidgets.QListWidget(parent=self.subdomainsGroup)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.subdomainsList.sizePolicy().hasHeightForWidth())
+        self.subdomainsList.setSizePolicy(sizePolicy)
+        self.subdomainsList.setAlternatingRowColors(True)
+        self.subdomainsList.setObjectName("subdomainsList")
+        self.verticalLayout.addWidget(self.subdomainsList)
+        self.horizontalLayout_2.addWidget(self.subdomainsGroup)
+        self.verticalLayout_4.addLayout(self.horizontalLayout_2)
+        self.detectedUrlsGroup = QtWidgets.QGroupBox(parent=VirusTotalDomainReportDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(2)
+        sizePolicy.setHeightForWidth(self.detectedUrlsGroup.sizePolicy().hasHeightForWidth())
+        self.detectedUrlsGroup.setSizePolicy(sizePolicy)
+        self.detectedUrlsGroup.setObjectName("detectedUrlsGroup")
+        self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.detectedUrlsGroup)
+        self.verticalLayout_3.setObjectName("verticalLayout_3")
+        self.urlsList = QtWidgets.QTreeWidget(parent=self.detectedUrlsGroup)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.urlsList.sizePolicy().hasHeightForWidth())
+        self.urlsList.setSizePolicy(sizePolicy)
+        self.urlsList.setAlternatingRowColors(True)
+        self.urlsList.setRootIsDecorated(False)
+        self.urlsList.setAllColumnsShowFocus(True)
+        self.urlsList.setObjectName("urlsList")
+        self.verticalLayout_3.addWidget(self.urlsList)
+        self.verticalLayout_4.addWidget(self.detectedUrlsGroup)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=VirusTotalDomainReportDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout_4.addWidget(self.buttonBox)
+
+        self.retranslateUi(VirusTotalDomainReportDialog)
+        self.buttonBox.accepted.connect(VirusTotalDomainReportDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(VirusTotalDomainReportDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(VirusTotalDomainReportDialog)
+        VirusTotalDomainReportDialog.setTabOrder(self.whoisButton, self.resolutionsList)
+        VirusTotalDomainReportDialog.setTabOrder(self.resolutionsList, self.subdomainsList)
+        VirusTotalDomainReportDialog.setTabOrder(self.subdomainsList, self.urlsList)
+
+    def retranslateUi(self, VirusTotalDomainReportDialog):
+        _translate = QtCore.QCoreApplication.translate
+        VirusTotalDomainReportDialog.setWindowTitle(_translate("VirusTotalDomainReportDialog", "Domain Report"))
+        self.groupBox.setTitle(_translate("VirusTotalDomainReportDialog", "Categorizations"))
+        self.label_4.setText(_translate("VirusTotalDomainReportDialog", "Valkyrie Verdict:"))
+        self.label_5.setText(_translate("VirusTotalDomainReportDialog", "alphaMountain:"))
+        self.label_6.setText(_translate("VirusTotalDomainReportDialog", "Adult Content:"))
+        self.label_7.setText(_translate("VirusTotalDomainReportDialog", "Safety Score:"))
+        self.label_8.setText(_translate("VirusTotalDomainReportDialog", "Verdict:"))
+        self.resolutionsGroup.setTitle(_translate("VirusTotalDomainReportDialog", "Resolutions"))
+        self.resolutionsList.setSortingEnabled(True)
+        self.resolutionsList.headerItem().setText(0, _translate("VirusTotalDomainReportDialog", "IP-Address"))
+        self.resolutionsList.headerItem().setText(1, _translate("VirusTotalDomainReportDialog", "Resolved Date"))
+        self.subdomainsGroup.setTitle(_translate("VirusTotalDomainReportDialog", "Subdomains"))
+        self.subdomainsList.setSortingEnabled(True)
+        self.detectedUrlsGroup.setTitle(_translate("VirusTotalDomainReportDialog", "Detected URLs"))
+        self.urlsList.setSortingEnabled(True)
+        self.urlsList.headerItem().setText(0, _translate("VirusTotalDomainReportDialog", "URL"))
+        self.urlsList.headerItem().setText(1, _translate("VirusTotalDomainReportDialog", "Scan Result"))
+        self.urlsList.headerItem().setText(2, _translate("VirusTotalDomainReportDialog", "Scan Date"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/WebBrowser/VirusTotal/Ui_VirusTotalIpReportDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,109 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/WebBrowser/VirusTotal/VirusTotalIpReportDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_VirusTotalIpReportDialog(object):
+    def setupUi(self, VirusTotalIpReportDialog):
+        VirusTotalIpReportDialog.setObjectName("VirusTotalIpReportDialog")
+        VirusTotalIpReportDialog.resize(800, 600)
+        VirusTotalIpReportDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(VirusTotalIpReportDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.horizontalLayout_4 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_4.setObjectName("horizontalLayout_4")
+        self.headerPixmap = QtWidgets.QLabel(parent=VirusTotalIpReportDialog)
+        self.headerPixmap.setObjectName("headerPixmap")
+        self.horizontalLayout_4.addWidget(self.headerPixmap)
+        self.headerLabel = QtWidgets.QLabel(parent=VirusTotalIpReportDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.headerLabel.sizePolicy().hasHeightForWidth())
+        self.headerLabel.setSizePolicy(sizePolicy)
+        self.headerLabel.setObjectName("headerLabel")
+        self.horizontalLayout_4.addWidget(self.headerLabel)
+        self.verticalLayout.addLayout(self.horizontalLayout_4)
+        self.line9_3 = QtWidgets.QFrame(parent=VirusTotalIpReportDialog)
+        self.line9_3.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line9_3.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line9_3.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line9_3.setObjectName("line9_3")
+        self.verticalLayout.addWidget(self.line9_3)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.label = QtWidgets.QLabel(parent=VirusTotalIpReportDialog)
+        self.label.setObjectName("label")
+        self.horizontalLayout.addWidget(self.label)
+        self.ownerLabel = QtWidgets.QLabel(parent=VirusTotalIpReportDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.ownerLabel.sizePolicy().hasHeightForWidth())
+        self.ownerLabel.setSizePolicy(sizePolicy)
+        self.ownerLabel.setText("")
+        self.ownerLabel.setObjectName("ownerLabel")
+        self.horizontalLayout.addWidget(self.ownerLabel)
+        self.verticalLayout.addLayout(self.horizontalLayout)
+        self.resolutionsGroup = QtWidgets.QGroupBox(parent=VirusTotalIpReportDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(4)
+        sizePolicy.setHeightForWidth(self.resolutionsGroup.sizePolicy().hasHeightForWidth())
+        self.resolutionsGroup.setSizePolicy(sizePolicy)
+        self.resolutionsGroup.setObjectName("resolutionsGroup")
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.resolutionsGroup)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.resolutionsList = QtWidgets.QTreeWidget(parent=self.resolutionsGroup)
+        self.resolutionsList.setAlternatingRowColors(True)
+        self.resolutionsList.setRootIsDecorated(False)
+        self.resolutionsList.setAllColumnsShowFocus(True)
+        self.resolutionsList.setObjectName("resolutionsList")
+        self.verticalLayout_2.addWidget(self.resolutionsList)
+        self.verticalLayout.addWidget(self.resolutionsGroup)
+        self.detectedUrlsGroup = QtWidgets.QGroupBox(parent=VirusTotalIpReportDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(2)
+        sizePolicy.setHeightForWidth(self.detectedUrlsGroup.sizePolicy().hasHeightForWidth())
+        self.detectedUrlsGroup.setSizePolicy(sizePolicy)
+        self.detectedUrlsGroup.setObjectName("detectedUrlsGroup")
+        self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.detectedUrlsGroup)
+        self.verticalLayout_3.setObjectName("verticalLayout_3")
+        self.urlsList = QtWidgets.QTreeWidget(parent=self.detectedUrlsGroup)
+        self.urlsList.setAlternatingRowColors(True)
+        self.urlsList.setRootIsDecorated(False)
+        self.urlsList.setAllColumnsShowFocus(True)
+        self.urlsList.setObjectName("urlsList")
+        self.verticalLayout_3.addWidget(self.urlsList)
+        self.verticalLayout.addWidget(self.detectedUrlsGroup)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=VirusTotalIpReportDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(VirusTotalIpReportDialog)
+        self.buttonBox.accepted.connect(VirusTotalIpReportDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(VirusTotalIpReportDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(VirusTotalIpReportDialog)
+
+    def retranslateUi(self, VirusTotalIpReportDialog):
+        _translate = QtCore.QCoreApplication.translate
+        VirusTotalIpReportDialog.setWindowTitle(_translate("VirusTotalIpReportDialog", "IP Address Report"))
+        self.label.setText(_translate("VirusTotalIpReportDialog", "Owner:"))
+        self.resolutionsGroup.setTitle(_translate("VirusTotalIpReportDialog", "Resolutions"))
+        self.resolutionsList.setSortingEnabled(True)
+        self.resolutionsList.headerItem().setText(0, _translate("VirusTotalIpReportDialog", "Hostname"))
+        self.resolutionsList.headerItem().setText(1, _translate("VirusTotalIpReportDialog", "Resolved Date"))
+        self.detectedUrlsGroup.setTitle(_translate("VirusTotalIpReportDialog", "Detected URLs"))
+        self.urlsList.setSortingEnabled(True)
+        self.urlsList.headerItem().setText(0, _translate("VirusTotalIpReportDialog", "URL"))
+        self.urlsList.headerItem().setText(1, _translate("VirusTotalIpReportDialog", "Scan Result"))
+        self.urlsList.headerItem().setText(2, _translate("VirusTotalIpReportDialog", "Scan Date"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/WebBrowser/VirusTotal/Ui_VirusTotalWhoisDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,58 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/WebBrowser/VirusTotal/VirusTotalWhoisDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_VirusTotalWhoisDialog(object):
+    def setupUi(self, VirusTotalWhoisDialog):
+        VirusTotalWhoisDialog.setObjectName("VirusTotalWhoisDialog")
+        VirusTotalWhoisDialog.resize(500, 400)
+        VirusTotalWhoisDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(VirusTotalWhoisDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.horizontalLayout_4 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_4.setObjectName("horizontalLayout_4")
+        self.headerPixmap = QtWidgets.QLabel(parent=VirusTotalWhoisDialog)
+        self.headerPixmap.setObjectName("headerPixmap")
+        self.horizontalLayout_4.addWidget(self.headerPixmap)
+        self.headerLabel = QtWidgets.QLabel(parent=VirusTotalWhoisDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.headerLabel.sizePolicy().hasHeightForWidth())
+        self.headerLabel.setSizePolicy(sizePolicy)
+        self.headerLabel.setObjectName("headerLabel")
+        self.horizontalLayout_4.addWidget(self.headerLabel)
+        self.verticalLayout.addLayout(self.horizontalLayout_4)
+        self.line9_3 = QtWidgets.QFrame(parent=VirusTotalWhoisDialog)
+        self.line9_3.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line9_3.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
+        self.line9_3.setFrameShape(QtWidgets.QFrame.Shape.HLine)
+        self.line9_3.setObjectName("line9_3")
+        self.verticalLayout.addWidget(self.line9_3)
+        self.whoisEdit = QtWidgets.QPlainTextEdit(parent=VirusTotalWhoisDialog)
+        self.whoisEdit.setTabChangesFocus(True)
+        self.whoisEdit.setLineWrapMode(QtWidgets.QPlainTextEdit.LineWrapMode.NoWrap)
+        self.whoisEdit.setReadOnly(True)
+        self.whoisEdit.setObjectName("whoisEdit")
+        self.verticalLayout.addWidget(self.whoisEdit)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=VirusTotalWhoisDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(VirusTotalWhoisDialog)
+        self.buttonBox.accepted.connect(VirusTotalWhoisDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(VirusTotalWhoisDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(VirusTotalWhoisDialog)
+
+    def retranslateUi(self, VirusTotalWhoisDialog):
+        _translate = QtCore.QCoreApplication.translate
+        VirusTotalWhoisDialog.setWindowTitle(_translate("VirusTotalWhoisDialog", "Whois Information"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/WebBrowser/ZoomManager/Ui_ZoomValuesDialog.py	Fri Jun 07 10:05:06 2024 +0200
@@ -0,0 +1,82 @@
+# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_default/src/eric7/WebBrowser/ZoomManager/ZoomValuesDialog.ui'
+#
+# Created by: PyQt6 UI code generator 6.7.0
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic6 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt6 import QtCore, QtGui, QtWidgets
+
+
+class Ui_ZoomValuesDialog(object):
+    def setupUi(self, ZoomValuesDialog):
+        ZoomValuesDialog.setObjectName("ZoomValuesDialog")
+        ZoomValuesDialog.resize(500, 350)
+        ZoomValuesDialog.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(ZoomValuesDialog)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_2.addItem(spacerItem)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setSpacing(0)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.searchEdit = QtWidgets.QLineEdit(parent=ZoomValuesDialog)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.searchEdit.sizePolicy().hasHeightForWidth())
+        self.searchEdit.setSizePolicy(sizePolicy)
+        self.searchEdit.setMinimumSize(QtCore.QSize(300, 0))
+        self.searchEdit.setClearButtonEnabled(True)
+        self.searchEdit.setObjectName("searchEdit")
+        self.horizontalLayout.addWidget(self.searchEdit)
+        self.horizontalLayout_2.addLayout(self.horizontalLayout)
+        self.verticalLayout.addLayout(self.horizontalLayout_2)
+        self.zoomValuesTable = EricTableView(parent=ZoomValuesDialog)
+        self.zoomValuesTable.setAlternatingRowColors(True)
+        self.zoomValuesTable.setSelectionBehavior(QtWidgets.QAbstractItemView.SelectionBehavior.SelectRows)
+        self.zoomValuesTable.setTextElideMode(QtCore.Qt.TextElideMode.ElideMiddle)
+        self.zoomValuesTable.setShowGrid(False)
+        self.zoomValuesTable.setSortingEnabled(True)
+        self.zoomValuesTable.setObjectName("zoomValuesTable")
+        self.verticalLayout.addWidget(self.zoomValuesTable)
+        self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
+        self.removeButton = QtWidgets.QPushButton(parent=ZoomValuesDialog)
+        self.removeButton.setAutoDefault(False)
+        self.removeButton.setObjectName("removeButton")
+        self.horizontalLayout_3.addWidget(self.removeButton)
+        self.removeAllButton = QtWidgets.QPushButton(parent=ZoomValuesDialog)
+        self.removeAllButton.setAutoDefault(False)
+        self.removeAllButton.setObjectName("removeAllButton")
+        self.horizontalLayout_3.addWidget(self.removeAllButton)
+        spacerItem1 = QtWidgets.QSpacerItem(208, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout_3.addItem(spacerItem1)
+        self.verticalLayout.addLayout(self.horizontalLayout_3)
+        self.buttonBox = QtWidgets.QDialogButtonBox(parent=ZoomValuesDialog)
+        self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
+        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Close)
+        self.buttonBox.setObjectName("buttonBox")
+        self.verticalLayout.addWidget(self.buttonBox)
+
+        self.retranslateUi(ZoomValuesDialog)
+        self.buttonBox.accepted.connect(ZoomValuesDialog.accept) # type: ignore
+        self.buttonBox.rejected.connect(ZoomValuesDialog.reject) # type: ignore
+        QtCore.QMetaObject.connectSlotsByName(ZoomValuesDialog)
+        ZoomValuesDialog.setTabOrder(self.searchEdit, self.zoomValuesTable)
+        ZoomValuesDialog.setTabOrder(self.zoomValuesTable, self.removeButton)
+        ZoomValuesDialog.setTabOrder(self.removeButton, self.removeAllButton)
+        ZoomValuesDialog.setTabOrder(self.removeAllButton, self.buttonBox)
+
+    def retranslateUi(self, ZoomValuesDialog):
+        _translate = QtCore.QCoreApplication.translate
+        ZoomValuesDialog.setWindowTitle(_translate("ZoomValuesDialog", "Saved Zoom Values"))
+        self.searchEdit.setToolTip(_translate("ZoomValuesDialog", "Enter search term"))
+        self.removeButton.setToolTip(_translate("ZoomValuesDialog", "Press to remove the selected entries"))
+        self.removeButton.setText(_translate("ZoomValuesDialog", "&Remove"))
+        self.removeAllButton.setToolTip(_translate("ZoomValuesDialog", "Press to remove all entries"))
+        self.removeAllButton.setText(_translate("ZoomValuesDialog", "Remove &All"))
+from eric7.EricWidgets.EricTableView import EricTableView

eric ide

mercurial