This commit is contained in:
Tim Bentley 2010-03-26 20:04:04 +00:00
commit 49ecc162ad
7 changed files with 52 additions and 28 deletions

View File

@ -505,7 +505,7 @@ class Renderer(object):
self.mainFont.setPixelSize(self._theme.font_main_proportion) self.mainFont.setPixelSize(self._theme.font_main_proportion)
def _get_extent_and_render(self, line, footer, tlcorner=(0, 0), draw=False, def _get_extent_and_render(self, line, footer, tlcorner=(0, 0), draw=False,
color=None, outline_size=None, outline_color=None): color=None, outline_size=0, outline_color=None):
""" """
Find bounding box of text - as render_single_line. If draw is set, Find bounding box of text - as render_single_line. If draw is set,
actually draw the text to the current DC as well return width and actually draw the text to the current DC as well return width and
@ -544,21 +544,23 @@ class Renderer(object):
else: else:
pen = QtGui.QColor(color) pen = QtGui.QColor(color)
x, y = tlcorner x, y = tlcorner
if outline_size: if self._theme.display_outline:
path = QtGui.QPainterPath() path = QtGui.QPainterPath()
path.addText(QtCore.QPointF(x, y + metrics.ascent()), font, line) path.addText(QtCore.QPointF(x, y + metrics.ascent()), font, line)
self.painter.setBrush(self.painter.pen().brush()) self.painter.setBrush(self.painter.pen().brush())
self.painter.setPen(QtGui.QPen(QtGui.QColor(outline_color), outline_size)) self.painter.setPen(QtGui.QPen(
QtGui.QColor(self._theme.display_outline_color), outline_size))
self.painter.drawPath(path) self.painter.drawPath(path)
self.painter.setPen(pen) self.painter.setPen(pen)
self.painter.drawText(x, y + metrics.ascent(), line) self.painter.drawText(x, y + metrics.ascent(), line)
if self._theme.display_slideTransition: if self._theme.display_slideTransition:
# Print 2nd image with 70% weight # Print 2nd image with 70% weight
if outline_size: if self._theme.display_outline:
path = QtGui.QPainterPath() path = QtGui.QPainterPath()
path.addText(QtCore.QPointF(x, y + metrics.ascent()), font, line) path.addText(QtCore.QPointF(x, y + metrics.ascent()), font, line)
self.painter2.setBrush(self.painter2.pen().brush()) self.painter2.setBrush(self.painter2.pen().brush())
self.painter2.setPen(QtGui.QPen(QtGui.QColor(outline_color), outline_size)) self.painter2.setPen(QtGui.QPen(
QtGui.QColor(self._theme.display_outline_color), outline_size))
self.painter2.drawPath(path) self.painter2.drawPath(path)
self.painter2.setFont(font) self.painter2.setFont(font)
self.painter2.setPen(pen) self.painter2.setPen(pen)

View File

