12 import os |
12 import os |
13 import sys |
13 import sys |
14 |
14 |
15 import pysvn |
15 import pysvn |
16 |
16 |
17 from PyQt5.QtCore import QMutexLocker, QUrl, Qt |
17 from PyQt5.QtCore import QMutexLocker, QUrl, Qt, QByteArray, qVersion |
18 from PyQt5.QtGui import QCursor, QTextCursor |
18 from PyQt5.QtGui import QCursor, QTextCursor |
19 from PyQt5.QtWidgets import QWidget, QApplication, QDialogButtonBox |
19 from PyQt5.QtWidgets import QWidget, QApplication, QDialogButtonBox |
20 |
20 |
21 from .SvnUtilities import formatTime |
21 from .SvnUtilities import formatTime |
22 |
22 |
138 lv = "{0:d}".format( |
138 lv = "{0:d}".format( |
139 logs[logs.index(log) + 1]["revision"].number) |
139 logs[logs.index(log) + 1]["revision"].number) |
140 url = QUrl() |
140 url = QUrl() |
141 url.setScheme("file") |
141 url.setScheme("file") |
142 url.setPath(self.filename) |
142 url.setPath(self.filename) |
143 query = lv + '_' + ver |
143 if qVersion() >= "5.0.0": |
144 url.setQuery(query) |
144 query = lv + '_' + ver |
|
145 url.setQuery(query) |
|
146 else: |
|
147 query = QByteArray() |
|
148 query.append(lv).append('_').append(ver) |
|
149 url.setEncodedQuery(query) |
145 dstr += ' [<a href="{0}" name="{1}">{2}</a>]'.format( |
150 dstr += ' [<a href="{0}" name="{1}">{2}</a>]'.format( |
146 url.toString(), query, |
151 url.toString(), query, |
147 self.tr('diff to {0}').format(lv) |
152 self.tr('diff to {0}').format(lv) |
148 ) |
153 ) |
149 except IndexError: |
154 except IndexError: |
234 self.contents.setSource(QUrl('')) |
239 self.contents.setSource(QUrl('')) |
235 filename = url.path() |
240 filename = url.path() |
236 if Utilities.isWindowsPlatform(): |
241 if Utilities.isWindowsPlatform(): |
237 if filename.startswith("/"): |
242 if filename.startswith("/"): |
238 filename = filename[1:] |
243 filename = filename[1:] |
239 ver = url.query() |
244 if qVersion() >= "5.0.0": |
|
245 ver = url.query() |
|
246 else: |
|
247 ver = bytes(url.encodedQuery()).decode() |
240 v1 = ver.split('_')[0] |
248 v1 = ver.split('_')[0] |
241 v2 = ver.split('_')[1] |
249 v2 = ver.split('_')[1] |
242 if not v1 or not v2: |
250 if not v1 or not v2: |
243 return |
251 return |
244 try: |
252 try: |