Plugins/VcsPlugins/vcsPySvn/SvnLogBrowserDialog.py

branch
Py2 comp.
changeset 3058
0a02c433f52d
parent 3057
10516539f238
parent 3024
17c01303a239
child 3141
72f3bde98c58
equal deleted inserted replaced
3057:10516539f238 3058:0a02c433f52d
110 110
111 def __resortLog(self): 111 def __resortLog(self):
112 """ 112 """
113 Private method to resort the log tree. 113 Private method to resort the log tree.
114 """ 114 """
115 self.logTree.sortItems(self.logTree.sortColumn(), 115 self.logTree.sortItems(
116 self.logTree.sortColumn(),
116 self.logTree.header().sortIndicatorOrder()) 117 self.logTree.header().sortIndicatorOrder())
117 118
118 def __resizeColumnsFiles(self): 119 def __resizeColumnsFiles(self):
119 """ 120 """
120 Private method to resize the changed files tree columns. 121 Private method to resize the changed files tree columns.
125 def __resortFiles(self): 126 def __resortFiles(self):
126 """ 127 """
127 Private method to resort the changed files tree. 128 Private method to resort the changed files tree.
128 """ 129 """
129 sortColumn = self.filesTree.sortColumn() 130 sortColumn = self.filesTree.sortColumn()
130 self.filesTree.sortItems(1, 131 self.filesTree.sortItems(
131 self.filesTree.header().sortIndicatorOrder()) 132 1, self.filesTree.header().sortIndicatorOrder())
132 self.filesTree.sortItems(sortColumn, 133 self.filesTree.sortItems(
133 self.filesTree.header().sortIndicatorOrder()) 134 sortColumn, self.filesTree.header().sortIndicatorOrder())
134 135
135 def __generateLogItem(self, author, date, message, revision, changedPaths): 136 def __generateLogItem(self, author, date, message, revision, changedPaths):
136 """ 137 """
137 Private method to generate a log tree entry. 138 Private method to generate a log tree entry.
138 139
198 @param path path of the file in the repository (string) 199 @param path path of the file in the repository (string)
199 @param copyFrom path the file was copied from (None, string) 200 @param copyFrom path the file was copied from (None, string)
200 @param copyRev revision the file was copied from (None, string) 201 @param copyRev revision the file was copied from (None, string)
201 @return reference to the generated item (QTreeWidgetItem) 202 @return reference to the generated item (QTreeWidgetItem)
202 """ 203 """
203 itm = QTreeWidgetItem(self.filesTree, 204 itm = QTreeWidgetItem(
205 self.filesTree,
204 [self.flags[action], path, copyFrom, copyRev] 206 [self.flags[action], path, copyFrom, copyRev]
205 ) 207 )
206 208
207 itm.setTextAlignment(3, Qt.AlignRight) 209 itm.setTextAlignment(3, Qt.AlignRight)
208 210
242 if fetched == 0: 244 if fetched == 0:
243 revstart = start 245 revstart = start
244 else: 246 else:
245 revstart = pysvn.Revision( 247 revstart = pysvn.Revision(
246 pysvn.opt_revision_kind.number, nextRev) 248 pysvn.opt_revision_kind.number, nextRev)
247 allLogs = self.client.log(self.fname, 249 allLogs = self.client.log(
248 revision_start=revstart, 250 self.fname, revision_start=revstart,
249 discover_changed_paths=True, 251 discover_changed_paths=True, limit=flimit + 1,
250 limit=flimit + 1, 252 strict_node_history=self.stopCheckBox.isChecked())
251 strict_node_history=self.stopCheckBox.isChecked())
252 if len(allLogs) <= flimit or self._clientCancelCallback(): 253 if len(allLogs) <= flimit or self._clientCancelCallback():
253 logs.extend(allLogs) 254 logs.extend(allLogs)
254 break 255 break
255 else: 256 else:
256 logs.extend(allLogs[:-1]) 257 logs.extend(allLogs[:-1])
257 nextRev = allLogs[-1]["revision"].number 258 nextRev = allLogs[-1]["revision"].number
258 fetched += fetchLimit 259 fetched += fetchLimit
259 locker.unlock() 260 locker.unlock()
260 261
261 for log in logs: 262 for log in logs:
262 self.__generateLogItem(log["author"], log["date"], 263 self.__generateLogItem(
263 log["message"], log["revision"], log['changed_paths']) 264 log["author"], log["date"], log["message"],
265 log["revision"], log['changed_paths'])
264 dt = dateFromTime_t(log["date"]) 266 dt = dateFromTime_t(log["date"])
265 if not self.__maxDate.isValid() and \ 267 if not self.__maxDate.isValid() and \
266 not self.__minDate.isValid(): 268 not self.__minDate.isValid():
267 self.__maxDate = dt 269 self.__maxDate = dt
268 self.__minDate = dt 270 self.__minDate = dt
364 366
365 self.filesTree.clear() 367 self.filesTree.clear()
366 changes = current.data(0, self.__changesRole) 368 changes = current.data(0, self.__changesRole)
367 if len(changes) > 0: 369 if len(changes) > 0:
368 for change in changes: 370 for change in changes:
369 self.__generateFileItem(change["action"], change["path"], 371 self.__generateFileItem(
372 change["action"], change["path"],
370 change["copyfrom_path"], change["copyfrom_revision"]) 373 change["copyfrom_path"], change["copyfrom_revision"])
371 self.__resizeColumnsFiles() 374 self.__resizeColumnsFiles()
372 self.__resortFiles() 375 self.__resortFiles()
373 376
374 self.diffPreviousButton.setEnabled( 377 self.diffPreviousButton.setEnabled(
442 """ 445 """
443 Private slot to show an error message. 446 Private slot to show an error message.
444 447
445 @param msg error message to show (string) 448 @param msg error message to show (string)
446 """ 449 """
447 E5MessageBox.critical(self, 450 E5MessageBox.critical(
451 self,
448 self.trUtf8("Subversion Error"), 452 self.trUtf8("Subversion Error"),
449 msg) 453 msg)
450 454
451 @pyqtSlot(QDate) 455 @pyqtSlot(QDate)
452 def on_fromDate_dateChanged(self, date): 456 def on_fromDate_dateChanged(self, date):

eric ide

mercurial