Plugins/VcsPlugins/vcsPySvn/SvnLogBrowserDialog.py

changeset 3024
17c01303a239
parent 3020
542e97d4ecb3
child 3058
0a02c433f52d
child 3160
209a07d7e401
equal deleted inserted replaced
3023:34ce20603bf7 3024:17c01303a239
108 108
109 def __resortLog(self): 109 def __resortLog(self):
110 """ 110 """
111 Private method to resort the log tree. 111 Private method to resort the log tree.
112 """ 112 """
113 self.logTree.sortItems(self.logTree.sortColumn(), 113 self.logTree.sortItems(
114 self.logTree.sortColumn(),
114 self.logTree.header().sortIndicatorOrder()) 115 self.logTree.header().sortIndicatorOrder())
115 116
116 def __resizeColumnsFiles(self): 117 def __resizeColumnsFiles(self):
117 """ 118 """
118 Private method to resize the changed files tree columns. 119 Private method to resize the changed files tree columns.
123 def __resortFiles(self): 124 def __resortFiles(self):
124 """ 125 """
125 Private method to resort the changed files tree. 126 Private method to resort the changed files tree.
126 """ 127 """
127 sortColumn = self.filesTree.sortColumn() 128 sortColumn = self.filesTree.sortColumn()
128 self.filesTree.sortItems(1, 129 self.filesTree.sortItems(
129 self.filesTree.header().sortIndicatorOrder()) 130 1, self.filesTree.header().sortIndicatorOrder())
130 self.filesTree.sortItems(sortColumn, 131 self.filesTree.sortItems(
131 self.filesTree.header().sortIndicatorOrder()) 132 sortColumn, self.filesTree.header().sortIndicatorOrder())
132 133
133 def __generateLogItem(self, author, date, message, revision, changedPaths): 134 def __generateLogItem(self, author, date, message, revision, changedPaths):
134 """ 135 """
135 Private method to generate a log tree entry. 136 Private method to generate a log tree entry.
136 137
196 @param path path of the file in the repository (string) 197 @param path path of the file in the repository (string)
197 @param copyFrom path the file was copied from (None, string) 198 @param copyFrom path the file was copied from (None, string)
198 @param copyRev revision the file was copied from (None, string) 199 @param copyRev revision the file was copied from (None, string)
199 @return reference to the generated item (QTreeWidgetItem) 200 @return reference to the generated item (QTreeWidgetItem)
200 """ 201 """
201 itm = QTreeWidgetItem(self.filesTree, 202 itm = QTreeWidgetItem(
203 self.filesTree,
202 [self.flags[action], path, copyFrom, copyRev] 204 [self.flags[action], path, copyFrom, copyRev]
203 ) 205 )
204 206
205 itm.setTextAlignment(3, Qt.AlignRight) 207 itm.setTextAlignment(3, Qt.AlignRight)
206 208
240 if fetched == 0: 242 if fetched == 0:
241 revstart = start 243 revstart = start
242 else: 244 else:
243 revstart = pysvn.Revision( 245 revstart = pysvn.Revision(
244 pysvn.opt_revision_kind.number, nextRev) 246 pysvn.opt_revision_kind.number, nextRev)
245 allLogs = self.client.log(self.fname, 247 allLogs = self.client.log(
246 revision_start=revstart, 248 self.fname, revision_start=revstart,
247 discover_changed_paths=True, 249 discover_changed_paths=True, limit=flimit + 1,
248 limit=flimit + 1, 250 strict_node_history=self.stopCheckBox.isChecked())
249 strict_node_history=self.stopCheckBox.isChecked())
250 if len(allLogs) <= flimit or self._clientCancelCallback(): 251 if len(allLogs) <= flimit or self._clientCancelCallback():
251 logs.extend(allLogs) 252 logs.extend(allLogs)
252 break 253 break
253 else: 254 else:
254 logs.extend(allLogs[:-1]) 255 logs.extend(allLogs[:-1])
255 nextRev = allLogs[-1]["revision"].number 256 nextRev = allLogs[-1]["revision"].number
256 fetched += fetchLimit 257 fetched += fetchLimit
257 locker.unlock() 258 locker.unlock()
258 259
259 for log in logs: 260 for log in logs:
260 self.__generateLogItem(log["author"], log["date"], 261 self.__generateLogItem(
261 log["message"], log["revision"], log['changed_paths']) 262 log["author"], log["date"], log["message"],
263 log["revision"], log['changed_paths'])
262 dt = dateFromTime_t(log["date"]) 264 dt = dateFromTime_t(log["date"])
263 if not self.__maxDate.isValid() and \ 265 if not self.__maxDate.isValid() and \
264 not self.__minDate.isValid(): 266 not self.__minDate.isValid():
265 self.__maxDate = dt 267 self.__maxDate = dt
266 self.__minDate = dt 268 self.__minDate = dt
362 364
363 self.filesTree.clear() 365 self.filesTree.clear()
364 changes = current.data(0, self.__changesRole) 366 changes = current.data(0, self.__changesRole)
365 if len(changes) > 0: 367 if len(changes) > 0:
366 for change in changes: 368 for change in changes:
367 self.__generateFileItem(change["action"], change["path"], 369 self.__generateFileItem(
370 change["action"], change["path"],
368 change["copyfrom_path"], change["copyfrom_revision"]) 371 change["copyfrom_path"], change["copyfrom_revision"])
369 self.__resizeColumnsFiles() 372 self.__resizeColumnsFiles()
370 self.__resortFiles() 373 self.__resortFiles()
371 374
372 self.diffPreviousButton.setEnabled( 375 self.diffPreviousButton.setEnabled(

eric ide

mercurial