forked from openlp/openlp
Head r1829
This commit is contained in:
commit
1184e198db
@ -113,10 +113,10 @@ sup {
|
||||
document.getElementById('lyricsmain').style.visibility = lyrics;
|
||||
document.getElementById('image').style.visibility = lyrics;
|
||||
outline = document.getElementById('lyricsoutline')
|
||||
if(outline!=null)
|
||||
if(outline != null)
|
||||
outline.style.visibility = lyrics;
|
||||
shadow = document.getElementById('lyricsshadow')
|
||||
if(shadow!=null)
|
||||
if(shadow != null)
|
||||
shadow.style.visibility = lyrics;
|
||||
document.getElementById('footer').style.visibility = lyrics;
|
||||
}
|
||||
@ -129,10 +129,28 @@ sup {
|
||||
var match = /-webkit-text-fill-color:[^;\"]+/gi;
|
||||
if(timer != null)
|
||||
clearTimeout(timer);
|
||||
/*
|
||||
QtWebkit bug with outlines and justify causing outline alignment
|
||||
problems. (Bug 859950) Surround each word with a <span> to workaround,
|
||||
but only in this scenario.
|
||||
*/
|
||||
var txt = document.getElementById('lyricsmain');
|
||||
if(window.getComputedStyle(txt).textAlign == 'justify'){
|
||||
var outline = document.getElementById('lyricsoutline');
|
||||
if(outline != null)
|
||||
txt = outline;
|
||||
if(window.getComputedStyle(txt).webkitTextStrokeWidth != '0px'){
|
||||
newtext = newtext.replace(/(\s| )+(?![^<]*>)/g,
|
||||
function(match) {
|
||||
return '</span>' + match + '<span>';
|
||||
});
|
||||
newtext = '<span>' + newtext + '</span>';
|
||||
}
|
||||
}
|
||||
text_fade('lyricsmain', newtext);
|
||||
text_fade('lyricsoutline', newtext);
|
||||
text_fade('lyricsshadow', newtext.replace(match, ""));
|
||||
if(text_opacity()==1) return;
|
||||
text_fade('lyricsshadow', newtext.replace(match, ''));
|
||||
if(text_opacity() == 1) return;
|
||||
timer = setTimeout(function(){
|
||||
show_text(newtext);
|
||||
}, 100);
|
||||
@ -149,18 +167,18 @@ sup {
|
||||
slides) still looks pretty and is zippy.
|
||||
*/
|
||||
var text = document.getElementById(id);
|
||||
if(text==null) return;
|
||||
if(text == null) return;
|
||||
if(!transition){
|
||||
text.innerHTML = newtext;
|
||||
return;
|
||||
}
|
||||
if(newtext==text.innerHTML){
|
||||
if(newtext == text.innerHTML){
|
||||
text.style.opacity = parseFloat(text.style.opacity) + 0.3;
|
||||
if(text.style.opacity>0.7)
|
||||
if(text.style.opacity > 0.7)
|
||||
text.style.opacity = 1;
|
||||
} else {
|
||||
text.style.opacity = parseFloat(text.style.opacity) - 0.3;
|
||||
if(text.style.opacity<=0.1){
|
||||
if(text.style.opacity <= 0.1){
|
||||
text.innerHTML = newtext;
|
||||
}
|
||||
}
|
||||
@ -172,7 +190,7 @@ sup {
|
||||
}
|
||||
|
||||
function show_text_complete(){
|
||||
return (text_opacity()==1);
|
||||
return (text_opacity() == 1);
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
|
@ -91,8 +91,9 @@ class Plugin(QtCore.QObject):
|
||||
``checkPreConditions()``
|
||||
Provides the Plugin with a handle to check if it can be loaded.
|
||||
|
||||
``getMediaManagerItem()``
|
||||
Returns an instance of MediaManagerItem to be used in the Media Manager.
|
||||
``createMediaManagerItem()``
|
||||
Creates a new instance of MediaManagerItem to be used in the Media
|
||||
Manager.
|
||||
|
||||
``addImportMenuItem(import_menu)``
|
||||
Add an item to the Import menu.
|
||||
@ -100,8 +101,8 @@ class Plugin(QtCore.QObject):
|
||||
``addExportMenuItem(export_menu)``
|
||||
Add an item to the Export menu.
|
||||
|
||||
``getSettingsTab()``
|
||||
Returns an instance of SettingsTabItem to be used in the Settings
|
||||
``createSettingsTab()``
|
||||
Creates a new instance of SettingsTabItem to be used in the Settings
|
||||
dialog.
|
||||
|
||||
``addToMenu(menubar)``
|
||||
@ -156,10 +157,10 @@ class Plugin(QtCore.QObject):
|
||||
self.icon = None
|
||||
self.media_item_class = media_item_class
|
||||
self.settings_tab_class = settings_tab_class
|
||||
self.settings_tab = None
|
||||
self.mediaItem = None
|
||||
self.weight = 0
|
||||
self.status = PluginStatus.Inactive
|
||||
# Set up logging
|
||||
self.log = logging.getLogger(self.name)
|
||||
self.previewController = plugin_helpers[u'preview']
|
||||
self.liveController = plugin_helpers[u'live']
|
||||
self.renderer = plugin_helpers[u'renderer']
|
||||
@ -178,7 +179,7 @@ class Plugin(QtCore.QObject):
|
||||
Provides the Plugin with a handle to check if it can be loaded.
|
||||
Failing Preconditions does not stop a settings Tab being created
|
||||
|
||||
Returns True or False.
|
||||
Returns ``True`` or ``False``.
|
||||
"""
|
||||
return True
|
||||
|
||||
@ -210,15 +211,14 @@ class Plugin(QtCore.QObject):
|
||||
"""
|
||||
return self.status == PluginStatus.Active
|
||||
|
||||
def getMediaManagerItem(self):
|
||||
def createMediaManagerItem(self):
|
||||
"""
|
||||
Construct a MediaManagerItem object with all the buttons and things
|
||||
you need, and return it for integration into openlp.org.
|
||||
you need, and return it for integration into OpenLP.
|
||||
"""
|
||||
if self.media_item_class:
|
||||
return self.media_item_class(self.mediadock.media_dock, self,
|
||||
self.icon)
|
||||
return None
|
||||
self.mediaItem = self.media_item_class(self.mediadock.media_dock,
|
||||
self, self.icon)
|
||||
|
||||
def addImportMenuItem(self, importMenu):
|
||||
"""
|
||||
@ -247,16 +247,15 @@ class Plugin(QtCore.QObject):
|
||||
"""
|
||||
pass
|
||||
|
||||
def getSettingsTab(self, parent):
|
||||
def createSettingsTab(self, parent):
|
||||
"""
|
||||
Create a tab for the settings window to display the configurable
|
||||
options for this plugin to the user.
|
||||
Create a tab for the settings window to display the configurable options
|
||||
for this plugin to the user.
|
||||
"""
|
||||
if self.settings_tab_class:
|
||||
return self.settings_tab_class(parent, self.name,
|
||||
self.settings_tab = self.settings_tab_class(parent, self.name,
|
||||
self.getString(StringContent.VisibleName)[u'title'],
|
||||
self.icon_path)
|
||||
return None
|
||||
|
||||
def addToMenu(self, menubar):
|
||||
"""
|
||||
|
@ -90,7 +90,7 @@ class PluginManager(object):
|
||||
thisdepth = len(path.split(os.sep))
|
||||
if thisdepth - startdepth > 2:
|
||||
# skip anything lower down
|
||||
continue
|
||||
break
|
||||
modulename = os.path.splitext(path)[0]
|
||||
prefix = os.path.commonprefix([self.basepath, path])
|
||||
# hack off the plugin base path
|
||||
@ -113,7 +113,7 @@ class PluginManager(object):
|
||||
plugin_objects.append(plugin)
|
||||
except TypeError:
|
||||
log.exception(u'Failed to load plugin %s', unicode(p))
|
||||
plugins_list = sorted(plugin_objects, self.order_by_weight)
|
||||
plugins_list = sorted(plugin_objects, key=lambda plugin: plugin.weight)
|
||||
for plugin in plugins_list:
|
||||
if plugin.checkPreConditions():
|
||||
log.debug(u'Plugin %s active', unicode(plugin.name))
|
||||
@ -122,29 +122,13 @@ class PluginManager(object):
|
||||
plugin.status = PluginStatus.Disabled
|
||||
self.plugins.append(plugin)
|
||||
|
||||
def order_by_weight(self, x, y):
|
||||
def hook_media_manager(self):
|
||||
"""
|
||||
Sort two plugins and order them by their weight.
|
||||
|
||||
``x``
|
||||
The first plugin.
|
||||
|
||||
``y``
|
||||
The second plugin.
|
||||
"""
|
||||
return cmp(x.weight, y.weight)
|
||||
|
||||
def hook_media_manager(self, mediadock):
|
||||
"""
|
||||
Loop through all the plugins. If a plugin has a valid media manager
|
||||
item, add it to the media manager.
|
||||
|
||||
``mediatoolbox``
|
||||
The Media Manager itself.
|
||||
Create the plugins' media manager items.
|
||||
"""
|
||||
for plugin in self.plugins:
|
||||
if plugin.status is not PluginStatus.Disabled:
|
||||
plugin.mediaItem = plugin.getMediaManagerItem()
|
||||
plugin.createMediaManagerItem()
|
||||
|
||||
def hook_settings_tabs(self, settings_form=None):
|
||||
"""
|
||||
@ -152,14 +136,12 @@ class PluginManager(object):
|
||||
item, add it to the settings tab.
|
||||
Tabs are set for all plugins not just Active ones
|
||||
|
||||
``settingsform``
|
||||
``settings_form``
|
||||
Defaults to *None*. The settings form to add tabs to.
|
||||
"""
|
||||
for plugin in self.plugins:
|
||||
if plugin.status is not PluginStatus.Disabled:
|
||||
plugin.settings_tab = plugin.getSettingsTab(settings_form)
|
||||
else:
|
||||
plugin.settings_tab = None
|
||||
plugin.createSettingsTab(settings_form)
|
||||
settings_form.plugins = self.plugins
|
||||
|
||||
def hook_import_menu(self, import_menu):
|
||||
@ -225,7 +207,7 @@ class PluginManager(object):
|
||||
|
||||
def get_plugin_by_name(self, name):
|
||||
"""
|
||||
Return the plugin which has a name with value ``name``
|
||||
Return the plugin which has a name with value ``name``.
|
||||
"""
|
||||
for plugin in self.plugins:
|
||||
if plugin.name == name:
|
||||
|
@ -655,7 +655,7 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
|
||||
self.pluginManager.hook_settings_tabs(self.settingsForm)
|
||||
# Find and insert media manager items
|
||||
log.info(u'hook media')
|
||||
self.pluginManager.hook_media_manager(self.mediaDockManager)
|
||||
self.pluginManager.hook_media_manager()
|
||||
# Call the hook method to pull in import menus.
|
||||
log.info(u'hook menus')
|
||||
self.pluginManager.hook_import_menu(self.fileImportMenu)
|
||||
|
@ -311,8 +311,13 @@ class MediaController(object):
|
||||
isValid = self.check_file_type(controller, display)
|
||||
display.override[u'theme'] = u''
|
||||
display.override[u'video'] = True
|
||||
controller.media_info.start_time = display.serviceItem.start_time
|
||||
controller.media_info.end_time = display.serviceItem.end_time
|
||||
if controller.media_info.is_background:
|
||||
# ignore start/end time
|
||||
controller.media_info.start_time = 0
|
||||
controller.media_info.end_time = 0
|
||||
else:
|
||||
controller.media_info.start_time = display.serviceItem.start_time
|
||||
controller.media_info.end_time = display.serviceItem.end_time
|
||||
elif controller.previewDisplay:
|
||||
display = controller.previewDisplay
|
||||
isValid = self.check_file_type(controller, display)
|
||||
|
@ -52,12 +52,12 @@ class MediaPlugin(Plugin):
|
||||
for ext in self.video_extensions_list:
|
||||
self.serviceManager.supportedSuffixes(ext[2:])
|
||||
|
||||
def getSettingsTab(self, parent):
|
||||
def createSettingsTab(self, parent):
|
||||
"""
|
||||
Create the settings Tab
|
||||
"""
|
||||
visible_name = self.getString(StringContent.VisibleName)
|
||||
return MediaTab(parent, self.name, visible_name[u'title'],
|
||||
self.settings_tab = MediaTab(parent, self.name, visible_name[u'title'],
|
||||
self.mediaController.mediaPlayers, self.icon_path)
|
||||
|
||||
def about(self):
|
||||
|
@ -57,13 +57,13 @@ class PresentationPlugin(Plugin):
|
||||
self.icon_path = u':/plugins/plugin_presentations.png'
|
||||
self.icon = build_icon(self.icon_path)
|
||||
|
||||
def getSettingsTab(self, parent):
|
||||
def createSettingsTab(self, parent):
|
||||
"""
|
||||
Create the settings Tab
|
||||
"""
|
||||
visible_name = self.getString(StringContent.VisibleName)
|
||||
return PresentationTab(parent, self.name, visible_name[u'title'],
|
||||
self.controllers, self.icon_path)
|
||||
self.settings_tab = PresentationTab(parent, self.name,
|
||||
visible_name[u'title'], self.controllers, self.icon_path)
|
||||
|
||||
def initialise(self):
|
||||
"""
|
||||
@ -94,11 +94,11 @@ class PresentationPlugin(Plugin):
|
||||
controller.kill()
|
||||
Plugin.finalise(self)
|
||||
|
||||
def getMediaManagerItem(self):
|
||||
def createMediaManagerItem(self):
|
||||
"""
|
||||
Create the Media Manager List
|
||||
"""
|
||||
return PresentationMediaItem(
|
||||
self.mediaItem = PresentationMediaItem(
|
||||
self.mediadock.media_dock, self, self.icon, self.controllers)
|
||||
|
||||
def registerControllers(self, controller):
|
||||
|
@ -181,7 +181,7 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog):
|
||||
plugin.status == PluginStatus.Active:
|
||||
self.audioAddFromMediaButton.setVisible(True)
|
||||
self.mediaForm.populateFiles(
|
||||
plugin.getMediaManagerItem().getList(MediaType.Audio))
|
||||
plugin.mediaItem.getList(MediaType.Audio))
|
||||
break
|
||||
|
||||
def newSong(self):
|
||||
|
@ -127,7 +127,7 @@ class SofImport(OooImport):
|
||||
self.processParagraphText(text)
|
||||
self.newSong()
|
||||
text = u''
|
||||
text += self.process_textportion(textportion)
|
||||
text += self.processTextPortion(textportion)
|
||||
if textportion.BreakType in (PAGE_AFTER, PAGE_BOTH):
|
||||
self.processParagraphText(text)
|
||||
self.newSong()
|
||||
@ -202,8 +202,8 @@ class SofImport(OooImport):
|
||||
if boldtext.isdigit() and self.songNumber == '':
|
||||
self.addSongNumber(boldtext)
|
||||
return u''
|
||||
text = self.uncapText(text)
|
||||
if self.title == u'':
|
||||
text = self.uncap_text(text)
|
||||
self.addTitle(text)
|
||||
return text
|
||||
if text.strip().startswith(u'('):
|
||||
@ -242,8 +242,12 @@ class SofImport(OooImport):
|
||||
self.songBook = u'Songs of Fellowship 2'
|
||||
elif int(song_no) <= 1690:
|
||||
self.songBook = u'Songs of Fellowship 3'
|
||||
else:
|
||||
elif int(song_no) <= 2200:
|
||||
self.songBook = u'Songs of Fellowship 4'
|
||||
elif int(song_no) <= 2710:
|
||||
self.songBook = u'Songs of Fellowship 5'
|
||||
else:
|
||||
self.songBook = u'Songs of Fellowship Other'
|
||||
|
||||
def addTitle(self, text):
|
||||
"""
|
||||
|
Loading…
Reference in New Issue
Block a user