Theme Preview in ThemeTab

This commit is contained in:
Tim Bentley 2009-05-18 20:47:18 +01:00
parent 47c0b69d36
commit 3ba6733f14
3 changed files with 16 additions and 6 deletions

View File

@ -44,8 +44,6 @@ def traceit(frame, event, arg):
print "%s:%s: %s" % (name, lineno, line.rstrip()) print "%s:%s: %s" % (name, lineno, line.rstrip())
return traceit return traceit
class RenderManager: class RenderManager:
""" """
Class to pull all Renderer interactions into one place. Class to pull all Renderer interactions into one place.

View File

@ -367,3 +367,7 @@ class ThemeManager(QWidget):
frame = self.RenderManager.generate_preview(themedata) frame = self.RenderManager.generate_preview(themedata)
return frame return frame
def getPreviewImage(self, theme):
log.debug(u'getPreviewImage %s ', theme)
image = os.path.join(self.path, theme + u'.png')
return image

View File

@ -3,7 +3,7 @@
""" """
OpenLP - Open Source Lyrics Projection OpenLP - Open Source Lyrics Projection
Copyright (c) 2008 Raoul Snyman Copyright (c) 2008 Raoul Snyman
Portions copyright (c) 2008 Martin Thompson, Tim Bentley, Portions copyright (c) 2008-2009 Martin Thompson, Tim Bentley,
This program is free software; you can redistribute it and/or modify it under This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software the terms of the GNU General Public License as published by the Free Software
@ -22,7 +22,6 @@ from PyQt4 import QtCore, QtGui
from openlp.core import translate from openlp.core import translate
from openlp.core.lib import SettingsTab from openlp.core.lib import SettingsTab
from openlp.core.resources import *
class ThemesTab(SettingsTab): class ThemesTab(SettingsTab):
""" """
@ -101,6 +100,8 @@ class ThemesTab(SettingsTab):
QtCore.QObject.connect(self.DefaultComboBox, QtCore.QObject.connect(self.DefaultComboBox,
QtCore.SIGNAL("activated(int)"), self.onDefaultComboBoxChanged) QtCore.SIGNAL("activated(int)"), self.onDefaultComboBoxChanged)
#self.DefaultListView.setScaledContents(True)
def retranslateUi(self): def retranslateUi(self):
self.GlobalGroupBox.setTitle(translate(u'ThemesTab', u'Global theme')) self.GlobalGroupBox.setTitle(translate(u'ThemesTab', u'Global theme'))
self.LevelGroupBox.setTitle(translate(u'ThemesTab', u'Theme level')) self.LevelGroupBox.setTitle(translate(u'ThemesTab', u'Theme level'))
@ -140,6 +141,10 @@ class ThemesTab(SettingsTab):
def onDefaultComboBoxChanged(self, value): def onDefaultComboBoxChanged(self, value):
self.global_theme = self.DefaultComboBox.currentText() self.global_theme = self.DefaultComboBox.currentText()
self.parent.RenderManager.set_global_theme(self.global_theme, self.global_style) self.parent.RenderManager.set_global_theme(self.global_theme, self.global_style)
image = self.parent.ThemeManagerContents.getPreviewImage(str(self.global_theme))
preview = QtGui.QPixmap(str(image))
display = preview.scaled(300, 255, QtCore.Qt.KeepAspectRatio, QtCore.Qt.SmoothTransformation)
self.DefaultListView.setPixmap(display)
def updateThemeList(self, theme_list): def updateThemeList(self, theme_list):
""" """
@ -154,5 +159,8 @@ class ThemesTab(SettingsTab):
self.global_theme = u'' self.global_theme = u''
self.DefaultComboBox.setCurrentIndex(id) self.DefaultComboBox.setCurrentIndex(id)
self.parent.RenderManager.set_global_theme(self.global_theme, self.global_style) self.parent.RenderManager.set_global_theme(self.global_theme, self.global_style)
if self.global_theme is not u'':
image = self.parent.ThemeManagerContents.getPreviewImage(str(self.global_theme))
preview = QtGui.QPixmap(str(image))
display = preview.scaled(300, 255, QtCore.Qt.KeepAspectRatio, QtCore.Qt.SmoothTransformation)
self.DefaultListView.setPixmap(display)