Plugins/VcsPlugins/vcsMercurial/HgLogBrowserDialog.py

changeset 213
42bb97ff0bbb
parent 210
b1a204f22291
child 215
e8978dca44af
equal deleted inserted replaced
212:19785b4c1bed 213:42bb97ff0bbb
38 AuthorColumn = 3 38 AuthorColumn = 3
39 DateColumn = 4 39 DateColumn = 4
40 MessageColumn = 5 40 MessageColumn = 5
41 TagsColumn = 6 41 TagsColumn = 6
42 42
43 def __init__(self, vcs, mode = "log", parent = None): 43 def __init__(self, vcs, mode = "log", bundle = None, parent = None):
44 """ 44 """
45 Constructor 45 Constructor
46 46
47 @param vcs reference to the vcs object 47 @param vcs reference to the vcs object
48 @param mode mode of the dialog (string; one of log, incoming, outgoing) 48 @param mode mode of the dialog (string; one of log, incoming, outgoing)
49 @param bundle name of a bundle file (string)
49 @param parent parent widget (QWidget) 50 @param parent parent widget (QWidget)
50 """ 51 """
51 QDialog.__init__(self, parent) 52 QDialog.__init__(self, parent)
52 self.setupUi(self) 53 self.setupUi(self)
53 54
60 self.vcs = vcs 61 self.vcs = vcs
61 if mode in ("log", "incoming", "outgoing"): 62 if mode in ("log", "incoming", "outgoing"):
62 self.commandMode = mode 63 self.commandMode = mode
63 else: 64 else:
64 self.commandMode = "log" 65 self.commandMode = "log"
66 self.bundle = bundle
65 67
66 self.__maxDate = QDate() 68 self.__maxDate = QDate()
67 self.__minDate = QDate() 69 self.__minDate = QDate()
68 self.__filterLogsEnabled = True 70 self.__filterLogsEnabled = True
69 71
290 parents = [-1] 292 parents = [-1]
291 293
292 process = QProcess() 294 process = QProcess()
293 args = [] 295 args = []
294 args.append("parents") 296 args.append("parents")
295 if self.commandMode == "incoming" and self.vcs.bundleFile: 297 if self.commandMode == "incoming":
296 args.append("--repository") 298 if self.bundle:
297 args.append(self.vcs.bundleFile) 299 args.append("--repository")
300 args.append(self.bundle)
301 elif self.vcs.bundleFile:
302 args.append("--repository")
303 args.append(self.vcs.bundleFile)
298 args.append("--template") 304 args.append("--template")
299 args.append("{rev}\n") 305 args.append("{rev}\n")
300 args.append("-r") 306 args.append("-r")
301 args.append(rev) 307 args.append(rev)
302 if not self.projectMode: 308 if not self.projectMode:
451 if self.commandMode == "log": 457 if self.commandMode == "log":
452 args.append('--copies') 458 args.append('--copies')
453 args.append('--style') 459 args.append('--style')
454 args.append(os.path.join(os.path.dirname(__file__), "styles", "logBrowser.style")) 460 args.append(os.path.join(os.path.dirname(__file__), "styles", "logBrowser.style"))
455 if self.commandMode == "incoming": 461 if self.commandMode == "incoming":
456 project = e5App().getObject("Project") 462 if self.bundle:
457 self.vcs.bundleFile = os.path.join( 463 args.append(self.bundle)
458 project.getProjectManagementDir(), "hg-bundle.hg") 464 else:
459 args.append('--bundle') 465 project = e5App().getObject("Project")
460 args.append(self.vcs.bundleFile) 466 self.vcs.bundleFile = os.path.join(
467 project.getProjectManagementDir(), "hg-bundle.hg")
468 args.append('--bundle')
469 args.append(self.vcs.bundleFile)
461 if not self.projectMode: 470 if not self.projectMode:
462 args.append(self.filename) 471 args.append(self.filename)
463 472
464 self.process.setWorkingDirectory(self.repodir) 473 self.process.setWorkingDirectory(self.repodir)
465 474
686 if self.diff: 695 if self.diff:
687 self.diff.close() 696 self.diff.close()
688 del self.diff 697 del self.diff
689 self.diff = HgDiffDialog(self.vcs) 698 self.diff = HgDiffDialog(self.vcs)
690 self.diff.show() 699 self.diff.show()
691 self.diff.start(self.filename, [rev1, rev2]) 700 self.diff.start(self.filename, [rev1, rev2], self.bundle)
692 701
693 def on_buttonBox_clicked(self, button): 702 def on_buttonBox_clicked(self, button):
694 """ 703 """
695 Private slot called by a button of the button box clicked. 704 Private slot called by a button of the button box clicked.
696 705

eric ide

mercurial