forked from openlp/openlp
r1358
This commit is contained in:
commit
4016806067
@ -233,9 +233,6 @@ class MainDisplay(DisplayWidget):
|
|||||||
image = self.imageManager.get_image_bytes(name)
|
image = self.imageManager.get_image_bytes(name)
|
||||||
self.resetVideo()
|
self.resetVideo()
|
||||||
self.displayImage(image)
|
self.displayImage(image)
|
||||||
# show screen
|
|
||||||
if self.isLive:
|
|
||||||
self.setVisible(True)
|
|
||||||
return self.preview()
|
return self.preview()
|
||||||
|
|
||||||
def displayImage(self, image):
|
def displayImage(self, image):
|
||||||
@ -319,7 +316,7 @@ class MainDisplay(DisplayWidget):
|
|||||||
Changes the volume of a running video
|
Changes the volume of a running video
|
||||||
"""
|
"""
|
||||||
log.debug(u'videoVolume %d' % volume)
|
log.debug(u'videoVolume %d' % volume)
|
||||||
vol = float(volume)/float(10)
|
vol = float(volume) / float(10)
|
||||||
if self.phononActive:
|
if self.phononActive:
|
||||||
self.audio.setVolume(vol)
|
self.audio.setVolume(vol)
|
||||||
else:
|
else:
|
||||||
@ -335,7 +332,7 @@ class MainDisplay(DisplayWidget):
|
|||||||
# We are running a background theme
|
# We are running a background theme
|
||||||
self.override[u'theme'] = u''
|
self.override[u'theme'] = u''
|
||||||
self.override[u'video'] = True
|
self.override[u'video'] = True
|
||||||
vol = float(volume)/float(10)
|
vol = float(volume) / float(10)
|
||||||
if isBackground or not self.usePhonon:
|
if isBackground or not self.usePhonon:
|
||||||
js = u'show_video("init", "%s", %s, true); show_video("play");' % \
|
js = u'show_video("init", "%s", %s, true); show_video("play");' % \
|
||||||
(videoPath.replace(u'\\', u'\\\\'), str(vol))
|
(videoPath.replace(u'\\', u'\\\\'), str(vol))
|
||||||
@ -388,9 +385,10 @@ class MainDisplay(DisplayWidget):
|
|||||||
Receiver.send_message(u'openlp_process_events')
|
Receiver.send_message(u'openlp_process_events')
|
||||||
# if was hidden keep it hidden
|
# if was hidden keep it hidden
|
||||||
if self.isLive:
|
if self.isLive:
|
||||||
self.setVisible(True)
|
|
||||||
if self.hideMode:
|
if self.hideMode:
|
||||||
self.hideDisplay(self.hideMode)
|
self.hideDisplay(self.hideMode)
|
||||||
|
else:
|
||||||
|
self.setVisible(True)
|
||||||
preview = QtGui.QImage(self.screen[u'size'].width(),
|
preview = QtGui.QImage(self.screen[u'size'].width(),
|
||||||
self.screen[u'size'].height(),
|
self.screen[u'size'].height(),
|
||||||
QtGui.QImage.Format_ARGB32_Premultiplied)
|
QtGui.QImage.Format_ARGB32_Premultiplied)
|
||||||
|
@ -32,7 +32,7 @@ from PyQt4.phonon import Phonon
|
|||||||
|
|
||||||
from openlp.core.lib import OpenLPToolbar, Receiver, resize_image, \
|
from openlp.core.lib import OpenLPToolbar, Receiver, resize_image, \
|
||||||
ItemCapabilities, translate
|
ItemCapabilities, translate
|
||||||
from openlp.core.lib.ui import UiStrings, shortcut_action
|
from openlp.core.lib.ui import icon_action, UiStrings, shortcut_action
|
||||||
from openlp.core.ui import HideMode, MainDisplay
|
from openlp.core.ui import HideMode, MainDisplay
|
||||||
|
|
||||||
log = logging.getLogger(__name__)
|
log = logging.getLogger(__name__)
|
||||||
@ -114,8 +114,7 @@ class SlideController(QtGui.QWidget):
|
|||||||
self.previewListWidget = SlideList(self)
|
self.previewListWidget = SlideList(self)
|
||||||
self.previewListWidget.setColumnCount(1)
|
self.previewListWidget.setColumnCount(1)
|
||||||
self.previewListWidget.horizontalHeader().setVisible(False)
|
self.previewListWidget.horizontalHeader().setVisible(False)
|
||||||
self.previewListWidget.setColumnWidth(
|
self.previewListWidget.setColumnWidth(0, self.controller.width())
|
||||||
0, self.controller.width())
|
|
||||||
self.previewListWidget.isLive = self.isLive
|
self.previewListWidget.isLive = self.isLive
|
||||||
self.previewListWidget.setObjectName(u'PreviewListWidget')
|
self.previewListWidget.setObjectName(u'PreviewListWidget')
|
||||||
self.previewListWidget.setSelectionBehavior(1)
|
self.previewListWidget.setSelectionBehavior(1)
|
||||||
@ -146,36 +145,30 @@ class SlideController(QtGui.QWidget):
|
|||||||
u':/slides/slide_next.png',
|
u':/slides/slide_next.png',
|
||||||
translate('OpenLP.SlideController', 'Move to next'),
|
translate('OpenLP.SlideController', 'Move to next'),
|
||||||
self.onSlideSelectedNext)
|
self.onSlideSelectedNext)
|
||||||
|
self.toolbar.addToolbarSeparator(u'Close Separator')
|
||||||
if self.isLive:
|
if self.isLive:
|
||||||
self.toolbar.addToolbarSeparator(u'Close Separator')
|
|
||||||
self.hideMenu = QtGui.QToolButton(self.toolbar)
|
self.hideMenu = QtGui.QToolButton(self.toolbar)
|
||||||
self.hideMenu.setText(translate('OpenLP.SlideController', 'Hide'))
|
self.hideMenu.setText(translate('OpenLP.SlideController', 'Hide'))
|
||||||
self.hideMenu.setPopupMode(QtGui.QToolButton.MenuButtonPopup)
|
self.hideMenu.setPopupMode(QtGui.QToolButton.MenuButtonPopup)
|
||||||
self.toolbar.addToolbarWidget(u'Hide Menu', self.hideMenu)
|
self.toolbar.addToolbarWidget(u'Hide Menu', self.hideMenu)
|
||||||
self.hideMenu.setMenu(QtGui.QMenu(
|
self.hideMenu.setMenu(QtGui.QMenu(
|
||||||
translate('OpenLP.SlideController', 'Hide'), self.toolbar))
|
translate('OpenLP.SlideController', 'Hide'), self.toolbar))
|
||||||
self.blankScreen = QtGui.QAction(QtGui.QIcon(
|
self.blankScreen = icon_action(self.hideMenu, u'Blank Screen',
|
||||||
u':/slides/slide_blank.png'),
|
u':/slides/slide_blank.png', False)
|
||||||
translate('OpenLP.SlideController',
|
self.blankScreen.setText(
|
||||||
'Blank Screen'), self.hideMenu)
|
translate('OpenLP.SlideController', 'Blank Screen'))
|
||||||
self.blankScreen.setCheckable(True)
|
self.themeScreen = icon_action(self.hideMenu, u'Blank Theme',
|
||||||
self.themeScreen = QtGui.QAction(QtGui.QIcon(
|
u':/slides/slide_theme.png', False)
|
||||||
u':/slides/slide_theme.png'),
|
self.themeScreen.setText(
|
||||||
translate('OpenLP.SlideController',
|
translate('OpenLP.SlideController', 'Blank to Theme'))
|
||||||
'Blank to Theme'), self.hideMenu)
|
self.desktopScreen = icon_action(self.hideMenu, u'Desktop Screen',
|
||||||
self.themeScreen.setCheckable(True)
|
u':/slides/slide_desktop.png', False)
|
||||||
|
self.desktopScreen.setText(
|
||||||
|
translate('OpenLP.SlideController', 'Show Desktop'))
|
||||||
self.hideMenu.setDefaultAction(self.blankScreen)
|
self.hideMenu.setDefaultAction(self.blankScreen)
|
||||||
self.hideMenu.menu().addAction(self.blankScreen)
|
self.hideMenu.menu().addAction(self.blankScreen)
|
||||||
self.hideMenu.menu().addAction(self.themeScreen)
|
self.hideMenu.menu().addAction(self.themeScreen)
|
||||||
if self.screens.display_count > 1:
|
self.hideMenu.menu().addAction(self.desktopScreen)
|
||||||
self.desktopScreen = QtGui.QAction(QtGui.QIcon(
|
|
||||||
u':/slides/slide_desktop.png'),
|
|
||||||
translate('OpenLP.SlideController',
|
|
||||||
'Show Desktop'), self.hideMenu)
|
|
||||||
self.hideMenu.menu().addAction(self.desktopScreen)
|
|
||||||
self.desktopScreen.setCheckable(True)
|
|
||||||
QtCore.QObject.connect(self.desktopScreen,
|
|
||||||
QtCore.SIGNAL(u'triggered(bool)'), self.onHideDisplay)
|
|
||||||
self.toolbar.addToolbarSeparator(u'Loop Separator')
|
self.toolbar.addToolbarSeparator(u'Loop Separator')
|
||||||
self.toolbar.addToolbarButton(
|
self.toolbar.addToolbarButton(
|
||||||
# Does not need translating - control string.
|
# Does not need translating - control string.
|
||||||
@ -195,7 +188,6 @@ class SlideController(QtGui.QWidget):
|
|||||||
self.delaySpinBox.setToolTip(translate('OpenLP.SlideController',
|
self.delaySpinBox.setToolTip(translate('OpenLP.SlideController',
|
||||||
'Delay between slides in seconds'))
|
'Delay between slides in seconds'))
|
||||||
else:
|
else:
|
||||||
self.toolbar.addToolbarSeparator(u'Close Separator')
|
|
||||||
self.toolbar.addToolbarButton(
|
self.toolbar.addToolbarButton(
|
||||||
# Does not need translating - control string.
|
# Does not need translating - control string.
|
||||||
u'Go Live', u':/general/general_live.png',
|
u'Go Live', u':/general/general_live.png',
|
||||||
@ -226,8 +218,7 @@ class SlideController(QtGui.QWidget):
|
|||||||
if self.isLive:
|
if self.isLive:
|
||||||
# Build the Song Toolbar
|
# Build the Song Toolbar
|
||||||
self.songMenu = QtGui.QToolButton(self.toolbar)
|
self.songMenu = QtGui.QToolButton(self.toolbar)
|
||||||
self.songMenu.setText(translate('OpenLP.SlideController',
|
self.songMenu.setText(translate('OpenLP.SlideController', 'Go To'))
|
||||||
'Go To'))
|
|
||||||
self.songMenu.setPopupMode(QtGui.QToolButton.InstantPopup)
|
self.songMenu.setPopupMode(QtGui.QToolButton.InstantPopup)
|
||||||
self.toolbar.addToolbarWidget(u'Song Menu', self.songMenu)
|
self.toolbar.addToolbarWidget(u'Song Menu', self.songMenu)
|
||||||
self.songMenu.setMenu(QtGui.QMenu(
|
self.songMenu.setMenu(QtGui.QMenu(
|
||||||
@ -303,6 +294,8 @@ class SlideController(QtGui.QWidget):
|
|||||||
QtCore.SIGNAL(u'triggered(bool)'), self.onBlankDisplay)
|
QtCore.SIGNAL(u'triggered(bool)'), self.onBlankDisplay)
|
||||||
QtCore.QObject.connect(self.themeScreen,
|
QtCore.QObject.connect(self.themeScreen,
|
||||||
QtCore.SIGNAL(u'triggered(bool)'), self.onThemeDisplay)
|
QtCore.SIGNAL(u'triggered(bool)'), self.onThemeDisplay)
|
||||||
|
QtCore.QObject.connect(self.desktopScreen,
|
||||||
|
QtCore.SIGNAL(u'triggered(bool)'), self.onHideDisplay)
|
||||||
QtCore.QObject.connect(self.volumeSlider,
|
QtCore.QObject.connect(self.volumeSlider,
|
||||||
QtCore.SIGNAL(u'sliderReleased()'), self.mediaVolume)
|
QtCore.SIGNAL(u'sliderReleased()'), self.mediaVolume)
|
||||||
QtCore.QObject.connect(Receiver.get_receiver(),
|
QtCore.QObject.connect(Receiver.get_receiver(),
|
||||||
@ -469,6 +462,9 @@ class SlideController(QtGui.QWidget):
|
|||||||
self.onSlideSelected()
|
self.onSlideSelected()
|
||||||
|
|
||||||
def receiveSpinDelay(self, value):
|
def receiveSpinDelay(self, value):
|
||||||
|
"""
|
||||||
|
Adjusts the value of the ``delaySpinBox`` to the given one.
|
||||||
|
"""
|
||||||
self.delaySpinBox.setValue(int(value))
|
self.delaySpinBox.setValue(int(value))
|
||||||
|
|
||||||
def enableToolBar(self, item):
|
def enableToolBar(self, item):
|
||||||
@ -752,8 +748,7 @@ class SlideController(QtGui.QWidget):
|
|||||||
self.hideMenu.setDefaultAction(self.blankScreen)
|
self.hideMenu.setDefaultAction(self.blankScreen)
|
||||||
self.blankScreen.setChecked(checked)
|
self.blankScreen.setChecked(checked)
|
||||||
self.themeScreen.setChecked(False)
|
self.themeScreen.setChecked(False)
|
||||||
if self.screens.display_count > 1:
|
self.desktopScreen.setChecked(False)
|
||||||
self.desktopScreen.setChecked(False)
|
|
||||||
if checked:
|
if checked:
|
||||||
Receiver.send_message(u'maindisplay_hide', HideMode.Blank)
|
Receiver.send_message(u'maindisplay_hide', HideMode.Blank)
|
||||||
QtCore.QSettings().setValue(
|
QtCore.QSettings().setValue(
|
||||||
@ -774,8 +769,7 @@ class SlideController(QtGui.QWidget):
|
|||||||
self.hideMenu.setDefaultAction(self.themeScreen)
|
self.hideMenu.setDefaultAction(self.themeScreen)
|
||||||
self.blankScreen.setChecked(False)
|
self.blankScreen.setChecked(False)
|
||||||
self.themeScreen.setChecked(checked)
|
self.themeScreen.setChecked(checked)
|
||||||
if self.screens.display_count > 1:
|
self.desktopScreen.setChecked(False)
|
||||||
self.desktopScreen.setChecked(False)
|
|
||||||
if checked:
|
if checked:
|
||||||
Receiver.send_message(u'maindisplay_hide', HideMode.Theme)
|
Receiver.send_message(u'maindisplay_hide', HideMode.Theme)
|
||||||
QtCore.QSettings().setValue(
|
QtCore.QSettings().setValue(
|
||||||
@ -796,9 +790,6 @@ class SlideController(QtGui.QWidget):
|
|||||||
self.hideMenu.setDefaultAction(self.desktopScreen)
|
self.hideMenu.setDefaultAction(self.desktopScreen)
|
||||||
self.blankScreen.setChecked(False)
|
self.blankScreen.setChecked(False)
|
||||||
self.themeScreen.setChecked(False)
|
self.themeScreen.setChecked(False)
|
||||||
# On valid if more than 1 display
|
|
||||||
if self.screens.display_count <= 1:
|
|
||||||
return
|
|
||||||
self.desktopScreen.setChecked(checked)
|
self.desktopScreen.setChecked(checked)
|
||||||
if checked:
|
if checked:
|
||||||
Receiver.send_message(u'maindisplay_hide', HideMode.Screen)
|
Receiver.send_message(u'maindisplay_hide', HideMode.Screen)
|
||||||
@ -1103,15 +1094,15 @@ class SlideController(QtGui.QWidget):
|
|||||||
Used by command items which provide their own displays to reset the
|
Used by command items which provide their own displays to reset the
|
||||||
screen hide attributes
|
screen hide attributes
|
||||||
"""
|
"""
|
||||||
|
blank = None
|
||||||
if self.blankScreen.isChecked:
|
if self.blankScreen.isChecked:
|
||||||
self.blankScreen.setChecked(False)
|
blank = self.blankScreen
|
||||||
self.hideMenu.setDefaultAction(self.blankScreen)
|
if self.themeScreen.isChecked:
|
||||||
|
blank = self.themeScreen
|
||||||
|
if self.desktopScreen.isChecked:
|
||||||
|
blank = self.desktopScreen
|
||||||
|
if blank:
|
||||||
|
blank.setChecked(False)
|
||||||
|
self.hideMenu.setDefaultAction(blank)
|
||||||
QtCore.QSettings().remove(
|
QtCore.QSettings().remove(
|
||||||
self.parent.generalSettingsSection + u'/screen blank')
|
self.parent.generalSettingsSection + u'/screen blank')
|
||||||
if self.themeScreen.isChecked:
|
|
||||||
self.themeScreen.setChecked(False)
|
|
||||||
self.hideMenu.setDefaultAction(self.themeScreen)
|
|
||||||
if self.screens.display_count > 1:
|
|
||||||
if self.desktopScreen.isChecked:
|
|
||||||
self.desktopScreen.setChecked(False)
|
|
||||||
self.hideMenu.setDefaultAction(self.desktopScreen)
|
|
||||||
|
@ -810,4 +810,4 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog):
|
|||||||
# This method must only be run after the self.song = Song() assignment.
|
# This method must only be run after the self.song = Song() assignment.
|
||||||
log.debug(u'processTitle')
|
log.debug(u'processTitle')
|
||||||
self.song.search_title = re.sub(r'[\'"`,;:(){}?]+', u'',
|
self.song.search_title = re.sub(r'[\'"`,;:(){}?]+', u'',
|
||||||
unicode(self.song.search_title)).lower()
|
unicode(self.song.search_title)).lower().strip()
|
||||||
|
@ -540,7 +540,7 @@ class FoilPresenter(object):
|
|||||||
song.alternate_title = self._child(titelstring)
|
song.alternate_title = self._child(titelstring)
|
||||||
song.search_title += u'@' + song.alternate_title
|
song.search_title += u'@' + song.alternate_title
|
||||||
song.search_title = re.sub(r'[\'"`,;:(){}?]+', u'',
|
song.search_title = re.sub(r'[\'"`,;:(){}?]+', u'',
|
||||||
unicode(song.search_title)).lower()
|
unicode(song.search_title)).lower().strip()
|
||||||
|
|
||||||
def _process_topics(self, foilpresenterfolie, song):
|
def _process_topics(self, foilpresenterfolie, song):
|
||||||
"""
|
"""
|
||||||
|
@ -167,7 +167,7 @@ class OpenLPSongImport(SongImport):
|
|||||||
new_song.alternate_title = old_titles[1]
|
new_song.alternate_title = old_titles[1]
|
||||||
else:
|
else:
|
||||||
new_song.alternate_title = u''
|
new_song.alternate_title = u''
|
||||||
new_song.search_title = song.search_title
|
new_song.search_title = song.search_title.strip()
|
||||||
new_song.song_number = song.song_number
|
new_song.song_number = song.song_number
|
||||||
new_song.lyrics = song.lyrics
|
new_song.lyrics = song.lyrics
|
||||||
new_song.search_lyrics = song.search_lyrics
|
new_song.search_lyrics = song.search_lyrics
|
||||||
|
@ -276,6 +276,7 @@ class SongImport(QtCore.QObject):
|
|||||||
song.alternate_title = self.alternate_title
|
song.alternate_title = self.alternate_title
|
||||||
song.search_title = self.remove_punctuation(self.title).lower() \
|
song.search_title = self.remove_punctuation(self.title).lower() \
|
||||||
+ '@' + self.remove_punctuation(self.alternate_title).lower()
|
+ '@' + self.remove_punctuation(self.alternate_title).lower()
|
||||||
|
song.search_title = song.search_title.strip()
|
||||||
song.song_number = self.song_number
|
song.song_number = self.song_number
|
||||||
song.search_lyrics = u''
|
song.search_lyrics = u''
|
||||||
verses_changed_to_other = {}
|
verses_changed_to_other = {}
|
||||||
|
@ -536,7 +536,7 @@ class OpenLyrics(object):
|
|||||||
song.alternate_title = self._text(title)
|
song.alternate_title = self._text(title)
|
||||||
song.search_title += u'@' + song.alternate_title
|
song.search_title += u'@' + song.alternate_title
|
||||||
song.search_title = re.sub(r'[\'"`,;:(){}?]+', u'',
|
song.search_title = re.sub(r'[\'"`,;:(){}?]+', u'',
|
||||||
unicode(song.search_title)).lower()
|
unicode(song.search_title)).lower().strip()
|
||||||
|
|
||||||
def _process_topics(self, properties, song):
|
def _process_topics(self, properties, song):
|
||||||
"""
|
"""
|
||||||
|
@ -154,7 +154,7 @@ class SongsPlugin(Plugin):
|
|||||||
if song.alternate_title is None:
|
if song.alternate_title is None:
|
||||||
song.alternate_title = u''
|
song.alternate_title = u''
|
||||||
song.search_title = self.whitespace.sub(u' ', song.title.lower() +
|
song.search_title = self.whitespace.sub(u' ', song.title.lower() +
|
||||||
u' ' + song.alternate_title.lower())
|
u' ' + song.alternate_title.lower()).strip()
|
||||||
# Remove the "language" attribute from lyrics tag. This is not very
|
# Remove the "language" attribute from lyrics tag. This is not very
|
||||||
# important, but this keeps the database clean. This can be removed
|
# important, but this keeps the database clean. This can be removed
|
||||||
# when everybody has run the reindex tool once.
|
# when everybody has run the reindex tool once.
|
||||||
|
Loading…
Reference in New Issue
Block a user