Continued porting signal/slot usage to the new API.

Wed, 11 Aug 2010 12:47:35 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Wed, 11 Aug 2010 12:47:35 +0200
changeset 488
4174c2707dba
parent 487
4d41d03d3d00
child 489
844a0a278269

Continued porting signal/slot usage to the new API.

Helpviewer/HelpWebSearchWidget.py file | annotate | diff | comparison | revisions
Helpviewer/History/HistoryCompleter.py file | annotate | diff | comparison | revisions
Helpviewer/History/HistoryDialog.py file | annotate | diff | comparison | revisions
Helpviewer/History/HistoryFilterModel.py file | annotate | diff | comparison | revisions
Helpviewer/History/HistoryManager.py file | annotate | diff | comparison | revisions
Helpviewer/History/HistoryMenu.py file | annotate | diff | comparison | revisions
Helpviewer/History/HistoryModel.py file | annotate | diff | comparison | revisions
Helpviewer/History/HistoryTreeModel.py file | annotate | diff | comparison | revisions
Helpviewer/OpenSearch/OpenSearchEngine.py file | annotate | diff | comparison | revisions
--- a/Helpviewer/HelpWebSearchWidget.py	Wed Aug 11 09:42:20 2010 +0200
+++ b/Helpviewer/HelpWebSearchWidget.py	Wed Aug 11 12:47:35 2010 +0200
@@ -26,6 +26,8 @@
     
     @signal search(url) emitted when the search should be done
     """
+    search = pyqtSignal(QUrl)
+    
     def __init__(self, parent = None):
         """
         Constructor
@@ -38,9 +40,7 @@
         self.mw = parent
         
         self.__openSearchManager = OpenSearchManager(self)
-        self.connect(self.__openSearchManager, 
-                     SIGNAL("currentEngineChanged()"), 
-                     self.__currentEngineChanged)
+        self.__openSearchManager.currentEngineChanged.connect(self.__currentEngineChanged)
         self.__currentEngine = ""
         
         self.__layout = QHBoxLayout(self)
@@ -73,14 +73,11 @@
         self.__completer.setWidget(self.__searchEdit)
         
         self.__searchButton.clicked[()].connect(self.__searchButtonClicked)
-        self.connect(self.__searchEdit, SIGNAL("textEdited(const QString&)"), 
-                     self.__textEdited)
+        self.__searchEdit.textEdited.connect(self.__textEdited)
         self.__clearButton.clicked[()].connect(self.__searchEdit.clear)
         self.__searchEdit.returnPressed[()].connect(self.__searchNow)
-        self.connect(self.__completer, SIGNAL("activated(const QModelIndex &)"), 
-                     self.__completerActivated)
-        self.connect(self.__completer, SIGNAL("highlighted(const QModelIndex &)"), 
-                     self.__completerHighlighted)
+        self.__completer.activated[QModelIndex].connect(self.__completerActivated)
+        self.__completer.highlighted[QModelIndex].connect(self.__completerHighlighted)
         self.__enginesMenu.aboutToShow.connect(self.__showEnginesMenu)
         
         self.__suggestionsItem = None
@@ -115,7 +112,7 @@
             self.__setupCompleterMenu()
         
         url = self.__openSearchManager.currentEngine().searchUrl(searchText)
-        self.emit(SIGNAL("search"), url)
+        self.search.emit(url)
     
     def __setupCompleterMenu(self):
         """
@@ -204,8 +201,7 @@
                 self.__suggestTimer = QTimer(self)
                 self.__suggestTimer.setSingleShot(True)
                 self.__suggestTimer.setInterval(200)
-                self.connect(self.__suggestTimer, SIGNAL("timeout()"), 
-                             self.__getSuggestions)
+                self.__suggestTimer.timeout.connect(self.__getSuggestions)
             self.__suggestTimer.start()
         else:
             self.__completer.setCompletionPrefix(txt)
@@ -359,20 +355,16 @@
         """
         if self.__openSearchManager.engineExists(self.__currentEngine):
             oldEngine = self.__openSearchManager.engine(self.__currentEngine)