@ -146,13 +146,21 @@ class Ui_AboutDialog(object):
' Jon "Meths" Tibble\n' ' Jon "Meths" Tibble\n'
'\n' '\n'
'Contributors\n' 'Contributors\n'
' Meinert "m2j" Jordan\n'
' Christian "crichter" Richter\n' ' Christian "crichter" Richter\n'
' Maikel Stuivenberg\n' ' Maikel Stuivenberg\n'
' Carsten "catini" Tingaard\n' ' Carsten "catini" Tingaard\n'
'\n' '\n'
'Testers\n' 'Testers\n'
' Wesley "wrst" Stout\n' ' Philip "Phill" Ridout\n'
' Philip "Phill" Ridout' ' Wesley "wrst" Stout (lead)\n'
'\n'
'Packagers\n'
' Thomas "tabthorpe" Abthorpe (FreeBSD)\n'
' Tim "TRB143" Bentley (Fedora)\n'
' Michael "cocooncrash" Gorven (Ubuntu)\n'
' Matthias "matthub" Hub (Mac OS X)\n'
' Raoul "superfly" Snyman (Windows)\n'
)) ))
self.AboutNotebook.setTabText( self.AboutNotebook.setTabText(
self.AboutNotebook.indexOf(self.CreditsTab), self.AboutNotebook.indexOf(self.CreditsTab),

View File

@ -149,7 +149,8 @@ class ServiceManager(QtGui.QWidget):
self.ServiceManagerList.setHeaderHidden(True) self.ServiceManagerList.setHeaderHidden(True)
self.ServiceManagerList.setExpandsOnDoubleClick(False) self.ServiceManagerList.setExpandsOnDoubleClick(False)
self.ServiceManagerList.setContextMenuPolicy(QtCore.Qt.CustomContextMenu) self.ServiceManagerList.setContextMenuPolicy(QtCore.Qt.CustomContextMenu)
self.ServiceManagerList.customContextMenuRequested.connect(self.contextMenu) QtCore.QObject.connect(self.ServiceManagerList,
QtCore.SIGNAL('customContextMenuRequested(QPoint)'), self.contextMenu)
self.ServiceManagerList.setObjectName(u'ServiceManagerList') self.ServiceManagerList.setObjectName(u'ServiceManagerList')
# enable drop # enable drop
self.ServiceManagerList.__class__.dragEnterEvent = self.dragEnterEvent self.ServiceManagerList.__class__.dragEnterEvent = self.dragEnterEvent

View File

@ -37,7 +37,7 @@ from openlp.plugins.bibles.lib.manager import BibleFormat
log = logging.getLogger(__name__) log = logging.getLogger(__name__)
class DownloadLocation(object): class WebDownload(object):
Unknown = -1 Unknown = -1
Crosswalk = 0 Crosswalk = 0
BibleGateway = 1 BibleGateway = 1
@ -282,7 +282,7 @@ class ImportWizardForm(QtGui.QWizard, Ui_BibleImportWizard):
self.setField(u'csv_booksfile', QtCore.QVariant('')) self.setField(u'csv_booksfile', QtCore.QVariant(''))
self.setField(u'csv_versefile', QtCore.QVariant('')) self.setField(u'csv_versefile', QtCore.QVariant(''))
self.setField(u'opensong_file', QtCore.QVariant('')) self.setField(u'opensong_file', QtCore.QVariant(''))
self.setField(u'web_location', QtCore.QVariant(DownloadLocation.Crosswalk)) self.setField(u'web_location', QtCore.QVariant(WebDownload.Crosswalk))
self.setField(u'web_biblename', QtCore.QVariant(self.BibleComboBox)) self.setField(u'web_biblename', QtCore.QVariant(self.BibleComboBox))
self.setField(u'proxy_server', self.setField(u'proxy_server',
QtCore.QVariant(self.config.get_config(u'proxy address', ''))) QtCore.QVariant(self.config.get_config(u'proxy address', '')))
@ -293,7 +293,7 @@ class ImportWizardForm(QtGui.QWizard, Ui_BibleImportWizard):
self.setField(u'license_version', QtCore.QVariant(self.VersionNameEdit)) self.setField(u'license_version', QtCore.QVariant(self.VersionNameEdit))
self.setField(u'license_copyright', QtCore.QVariant(self.CopyrightEdit)) self.setField(u'license_copyright', QtCore.QVariant(self.CopyrightEdit))
self.setField(u'license_permission', QtCore.QVariant(self.PermissionEdit)) self.setField(u'license_permission', QtCore.QVariant(self.PermissionEdit))
self.onLocationComboBoxChanged(DownloadLocation.Crosswalk) self.onLocationComboBoxChanged(WebDownload.Crosswalk)
def loadWebBibles(self): def loadWebBibles(self):
""" """
@ -304,14 +304,19 @@ class ImportWizardForm(QtGui.QWizard, Ui_BibleImportWizard):
filepath = os.path.join(filepath, u'bibles', u'resources') filepath = os.path.join(filepath, u'bibles', u'resources')
fbibles = None fbibles = None
try: try:
self.web_bible_list[DownloadLocation.Crosswalk] = {} self.web_bible_list[WebDownload.Crosswalk] = {}
books_file = open(os.path.join(filepath, u'crosswalkbooks.csv'), 'r') books_file = open(os.path.join(filepath, u'crosswalkbooks.csv'), 'r')
dialect = csv.Sniffer().sniff(books_file.read(1024)) dialect = csv.Sniffer().sniff(books_file.read(1024))
books_file.seek(0) books_file.seek(0)
books_reader = csv.reader(books_file, dialect) books_reader = csv.reader(books_file, dialect)
for line in books_reader: for line in books_reader:
self.web_bible_list[DownloadLocation.Crosswalk][line[0]] = \ ver = line[0]
unicode(line[1], u'utf8').strip() name = line[1]
if not isinstance(ver, unicode):
ver = unicode(ver, u'utf8')
if not isinstance(name, unicode):
name = unicode(name, u'utf8')
self.web_bible_list[WebDownload.Crosswalk][ver] = name.strip()
except: except:
log.exception(u'Crosswalk resources missing') log.exception(u'Crosswalk resources missing')
finally: finally:
@ -319,14 +324,19 @@ class ImportWizardForm(QtGui.QWizard, Ui_BibleImportWizard):
books_file.close() books_file.close()
#Load and store BibleGateway Bibles #Load and store BibleGateway Bibles
try: try:
self.web_bible_list[DownloadLocation.BibleGateway] = {} self.web_bible_list[WebDownload.BibleGateway] = {}
books_file = open(os.path.join(filepath, u'biblegateway.csv'), 'r') books_file = open(os.path.join(filepath, u'biblegateway.csv'), 'r')
dialect = csv.Sniffer().sniff(books_file.read(1024)) dialect = csv.Sniffer().sniff(books_file.read(1024))
books_file.seek(0) books_file.seek(0)
books_reader = csv.reader(books_file, dialect) books_reader = csv.reader(books_file, dialect)
for line in books_reader: for line in books_reader:
self.web_bible_list[DownloadLocation.BibleGateway][line[0]] = \ ver = line[0]
unicode(line[1], u'utf-8').strip() name = line[1]
if not isinstance(ver, unicode):
ver = unicode(ver, u'utf8')
if not isinstance(name, unicode):
name = unicode(name, u'utf8')
self.web_bible_list[WebDownload.BibleGateway][ver] = name.strip()
except: except:
log.exception(u'Biblegateway resources missing') log.exception(u'Biblegateway resources missing')
finally: finally:
@ -383,16 +393,17 @@ class ImportWizardForm(QtGui.QWizard, Ui_BibleImportWizard):
# Import a bible from the web # Import a bible from the web
self.ImportProgressBar.setMaximum(1) self.ImportProgressBar.setMaximum(1)
download_location = self.field(u'web_location').toInt()[0] download_location = self.field(u'web_location').toInt()[0]
if download_location == DownloadLocation.Crosswalk: bible_version = self.BibleComboBox.currentText()
bible = self.web_bible_list[DownloadLocation.Crosswalk][ if not isinstance(bible_version, unicode):
unicode(self.BibleComboBox.currentText(), u'utf8')] bible_version = unicode(bible_version, u'utf8')
elif download_location == DownloadLocation.BibleGateway: if download_location == WebDownload.Crosswalk:
bible = self.web_bible_list[DownloadLocation.BibleGateway][ bible = self.web_bible_list[WebDownload.Crosswalk][bible_version]
unicode(self.BibleComboBox.currentText(), u'utf8')] elif download_location == WebDownload.BibleGateway:
bible = self.web_bible_list[WebDownload.BibleGateway][bible_version]
importer = self.manager.import_bible( importer = self.manager.import_bible(
BibleFormat.WebDownload, BibleFormat.WebDownload,
name=license_version, name=license_version,
download_source=DownloadLocation.get_name(download_location), download_source=WebDownload.get_name(download_location),
download_name=bible, download_name=bible,
proxy_server=variant_to_unicode(self.field(u'proxy_server')), proxy_server=variant_to_unicode(self.field(u'proxy_server')),
proxy_username=variant_to_unicode(self.field(u'proxy_username')), proxy_username=variant_to_unicode(self.field(u'proxy_username')),

View File

@ -254,6 +254,8 @@ class BibleMediaItem(MediaManagerItem):
QtCore.QObject.connect(Receiver.get_receiver(), QtCore.QObject.connect(Receiver.get_receiver(),
QtCore.SIGNAL(u'config_updated'), self.configUpdated) QtCore.SIGNAL(u'config_updated'), self.configUpdated)
# Other stuff # Other stuff
QtCore.QObject.connect(self.QuickSearchEdit,
QtCore.SIGNAL(u'returnPressed()'), self.onQuickSearchButton)
QtCore.QObject.connect(Receiver.get_receiver(), QtCore.QObject.connect(Receiver.get_receiver(),
QtCore.SIGNAL(u'bible_showprogress'), self.onSearchProgressShow) QtCore.SIGNAL(u'bible_showprogress'), self.onSearchProgressShow)
QtCore.QObject.connect(Receiver.get_receiver(), QtCore.QObject.connect(Receiver.get_receiver(),

View File

@ -57,6 +57,8 @@ class PresentationPlugin(Plugin):
for controller in self.controllers: for controller in self.controllers:
if self.controllers[controller].enabled: if self.controllers[controller].enabled:
presentation_types.append({u'%s' % controller : self.controllers[controller].supports}) presentation_types.append({u'%s' % controller : self.controllers[controller].supports})
self.controllers[controller].start_process()
Receiver.send_message( Receiver.send_message(
u'presentation types', presentation_types) u'presentation types', presentation_types)
@ -104,8 +106,6 @@ class PresentationPlugin(Plugin):
for controller_class in controller_classes: for controller_class in controller_classes:
controller = controller_class(self) controller = controller_class(self)
self.registerControllers(controller) self.registerControllers(controller)
if controller.enabled:
controller.start_process()
if self.controllers: if self.controllers:
return True return True
else: else:

View File

@ -5,6 +5,6 @@ GenericName=Church lyrics projection
Exec=openlp Exec=openlp
Icon=openlp Icon=openlp
StartupNotify=true StartupNotify=true
Terminal=False Terminal=false
Type=Application Type=Application
Categories=AudioVideo Categories=AudioVideo;