From 6744815f77528db6441a9205807464e3634941ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Jastrz=C4=99bski?= Date: Wed, 10 Jul 2013 08:24:13 +0200 Subject: [PATCH] Fixed JobList scroll bars --- kcc/KCC_gui.py | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/kcc/KCC_gui.py b/kcc/KCC_gui.py index 75b44db..b32ad7a 100644 --- a/kcc/KCC_gui.py +++ b/kcc/KCC_gui.py @@ -33,6 +33,7 @@ from image import ProfileData from subprocess import call, Popen, STDOUT, PIPE from PyQt4 import QtGui, QtCore from xml.dom.minidom import parse +from HTMLParser import HTMLParser class Icons: @@ -57,6 +58,19 @@ class Icons: self.error.addPixmap(QtGui.QPixmap(":/Status/icons/error.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) +class HTMLStripper(HTMLParser): + def __init__(self): + HTMLParser.__init__(self) + self.reset() + self.fed = [] + + def handle_data(self, d): + self.fed.append(d) + + def get_data(self): + return ''.join(self.fed) + + # noinspection PyBroadException class VersionThread(QtCore.QThread): def __init__(self, parent): @@ -343,15 +357,22 @@ class Ui_KCC(object): else: GUI.QualityBox.setEnabled(True) + def stripTags(self, html): + s = HTMLStripper() + s.feed(html) + return s.get_data() + def addMessage(self, message, icon=None, replace=False): if icon: icon = eval('self.icons.' + icon) - item = QtGui.QListWidgetItem(icon, '') + item = QtGui.QListWidgetItem(icon, self.stripTags(message)) else: - item = QtGui.QListWidgetItem('') + item = QtGui.QListWidgetItem(self.stripTags(message)) if replace: GUI.JobList.takeItem(GUI.JobList.count()-1) label = QtGui.QLabel(message) + label.setOpenExternalLinks(True) + item.setTextColor(QtGui.QColor("white")) GUI.JobList.addItem(item) GUI.JobList.setItemWidget(item, label) GUI.JobList.scrollToBottom()