-            self.disconnect(oldEngine, SIGNAL("imageChanged()"), 
-                            self.__engineImageChanged)
+            oldEngine.imageChanged.disconnect(self.__engineImageChanged)
             if self.__suggestionsEnabled:
-                self.disconnect(oldEngine, SIGNAL("suggestions(const QStringList&)"), 
-                                self.__newSuggestions)
+                oldEngine.suggestions.disconnect(self.__newSuggestions)
         
         newEngine = self.__openSearchManager.currentEngine()
         if newEngine.networkAccessManager() is None:
             newEngine.setNetworkAccessManager(self.mw.networkAccessManager())
-        self.connect(newEngine, SIGNAL("imageChanged()"), 
-                     self.__engineImageChanged)
+        newEngine.imageChanged.connect(self.__engineImageChanged)
         if self.__suggestionsEnabled:
-            self.connect(newEngine, SIGNAL("suggestions(const QStringList&)"), 
-                         self.__newSuggestions)
+            newEngine.suggestions.connect(self.__newSuggestions)
         
         self.__searchEdit.setInactiveText(self.__openSearchManager.currentEngineName())
         self.__currentEngine = self.__openSearchManager.currentEngineName()
@@ -386,4 +378,4 @@
         Private slot to handle a change of the current search engine icon.
         """
         self.__engineButton.setIcon(
-            QIcon(QPixmap.fromImage(self.__openSearchManager.currentEngine().image())))
\ No newline at end of file
+            QIcon(QPixmap.fromImage(self.__openSearchManager.currentEngine().image())))
--- a/Helpviewer/History/HistoryCompleter.py	Wed Aug 11 09:42:20 2010 +0200
+++ b/Helpviewer/History/HistoryCompleter.py	Wed Aug 11 12:47:35 2010 +0200
@@ -144,8 +144,7 @@
         self.__isValid = valid
         
         # tell the history completer that the model has changed
-        self.emit(SIGNAL("dataChanged(const QModelIndex&, const QModelIndex&)"), 
-                  self.index(0, 0), self.index(0, self.rowCount() - 1))
+        self.dataChanged.emit(self.index(0, 0), self.index(0, self.rowCount() - 1))
     
     def filterAcceptsRow(self, sourceRow, sourceParent):
         """
@@ -230,7 +229,7 @@
         self.__searchString = ""
         self.__filterTimer = QTimer(self)
         self.__filterTimer.setSingleShot(True)
-        self.connect(self.__filterTimer, SIGNAL("timeout()"), self.__updateFilter)
+        self.__filterTimer.timeout.connect(self.__updateFilter)
     
     def pathFromIndex(self, idx):
         """
--- a/Helpviewer/History/HistoryDialog.py	Wed Aug 11 09:42:20 2010 +0200
+++ b/Helpviewer/History/HistoryDialog.py	Wed Aug 11 12:47:35 2010 +0200
@@ -27,6 +27,9 @@
             tab
     @signal newUrl(const QUrl&, const QString&) emitted to open a URL in a new tab
     """
+    openUrl = pyqtSignal(QUrl, str)
+    newUrl = pyqtSignal(QUrl, str)
+    
     def __init__(self, parent = None, manager = None):
         """
         Constructor
@@ -56,17 +59,15 @@
         self.historyTree.header().setStretchLastSection(True)
         self.historyTree.setContextMenuPolicy(Qt.CustomContextMenu)
         
-        self.connect(self.historyTree, SIGNAL("activated(const QModelIndex&)"), 
-                     self.__activated)
+        self.historyTree.activated.connect(self.__activated)
         self.historyTree.customContextMenuRequested.connect(
             self.__customContextMenuRequested)
         
-        self.connect(self.searchEdit, SIGNAL("textChanged(QString)"), 
-                     self.__proxyModel.setFilterFixedString)
+        self.searchEdit.textChanged.connect(self.__proxyModel.setFilterFixedString)
         self.removeButton.clicked[()].connect(self.historyTree.removeSelected)
         self.removeAllButton.clicked[()].connect(self.__historyManager.clear)
         
-        self.connect(self.__proxyModel, SIGNAL("modelReset()"), self.__modelReset)
+        self.__proxyModel.modelReset.connect(self.__modelReset)
     
     def __modelReset(self):
         """
