diff -r 0cf5c9683a51 -r ac3a98f3ebc2 E5Network/E5NetworkMonitor.py --- a/E5Network/E5NetworkMonitor.py Sun Feb 04 10:56:30 2018 +0100 +++ b/E5Network/E5NetworkMonitor.py Mon Feb 05 19:15:47 2018 +0100 @@ -82,7 +82,9 @@ [self.tr("Name"), self.tr("Value")]) self.requestHeadersList.setModel(self.__requestHeaders) self.requestHeadersList.horizontalHeader().setStretchLastSection(True) - self.requestHeadersList.doubleClicked.connect(self.__showHeaderDetails) + self.requestHeadersList.doubleClicked.connect( + lambda index: self.__showHeaderDetails( + index, self.requestHeadersList)) self.__replyHeaders = QStandardItemModel(self) self.__replyHeaders.setHorizontalHeaderLabels( @@ -90,7 +92,8 @@ self.responseHeadersList.setModel(self.__replyHeaders) self.responseHeadersList.horizontalHeader().setStretchLastSection(True) self.responseHeadersList.doubleClicked.connect( - self.__showHeaderDetails) + lambda index: self.__showHeaderDetails( + index, self.responseHeadersList)) self.requestsList.horizontalHeader().setStretchLastSection(True) self.requestsList.verticalHeader().setMinimumSectionSize(-1) @@ -180,19 +183,18 @@ self.__replyHeaders.item(0, 1).setFlags( Qt.ItemIsSelectable | Qt.ItemIsEnabled) - def __showHeaderDetails(self, index): + def __showHeaderDetails(self, index, headerList): """ Private slot to show a dialog with the header details. - @param index index of the entry to show (QModelIndex) + @param index index of the entry to show + @type QModelIndex + @param headerList list requesting the header details + @type QTableView """ if not index.isValid(): return - headerList = self.sender() - if headerList is None: - return - row = index.row() name = headerList.model().data(headerList.model().index(row, 0)) value = headerList.model().data(headerList.model().index(row, 1)) @@ -260,17 +262,16 @@ self.beginInsertRows( QModelIndex(), len(self.requests), len(self.requests)) self.requests.append(req) - req.reply.finished.connect(self.__addReply) + req.reply.finished.connect(lambda: self.__addReply(req.reply)) self.endInsertRows() - def __addReply(self): + def __addReply(self, reply): """ Private slot to add the reply data to the model. + + @param reply reference to the network reply object + @type QNetworkReply """ - reply = self.sender() - if reply is None: - return - offset = len(self.requests) - 1 while offset >= 0: if self.requests[offset].reply is reply: