83 self.__replyHeaders = QStandardItemModel(self) |
83 self.__replyHeaders = QStandardItemModel(self) |
84 self.__replyHeaders.setHorizontalHeaderLabels( |
84 self.__replyHeaders.setHorizontalHeaderLabels( |
85 [self.trUtf8("Name"), self.trUtf8("Value")]) |
85 [self.trUtf8("Name"), self.trUtf8("Value")]) |
86 self.responseHeadersList.setModel(self.__replyHeaders) |
86 self.responseHeadersList.setModel(self.__replyHeaders) |
87 self.responseHeadersList.horizontalHeader().setStretchLastSection(True) |
87 self.responseHeadersList.horizontalHeader().setStretchLastSection(True) |
88 self.responseHeadersList.doubleClicked.connect(self.__showHeaderDetails) |
88 self.responseHeadersList.doubleClicked.connect( |
|
89 self.__showHeaderDetails) |
89 |
90 |
90 self.requestsList.horizontalHeader().setStretchLastSection(True) |
91 self.requestsList.horizontalHeader().setStretchLastSection(True) |
91 self.requestsList.verticalHeader().setMinimumSectionSize(-1) |
92 self.requestsList.verticalHeader().setMinimumSectionSize(-1) |
92 |
93 |
93 self.__proxyModel = QSortFilterProxyModel(self) |
94 self.__proxyModel = QSortFilterProxyModel(self) |
94 self.__proxyModel.setFilterKeyColumn(-1) |
95 self.__proxyModel.setFilterKeyColumn(-1) |
95 self.searchEdit.textChanged.connect(self.__proxyModel.setFilterFixedString) |
96 self.searchEdit.textChanged.connect( |
|
97 self.__proxyModel.setFilterFixedString) |
96 |
98 |
97 self.removeButton.clicked[()].connect(self.requestsList.removeSelected) |
99 self.removeButton.clicked[()].connect(self.requestsList.removeSelected) |
98 self.removeAllButton.clicked[()].connect(self.requestsList.removeAll) |
100 self.removeAllButton.clicked[()].connect(self.requestsList.removeAll) |
99 |
101 |
100 self.__model = E5RequestModel(networkAccessManager, self) |
102 self.__model = E5RequestModel(networkAccessManager, self) |
101 self.__proxyModel.setSourceModel(self.__model) |
103 self.__proxyModel.setSourceModel(self.__model) |
102 self.requestsList.setModel(self.__proxyModel) |
104 self.requestsList.setModel(self.__proxyModel) |
103 self.__proxyModel.rowsInserted.connect(self.requestsList.scrollToBottom) |
105 self.__proxyModel.rowsInserted.connect( |
104 self.requestsList.selectionModel().currentChanged[QModelIndex, QModelIndex]\ |
106 self.requestsList.scrollToBottom) |
|
107 self.requestsList.selectionModel()\ |
|
108 .currentChanged[QModelIndex, QModelIndex]\ |
105 .connect(self.__currentChanged) |
109 .connect(self.__currentChanged) |
106 |
110 |
107 fm = self.fontMetrics() |
111 fm = self.fontMetrics() |
108 em = fm.width("m") |
112 em = fm.width("m") |
109 self.requestsList.horizontalHeader().resizeSection(0, em * 5) |
113 self.requestsList.horizontalHeader().resizeSection(0, em * 5) |
187 |
191 |
188 row = index.row() |
192 row = index.row() |
189 name = headerList.model().data(headerList.model().index(row, 0)) |
193 name = headerList.model().data(headerList.model().index(row, 0)) |
190 value = headerList.model().data(headerList.model().index(row, 1)) |
194 value = headerList.model().data(headerList.model().index(row, 1)) |
191 if self.__headersDlg is None: |
195 if self.__headersDlg is None: |
192 from .E5NetworkHeaderDetailsDialog import E5NetworkHeaderDetailsDialog |
196 from .E5NetworkHeaderDetailsDialog import \ |
|
197 E5NetworkHeaderDetailsDialog |
193 self.__headersDlg = E5NetworkHeaderDetailsDialog(self) |
198 self.__headersDlg = E5NetworkHeaderDetailsDialog(self) |
194 self.__headersDlg.setData(name, value) |
199 self.__headersDlg.setData(name, value) |
195 self.__headersDlg.show() |
200 self.__headersDlg.show() |
196 |
201 |
197 |
202 |
246 """ |
251 """ |
247 Private method to add a request object to the model. |
252 Private method to add a request object to the model. |
248 |
253 |
249 @param req reference to the request object (E5NetworkRequest) |
254 @param req reference to the request object (E5NetworkRequest) |
250 """ |
255 """ |
251 self.beginInsertRows(QModelIndex(), len(self.requests), len(self.requests)) |
256 self.beginInsertRows( |
|
257 QModelIndex(), len(self.requests), len(self.requests)) |
252 self.requests.append(req) |
258 self.requests.append(req) |
253 req.reply.finished[()].connect(self.__addReply) |
259 req.reply.finished[()].connect(self.__addReply) |
254 self.endInsertRows() |
260 self.endInsertRows() |
255 |
261 |
256 def __addReply(self): |
262 def __addReply(self): |
274 self.requests[offset].replyHeaders.append(( |
280 self.requests[offset].replyHeaders.append(( |
275 str(header, "utf-8"), str(reply.rawHeader(header), "utf-8"))) |
281 str(header, "utf-8"), str(reply.rawHeader(header), "utf-8"))) |
276 |
282 |
277 # save reply info to be displayed |
283 # save reply info to be displayed |
278 status = reply.attribute(QNetworkRequest.HttpStatusCodeAttribute) or 0 |
284 status = reply.attribute(QNetworkRequest.HttpStatusCodeAttribute) or 0 |
279 reason = reply.attribute(QNetworkRequest.HttpReasonPhraseAttribute) or "" |
285 reason = \ |
|
286 reply.attribute(QNetworkRequest.HttpReasonPhraseAttribute) or "" |
280 self.requests[offset].response = "{0:d} {1}".format(status, reason) |
287 self.requests[offset].response = "{0:d} {1}".format(status, reason) |
281 self.requests[offset].length = reply.header(QNetworkRequest.ContentLengthHeader) |
288 self.requests[offset].length = \ |
282 self.requests[offset].contentType = reply.header(QNetworkRequest.ContentTypeHeader) |
289 reply.header(QNetworkRequest.ContentLengthHeader) |
|
290 self.requests[offset].contentType = \ |
|
291 reply.header(QNetworkRequest.ContentTypeHeader) |
283 |
292 |
284 if status == 302: |
293 if status == 302: |
285 target = reply.attribute(QNetworkRequest.RedirectionTargetAttribute) or QUrl() |
294 target = reply.attribute( |
|
295 QNetworkRequest.RedirectionTargetAttribute) or QUrl() |
286 self.requests[offset].info = \ |
296 self.requests[offset].info = \ |
287 self.trUtf8("Redirect: {0}").format(target.toString()) |
297 self.trUtf8("Redirect: {0}").format(target.toString()) |
288 |
298 |
289 def headerData(self, section, orientation, role=Qt.DisplayRole): |
299 def headerData(self, section, orientation, role=Qt.DisplayRole): |
290 """ |
300 """ |