@@ -119,13 +120,13 @@
         """
         idx = self.historyTree.currentIndex()
         if newTab:
-            self.emit(SIGNAL("newUrl(const QUrl&, const QString&)"), 
-                      idx.data(HistoryModel.UrlRole), 
-                      idx.data(HistoryModel.TitleRole))
+            self.newUrl.emit(
+                idx.data(HistoryModel.UrlRole), 
+                idx.data(HistoryModel.TitleRole))
         else:
-            self.emit(SIGNAL("openUrl(const QUrl&, const QString&)"), 
-                      idx.data(HistoryModel.UrlRole), 
-                      idx.data(HistoryModel.TitleRole))
+            self.openUrl.emit(
+                idx.data(HistoryModel.UrlRole), 
+                idx.data(HistoryModel.TitleRole))
     
     def __copyHistory(self):
         """
@@ -138,4 +139,4 @@
         url = idx.data(HistoryModel.UrlStringRole)
         
         clipboard = QApplication.clipboard()
-        clipboard.setText(url)
\ No newline at end of file
+        clipboard.setText(url)
--- a/Helpviewer/History/HistoryFilterModel.py	Wed Aug 11 09:42:20 2010 +0200
+++ b/Helpviewer/History/HistoryFilterModel.py	Wed Aug 11 12:47:35 2010 +0200
@@ -116,35 +116,19 @@
         @param sourceModel reference to the source model (QAbstractItemModel)
         """
         if self.sourceModel() is not None:
-            self.disconnect(self.sourceModel(), 
-                            SIGNAL("modelReset()"), 
-                            self.__sourceReset)
-            self.disconnect(self.sourceModel(), 
-                            SIGNAL("dataChanged(const QModelIndex&, const QModelIndex&)"),
-                            self.__sourceDataChanged)
-            self.disconnect(self.sourceModel(), 
-                            SIGNAL("rowsInserted(const QModelIndex &, int, int)"), 
-                            self.__sourceRowsInserted)
-            self.disconnect(self.sourceModel(), 
-                            SIGNAL("rowsRemoved(const QModelIndex &, int, int)"), 
-                            self.__sourceRowsRemoved)
+            self.sourceModel().modelReset.disconnect(self.__sourceReset)
+            self.sourceModel().dataChanged.disconnect(self.__sourceDataChanged)
+            self.sourceModel().rowsInserted.disconnect(self.__sourceRowsInserted)
+            self.sourceModel().rowsRemoved.disconnect(self.__sourceRowsRemoved)
         
         QAbstractProxyModel.setSourceModel(self, sourceModel)
         
         if self.sourceModel() is not None:
             self.__loaded = False
-            self.connect(self.sourceModel(), 
-                         SIGNAL("modelReset()"), 
-                         self.__sourceReset)
-            self.connect(self.sourceModel(), 
-                         SIGNAL("dataChanged(const QModelIndex&, const QModelIndex&)"),
-                         self.__sourceDataChanged)
-            self.connect(self.sourceModel(), 
-                         SIGNAL("rowsInserted(const QModelIndex &, int, int)"), 
-                         self.__sourceRowsInserted)
-            self.connect(self.sourceModel(), 
-                         SIGNAL("rowsRemoved(const QModelIndex &, int, int)"), 
-                         self.__sourceRowsRemoved)
+            self.sourceModel().modelReset.connect(self.__sourceReset)
+            self.sourceModel().dataChanged.connect(self.__sourceDataChanged)
+            self.sourceModel().rowsInserted.connect(self.__sourceRowsInserted)
+            self.sourceModel().rowsRemoved.connect(self.__sourceRowsRemoved)
     
     def __sourceDataChanged(self, topLeft, bottomRight):
         """
@@ -153,8 +137,8 @@
         @param topLeft index of top left data element (QModelIndex)
         @param bottomRight index of bottom right data element (QModelIndex)
         """
-        self.emit(SIGNAL("dataChanged(const QModelIndex&, const QModelIndex&)"), 
-                  self.mapFromSource(topLeft), self.mapFromSource(bottomRight))
+        self.dataChanged.emit(
+            self.mapFromSource(topLeft), self.mapFromSource(bottomRight))
     
     def headerData(self, section, orientation, role = Qt.DisplayRole):
         """
