by
Changes to 5 files · Browse files at 2479f89fa4a2 Showing diff from parent 717bc5021644 ed76a165ba55 Diff from another changeset...
@@ -438,11 +438,10 @@ self.tableView_revisions_left.resizeColumns()
self.tableView_revisions_right.resizeColumns()
if self._show_rev is not None:
- rev = self._show_rev
+ self.goto(self._show_rev)
self._show_rev = None
- else:
- rev = self.filerevmodel.graph[0].rev
- self.goto(rev)
+ elif len(self.filerevmodel.graph):
+ self.goto(self.filerevmodel.graph[0].rev)
def onRevisionSelected(self, rev):
if rev is None or rev not in self.filerevmodel.graph.nodesdict:
|
@@ -27,6 +27,8 @@ """
Model used for listing (modified) files of a given Hg revision
"""
+ showMessage = pyqtSignal(QString)
+
def __init__(self, parent):
QAbstractTableModel.__init__(self, parent)
self._boldfont = parent.font()
@@ -128,11 +130,14 @@
def loadFiles(self):
self._files = []
- self._files = self._buildDesc(0)
- if bool(self._ctx.p2()):
- _paths = [x['path'] for x in self._files]
- _files = self._buildDesc(1)
- self._files += [x for x in _files if x['path'] not in _paths]
+ try:
+ self._files = self._buildDesc(0)
+ if bool(self._ctx.p2()):
+ _paths = [x['path'] for x in self._files]
+ _files = self._buildDesc(1)
+ self._files += [x for x in _files if x['path'] not in _paths]
+ except EnvironmentError, e:
+ self.showMessage.emit(hglib.tounicode(str(e)))
self._filesdict = dict([(f['path'], f) for f in self._files])
def data(self, index, role):
|
@@ -697,9 +697,12 @@
def reload(self):
'Initiate a refresh of the repo model, rebuild graph'
- self.repo.thginvalidate()
- self.rebuildGraph()
- self.reloadTaskTab()
+ try:
+ self.repo.thginvalidate()
+ self.rebuildGraph()
+ self.reloadTaskTab()
+ except EnvironmentError, e:
+ self.showMessage(hglib.tounicode(str(e)))
def rebuildGraph(self):
'Called by repositoryChanged signals, and during reload'
@@ -860,9 +863,12 @@ return False
s = QSettings()
if self.isVisible():
- repoid = str(self.repo[0])
- s.setValue('repowidget/splitter-'+repoid,
- self.repotabs_splitter.saveState())
+ try:
+ repoid = str(self.repo[0])
+ s.setValue('repowidget/splitter-'+repoid,
+ self.repotabs_splitter.saveState())
+ except EnvironmentError:
+ pass
self.revDetailsWidget.saveSettings(s)
self.commitDemand.forward('saveSettings', s, 'workbench')
self.manifestDemand.forward('saveSettings', s, 'workbench')
|
@@ -184,6 +184,7 @@
def setupModels(self):
self.filelistmodel = model = HgFileListModel(self)
+ self.filelistmodel.showMessage.connect(self.showMessage)
self.filelist.setModel(model)
self.actionShowAllMerge.toggled.connect(model.toggleFullFileList)
|
@@ -750,29 +750,30 @@
class StatusType(object):
preferredOrder = 'MAR!?ICS'
- def __init__(self, name, icon, desc, uilabel):
+ def __init__(self, name, icon, desc, uilabel, trname):
self.name = name
self.icon = icon
self.desc = desc
self.uilabel = uilabel
+ self.trname = trname
statusTypes = {
'M' : StatusType('modified', 'menucommit.ico', _('%s is modified'),
- 'status.modified'),
+ 'status.modified', _('modified')),
'A' : StatusType('added', 'fileadd.ico', _('%s is added'),
- 'status.added'),
+ 'status.added', _('added')),
'R' : StatusType('removed', 'filedelete.ico', _('%s is removed'),
- 'status.removed'),
+ 'status.removed', _('removed')),
'?' : StatusType('unknown', 'shelve.ico', _('%s is not tracked (unknown)'),
- 'status.unknown'),
+ 'status.unknown', _('unknown')),
'!' : StatusType('deleted', 'menudelete.ico', _('%s is missing!'),
- 'status.deleted'),
+ 'status.deleted', _('deleted')),
'I' : StatusType('ignored', 'ignore.ico', _('%s is ignored'),
- 'status.ignored'),
+ 'status.ignored', _('ignored')),
'C' : StatusType('clean', '', _('%s is not modified (clean)'),
- 'status.clean'),
+ 'status.clean', _('clean')),
'S' : StatusType('subrepo', 'hg.ico', _('%s is a dirty subrepo'),
- 'status.subrepo'),
+ 'status.subrepo', _('subrepo')),
}
@@ -798,7 +799,7 @@ menu = QMenu(self)
for c in self._TYPES:
st = statusTypes[c]
- a = menu.addAction('%s %s' % (c, st.name))
+ a = menu.addAction('%s %s' % (c, st.trname))
a.setCheckable(True)
a.setChecked(c in text)
a.toggled.connect(self._update)
|
Loading...