forked from openlp/openlp
Fix themes loading performance by storing small icons.
This commit is contained in:
parent
9dc38cf289
commit
a69ba0a151
|
@ -185,6 +185,7 @@ class ThemeManager(QtGui.QWidget):
|
||||||
self.ThemeListWidget.takeItem(row)
|
self.ThemeListWidget.takeItem(row)
|
||||||
try:
|
try:
|
||||||
os.remove(os.path.join(self.path, th))
|
os.remove(os.path.join(self.path, th))
|
||||||
|
os.remove(os.path.join(self.path, u'thumbs', th))
|
||||||
shutil.rmtree(os.path.join(self.path, theme))
|
shutil.rmtree(os.path.join(self.path, theme))
|
||||||
except:
|
except:
|
||||||
#if not present do not worry
|
#if not present do not worry
|
||||||
|
@ -259,8 +260,16 @@ class ThemeManager(QtGui.QWidget):
|
||||||
self.trUtf8('default'))
|
self.trUtf8('default'))
|
||||||
else:
|
else:
|
||||||
name = textName
|
name = textName
|
||||||
|
thumb = os.path.join(self.path, u'thumbs', u'%s.png' %textName)
|
||||||
item_name = QtGui.QListWidgetItem(name)
|
item_name = QtGui.QListWidgetItem(name)
|
||||||
item_name.setIcon(build_icon(theme))
|
if os.path.exists(thumb):
|
||||||
|
icon = build_icon(thumb)
|
||||||
|
else:
|
||||||
|
icon = build_icon(theme)
|
||||||
|
pixmap = icon.pixmap(QtCore.QSize(88,50))
|
||||||
|
ext = os.path.splitext(thumb)[1].lower()
|
||||||
|
pixmap.save(thumb, ext[1:])
|
||||||
|
item_name.setIcon(icon)
|
||||||
item_name.setData(QtCore.Qt.UserRole,
|
item_name.setData(QtCore.Qt.UserRole,
|
||||||
QtCore.QVariant(textName))
|
QtCore.QVariant(textName))
|
||||||
self.ThemeListWidget.addItem(item_name)
|
self.ThemeListWidget.addItem(item_name)
|
||||||
|
@ -427,8 +436,6 @@ class ThemeManager(QtGui.QWidget):
|
||||||
if outfile:
|
if outfile:
|
||||||
outfile.close()
|
outfile.close()
|
||||||
if image_from and image_from != image_to:
|
if image_from and image_from != image_to:
|
||||||
print "if", image_from
|
|
||||||
print "it", image_to
|
|
||||||
try:
|
try:
|
||||||
shutil.copyfile(image_from, image_to)
|
shutil.copyfile(image_from, image_to)
|
||||||
except:
|
except:
|
||||||
|
@ -529,4 +536,4 @@ class ThemeManager(QtGui.QWidget):
|
||||||
theme.font_main_y = int(theme.font_main_y.strip())
|
theme.font_main_y = int(theme.font_main_y.strip())
|
||||||
#theme.theme_mode
|
#theme.theme_mode
|
||||||
theme.theme_name = theme.theme_name.strip()
|
theme.theme_name = theme.theme_name.strip()
|
||||||
#theme.theme_version
|
#theme.theme_version
|
||||||
|
|
Loading…
Reference in New Issue