@@ -339,18 +323,14 @@
             return False
         
         lastRow = row + count - 1
-        self.disconnect(self.sourceModel(), 
-                        SIGNAL("rowsRemoved(const QModelIndex &, int, int)"), 
-                        self.__sourceRowsRemoved)
+        self.sourceModel().rowsRemoved.disconnect(self.__sourceRowsRemoved)
         self.beginRemoveRows(parent, row, lastRow)
         oldCount = self.rowCount()
         start = self.sourceModel().rowCount() - self.__filteredRows[row].tailOffset
         end = self.sourceModel().rowCount() - self.__filteredRows[lastRow].tailOffset
         self.sourceModel().removeRows(start, end - start + 1)
         self.endRemoveRows()
-        self.connect(self.sourceModel(), 
-                     SIGNAL("rowsRemoved(const QModelIndex &, int, int)"), 
-                     self.__sourceRowsRemoved)
+        self.sourceModel().rowsRemoved.connect(self.__sourceRowsRemoved)
         self.__loaded = False
         if oldCount - count != self.rowCount():
             self.reset()
--- a/Helpviewer/History/HistoryManager.py	Wed Aug 11 09:42:20 2010 +0200
+++ b/Helpviewer/History/HistoryManager.py	Wed Aug 11 12:47:35 2010 +0200
@@ -82,6 +82,12 @@
     @signal entryRemoved emitted after a history entry has been removed
     @signal entryUpdated(int) emitted after a history entry has been updated
     """
+    historyCleared = pyqtSignal()
+    historyReset = pyqtSignal()
+    entryAdded = pyqtSignal(HistoryEntry)
+    entryRemoved = pyqtSignal(HistoryEntry)
+    entryUpdated = pyqtSignal(int)
+    
     def __init__(self, parent = None):
         """
         Constructor
@@ -97,18 +103,14 @@
         
         self.__expiredTimer = QTimer(self)
         self.__expiredTimer.setSingleShot(True)
-        self.connect(self.__expiredTimer, SIGNAL("timeout()"), 
-                     self.__checkForExpired)
+        self.__expiredTimer.timeout.connect(self.__checkForExpired)
         
         self.__frequencyTimer = QTimer(self)
         self.__frequencyTimer.setSingleShot(True)
-        self.connect(self.__frequencyTimer, SIGNAL("timeout()"), 
-                     self.__refreshFrequencies)
+        self.__frequencyTimer.timeout.connect(self.__refreshFrequencies)
         
-        self.connect(self, SIGNAL("entryAdded"), 
-                     self.__saveTimer.changeOccurred)
-        self.connect(self, SIGNAL("entryRemoved"), 
-                     self.__saveTimer.changeOccurred)
+        self.entryAdded.connect(self.__saveTimer.changeOccurred)
+        self.entryRemoved.connect(self.__saveTimer.changeOccurred)
         
         self.__load()
         
@@ -158,7 +160,7 @@
         else:
             self.__lastSavedUrl = ""
             self.__saveTimer.changeOccurred()
-        self.emit(SIGNAL("historyReset()"))
+        self.historyReset.emit()
     
     def historyContains(self, url):
         """
@@ -180,7 +182,7 @@
             return
         
         self.__history.insert(0, itm)
-        self.emit(SIGNAL("entryAdded"), itm)
+        self.entryAdded.emit(itm)
         if len(self.__history) == 1:
             self.__checkForExpired()
     
@@ -192,7 +194,7 @@
         """
         self.__lastSavedUrl = ""
         self.__history.remove(itm)
