18
18
# <https://github.com/goinnn/Kate-plugins/blob/master/kate_plugins/pyte_plugins/check_plugins/commons.py>
23
from PyKDE4.kdecore import i18n
25
from PyKDE4.kdecore import i18n, i18nc
24
26
from PyKDE4.ktexteditor import KTextEditor
27
29
ENCODING_TRANSLATIONS = 'latin-1'
30
class PythonVersionException(Exception):
34
def needs_python_version(major, minor=None, micro=None, text=''):
35
if major != sys.version_info.major:
36
raise PythonVersionException(text)
37
elif minor and minor != sys.version_info.minor:
38
raise PythonVersionException(text)
39
elif micro and micro != sys.version_info.micro:
40
raise PythonVersionException(text)
43
def needs_packages(packages):
44
msg = i18n("You need install the following packages:\n").encode(ENCODING_TRANSLATIONS)
46
for package, version in packages.items():
52
package = version.split('==')[0]
53
version = version.split('==')[1]
54
msg += i18n("\t%1. Use easy_install (or pip install) %1==%2", package, version).encode(ENCODING_TRANSLATIONS)
56
raise ImportError(msg)
59
32
def clearMarksOfError(doc, mark_iface):
60
33
for line in range(doc.lines()):
61
34
if mark_iface.mark(line) == mark_iface.Error:
62
35
mark_iface.removeMark(line, mark_iface.Error)
66
mainWindow = kate.mainWindow()
67
popups = kate.gui.TimeoutPassivePopup.popups.get(mainWindow, []) or []
71
popup.setFixedHeight(0)
73
popup.originalHeight = popup.height()
74
popup.offsetBottom = 0
78
def showErrors(message, errors, key_mark, doc, time=10, icon='dialog-warning',
38
def showErrors(message, errors, key_mark, doc, icon='dialog-warning',
79
39
key_line='line', key_column='column',
80
40
max_errors=3, show_popup=True, move_cursor=False):
81
41
mark_iface = doc.markInterface()
111
71
message = '%s\n%s' % (message, '\n'.join(messages_show))
112
72
if len(messages_show) < len(errors):
113
73
message += i18n('\n\nAnd other errors')
114
showError(message, time, icon, minTextWidth=300)
117
def showError(message="error", time=10, icon="dialog-warning", minTextWidth=300):
118
kate.gui.popup(message, time, icon, minTextWidth=300)
121
def showOk(message="Ok", time=3, icon='dialog-ok'):
122
kate.gui.popup(message, time, icon='dialog-ok', minTextWidth=200)
74
showError(message, icon)
77
def showError(message="error", icon="dialog-warning"):
78
kate.ui.popup(i18nc('@title:window', 'Error'), message, icon)
81
def showOk(message="Ok", icon='dialog-ok'):
82
kate.ui.popup(i18nc('@title:window', 'Success'), message, icon)
125
85
def _compress_key(line, column):