src/eric7/WebBrowser/OpenSearch/OpenSearchEngineModel.py

branch
eric7
changeset 9221
bf71ee032bb4
parent 9209
b99e7fd55fd3
child 9413
80c06d472826
--- a/src/eric7/WebBrowser/OpenSearch/OpenSearchEngineModel.py	Wed Jul 13 11:16:20 2022 +0200
+++ b/src/eric7/WebBrowser/OpenSearch/OpenSearchEngineModel.py	Wed Jul 13 14:55:47 2022 +0200
@@ -18,28 +18,29 @@
     """
     Class implementing a model for search engines.
     """
+
     def __init__(self, manager, parent=None):
         """
         Constructor
-        
+
         @param manager reference to the search engine manager
             (OpenSearchManager)
         @param parent reference to the parent object (QObject)
         """
         super().__init__(parent)
-        
+
         self.__manager = manager
         manager.changed.connect(self.__enginesChanged)
-        
+
         self.__headers = [
             self.tr("Name"),
             self.tr("Keywords"),
         ]
-    
+
     def removeRows(self, row, count, parent=None):
         """
         Public method to remove entries from the model.
-        
+
         @param row start row (integer)
         @param count number of rows to remove (integer)
         @param parent parent index (QModelIndex)
@@ -47,108 +48,106 @@
         """
         if parent is None:
             parent = QModelIndex()
-        
+
         if parent.isValid():
             return False
-        
+
         if count <= 0:
             return False
-        
+
         if self.rowCount() <= 1:
             return False
-        
+
         lastRow = row + count - 1
-        
+
         self.beginRemoveRows(parent, row, lastRow)
-        
+
         nameList = self.__manager.allEnginesNames()
         for index in range(row, lastRow + 1):
             self.__manager.removeEngine(nameList[index])
-        
+
         return True
-    
+
     def rowCount(self, parent=None):
         """
         Public method to get the number of rows of the model.
-        
+
         @param parent parent index (QModelIndex)
         @return number of rows (integer)
         """
         if parent is None:
             parent = QModelIndex()
-        
+
         if parent.isValid():
             return 0
         else:
             return self.__manager.enginesCount()
-    
+
     def columnCount(self, parent=None):
         """
         Public method to get the number of columns of the model.
-        
+
         @param parent parent index (QModelIndex) (Unused)
         @return number of columns (integer)
         """
         return 2
-    
+
     def flags(self, index):
         """
         Public method to get flags for a model cell.
-        
+
         @param index index of the model cell (QModelIndex)
         @return flags (Qt.ItemFlags)
         """
         if index.column() == 1:
             return (
-                Qt.ItemFlag.ItemIsEnabled |
-                Qt.ItemFlag.ItemIsSelectable |
-                Qt.ItemFlag.ItemIsEditable
+                Qt.ItemFlag.ItemIsEnabled
+                | Qt.ItemFlag.ItemIsSelectable
+                | Qt.ItemFlag.ItemIsEditable
             )
         else:
-            return (
-                Qt.ItemFlag.ItemIsEnabled |
-                Qt.ItemFlag.ItemIsSelectable
-            )
-    
+            return Qt.ItemFlag.ItemIsEnabled | Qt.ItemFlag.ItemIsSelectable
+
     def data(self, index, role):
         """
         Public method to get data from the model.
-        
+
         @param index index to get data for (QModelIndex)
         @param role role of the data to retrieve (integer)
         @return requested data
         """
         if index.row() >= self.__manager.enginesCount() or index.row() < 0:
             return None
-        
-        engine = self.__manager.engine(
-            self.__manager.allEnginesNames()[index.row()])
-        
+
+        engine = self.__manager.engine(self.__manager.allEnginesNames()[index.row()])
+
         if engine is None:
             return None
-        
+
         if index.column() == 0:
             if role == Qt.ItemDataRole.DisplayRole:
                 return engine.name()
-                
+
             elif role == Qt.ItemDataRole.DecorationRole:
                 image = engine.image()
                 if image.isNull():
                     from WebBrowser.WebBrowserWindow import WebBrowserWindow
+
                     icon = WebBrowserWindow.icon(QUrl(engine.imageUrl()))
                 else:
                     icon = QIcon(QPixmap.fromImage(image))
                 return icon
-                
+
             elif role == Qt.ItemDataRole.ToolTipRole:
-                description = self.tr(
-                    "<strong>Description:</strong> {0}"
-                ).format(engine.description())
+                description = self.tr("<strong>Description:</strong> {0}").format(
+                    engine.description()
+                )
                 if engine.providesSuggestions():
                     description += "<br/>"
                     description += self.tr(
-                        "<strong>Provides contextual suggestions</strong>")
-                
+                        "<strong>Provides contextual suggestions</strong>"
+                    )
+
                 return description
         elif index.column() == 1:
             if role in [Qt.ItemDataRole.EditRole, Qt.ItemDataRole.DisplayRole]:
@@ -157,14 +156,15 @@
                 return self.tr(
                     "Comma-separated list of keywords that may"
                     " be entered in the location bar followed by search terms"
-                    " to search with this engine")
-        
+                    " to search with this engine"
+                )
+
         return None
-    
+
     def setData(self, index, value, role=Qt.ItemDataRole.EditRole):
         """
         Public method to set the data of a model cell.
-        
+
         @param index index of the model cell (QModelIndex)
         @param value value to be set
         @param role role of the data (integer)
@@ -172,39 +172,37 @@
         """
         if not index.isValid() or index.column() != 1:
             return False
-        
+
         if index.row() >= self.rowCount() or index.row() < 0:
             return False
-        
+
         if role != Qt.ItemDataRole.EditRole:
             return False
-        
+
         engineName = self.__manager.allEnginesNames()[index.row()]
         keywords = re.split("[ ,]+", value)
-        self.__manager.setKeywordsForEngine(
-            self.__manager.engine(engineName), keywords)
-        
+        self.__manager.setKeywordsForEngine(self.__manager.engine(engineName), keywords)
+
         return True
-    
-    def headerData(self, section, orientation,
-                   role=Qt.ItemDataRole.DisplayRole):
+
+    def headerData(self, section, orientation, role=Qt.ItemDataRole.DisplayRole):
         """
         Public method to get the header data.
-        
+
         @param section section number (integer)
         @param orientation header orientation (Qt.Orientation)
         @param role data role (Qt.ItemDataRole)
         @return header data
         """
         if (
-            orientation == Qt.Orientation.Horizontal and
-            role == Qt.ItemDataRole.DisplayRole
+            orientation == Qt.Orientation.Horizontal
+            and role == Qt.ItemDataRole.DisplayRole
         ):
             with contextlib.suppress(IndexError):
                 return self.__headers[section]
-        
+
         return None
-    
+
     def __enginesChanged(self):
         """
         Private slot handling a change of the registered engines.

eric ide

mercurial