-        self.emit(SIGNAL("entryRemoved"), itm)
+        self.entryRemoved.emit(itm)
     
     def addHistoryEntry(self, url):
         """
@@ -220,7 +222,7 @@
                 self.__saveTimer.changeOccurred()
                 if not self.__lastSavedUrl:
                     self.__lastSavedUrl = self.__history[index].url
-                self.emit(SIGNAL("entryUpdated(int)"), index)
+                self.entryUpdated.emit(index)
                 break
     
     def removeHistoryEntry(self, url, title = ""):
@@ -282,7 +284,7 @@
             
             itm = self.__history.pop(-1)
             self.__lastSavedUrl = ""
-            self.emit(SIGNAL("entryRemoved"), itm)
+            self.entryRemoved.emit(itm)
         self.__saveTimer.saveIfNeccessary()
         
         if nextTimeout > 0:
@@ -323,8 +325,8 @@
         self.__lastSavedUrl = ""
         self.__saveTimer.changeOccurred()
         self.__saveTimer.saveIfNeccessary()
-        self.emit(SIGNAL("historyReset()"))
-        self.emit(SIGNAL("historyCleared()"))
+        self.historyReset.emit()
+        self.historyCleared.emit()
     
     def __load(self):
         """
--- a/Helpviewer/History/HistoryMenu.py	Wed Aug 11 09:42:20 2010 +0200
+++ b/Helpviewer/History/HistoryMenu.py	Wed Aug 11 12:47:35 2010 +0200
@@ -207,6 +207,9 @@
             tab
     @signal newUrl(const QUrl&, const QString&) emitted to open a URL in a new tab
     """
+    openUrl = pyqtSignal(QUrl, str)
+    newUrl = pyqtSignal(QUrl, str)
+    
     def __init__(self, parent = None):
         """
         Constructor
@@ -221,7 +224,7 @@
         
         self.setMaxRows(7)
         
-        self.connect(self, SIGNAL("activated(const QModelIndex&)"), self.__activated)
+        self.activated.connect(self.__activated)
         self.setStatusBarTextRole(HistoryModel.UrlStringRole)
     
     def __activated(self, idx):
@@ -231,11 +234,11 @@
         @param idx index of the activated item (QModelIndex)
         """
         if self._keyboardModifiers & Qt.ControlModifier:
-            self.emit(SIGNAL("newUrl(const QUrl&, const QString&)"), 
+            self.newUrl.emit(
                       idx.data(HistoryModel.UrlRole), 
                       idx.data(HistoryModel.TitleRole))
         else:
-            self.emit(SIGNAL("openUrl(const QUrl&, const QString&)"), 
+            self.openUrl.emit(
                       idx.data(HistoryModel.UrlRole), 
                       idx.data(HistoryModel.TitleRole))
     
@@ -290,10 +293,8 @@
         """
         dlg = HistoryDialog(self)
         dlg.setAttribute(Qt.WA_DeleteOnClose)
-        self.connect(dlg,  SIGNAL("newUrl(const QUrl&, const QString&)"), 
-                     self, SIGNAL("newUrl(const QUrl&, const QString&)"))
-        self.connect(dlg,  SIGNAL("openUrl(const QUrl&, const QString&)"), 
-                     self, SIGNAL("openUrl(const QUrl&, const QString&)"))
+        dlg.newUrl.connect(self.newUrl)
+        dlg.openUrl.connect(self.openUrl)
         dlg.show()
     
     def __clearHistoryDialog(self):
@@ -308,4 +309,4 @@
                     QMessageBox.No | \
                     QMessageBox.Yes),
                 QMessageBox.No) == QMessageBox.Yes:
-            self.__historyManager.clear()
\ No newline at end of file
+            self.__historyManager.clear()
--- a/Helpviewer/History/HistoryModel.py	Wed Aug 11 09:42:20 2010 +0200
+++ b/Helpviewer/History/HistoryModel.py	Wed Aug 11 12:47:35 2010 +0200
@@ -38,14 +38,10 @@
             self.trUtf8("Address"), 
         ]
         
-        self.connect(self.__historyManager, SIGNAL("historyReset()"), 
-                     self.historyReset)
-        self.connect(self.__historyManager, SIGNAL("entryRemoved"), 
-                     self.historyReset)
-        self.connect(self.__historyManager, SIGNAL("entryAdded"), 
-                     self.entryAdded)
-        self.connect(self.__historyManager, SIGNAL("entryUpdated(int)"), 
-                     self.entryUpdated)
+        self.__historyManager.historyReset.connect(self.historyReset)
+        self.__historyManager.entryRemoved.connect(self.historyReset)
+        self.__historyManager.entryAdded.connect(self.entryAdded)
+        self.__historyManager.entryUpdated.connect(self.entryUpdated)
     
     def historyReset(self):
         """
@@ -67,8 +63,7 @@
         @param row row number of the updated entry (integer)
         """
         idx = self.index(row, 0)
