src/eric7/WebBrowser/QtHelp/QtHelpDocumentationSettingsWidget.py

branch
eric7
changeset 9686
2eee7a645cba
parent 9685
b43e04854aba
child 9687
3a240d3f3b8c
diff -r b43e04854aba -r 2eee7a645cba src/eric7/WebBrowser/QtHelp/QtHelpDocumentationSettingsWidget.py
--- a/src/eric7/WebBrowser/QtHelp/QtHelpDocumentationSettingsWidget.py	Sun Jan 08 16:11:22 2023 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,220 +0,0 @@
-# -*- coding: utf-8 -*-
-
-# Copyright (c) 2021 - 2023 Detlev Offenbach <detlev@die-offenbachs.de>
-#
-
-"""
-Module implementing a widget to manage the QtHelp documentation settings.
-"""
-
-from PyQt6.QtCore import pyqtSignal, pyqtSlot
-from PyQt6.QtWidgets import QDialog, QListWidgetItem, QWidget
-
-from eric7.EricWidgets import EricFileDialog, EricMessageBox
-from eric7.EricWidgets.EricApplication import ericApp
-
-from .QtHelpDocumentationSettings import QtHelpDocumentationSettings
-from .Ui_QtHelpDocumentationSettingsWidget import Ui_QtHelpDocumentationSettingsWidget
-
-
-class QtHelpDocumentationSettingsWidget(QWidget, Ui_QtHelpDocumentationSettingsWidget):
-    """
-    Class implementing a widget to manage the QtHelp documentation settings.
-
-    @signal documentationSettingsChanged(settings) emitted to signal a change
-        of the documentation configuration
-    """
-
-    documentationSettingsChanged = pyqtSignal(QtHelpDocumentationSettings)
-
-    def __init__(self, parent=None):
-        """
-        Constructor
-
-        @param parent reference to the parent widget (defaults to None)
-        @type QWidget (optional)
-        """
-        super().__init__(parent)
-        self.setupUi(self)
-
-        self.__settings = None
-
-        try:
-            self.__pluginHelpDocuments = (
-                ericApp().getObject("PluginManager").getPluginQtHelpFiles()
-            )
-        except KeyError:
-            from eric7.PluginManager.PluginManager import (  # __IGNORE_WARNING_I101__
-                PluginManager,
-            )
-
-            pluginManager = PluginManager(self, doLoadPlugins=False)
-            pluginManager.loadDocumentationSetPlugins()
-            pluginManager.activatePlugins()
-            self.__pluginHelpDocuments = pluginManager.getPluginQtHelpFiles()
-        self.addPluginButton.setEnabled(bool(self.__pluginHelpDocuments))
-
-    @pyqtSlot()
-    def on_removeDocumentsButton_clicked(self):
-        """
-        Private slot to remove a document from the help database.
-        """
-        selectedItems = self.documentsList.selectedItems()[:]
-        if not selectedItems:
-            return
-
-        for itm in selectedItems:
-            namespace = itm.text()
-            self.documentsList.takeItem(self.documentsList.row(itm))
-            del itm
-
-            self.__settings.removeDocumentation(namespace)
-
-        self.documentationSettingsChanged.emit(self.__settings)
-
-    @pyqtSlot()
-    def on_addDocumentsButton_clicked(self):
-        """
-        Private slot to add QtHelp documents to the help database.
-        """
-        filenames = EricFileDialog.getOpenFileNames(
-            self,
-            self.tr("Add Documentation"),
-            "",
-            self.tr("Qt Compressed Help Files (*.qch)"),
-        )
-        if not filenames:
-            return
-
-        self.__registerDocumentation(filenames)
-
-    @pyqtSlot()
-    def on_addPluginButton_clicked(self):
-        """
-        Private slot to add QtHelp documents provided by plug-ins to
-        the help database.
-        """
-        from .QtHelpDocumentationSelectionDialog import (
-            QtHelpDocumentationSelectionDialog,
-        )
-
-        dlg = QtHelpDocumentationSelectionDialog(
-            self.__pluginHelpDocuments, QtHelpDocumentationSelectionDialog.AddMode, self
-        )
-        if dlg.exec() == QDialog.DialogCode.Accepted:
-            documents = dlg.getData()
-            if documents:
-                self.__registerDocumentation(documents)
-
-    def __registerDocumentation(self, filenames):
-        """
-        Private method to register a given list of documentations.
-
-        @param filenames list of documentation files to be registered
-        @type list of str
-        """
-        added = False
-
-        for filename in filenames:
-            if not self.__settings.addDocumentation(filename):
-                EricMessageBox.warning(
-                    self,
-                    self.tr("Add Documentation"),
-                    self.tr("""The file <b>{0}</b> could not be added.""").format(
-                        filename
-                    ),
-                )
-                continue
-
-            if not added:
-                added = True
-                self.documentsList.clearSelection()
-
-            namespace = self.__settings.namespace(filename)
-            itm = QListWidgetItem(namespace)
-            self.documentsList.addItem(itm)
-
-            itm.setSelected(True)
-        self.__applyDocumentsListFilter()
-
-        if added:
-            self.documentationSettingsChanged.emit(self.__settings)
-
-    @pyqtSlot()
-    def on_managePluginButton_clicked(self):
-        """
-        Private slot to manage the QtHelp documents provided by plug-ins.
-        """
-        from .QtHelpDocumentationSelectionDialog import (
-            QtHelpDocumentationSelectionDialog,
-        )
-
-        dlg = QtHelpDocumentationSelectionDialog(
-            self.__pluginHelpDocuments,
-            QtHelpDocumentationSelectionDialog.ManageMode,
-            self,
-        )
-        dlg.exec()
-
-    @pyqtSlot()
-    def on_documentsList_itemSelectionChanged(self):
-        """
-        Private slot handling a change of the documents selection.
-        """
-        self.removeDocumentsButton.setEnabled(
-            len(self.documentsList.selectedItems()) != 0
-        )
-
-    @pyqtSlot(str)
-    def on_filterEdit_textChanged(self, txt):
-        """
-        Private slot to react on changes of the document filter text.
-
-        @param txt current entry of the filter
-        @type str
-        """
-        self.__applyDocumentsListFilter()
-
-    @pyqtSlot()
-    def __applyDocumentsListFilter(self):
-        """
-        Private slot to apply the current documents filter.
-        """
-        filterStr = self.filterEdit.text()
-        for row in range(self.documentsList.count()):
-            itm = self.documentsList.item(row)
-            matches = filterStr == "" or filterStr in itm.text()
-
-            if not matches:
-                itm.setSelected(False)
-            itm.setHidden(not matches)
-
-    def setDocumentationSettings(self, settings):
-        """
-        Public method to set the reference to the QtHelp documentation
-        configuration object.
-
-        @param settings reference to the created QtHelpDocumentationSettings
-            object
-        @type QtHelpDocumentationSettings
-        """
-        self.__settings = settings
-
-        self.documentsList.clear()
-
-        for namespace in self.__settings.namespaces():
-            itm = QListWidgetItem(namespace)
-            self.documentsList.addItem(itm)
-        self.__applyDocumentsListFilter()
-
-        self.removeDocumentsButton.setEnabled(False)
-
-    def documentationSettings(self):
-        """
-        Public method to get the reference to the QtHelp documentation
-        configuration object.
-
-        @return reference to the created QtHelpDocumentationSettings object
-        @rtype QtHelpDocumentationSettings
-        """
-        return self.__settings

eric ide

mercurial