Plugins/VcsPlugins/vcsPySvn/SvnLogDialog.py

changeset 3009
bf5ae5d7477d
parent 2848
15c84f1f745a
child 3057
10516539f238
child 3160
209a07d7e401
equal deleted inserted replaced
3008:7848489bcb92 3009:bf5ae5d7477d
10 import os 10 import os
11 11
12 import pysvn 12 import pysvn
13 13
14 from PyQt4.QtCore import QMutexLocker, QByteArray, QUrl, Qt 14 from PyQt4.QtCore import QMutexLocker, QByteArray, QUrl, Qt
15 from PyQt4.QtGui import QWidget, QCursor, QApplication, QTextCursor, QDialogButtonBox 15 from PyQt4.QtGui import QWidget, QCursor, QApplication, QTextCursor, \
16 QDialogButtonBox
16 17
17 from .SvnUtilities import formatTime 18 from .SvnUtilities import formatTime
18 19
19 from .SvnDialogMixin import SvnDialogMixin 20 from .SvnDialogMixin import SvnDialogMixin
20 from .Ui_SvnLogDialog import Ui_SvnLogDialog 21 from .Ui_SvnLogDialog import Ui_SvnLogDialog
129 ver = "{0:d}".format(log["revision"].number) 130 ver = "{0:d}".format(log["revision"].number)
130 dstr = '<b>{0} {1}</b>'.format(self.revString, ver) 131 dstr = '<b>{0} {1}</b>'.format(self.revString, ver)
131 if self.__pegRev is None: 132 if self.__pegRev is None:
132 self.__pegRev = int(ver) 133 self.__pegRev = int(ver)
133 try: 134 try:
134 lv = "{0:d}".format(logs[logs.index(log) + 1]["revision"].number) 135 lv = "{0:d}".format(
136 logs[logs.index(log) + 1]["revision"].number)
135 url = QUrl() 137 url = QUrl()
136 url.setScheme("file") 138 url.setScheme("file")
137 url.setPath(self.filename) 139 url.setPath(self.filename)
138 query = QByteArray() 140 query = QByteArray()
139 query.append(lv).append('_').append(ver) 141 query.append(lv).append('_').append(ver)
140 url.setEncodedQuery(query) 142 url.setEncodedQuery(query)
141 dstr += ' [<a href="{0}" name="{1}">{2}</a>]'.format( 143 dstr += ' [<a href="{0}" name="{1}">{2}</a>]'.format(
142 url.toString(), query, self.trUtf8('diff to {0}').format(lv) 144 url.toString(), query,
145 self.trUtf8('diff to {0}').format(lv)
143 ) 146 )
144 except IndexError: 147 except IndexError:
145 pass 148 pass
146 dstr += '<br />\n' 149 dstr += '<br />\n'
147 self.contents.insertHtml(dstr) 150 self.contents.insertHtml(dstr)
148 151
149 dstr = self.trUtf8('<i>author: {0}</i><br />\n').format(log["author"]) 152 dstr = self.trUtf8('<i>author: {0}</i><br />\n')\
153 .format(log["author"])
150 self.contents.insertHtml(dstr) 154 self.contents.insertHtml(dstr)
151 155
152 dstr = self.trUtf8('<i>date: {0}</i><br />\n')\ 156 dstr = self.trUtf8('<i>date: {0}</i><br />\n')\
153 .format(formatTime(log["date"])) 157 .format(formatTime(log["date"]))
154 self.contents.insertHtml(dstr) 158 self.contents.insertHtml(dstr)
164 for changeInfo in log['changed_paths']: 168 for changeInfo in log['changed_paths']:
165 dstr = '{0} {1}'\ 169 dstr = '{0} {1}'\
166 .format(self.flags[changeInfo["action"]], 170 .format(self.flags[changeInfo["action"]],
167 changeInfo["path"]) 171 changeInfo["path"])
168 if changeInfo["copyfrom_path"] is not None: 172 if changeInfo["copyfrom_path"] is not None:
169 dstr += self.trUtf8(" (copied from {0}, revision {1})")\ 173 dstr += self.trUtf8(
170 .format(changeInfo["copyfrom_path"], 174 " (copied from {0}, revision {1})")\
171 changeInfo["copyfrom_revision"].number) 175 .format(changeInfo["copyfrom_path"],
176 changeInfo["copyfrom_revision"].number)
172 dstr += '<br />\n' 177 dstr += '<br />\n'
173 self.contents.insertHtml(dstr) 178 self.contents.insertHtml(dstr)
174 179
175 self.contents.insertHtml('<hr /><br />\n') 180 self.contents.insertHtml('<hr /><br />\n')
176 except pysvn.ClientError as e: 181 except pysvn.ClientError as e:

eric ide

mercurial