-        self.emit(SIGNAL("dataChanged(const QModelIndex&, const QModelIndex&)"), 
-            idx, idx)
+        self.dataChanged.emit(idx, idx)
     
     def headerData(self, section, orientation, role = Qt.DisplayRole):
         """
@@ -161,10 +156,8 @@
         lst = self.__historyManager.history()[:]
         for index in range(lastRow, row - 1, -1):
             del lst[index]
-        self.disconnect(self.__historyManager, SIGNAL("historyReset()"), 
-                        self.historyReset)
+        self.__historyManager.historyReset.disconnect(self.historyReset)
         self.__historyManager.setHistory(lst)
-        self.connect(self.__historyManager, SIGNAL("historyReset()"), 
-                     self.historyReset)
+        self.__historyManager.historyReset.connect(self.historyReset)
         self.endRemoveRows()
         return True
--- a/Helpviewer/History/HistoryTreeModel.py	Wed Aug 11 09:42:20 2010 +0200
+++ b/Helpviewer/History/HistoryTreeModel.py	Wed Aug 11 12:47:35 2010 +0200
@@ -219,35 +219,19 @@
         @param sourceModel reference to the source model (QAbstractItemModel)
         """
         if self.sourceModel() is not None:
-            self.disconnect(self.sourceModel(), 
-                            SIGNAL("modelReset()"), 
-                            self.__sourceReset)
-            self.disconnect(self.sourceModel(), 
-                            SIGNAL("layoutChanged()"), 
-                            self.__sourceReset)
-            self.disconnect(self.sourceModel(), 
-                            SIGNAL("rowsInserted(const QModelIndex &, int, int)"), 
-                            self.__sourceRowsInserted)
-            self.disconnect(self.sourceModel(), 
-                            SIGNAL("rowsRemoved(const QModelIndex &, int, int)"), 
-                            self.__sourceRowsRemoved)
+            self.sourceModel().modelReset.disconnect(self.__sourceReset)
+            self.sourceModel().layoutChanged.disconnect(self.__sourceReset)
+            self.sourceModel().rowsInserted.disconnect(self.__sourceRowsInserted)
+            self.sourceModel().rowsRemoved.disconnect(self.__sourceRowsRemoved)
         
         QAbstractProxyModel.setSourceModel(self, sourceModel)
         
         if self.sourceModel() is not None:
             self.__loaded = False
-            self.connect(self.sourceModel(), 
-                         SIGNAL("modelReset()"), 
-                         self.__sourceReset)
-            self.connect(self.sourceModel(), 
-                         SIGNAL("layoutChanged()"), 
-                         self.__sourceReset)
-            self.connect(self.sourceModel(), 
-                         SIGNAL("rowsInserted(const QModelIndex &, int, int)"), 
-                         self.__sourceRowsInserted)
-            self.connect(self.sourceModel(), 
-                         SIGNAL("rowsRemoved(const QModelIndex &, int, int)"), 
-                         self.__sourceRowsRemoved)
+            self.sourceModel().modelReset.connect(self.__sourceReset)
+            self.sourceModel().layoutChanged.connect(self.__sourceReset)
+            self.sourceModel().rowsInserted.connect(self.__sourceRowsInserted)
+            self.sourceModel().rowsRemoved.connect(self.__sourceRowsRemoved)
         
         self.reset()
     
--- a/Helpviewer/OpenSearch/OpenSearchEngine.py	Wed Aug 11 09:42:20 2010 +0200
+++ b/Helpviewer/OpenSearch/OpenSearchEngine.py	Wed Aug 11 12:47:35 2010 +0200
@@ -26,6 +26,9 @@
     @signal suggestions(const QStringList&) emitted after the suggestions have 
             been received
     """
+    imageChanged = pyqtSignal()
+    suggestions = pyqtSignal(list)
+    
     loc = Preferences.getUILanguage()
     if loc == "System":
         loc = QLocale.system().name()

eric ide

mercurial