Plugins/VcsPlugins/vcsMercurial/HgLogBrowserDialog.py

changeset 5488
d3729abac667
parent 5487
7ce9c29cd26f
child 5489
5c9a82215917
equal deleted inserted replaced
5487:7ce9c29cd26f 5488:d3729abac667
77 self.mainSplitter.setStretchFactor(0, 1) 77 self.mainSplitter.setStretchFactor(0, 1)
78 self.mainSplitter.setStretchFactor(1, 2) 78 self.mainSplitter.setStretchFactor(1, 2)
79 self.diffSplitter.setStretchFactor(0, 1) 79 self.diffSplitter.setStretchFactor(0, 1)
80 self.diffSplitter.setStretchFactor(1, 2) 80 self.diffSplitter.setStretchFactor(1, 2)
81 81
82 self.__position = QPoint()
83
84 if mode == "log": 82 if mode == "log":
85 self.setWindowTitle(self.tr("Mercurial Log")) 83 self.setWindowTitle(self.tr("Mercurial Log"))
86 elif mode == "incoming": 84 elif mode == "incoming":
87 self.setWindowTitle(self.tr("Mercurial Log (Incoming)")) 85 self.setWindowTitle(self.tr("Mercurial Log (Incoming)"))
88 elif mode == "outgoing": 86 elif mode == "outgoing":
366 self.process.state() != QProcess.NotRunning: 364 self.process.state() != QProcess.NotRunning:
367 self.process.terminate() 365 self.process.terminate()
368 QTimer.singleShot(2000, self.process.kill) 366 QTimer.singleShot(2000, self.process.kill)
369 self.process.waitForFinished(3000) 367 self.process.waitForFinished(3000)
370 368
371 self.__position = self.pos() 369 self.vcs.getPlugin().setPreferences(
370 "LogBrowserGeometry", self.saveGeometry())
371 self.vcs.getPlugin().setPreferences(
372 "LogBrowserSplitterStates", [
373 self.mainSplitter.saveState(),
374 self.detailsSplitter.saveState(),
375 self.diffSplitter.saveState(),
376 ]
377 )
372 378
373 e.accept() 379 e.accept()
374 380
375 def show(self): 381 def show(self):
376 """ 382 """
377 Public slot to show the dialog. 383 Public slot to show the dialog.
378 """ 384 """
379 if not self.__position.isNull(): 385 self.__reloadGeometry()
380 self.move(self.__position) 386 self.__restoreSplitterStates()
381 self.__resetUI() 387 self.__resetUI()
382 388
383 super(HgLogBrowserDialog, self).show() 389 super(HgLogBrowserDialog, self).show()
390
391 def __reloadGeometry(self):
392 """
393 Private method to restore the geometry.
394 """
395 geom = self.vcs.getPlugin().getPreferences("LogBrowserGeometry")
396 if geom.isEmpty():
397 s = QSize(1000, 800)
398 self.resize(s)
399 else:
400 self.restoreGeometry(geom)
401
402 def __restoreSplitterStates(self):
403 """
404 Private method to restore the state of the various splitters.
405 """
406 states = self.vcs.getPlugin().getPreferences(
407 "LogBrowserSplitterStates")
408 if len(states) == 3:
409 # we have three splitters
410 self.mainSplitter.restoreState(states[0])
411 self.detailsSplitter.restoreState(states[1])
412 self.diffSplitter.restoreState(states[2])
384 413
385 def __resetUI(self): 414 def __resetUI(self):
386 """ 415 """
387 Private method to reset the user interface. 416 Private method to reset the user interface.
388 """ 417 """

eric ide

mercurial