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