src/eric7/QtHelpInterface/QtHelpDocumentationConfigurationDialog.py

Mon, 09 Jan 2023 11:22:56 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Mon, 09 Jan 2023 11:22:56 +0100
branch
eric7
changeset 9686
2eee7a645cba
parent 9653
src/eric7/WebBrowser/QtHelp/QtHelpDocumentationConfigurationDialog.py@e67609152c5e
child 10439
21c28b0f9e41
permissions
-rw-r--r--

Moved the 'QtHelp' subpackage out of the WebBrowser package because it is used in the HelpViewer as well.

8422
bb5da74c1b3f WebBrowser: reimplemented the QtHelp documentation configuration dialog using Qt6 capabilities and widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1 # -*- coding: utf-8 -*-
bb5da74c1b3f WebBrowser: reimplemented the QtHelp documentation configuration dialog using Qt6 capabilities and widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2
9653
e67609152c5e Updated copyright for 2023.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9473
diff changeset
3 # Copyright (c) 2021 - 2023 Detlev Offenbach <detlev@die-offenbachs.de>
8422
bb5da74c1b3f WebBrowser: reimplemented the QtHelp documentation configuration dialog using Qt6 capabilities and widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
4 #
bb5da74c1b3f WebBrowser: reimplemented the QtHelp documentation configuration dialog using Qt6 capabilities and widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5
bb5da74c1b3f WebBrowser: reimplemented the QtHelp documentation configuration dialog using Qt6 capabilities and widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 """
bb5da74c1b3f WebBrowser: reimplemented the QtHelp documentation configuration dialog using Qt6 capabilities and widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
7 Module implementing a dialog to manage the QtHelp documentation database.
bb5da74c1b3f WebBrowser: reimplemented the QtHelp documentation configuration dialog using Qt6 capabilities and widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 """
bb5da74c1b3f WebBrowser: reimplemented the QtHelp documentation configuration dialog using Qt6 capabilities and widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9
bb5da74c1b3f WebBrowser: reimplemented the QtHelp documentation configuration dialog using Qt6 capabilities and widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
10 from PyQt6.QtCore import pyqtSlot
9473
3f23dbf37dbe Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
11 from PyQt6.QtWidgets import QAbstractButton, QDialog, QDialogButtonBox
8422
bb5da74c1b3f WebBrowser: reimplemented the QtHelp documentation configuration dialog using Qt6 capabilities and widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
12
9473
3f23dbf37dbe Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
13 from .QtHelpDocumentationSettings import QtHelpDocumentationSettings
8422
bb5da74c1b3f WebBrowser: reimplemented the QtHelp documentation configuration dialog using Qt6 capabilities and widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
14 from .Ui_QtHelpDocumentationConfigurationDialog import (
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
15 Ui_QtHelpDocumentationConfigurationDialog,
8422
bb5da74c1b3f WebBrowser: reimplemented the QtHelp documentation configuration dialog using Qt6 capabilities and widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
16 )
bb5da74c1b3f WebBrowser: reimplemented the QtHelp documentation configuration dialog using Qt6 capabilities and widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
17
bb5da74c1b3f WebBrowser: reimplemented the QtHelp documentation configuration dialog using Qt6 capabilities and widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
18
bb5da74c1b3f WebBrowser: reimplemented the QtHelp documentation configuration dialog using Qt6 capabilities and widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
19 class QtHelpDocumentationConfigurationDialog(
bb5da74c1b3f WebBrowser: reimplemented the QtHelp documentation configuration dialog using Qt6 capabilities and widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
20 QDialog, Ui_QtHelpDocumentationConfigurationDialog
bb5da74c1b3f WebBrowser: reimplemented the QtHelp documentation configuration dialog using Qt6 capabilities and widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
21 ):
bb5da74c1b3f WebBrowser: reimplemented the QtHelp documentation configuration dialog using Qt6 capabilities and widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
22 """
bb5da74c1b3f WebBrowser: reimplemented the QtHelp documentation configuration dialog using Qt6 capabilities and widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
23 Class implementing a dialog to manage the QtHelp documentation database.
bb5da74c1b3f WebBrowser: reimplemented the QtHelp documentation configuration dialog using Qt6 capabilities and widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
24 """
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
25
8422
bb5da74c1b3f WebBrowser: reimplemented the QtHelp documentation configuration dialog using Qt6 capabilities and widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
26 def __init__(self, engine, parent=None):
bb5da74c1b3f WebBrowser: reimplemented the QtHelp documentation configuration dialog using Qt6 capabilities and widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
27 """
bb5da74c1b3f WebBrowser: reimplemented the QtHelp documentation configuration dialog using Qt6 capabilities and widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
28 Constructor
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
29
8422
bb5da74c1b3f WebBrowser: reimplemented the QtHelp documentation configuration dialog using Qt6 capabilities and widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
30 @param engine reference to the Qt help engine
bb5da74c1b3f WebBrowser: reimplemented the QtHelp documentation configuration dialog using Qt6 capabilities and widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
31 @type QHelpEngineCore
bb5da74c1b3f WebBrowser: reimplemented the QtHelp documentation configuration dialog using Qt6 capabilities and widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
32 @param parent reference to the parent widget (defaults to None)
bb5da74c1b3f WebBrowser: reimplemented the QtHelp documentation configuration dialog using Qt6 capabilities and widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
33 @type QWidget (optional)
bb5da74c1b3f WebBrowser: reimplemented the QtHelp documentation configuration dialog using Qt6 capabilities and widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
34 """
bb5da74c1b3f WebBrowser: reimplemented the QtHelp documentation configuration dialog using Qt6 capabilities and widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
35 super().__init__(parent)
bb5da74c1b3f WebBrowser: reimplemented the QtHelp documentation configuration dialog using Qt6 capabilities and widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
36 self.setupUi(self)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
37
8422
bb5da74c1b3f WebBrowser: reimplemented the QtHelp documentation configuration dialog using Qt6 capabilities and widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
38 self.__engine = engine
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
39
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
40 self.__settings = QtHelpDocumentationSettings.readSettings(self.__engine)
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
41
8422
bb5da74c1b3f WebBrowser: reimplemented the QtHelp documentation configuration dialog using Qt6 capabilities and widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
42 self.documentationSettingsWidget.documentationSettingsChanged.connect(
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
43 self.__documentationSettingsChanged
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
44 )
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
45 self.documentationSettingsWidget.setDocumentationSettings(self.__settings)
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
46
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
47 self.filterSettingsWidget.setAvailableComponents(self.__settings.components())
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
48 self.filterSettingsWidget.setAvailableVersions(self.__settings.versions())
8422
bb5da74c1b3f WebBrowser: reimplemented the QtHelp documentation configuration dialog using Qt6 capabilities and widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
49 self.filterSettingsWidget.readSettings(self.__engine.filterEngine())
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
50
8422
bb5da74c1b3f WebBrowser: reimplemented the QtHelp documentation configuration dialog using Qt6 capabilities and widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
51 @pyqtSlot(QtHelpDocumentationSettings)
bb5da74c1b3f WebBrowser: reimplemented the QtHelp documentation configuration dialog using Qt6 capabilities and widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
52 def __documentationSettingsChanged(self, settings):
bb5da74c1b3f WebBrowser: reimplemented the QtHelp documentation configuration dialog using Qt6 capabilities and widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
53 """
bb5da74c1b3f WebBrowser: reimplemented the QtHelp documentation configuration dialog using Qt6 capabilities and widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
54 Private slot to handle a change of the QtHelp documentation
bb5da74c1b3f WebBrowser: reimplemented the QtHelp documentation configuration dialog using Qt6 capabilities and widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
55 configuration.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
56
8422
bb5da74c1b3f WebBrowser: reimplemented the QtHelp documentation configuration dialog using Qt6 capabilities and widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
57 @param settings reference to the documentation settings object
bb5da74c1b3f WebBrowser: reimplemented the QtHelp documentation configuration dialog using Qt6 capabilities and widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
58 @type QtHelpDocumentationSettings
bb5da74c1b3f WebBrowser: reimplemented the QtHelp documentation configuration dialog using Qt6 capabilities and widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
59 """
bb5da74c1b3f WebBrowser: reimplemented the QtHelp documentation configuration dialog using Qt6 capabilities and widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
60 self.__settings = settings
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
61
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
62 self.filterSettingsWidget.setAvailableComponents(self.__settings.components())
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
63 self.filterSettingsWidget.setAvailableVersions(self.__settings.versions())
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
64
8422
bb5da74c1b3f WebBrowser: reimplemented the QtHelp documentation configuration dialog using Qt6 capabilities and widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
65 @pyqtSlot(QAbstractButton)
bb5da74c1b3f WebBrowser: reimplemented the QtHelp documentation configuration dialog using Qt6 capabilities and widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
66 def on_buttonBox_clicked(self, button):
bb5da74c1b3f WebBrowser: reimplemented the QtHelp documentation configuration dialog using Qt6 capabilities and widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
67 """
bb5da74c1b3f WebBrowser: reimplemented the QtHelp documentation configuration dialog using Qt6 capabilities and widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
68 Private slot called by a button of the button box clicked.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
69
8422
bb5da74c1b3f WebBrowser: reimplemented the QtHelp documentation configuration dialog using Qt6 capabilities and widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
70 @param button button that was clicked
bb5da74c1b3f WebBrowser: reimplemented the QtHelp documentation configuration dialog using Qt6 capabilities and widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
71 @type QAbstractButton
bb5da74c1b3f WebBrowser: reimplemented the QtHelp documentation configuration dialog using Qt6 capabilities and widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
72 """
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
73 if button == self.buttonBox.button(QDialogButtonBox.StandardButton.Apply):
8422
bb5da74c1b3f WebBrowser: reimplemented the QtHelp documentation configuration dialog using Qt6 capabilities and widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
74 self.__applyConfiguration()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
75
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
76 self.__settings = QtHelpDocumentationSettings.readSettings(self.__engine)
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
77
8422
bb5da74c1b3f WebBrowser: reimplemented the QtHelp documentation configuration dialog using Qt6 capabilities and widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
78 self.filterSettingsWidget.setAvailableComponents(
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
79 self.__settings.components()
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
80 )
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
81 self.filterSettingsWidget.setAvailableVersions(self.__settings.versions())
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
82 self.filterSettingsWidget.readSettings(self.__engine.filterEngine())
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
83 elif button == self.buttonBox.button(QDialogButtonBox.StandardButton.Ok):
8422
bb5da74c1b3f WebBrowser: reimplemented the QtHelp documentation configuration dialog using Qt6 capabilities and widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
84 self.__applyConfiguration()
bb5da74c1b3f WebBrowser: reimplemented the QtHelp documentation configuration dialog using Qt6 capabilities and widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
85 self.accept()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
86
8422
bb5da74c1b3f WebBrowser: reimplemented the QtHelp documentation configuration dialog using Qt6 capabilities and widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
87 def __applyConfiguration(self):
bb5da74c1b3f WebBrowser: reimplemented the QtHelp documentation configuration dialog using Qt6 capabilities and widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
88 """
bb5da74c1b3f WebBrowser: reimplemented the QtHelp documentation configuration dialog using Qt6 capabilities and widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
89 Private method to apply the current QtHelp documentation configuration.
bb5da74c1b3f WebBrowser: reimplemented the QtHelp documentation configuration dialog using Qt6 capabilities and widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
90 """
bb5da74c1b3f WebBrowser: reimplemented the QtHelp documentation configuration dialog using Qt6 capabilities and widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
91 changed = QtHelpDocumentationSettings.applySettings(
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
92 self.__engine, self.__settings
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
93 )
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
94 changed |= self.filterSettingsWidget.applySettings(self.__engine.filterEngine())
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
95
8422
bb5da74c1b3f WebBrowser: reimplemented the QtHelp documentation configuration dialog using Qt6 capabilities and widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
96 if changed:
bb5da74c1b3f WebBrowser: reimplemented the QtHelp documentation configuration dialog using Qt6 capabilities and widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
97 # In order to update the filter combobox and index widget according
bb5da74c1b3f WebBrowser: reimplemented the QtHelp documentation configuration dialog using Qt6 capabilities and widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
98 # to the new filter configuration.
bb5da74c1b3f WebBrowser: reimplemented the QtHelp documentation configuration dialog using Qt6 capabilities and widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
99 self.__engine.setupData()

eric ide

mercurial