106 self.requestsList.selectionModel().currentChanged[QModelIndex, QModelIndex]\ |
108 self.requestsList.selectionModel().currentChanged[QModelIndex, QModelIndex]\ |
107 .connect(self.__currentChanged) |
109 .connect(self.__currentChanged) |
108 |
110 |
109 fm = self.fontMetrics() |
111 fm = self.fontMetrics() |
110 em = fm.width("m") |
112 em = fm.width("m") |
111 self.requestsList.horizontalHeader().resizeSection(0, em * 5) |
113 self.requestsList.horizontalHeader().resizeSection(0, em * 5) |
112 self.requestsList.horizontalHeader().resizeSection(1, em * 20) |
114 self.requestsList.horizontalHeader().resizeSection(1, em * 20) |
113 self.requestsList.horizontalHeader().resizeSection(3, em * 5) |
115 self.requestsList.horizontalHeader().resizeSection(3, em * 5) |
114 self.requestsList.horizontalHeader().resizeSection(4, em * 15) |
116 self.requestsList.horizontalHeader().resizeSection(4, em * 15) |
115 |
117 |
116 self.__headersDlg = None |
118 self.__headersDlg = None |
117 |
119 |
118 def closeEvent(self, evt): |
120 def closeEvent(self, evt): |
149 req = self.__model.requests[row].request |
151 req = self.__model.requests[row].request |
150 |
152 |
151 for header in req.rawHeaderList(): |
153 for header in req.rawHeaderList(): |
152 self.__requestHeaders.insertRows(0, 1, QModelIndex()) |
154 self.__requestHeaders.insertRows(0, 1, QModelIndex()) |
153 self.__requestHeaders.setData( |
155 self.__requestHeaders.setData( |
154 self.__requestHeaders.index(0, 0), |
156 self.__requestHeaders.index(0, 0), |
155 str(header, "utf-8")) |
157 str(header, "utf-8")) |
156 self.__requestHeaders.setData( |
158 self.__requestHeaders.setData( |
157 self.__requestHeaders.index(0, 1), |
159 self.__requestHeaders.index(0, 1), |
158 str(req.rawHeader(header), "utf-8")) |
160 str(req.rawHeader(header), "utf-8")) |
159 self.__requestHeaders.item(0, 0).setFlags( |
161 self.__requestHeaders.item(0, 0).setFlags( |
160 Qt.ItemIsSelectable | Qt.ItemIsEnabled) |
162 Qt.ItemIsSelectable | Qt.ItemIsEnabled) |
161 self.__requestHeaders.item(0, 1).setFlags( |
163 self.__requestHeaders.item(0, 1).setFlags( |
162 Qt.ItemIsSelectable | Qt.ItemIsEnabled) |
164 Qt.ItemIsSelectable | Qt.ItemIsEnabled) |
163 |
165 |
164 for header in self.__model.requests[row].replyHeaders: |
166 for header in self.__model.requests[row].replyHeaders: |
165 self.__replyHeaders.insertRows(0, 1, QModelIndex()) |
167 self.__replyHeaders.insertRows(0, 1, QModelIndex()) |
166 self.__replyHeaders.setData( |
168 self.__replyHeaders.setData( |
167 self.__replyHeaders.index(0, 0), |
169 self.__replyHeaders.index(0, 0), |
168 header[0]) |
170 header[0]) |
169 self.__replyHeaders.setData( |
171 self.__replyHeaders.setData( |
170 self.__replyHeaders.index(0, 1), |
172 self.__replyHeaders.index(0, 1), |
171 header[1]) |
173 header[1]) |
172 self.__replyHeaders.item(0, 0).setFlags( |
174 self.__replyHeaders.item(0, 0).setFlags( |
173 Qt.ItemIsSelectable | Qt.ItemIsEnabled) |
175 Qt.ItemIsSelectable | Qt.ItemIsEnabled) |
174 self.__replyHeaders.item(0, 1).setFlags( |
176 self.__replyHeaders.item(0, 1).setFlags( |
175 Qt.ItemIsSelectable | Qt.ItemIsEnabled) |
177 Qt.ItemIsSelectable | Qt.ItemIsEnabled) |
193 if self.__headersDlg is None: |
195 if self.__headersDlg is None: |
194 self.__headersDlg = E5NetworkHeaderDetailsDialog(self) |
196 self.__headersDlg = E5NetworkHeaderDetailsDialog(self) |
195 self.__headersDlg.setData(name, value) |
197 self.__headersDlg.setData(name, value) |
196 self.__headersDlg.show() |
198 self.__headersDlg.show() |
197 |
199 |
|
200 |
198 class E5RequestModel(QAbstractTableModel): |
201 class E5RequestModel(QAbstractTableModel): |
199 """ |
202 """ |
200 Class implementing a model storing request objects. |
203 Class implementing a model storing request objects. |
201 """ |
204 """ |
202 def __init__(self, networkAccessManager, parent = None): |
205 def __init__(self, networkAccessManager, parent=None): |
203 """ |
206 """ |
204 Constructor |
207 Constructor |
205 |
208 |
206 @param networkAccessManager reference to the network access manager |
209 @param networkAccessManager reference to the network access manager |
207 (QNetworkAccessManager) |
210 (QNetworkAccessManager) |
208 @param parent reference to the parent object (QObject) |
211 @param parent reference to the parent object (QObject) |
209 """ |
212 """ |
210 QAbstractTableModel.__init__(self, parent) |
213 QAbstractTableModel.__init__(self, parent) |
211 |
214 |
212 self.__headerData = [ |
215 self.__headerData = [ |
213 self.trUtf8("Method"), |
216 self.trUtf8("Method"), |
214 self.trUtf8("Address"), |
217 self.trUtf8("Address"), |
215 self.trUtf8("Response"), |
218 self.trUtf8("Response"), |
216 self.trUtf8("Length"), |
219 self.trUtf8("Length"), |
217 self.trUtf8("Content Type"), |
220 self.trUtf8("Content Type"), |
218 self.trUtf8("Info"), |
221 self.trUtf8("Info"), |
219 ] |
222 ] |
220 |
223 |
221 self.__operations = { |
224 self.__operations = { |
222 QNetworkAccessManager.HeadOperation : "HEAD", |
225 QNetworkAccessManager.HeadOperation: "HEAD", |
223 QNetworkAccessManager.GetOperation : "GET", |
226 QNetworkAccessManager.GetOperation: "GET", |
224 QNetworkAccessManager.PutOperation : "PUT", |
227 QNetworkAccessManager.PutOperation: "PUT", |
225 QNetworkAccessManager.PostOperation : "POST", |
228 QNetworkAccessManager.PostOperation: "POST", |
226 } |
229 } |
227 |
230 |
228 self.requests = [] |
231 self.requests = [] |
229 networkAccessManager\ |
232 networkAccessManager\ |
230 .requestCreated[QNetworkAccessManager.Operation, QNetworkRequest, QNetworkReply]\ |
233 .requestCreated[QNetworkAccessManager.Operation, QNetworkRequest, QNetworkReply]\ |
286 if status == 302: |
289 if status == 302: |
287 target = reply.attribute(QNetworkRequest.RedirectionTargetAttribute) or QUrl() |
290 target = reply.attribute(QNetworkRequest.RedirectionTargetAttribute) or QUrl() |
288 self.requests[offset].info = \ |
291 self.requests[offset].info = \ |
289 self.trUtf8("Redirect: {0}").format(target.toString()) |
292 self.trUtf8("Redirect: {0}").format(target.toString()) |
290 |
293 |
291 def headerData(self, section, orientation, role = Qt.DisplayRole): |
294 def headerData(self, section, orientation, role=Qt.DisplayRole): |
292 """ |
295 """ |
293 Public method to get header data from the model. |
296 Public method to get header data from the model. |
294 |
297 |
295 @param section section number (integer) |
298 @param section section number (integer) |
296 @param orientation orientation (Qt.Orientation) |
299 @param orientation orientation (Qt.Orientation) |
300 if orientation == Qt.Horizontal and role == Qt.DisplayRole: |
303 if orientation == Qt.Horizontal and role == Qt.DisplayRole: |
301 return self.__headerData[section] |
304 return self.__headerData[section] |
302 |
305 |
303 return QAbstractTableModel.headerData(self, section, orientation, role) |
306 return QAbstractTableModel.headerData(self, section, orientation, role) |
304 |
307 |
305 def data(self, index, role = Qt.DisplayRole): |
308 def data(self, index, role=Qt.DisplayRole): |
306 """ |
309 """ |
307 Public method to get data from the model. |
310 Public method to get data from the model. |
308 |
311 |
309 @param index index to get data for (QModelIndex) |
312 @param index index to get data for (QModelIndex) |
310 @param role role of the data to retrieve (integer) |
313 @param role role of the data to retrieve (integer) |