Verse Tagging
bzr-revno: 684
@ -97,17 +97,34 @@ def build_icon(icon):
|
||||
``:/resource/file.png``, or a file location like ``/path/to/file.png``.
|
||||
"""
|
||||
ButtonIcon = None
|
||||
if type(icon) is QtGui.QIcon:
|
||||
if isinstance(icon, QtGui.QIcon):
|
||||
ButtonIcon = icon
|
||||
elif type(icon) is types.StringType or type(icon) is types.UnicodeType:
|
||||
elif isinstance(icon, basestring):
|
||||
ButtonIcon = QtGui.QIcon()
|
||||
if icon.startswith(u':/'):
|
||||
ButtonIcon.addPixmap(
|
||||
QtGui.QPixmap(icon), QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
||||
else:
|
||||
if len(icon) > 2:
|
||||
ButtonIcon.addPixmap(QtGui.QPixmap.fromImage(QtGui.QImage(icon)),
|
||||
QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
||||
elif type(icon) is QtGui.QImage:
|
||||
else:
|
||||
#lets build a Icon from text
|
||||
pmap = QtGui.QPixmap(u':/pages/slide.png')
|
||||
painter = QtGui.QPainter(pmap)
|
||||
painter.setPen(QtGui.QColor(QtGui.QColor.black))
|
||||
font = QtGui.QFont()
|
||||
font.setFamily(u'Arial')
|
||||
font.setBold(True)
|
||||
font.setPointSize(12)
|
||||
painter.setFont(font)
|
||||
metrics = QtGui.QFontMetrics(font)
|
||||
painter.drawText(5, 3 + metrics.ascent(), icon)
|
||||
painter.end()
|
||||
ButtonIcon.addPixmap(
|
||||
pmap, QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
||||
|
||||
elif isinstance(icon, QtGui.QImage):
|
||||
ButtonIcon = QtGui.QIcon()
|
||||
ButtonIcon.addPixmap(
|
||||
QtGui.QPixmap.fromImage(icon), QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
||||
|
@ -213,26 +213,26 @@ class MediaManagerItem(QtGui.QWidget):
|
||||
self.addToolbarButton(
|
||||
u'Load %s' % self.PluginNameShort,
|
||||
u'%s %s' % (self.trUtf8('Load a new'), self.PluginNameVisible),
|
||||
u':%s_load.png' % self.IconPath, self.onFileClick)
|
||||
u':/%s_load.png' % self.IconPath, self.onFileClick)
|
||||
## New Button ##
|
||||
if self.hasNewIcon:
|
||||
self.addToolbarButton(
|
||||
u'New %s' % self.PluginNameShort,
|
||||
u'%s %s' % (self.trUtf8('Add a new'), self.PluginNameVisible),
|
||||
u':%s_new.png' % self.IconPath, self.onNewClick)
|
||||
u':/%s_new.png' % self.IconPath, self.onNewClick)
|
||||
## Edit Button ##
|
||||
if self.hasEditIcon:
|
||||
self.addToolbarButton(
|
||||
u'Edit %s' % self.PluginNameShort,
|
||||
u'%s %s' % (self.trUtf8('Edit the selected'),
|
||||
self.PluginNameVisible),
|
||||
u':%s_edit.png' % self.IconPath, self.onEditClick)
|
||||
u':/%s_edit.png' % self.IconPath, self.onEditClick)
|
||||
## Delete Button ##
|
||||
if self.hasDeleteIcon:
|
||||
self.addToolbarButton(
|
||||
u'Delete %s' % self.PluginNameShort,
|
||||
self.trUtf8('Delete the selected item'),
|
||||
u':%s_delete.png' % self.IconPath, self.onDeleteClick)
|
||||
u':/%s_delete.png' % self.IconPath, self.onDeleteClick)
|
||||
## Separator Line ##
|
||||
self.addToolbarSeparator()
|
||||
## Preview ##
|
||||
@ -269,7 +269,7 @@ class MediaManagerItem(QtGui.QWidget):
|
||||
if self.hasEditIcon:
|
||||
self.ListView.addAction(
|
||||
contextMenuAction(
|
||||
self.ListView, u':%s_new.png' % self.IconPath,
|
||||
self.ListView, u':/%s_new.png' % self.IconPath,
|
||||
u'%s %s' % (self.trUtf8('&Edit'), self.PluginNameVisible),
|
||||
self.onEditClick))
|
||||
self.ListView.addAction(contextMenuSeparator(self.ListView))
|
||||
@ -356,6 +356,7 @@ class MediaManagerItem(QtGui.QWidget):
|
||||
QtGui.QMessageBox.information(self,
|
||||
self.trUtf8('No items selected...'),
|
||||
self.trUtf8('You must select one or more items'))
|
||||
else:
|
||||
log.debug(self.PluginNameShort + u' Preview Requested')
|
||||
service_item = self.buildServiceItem()
|
||||
if service_item:
|
||||
@ -367,6 +368,7 @@ class MediaManagerItem(QtGui.QWidget):
|
||||
QtGui.QMessageBox.information(self,
|
||||
self.trUtf8('No items selected...'),
|
||||
self.trUtf8('You must select one or more items'))
|
||||
else:
|
||||
log.debug(self.PluginNameShort + u' Live Requested')
|
||||
service_item = self.buildServiceItem()
|
||||
if service_item:
|
||||
@ -378,6 +380,7 @@ class MediaManagerItem(QtGui.QWidget):
|
||||
QtGui.QMessageBox.information(self,
|
||||
self.trUtf8('No items selected...'),
|
||||
self.trUtf8('You must select one or more items'))
|
||||
else:
|
||||
log.debug(self.PluginNameShort + u' Add Requested')
|
||||
service_item = self.buildServiceItem()
|
||||
if service_item:
|
||||
|
@ -206,7 +206,7 @@ class RenderManager(object):
|
||||
footer.append(u'Public Domain')
|
||||
footer.append(u'CCLI 123456')
|
||||
formatted = self.renderer.format_slide(verse, False)
|
||||
return self.renderer.generate_frame_from_lines(formatted[0], footer)
|
||||
return self.renderer.generate_frame_from_lines(formatted[0], footer)[u'main']
|
||||
|
||||
def format_slide(self, words):
|
||||
"""
|
||||
|
@ -293,7 +293,7 @@ class ServiceItem(object):
|
||||
if self.service_item_type == ServiceItemType.Text:
|
||||
return self.render_individual(row)
|
||||
else:
|
||||
return self._raw_frames[row][u'image']
|
||||
return {u'main':self._raw_frames[row][u'image'], u'trans':None}
|
||||
|
||||
def get_frame_title(self, row=0):
|
||||
"""
|
||||
|
@ -68,19 +68,28 @@ class OpenLPToolbar(QtGui.QToolBar):
|
||||
``objectname``
|
||||
The name of the object, as used in `<button>.setObjectName()`.
|
||||
"""
|
||||
ToolbarButton = None
|
||||
if icon:
|
||||
ButtonIcon = build_icon(icon)
|
||||
else:
|
||||
ButtonIcon = None
|
||||
if ButtonIcon:
|
||||
if slot and not checkable:
|
||||
ToolbarButton = self.addAction(ButtonIcon, title, slot)
|
||||
else:
|
||||
ToolbarButton = self.addAction(ButtonIcon, title)
|
||||
self.icons[title] = ButtonIcon
|
||||
else:
|
||||
ToolbarButton = QtGui.QAction(title, ToolbarButton)
|
||||
self.addAction(ToolbarButton)
|
||||
QtCore.QObject.connect(ToolbarButton,
|
||||
QtCore.SIGNAL(u'triggered()'), slot)
|
||||
if tooltip:
|
||||
ToolbarButton.setToolTip(tooltip)
|
||||
if checkable:
|
||||
ToolbarButton.setCheckable(True)
|
||||
QtCore.QObject.connect(ToolbarButton,
|
||||
QtCore.SIGNAL(u'toggled(bool)'), slot)
|
||||
self.icons[title] = ButtonIcon
|
||||
self.actions[title] = ToolbarButton
|
||||
return ToolbarButton
|
||||
|
||||
@ -106,7 +115,8 @@ class OpenLPToolbar(QtGui.QToolBar):
|
||||
``title``
|
||||
The title of the icon to search for.
|
||||
"""
|
||||
if self.icons.has_key(title):
|
||||
title = QtCore.QString(title)
|
||||
if self.icons[title]:
|
||||
return self.icons[title]
|
||||
else:
|
||||
self.log.error(u'getIconFromTitle - no icon for %s' % title)
|
||||
|
@ -199,8 +199,10 @@ class MainDisplay(DisplayWidget):
|
||||
elif not self.displayBlank:
|
||||
if transition:
|
||||
if self.hasTransition:
|
||||
if self.frame[u'trans'] is not None:
|
||||
self.display.setPixmap(QtGui.QPixmap.fromImage(self.frame[u'trans']))
|
||||
self.repaint()
|
||||
if frame[u'trans'] is not None:
|
||||
self.display.setPixmap(QtGui.QPixmap.fromImage(frame[u'trans']))
|
||||
self.repaint()
|
||||
self.hasTransition = True
|
||||
|
@ -173,7 +173,7 @@ class SlideController(QtGui.QWidget):
|
||||
self.trUtf8('Move to live'), self.onGoLive)
|
||||
self.Toolbar.addToolbarSeparator(u'Close Separator')
|
||||
self.Toolbar.addToolbarButton(
|
||||
u'Edit Song', u':songs/song_edit.png',
|
||||
u'Edit Song', u':/songs/song_edit.png',
|
||||
self.trUtf8('Edit and re-preview Song'), self.onEditSong)
|
||||
if isLive:
|
||||
self.Toolbar.addToolbarSeparator(u'Loop Separator')
|
||||
@ -208,22 +208,12 @@ class SlideController(QtGui.QWidget):
|
||||
self.ControllerLayout.addWidget(self.Mediabar)
|
||||
# Build the Song Toolbar
|
||||
if isLive:
|
||||
self.Songbar = OpenLPToolbar(self)
|
||||
self.Songbar.addToolbarButton(
|
||||
u'Bridge', u':/pages/page_bridge.png',
|
||||
self.trUtf8('Bridge'),
|
||||
self.onSongBarHandler)
|
||||
self.Songbar.addToolbarButton(
|
||||
u'Chorus', u':/pages/page_chorus.png',
|
||||
self.trUtf8('Chorus'),
|
||||
self.onSongBarHandler)
|
||||
for verse in range(1, 12):
|
||||
self.Songbar.addToolbarButton(
|
||||
unicode(verse), u':/pages/page_%s.png' % verse,
|
||||
unicode(self.trUtf8('Verse %s'))%verse,
|
||||
self.onSongBarHandler)
|
||||
self.ControllerLayout.addWidget(self.Songbar)
|
||||
self.Songbar.setVisible(False)
|
||||
self.SongMenu = QtGui.QToolButton(self.Toolbar)
|
||||
self.SongMenu.setText(self.trUtf8('Go to Verse'))
|
||||
self.SongMenu.setPopupMode(QtGui.QToolButton.InstantPopup)
|
||||
self.Toolbar.addToolbarWidget(u'Song Menu', self.SongMenu)
|
||||
self.SongMenu.setMenu(QtGui.QMenu(self.trUtf8('Go to Verse'), self.Toolbar))
|
||||
self.Toolbar.makeWidgetsInvisible([u'Song Menu'])
|
||||
# Screen preview area
|
||||
self.PreviewFrame = QtGui.QFrame(self.Splitter)
|
||||
self.PreviewFrame.setGeometry(QtCore.QRect(0, 0, 300, 225))
|
||||
@ -270,8 +260,6 @@ class SlideController(QtGui.QWidget):
|
||||
QtCore.QObject.connect(self.PreviewListWidget,
|
||||
QtCore.SIGNAL(u'activated(QModelIndex)'), self.onSlideSelected)
|
||||
if isLive:
|
||||
#QtCore.QObject.connect(self.blackPushButton,
|
||||
# QtCore.SIGNAL(u'clicked(bool)'), self.onBlankScreen)
|
||||
QtCore.QObject.connect(Receiver.get_receiver(),
|
||||
QtCore.SIGNAL(u'update_spin_delay'), self.receiveSpinDelay)
|
||||
Receiver.send_message(u'request_spin_delay')
|
||||
@ -312,14 +300,9 @@ class SlideController(QtGui.QWidget):
|
||||
pass
|
||||
|
||||
def onSongBarHandler(self):
|
||||
request = self.sender().text()
|
||||
if request == u'Bridge':
|
||||
pass
|
||||
elif request == u'Chorus':
|
||||
pass
|
||||
else:
|
||||
request = unicode(self.sender().text())
|
||||
#Remember list is 1 out!
|
||||
slideno = int(request) - 1
|
||||
slideno = self.slideList[request]
|
||||
if slideno > self.PreviewListWidget.rowCount():
|
||||
self.PreviewListWidget.selectRow(self.PreviewListWidget.rowCount())
|
||||
else:
|
||||
@ -344,26 +327,14 @@ class SlideController(QtGui.QWidget):
|
||||
Allows the live toolbar to be customised
|
||||
"""
|
||||
self.Toolbar.setVisible(True)
|
||||
self.Songbar.setVisible(False)
|
||||
self.Mediabar.setVisible(False)
|
||||
self.Toolbar.makeWidgetsInvisible([u'Song Menu'])
|
||||
self.Toolbar.makeWidgetsInvisible(self.image_list)
|
||||
if item.is_text():
|
||||
self.Toolbar.makeWidgetsInvisible(self.image_list)
|
||||
if item.is_song() and \
|
||||
str_to_bool(self.songsconfig.get_config(u'show songbar', True)):
|
||||
for action in self.Songbar.actions:
|
||||
self.Songbar.actions[action].setVisible(False)
|
||||
if item.verse_order:
|
||||
verses = item.verse_order.split(u' ')
|
||||
# for verse in verses:
|
||||
# if not verse or int(verse) > 12:
|
||||
# break
|
||||
# try:
|
||||
# self.Songbar.actions[verse].setVisible(True)
|
||||
# except:
|
||||
# #More than 20 verses hard luck
|
||||
# pass
|
||||
self.Songbar.setVisible(True)
|
||||
self.Toolbar.makeWidgetsVisible([u'Song Menu'])
|
||||
elif item.is_image():
|
||||
#Not sensible to allow loops with 1 frame
|
||||
if len(item.get_frames()) > 1:
|
||||
@ -444,6 +415,8 @@ class SlideController(QtGui.QWidget):
|
||||
self.PreviewListWidget.clear()
|
||||
self.PreviewListWidget.setRowCount(0)
|
||||
self.PreviewListWidget.setColumnWidth(0, width)
|
||||
if self.isLive:
|
||||
self.SongMenu.menu().clear()
|
||||
for framenumber, frame in enumerate(self.serviceItem.get_frames()):
|
||||
self.PreviewListWidget.setRowCount(
|
||||
self.PreviewListWidget.rowCount() + 1)
|
||||
@ -451,7 +424,20 @@ class SlideController(QtGui.QWidget):
|
||||
slide_height = 0
|
||||
#It is a based Text Render
|
||||
if self.serviceItem.is_text():
|
||||
self.slideList[frame[u'verseTag']] = framenumber
|
||||
if self.isLive and frame[u'verseTag'] is not None:
|
||||
#only load the slot once
|
||||
bits = frame[u'verseTag'].split(u':')
|
||||
tag = None
|
||||
if bits[0] == self.trUtf8('Verse'):
|
||||
tag = u'%s%s' % (bits[0][0], bits[1][0] )
|
||||
else:
|
||||
tag = bits[0]
|
||||
try:
|
||||
test = self.slideList[tag]
|
||||
except:
|
||||
self.slideList[tag] = framenumber
|
||||
self.SongMenu.menu().addAction(self.trUtf8(u'%s'%tag),
|
||||
self.onSongBarHandler)
|
||||
item.setText(frame[u'text'])
|
||||
else:
|
||||
label = QtGui.QLabel()
|
||||
@ -524,6 +510,9 @@ class SlideController(QtGui.QWidget):
|
||||
else:
|
||||
before = time.time()
|
||||
frame = self.serviceItem.get_rendered_frame(row)
|
||||
if isinstance(frame, QtGui.QImage):
|
||||
self.SlidePreview.setPixmap(QtGui.QPixmap.fromImage(frame))
|
||||
else:
|
||||
self.SlidePreview.setPixmap(QtGui.QPixmap.fromImage(frame[u'main']))
|
||||
log.log(15, u'Slide Rendering took %4s' % (time.time() - before))
|
||||
if self.isLive:
|
||||
|
@ -23,7 +23,6 @@
|
||||
# Temple Place, Suite 330, Boston, MA 02111-1307 USA #
|
||||
###############################################################################
|
||||
|
||||
from mediatab import MediaTab
|
||||
from mediaitem import MediaMediaItem
|
||||
|
||||
__all__ = ['MediaTab', 'MediaMediaItem']
|
||||
__all__ = ['MediaMediaItem']
|
||||
|
@ -1,51 +0,0 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# vim: autoindent shiftwidth=4 expandtab textwidth=80 tabstop=4 softtabstop=4
|
||||
|
||||
###############################################################################
|
||||
# OpenLP - Open Source Lyrics Projection #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# Copyright (c) 2008-2009 Raoul Snyman #
|
||||
# Portions copyright (c) 2008-2009 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Maikel Stuivenberg, Martin Thompson, Jon Tibble, #
|
||||
# Carsten Tinggaard #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# 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 Foundation; version 2 of the License. #
|
||||
# #
|
||||
# This program is distributed in the hope that it will be useful, but WITHOUT #
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or #
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for #
|
||||
# more details. #
|
||||
# #
|
||||
# You should have received a copy of the GNU General Public License along #
|
||||
# with this program; if not, write to the Free Software Foundation, Inc., 59 #
|
||||
# Temple Place, Suite 330, Boston, MA 02111-1307 USA #
|
||||
###############################################################################
|
||||
|
||||
from PyQt4 import QtCore, QtGui
|
||||
|
||||
from openlp.core.lib import SettingsTab, str_to_bool
|
||||
|
||||
class MediaTab(SettingsTab):
|
||||
"""
|
||||
mediaTab is the media settings tab in the settings dialog.
|
||||
"""
|
||||
def __init__(self, title, section=None):
|
||||
SettingsTab.__init__(self, title, section)
|
||||
|
||||
def setupUi(self):
|
||||
self.setObjectName(u'MediaTab')
|
||||
self.tabTitleVisible = self.trUtf8('Media')
|
||||
#self.MediaLayout = QtGui.QFormLayout(self)
|
||||
#self.MediaLayout.setObjectName(u'MediaLayout')
|
||||
|
||||
def retranslateUi(self):
|
||||
pass
|
||||
|
||||
def load(self):
|
||||
pass
|
||||
|
||||
def save(self):
|
||||
pass
|
||||
|
@ -26,7 +26,7 @@
|
||||
import logging
|
||||
|
||||
from openlp.core.lib import Plugin, build_icon
|
||||
from openlp.plugins.media.lib import MediaTab, MediaMediaItem
|
||||
from openlp.plugins.media.lib import MediaMediaItem
|
||||
|
||||
class MediaPlugin(Plugin):
|
||||
global log
|
||||
@ -40,9 +40,6 @@ class MediaPlugin(Plugin):
|
||||
# passed with drag and drop messages
|
||||
self.dnd_id = u'Media'
|
||||
|
||||
def get_settings_tab(self):
|
||||
return MediaTab(self.name)
|
||||
|
||||
def initialise(self):
|
||||
log.info(u'Plugin Initialising')
|
||||
Plugin.initialise(self)
|
||||
|
@ -315,7 +315,7 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog):
|
||||
self.VerseDeleteButton.setEnabled(True)
|
||||
|
||||
def onVerseAddButtonClicked(self):
|
||||
self.verse_form.setVerse(u'')
|
||||
self.verse_form.setVerse(u'', self.VerseListWidget.count() + 1, True)
|
||||
self.verse_form.exec_()
|
||||
afterText, verse, subVerse = self.verse_form.getVerse()
|
||||
data = u'%s:%s' %(verse, subVerse)
|
||||
@ -329,7 +329,8 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog):
|
||||
if item:
|
||||
tempText = item.text()
|
||||
verseId = unicode((item.data(QtCore.Qt.UserRole)).toString())
|
||||
self.verse_form.setVerse(tempText, True, verseId)
|
||||
self.verse_form.setVerse(tempText, \
|
||||
self.VerseListWidget.count(), True, verseId)
|
||||
self.verse_form.exec_()
|
||||
afterText, verse, subVerse = self.verse_form.getVerse()
|
||||
data = u'%s:%s' %(verse, subVerse)
|
||||
@ -368,7 +369,9 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog):
|
||||
for count, parts in enumerate(match.split(u']---\n')):
|
||||
if len(parts) > 1:
|
||||
if count == 0:
|
||||
variant = parts
|
||||
#make sure the tag is correctly cased
|
||||
variant = u'%s%s' % \
|
||||
(parts[0:1].upper(), parts[1:].lower())
|
||||
else:
|
||||
if parts.endswith(u'\n'):
|
||||
parts = parts.rstrip(u'\n')
|
||||
@ -400,14 +403,25 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog):
|
||||
if self.AuthorsListView.count() == 0:
|
||||
self.SongTabWidget.setCurrentIndex(2)
|
||||
self.AuthorsListView.setFocus()
|
||||
for verse in unicode(self.VerseOrderEdit.text()):
|
||||
if verse.isdigit() or u' BC'.find(verse) > -1:
|
||||
#split the verse list by space and mark lower case for testing
|
||||
for verse in unicode(self.VerseOrderEdit.text()).lower().split(u' '):
|
||||
if len(verse) == 2:
|
||||
if verse[0:1] == u'v' and verse[1:].isdigit():
|
||||
pass
|
||||
else:
|
||||
self.SongTabWidget.setCurrentIndex(0)
|
||||
self.VerseOrderEdit.setFocus()
|
||||
return False, \
|
||||
self.trUtf8('Invalid verse entry - values must be Numeric, B or C')
|
||||
self.trUtf8('Invalid verse entry - vX')
|
||||
else:
|
||||
if u' bcitped'.find(verse) > -1:
|
||||
pass
|
||||
else:
|
||||
self.SongTabWidget.setCurrentIndex(0)
|
||||
self.VerseOrderEdit.setFocus()
|
||||
return False, \
|
||||
self.trUtf8(\
|
||||
'Invalid verse entry - values must be Numeric, I,B,C,T,P,E,O')
|
||||
return True, u''
|
||||
|
||||
def onTitleEditItemLostFocus(self):
|
||||
|
@ -1,88 +1,91 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# vim: autoindent shiftwidth=4 expandtab textwidth=80 tabstop=4 softtabstop=4
|
||||
|
||||
###############################################################################
|
||||
# OpenLP - Open Source Lyrics Projection #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# Copyright (c) 2008-2009 Raoul Snyman #
|
||||
# Portions copyright (c) 2008-2009 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Maikel Stuivenberg, Martin Thompson, Jon Tibble, #
|
||||
# Carsten Tinggaard #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# 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 Foundation; version 2 of the License. #
|
||||
# #
|
||||
# This program is distributed in the hope that it will be useful, but WITHOUT #
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or #
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for #
|
||||
# more details. #
|
||||
# #
|
||||
# You should have received a copy of the GNU General Public License along #
|
||||
# with this program; if not, write to the Free Software Foundation, Inc., 59 #
|
||||
# Temple Place, Suite 330, Boston, MA 02111-1307 USA #
|
||||
###############################################################################
|
||||
# Form implementation generated from reading ui file 'editversedialog.ui'
|
||||
#
|
||||
# Created: Wed Dec 2 08:14:47 2009
|
||||
# by: PyQt4 UI code generator 4.6.2
|
||||
#
|
||||
# WARNING! All changes made in this file will be lost!
|
||||
|
||||
from PyQt4 import QtCore, QtGui
|
||||
|
||||
class Ui_EditVerseDialog(object):
|
||||
def setupUi(self, EditVerseDialog):
|
||||
EditVerseDialog.setObjectName("EditVerseDialog")
|
||||
EditVerseDialog.resize(492, 494)
|
||||
EditVerseDialog.resize(500, 521)
|
||||
EditVerseDialog.setModal(True)
|
||||
self.widget = QtGui.QWidget(EditVerseDialog)
|
||||
self.widget.setGeometry(QtCore.QRect(9, 12, 471, 471))
|
||||
self.widget.setObjectName("widget")
|
||||
self.verticalLayout = QtGui.QVBoxLayout(self.widget)
|
||||
self.verticalLayout.setObjectName("verticalLayout")
|
||||
self.layoutWidget = QtGui.QWidget(EditVerseDialog)
|
||||
self.layoutWidget.setGeometry(QtCore.QRect(11, 1, 471, 491))
|
||||
self.layoutWidget.setObjectName("layoutWidget")
|
||||
self.verticalLayout_3 = QtGui.QVBoxLayout(self.layoutWidget)
|
||||
self.verticalLayout_3.setObjectName("verticalLayout_3")
|
||||
self.horizontalLayout = QtGui.QHBoxLayout()
|
||||
self.horizontalLayout.setObjectName("horizontalLayout")
|
||||
self.VerseListComboBox = QtGui.QComboBox(self.widget)
|
||||
self.verticalLayout = QtGui.QVBoxLayout()
|
||||
self.verticalLayout.setObjectName("verticalLayout")
|
||||
self.VerseTypeLabel = QtGui.QLabel(self.layoutWidget)
|
||||
self.VerseTypeLabel.setTextFormat(QtCore.Qt.PlainText)
|
||||
self.VerseTypeLabel.setAlignment(QtCore.Qt.AlignCenter)
|
||||
self.VerseTypeLabel.setObjectName("VerseTypeLabel")
|
||||
self.verticalLayout.addWidget(self.VerseTypeLabel)
|
||||
self.VerseListComboBox = QtGui.QComboBox(self.layoutWidget)
|
||||
self.VerseListComboBox.setObjectName("VerseListComboBox")
|
||||
self.VerseListComboBox.addItem("")
|
||||
self.VerseListComboBox.setItemText(0, "")
|
||||
self.VerseListComboBox.addItem("")
|
||||
self.VerseListComboBox.addItem("")
|
||||
self.VerseListComboBox.addItem("")
|
||||
self.horizontalLayout.addWidget(self.VerseListComboBox)
|
||||
self.SubVerseListComboBox = QtGui.QComboBox(self.widget)
|
||||
self.VerseListComboBox.addItem("")
|
||||
self.VerseListComboBox.addItem("")
|
||||
self.VerseListComboBox.addItem("")
|
||||
self.verticalLayout.addWidget(self.VerseListComboBox)
|
||||
self.horizontalLayout.addLayout(self.verticalLayout)
|
||||
self.verticalLayout_2 = QtGui.QVBoxLayout()
|
||||
self.verticalLayout_2.setObjectName("verticalLayout_2")
|
||||
self.VerseNumberLabel = QtGui.QLabel(self.layoutWidget)
|
||||
self.VerseNumberLabel.setAlignment(QtCore.Qt.AlignCenter)
|
||||
self.VerseNumberLabel.setObjectName("VerseNumberLabel")
|
||||
self.verticalLayout_2.addWidget(self.VerseNumberLabel)
|
||||
self.SubVerseListComboBox = QtGui.QComboBox(self.layoutWidget)
|
||||
self.SubVerseListComboBox.setObjectName("SubVerseListComboBox")
|
||||
self.SubVerseListComboBox.addItem("")
|
||||
self.SubVerseListComboBox.setItemText(0, "")
|
||||
self.SubVerseListComboBox.addItem("")
|
||||
self.SubVerseListComboBox.addItem("")
|
||||
self.SubVerseListComboBox.addItem("")
|
||||
self.SubVerseListComboBox.addItem("")
|
||||
self.SubVerseListComboBox.addItem("")
|
||||
self.SubVerseListComboBox.addItem("")
|
||||
self.SubVerseListComboBox.addItem("")
|
||||
self.SubVerseListComboBox.addItem("")
|
||||
self.SubVerseListComboBox.addItem("")
|
||||
self.SubVerseListComboBox.addItem("")
|
||||
self.SubVerseListComboBox.addItem("")
|
||||
self.horizontalLayout.addWidget(self.SubVerseListComboBox)
|
||||
self.verticalLayout.addLayout(self.horizontalLayout)
|
||||
self.VerseTextEdit = QtGui.QTextEdit(self.widget)
|
||||
self.verticalLayout_2.addWidget(self.SubVerseListComboBox)
|
||||
self.horizontalLayout.addLayout(self.verticalLayout_2)
|
||||
self.verticalLayout_3.addLayout(self.horizontalLayout)
|
||||
self.VerseTextEdit = QtGui.QTextEdit(self.layoutWidget)
|
||||
self.VerseTextEdit.setAcceptRichText(False)
|
||||
self.VerseTextEdit.setObjectName("VerseTextEdit")
|
||||
self.verticalLayout.addWidget(self.VerseTextEdit)
|
||||
self.verticalLayout_3.addWidget(self.VerseTextEdit)
|
||||
self.horizontalLayout_2 = QtGui.QHBoxLayout()
|
||||
self.horizontalLayout_2.setObjectName("horizontalLayout_2")
|
||||
self.addVerse = QtGui.QPushButton(self.widget)
|
||||
self.addVerse.setObjectName("addVerse")
|
||||
self.horizontalLayout_2.addWidget(self.addVerse)
|
||||
self.addChorus = QtGui.QPushButton(self.widget)
|
||||
self.addChorus.setObjectName("addChorus")
|
||||
self.horizontalLayout_2.addWidget(self.addChorus)
|
||||
self.addBridge = QtGui.QPushButton(self.widget)
|
||||
self.addBridge = QtGui.QPushButton(self.layoutWidget)
|
||||
self.addBridge.setObjectName("addBridge")
|
||||
self.horizontalLayout_2.addWidget(self.addBridge)
|
||||
self.verticalLayout.addLayout(self.horizontalLayout_2)
|
||||
self.ButtonBox = QtGui.QDialogButtonBox(self.widget)
|
||||
self.addVerse = QtGui.QPushButton(self.layoutWidget)
|
||||
self.addVerse.setObjectName("addVerse")
|
||||
self.horizontalLayout_2.addWidget(self.addVerse)
|
||||
self.addChorus = QtGui.QPushButton(self.layoutWidget)
|
||||
self.addChorus.setObjectName("addChorus")
|
||||
self.horizontalLayout_2.addWidget(self.addChorus)
|
||||
self.verticalLayout_3.addLayout(self.horizontalLayout_2)
|
||||
self.horizontalLayout_3 = QtGui.QHBoxLayout()
|
||||
self.horizontalLayout_3.setObjectName("horizontalLayout_3")
|
||||
self.addPreChorus = QtGui.QPushButton(self.layoutWidget)
|
||||
self.addPreChorus.setObjectName("addPreChorus")
|
||||
self.horizontalLayout_3.addWidget(self.addPreChorus)
|
||||
self.addIntro = QtGui.QPushButton(self.layoutWidget)
|
||||
self.addIntro.setObjectName("addIntro")
|
||||
self.horizontalLayout_3.addWidget(self.addIntro)
|
||||
self.addOther = QtGui.QPushButton(self.layoutWidget)
|
||||
self.addOther.setObjectName("addOther")
|
||||
self.horizontalLayout_3.addWidget(self.addOther)
|
||||
self.addEnding = QtGui.QPushButton(self.layoutWidget)
|
||||
self.addEnding.setObjectName("addEnding")
|
||||
self.horizontalLayout_3.addWidget(self.addEnding)
|
||||
self.verticalLayout_3.addLayout(self.horizontalLayout_3)
|
||||
self.ButtonBox = QtGui.QDialogButtonBox(self.layoutWidget)
|
||||
self.ButtonBox.setOrientation(QtCore.Qt.Horizontal)
|
||||
self.ButtonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Save)
|
||||
self.ButtonBox.setObjectName("ButtonBox")
|
||||
self.verticalLayout.addWidget(self.ButtonBox)
|
||||
self.verticalLayout_3.addWidget(self.ButtonBox)
|
||||
|
||||
self.retranslateUi(EditVerseDialog)
|
||||
QtCore.QObject.connect(self.ButtonBox, QtCore.SIGNAL("accepted()"), EditVerseDialog.accept)
|
||||
@ -91,20 +94,20 @@ class Ui_EditVerseDialog(object):
|
||||
|
||||
def retranslateUi(self, EditVerseDialog):
|
||||
EditVerseDialog.setWindowTitle(QtGui.QApplication.translate("EditVerseDialog", "Edit Verse", None, QtGui.QApplication.UnicodeUTF8))
|
||||
self.VerseTypeLabel.setText(QtGui.QApplication.translate("EditVerseDialog", "Verse Type", None, QtGui.QApplication.UnicodeUTF8))
|
||||
self.VerseListComboBox.setItemText(0, QtGui.QApplication.translate("EditVerseDialog", "Intro", None, QtGui.QApplication.UnicodeUTF8))
|
||||
self.VerseListComboBox.setItemText(1, QtGui.QApplication.translate("EditVerseDialog", "Verse", None, QtGui.QApplication.UnicodeUTF8))
|
||||
self.VerseListComboBox.setItemText(2, QtGui.QApplication.translate("EditVerseDialog", "Chorus", None, QtGui.QApplication.UnicodeUTF8))
|
||||
self.VerseListComboBox.setItemText(3, QtGui.QApplication.translate("EditVerseDialog", "Bridge", None, QtGui.QApplication.UnicodeUTF8))
|
||||
self.SubVerseListComboBox.setItemText(1, QtGui.QApplication.translate("EditVerseDialog", "1", None, QtGui.QApplication.UnicodeUTF8))
|
||||
self.SubVerseListComboBox.setItemText(2, QtGui.QApplication.translate("EditVerseDialog", "1a", None, QtGui.QApplication.UnicodeUTF8))
|
||||
self.SubVerseListComboBox.setItemText(3, QtGui.QApplication.translate("EditVerseDialog", "1b", None, QtGui.QApplication.UnicodeUTF8))
|
||||
self.SubVerseListComboBox.setItemText(4, QtGui.QApplication.translate("EditVerseDialog", "2", None, QtGui.QApplication.UnicodeUTF8))
|
||||
self.SubVerseListComboBox.setItemText(5, QtGui.QApplication.translate("EditVerseDialog", "2a", None, QtGui.QApplication.UnicodeUTF8))
|
||||
self.SubVerseListComboBox.setItemText(6, QtGui.QApplication.translate("EditVerseDialog", "2b", None, QtGui.QApplication.UnicodeUTF8))
|
||||
self.SubVerseListComboBox.setItemText(7, QtGui.QApplication.translate("EditVerseDialog", "3", None, QtGui.QApplication.UnicodeUTF8))
|
||||
self.SubVerseListComboBox.setItemText(8, QtGui.QApplication.translate("EditVerseDialog", "4", None, QtGui.QApplication.UnicodeUTF8))
|
||||
self.SubVerseListComboBox.setItemText(9, QtGui.QApplication.translate("EditVerseDialog", "5", None, QtGui.QApplication.UnicodeUTF8))
|
||||
self.SubVerseListComboBox.setItemText(10, QtGui.QApplication.translate("EditVerseDialog", "6", None, QtGui.QApplication.UnicodeUTF8))
|
||||
self.SubVerseListComboBox.setItemText(11, QtGui.QApplication.translate("EditVerseDialog", "7", None, QtGui.QApplication.UnicodeUTF8))
|
||||
self.VerseListComboBox.setItemText(2, QtGui.QApplication.translate("EditVerseDialog", "Pre-Chorus", None, QtGui.QApplication.UnicodeUTF8))
|
||||
self.VerseListComboBox.setItemText(3, QtGui.QApplication.translate("EditVerseDialog", "Chorus", None, QtGui.QApplication.UnicodeUTF8))
|
||||
self.VerseListComboBox.setItemText(4, QtGui.QApplication.translate("EditVerseDialog", "Bridge", None, QtGui.QApplication.UnicodeUTF8))
|
||||
self.VerseListComboBox.setItemText(5, QtGui.QApplication.translate("EditVerseDialog", "Ending", None, QtGui.QApplication.UnicodeUTF8))
|
||||
self.VerseListComboBox.setItemText(6, QtGui.QApplication.translate("EditVerseDialog", "Other", None, QtGui.QApplication.UnicodeUTF8))
|
||||
self.VerseNumberLabel.setText(QtGui.QApplication.translate("EditVerseDialog", "Number", None, QtGui.QApplication.UnicodeUTF8))
|
||||
self.addBridge.setText(QtGui.QApplication.translate("EditVerseDialog", "Bridge", None, QtGui.QApplication.UnicodeUTF8))
|
||||
self.addVerse.setText(QtGui.QApplication.translate("EditVerseDialog", "Verse", None, QtGui.QApplication.UnicodeUTF8))
|
||||
self.addChorus.setText(QtGui.QApplication.translate("EditVerseDialog", "Chorus", None, QtGui.QApplication.UnicodeUTF8))
|
||||
self.addBridge.setText(QtGui.QApplication.translate("EditVerseDialog", "Bridge", None, QtGui.QApplication.UnicodeUTF8))
|
||||
self.addPreChorus.setText(QtGui.QApplication.translate("EditVerseDialog", "Pre-Chorus", None, QtGui.QApplication.UnicodeUTF8))
|
||||
self.addIntro.setText(QtGui.QApplication.translate("EditVerseDialog", "Intro", None, QtGui.QApplication.UnicodeUTF8))
|
||||
self.addOther.setText(QtGui.QApplication.translate("EditVerseDialog", "Other", None, QtGui.QApplication.UnicodeUTF8))
|
||||
self.addEnding.setText(QtGui.QApplication.translate("EditVerseDialog", "Ending", None, QtGui.QApplication.UnicodeUTF8))
|
||||
|
||||
|
@ -42,17 +42,39 @@ class EditVerseForm(QtGui.QDialog, Ui_EditVerseDialog):
|
||||
QtCore.SIGNAL(u'clicked()'), self.onAddChorus)
|
||||
QtCore.QObject.connect(self.addBridge,
|
||||
QtCore.SIGNAL(u'clicked()'), self.onAddBridge)
|
||||
QtCore.QObject.connect(self.addIntro,
|
||||
QtCore.SIGNAL(u'clicked()'), self.onAddIntro)
|
||||
QtCore.QObject.connect(self.addOther,
|
||||
QtCore.SIGNAL(u'clicked()'), self.onAddOther)
|
||||
QtCore.QObject.connect(self.addPreChorus,
|
||||
QtCore.SIGNAL(u'clicked()'), self.onAddPreChorus)
|
||||
QtCore.QObject.connect(self.addEnding,
|
||||
QtCore.SIGNAL(u'clicked()'), self.onAddEnding)
|
||||
QtCore.QObject.connect(self.VerseListComboBox,
|
||||
QtCore.SIGNAL(u'activated(int)'), self.onVerseComboChanged)
|
||||
|
||||
def onAddIntro(self):
|
||||
self.VerseTextEdit.insertPlainText(u'---[Intro:1]---')
|
||||
|
||||
def onAddEnding(self):
|
||||
self.VerseTextEdit.insertPlainText(u'---[Ending:1]---')
|
||||
|
||||
def onAddOther(self):
|
||||
self.VerseTextEdit.insertPlainText(u'---[Other:1]---')
|
||||
|
||||
def onAddPreChorus(self):
|
||||
self.VerseTextEdit.insertPlainText(u'---[PreChorus:1]---')
|
||||
|
||||
def onAddBridge(self):
|
||||
self.VerseTextEdit.insertPlainText(u'---[Bridge:1]---\n')
|
||||
self.VerseTextEdit.insertPlainText(u'---[Bridge:1]---')
|
||||
|
||||
def onAddChorus(self):
|
||||
self.VerseTextEdit.insertPlainText(u'---[Chorus:1]---\n')
|
||||
self.VerseTextEdit.insertPlainText(u'---[Chorus:1]---')
|
||||
|
||||
def onAddVerse(self):
|
||||
self.VerseTextEdit.insertPlainText(u'---[Verse:1]---\n')
|
||||
self.VerseTextEdit.insertPlainText(u'---[Verse:1]---')
|
||||
|
||||
def setVerse(self, text, single=False, tag=0):
|
||||
def setVerse(self, text, verseCount=0, single=False, tag=u'Verse:1'):
|
||||
posVerse = 0
|
||||
posSub = 0
|
||||
if single:
|
||||
@ -65,19 +87,31 @@ class EditVerseForm(QtGui.QDialog, Ui_EditVerseDialog):
|
||||
posSub = 0
|
||||
self.VerseListComboBox.setEnabled(True)
|
||||
self.SubVerseListComboBox.setEnabled(True)
|
||||
self.SubVerseListComboBox.clear()
|
||||
for i in range(1, verseCount + 1):
|
||||
self.SubVerseListComboBox.addItem(u'%s'% i)
|
||||
self.addBridge.setEnabled(False)
|
||||
self.addChorus.setEnabled(False)
|
||||
self.addVerse.setEnabled(False)
|
||||
self.addIntro.setEnabled(False)
|
||||
self.addPreChorus.setEnabled(False)
|
||||
self.addOther.setEnabled(False)
|
||||
self.addEnding.setEnabled(False)
|
||||
else:
|
||||
self.VerseListComboBox.setEnabled(False)
|
||||
self.SubVerseListComboBox.setEnabled(False)
|
||||
self.addBridge.setEnabled(True)
|
||||
self.addChorus.setEnabled(True)
|
||||
self.addVerse.setEnabled(True)
|
||||
self.addIntro.setEnabled(True)
|
||||
self.addPreChorus.setEnabled(True)
|
||||
self.addOther.setEnabled(True)
|
||||
self.addEnding.setEnabled(True)
|
||||
self.VerseListComboBox.setCurrentIndex(posVerse)
|
||||
self.SubVerseListComboBox.setCurrentIndex(posSub)
|
||||
self.VerseTextEdit.setPlainText(text)
|
||||
self.VerseTextEdit.setFocus(QtCore.Qt.OtherFocusReason)
|
||||
self.onVerseComboChanged(0)
|
||||
|
||||
def getVerse(self):
|
||||
return self.VerseTextEdit.toPlainText(), \
|
||||
@ -86,3 +120,10 @@ class EditVerseForm(QtGui.QDialog, Ui_EditVerseDialog):
|
||||
|
||||
def getVerseAll(self):
|
||||
return self.VerseTextEdit.toPlainText()
|
||||
|
||||
def onVerseComboChanged(self, id):
|
||||
if unicode(self.VerseListComboBox.currentText()) == u'Verse':
|
||||
self.SubVerseListComboBox.setEnabled(True)
|
||||
else:
|
||||
self.SubVerseListComboBox.setEnabled(False)
|
||||
self.SubVerseListComboBox.setCurrentIndex(0)
|
||||
|
@ -289,19 +289,23 @@ class SongMediaItem(MediaManagerItem):
|
||||
service_item.theme = song.theme_name
|
||||
service_item.edit_enabled = True
|
||||
service_item.editId = item_id
|
||||
service_item.verse_order = song.verse_order
|
||||
if song.lyrics.startswith(u'<?xml version='):
|
||||
songXML = SongXMLParser(song.lyrics)
|
||||
verseList = songXML.get_verses()
|
||||
if service_item.verse_order is None or service_item.verse_order == u'':
|
||||
#no verse list or only 1 space (in error)
|
||||
if song.verse_order is None or \
|
||||
song.verse_order == u'' or song.verse_order == u' ':
|
||||
for verse in verseList:
|
||||
service_item.add_from_text(verse[1][:30], unicode(verse[1]))
|
||||
else:
|
||||
for order in service_item.verse_order:
|
||||
#Loop through the verse list and expand the song accordingly.
|
||||
for order in song.verse_order.upper().split(u' '):
|
||||
if len(order) == 0:
|
||||
break
|
||||
for verse in verseList:
|
||||
if verse[1]:
|
||||
if verse[0][u'type'] == "Verse" and \
|
||||
verse[0][u'label'][0] == order[0]:
|
||||
if verse[0][u'type'] == "Verse":
|
||||
if verse[0][u'label'][0] == order[1:]:
|
||||
verseTag = u'%s:%s' % \
|
||||
(verse[0][u'type'], verse[0][u'label'])
|
||||
service_item.add_from_text\
|
||||
|
@ -6,33 +6,48 @@
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>492</width>
|
||||
<height>494</height>
|
||||
<width>500</width>
|
||||
<height>521</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Dialog</string>
|
||||
<string>Edit Verse</string>
|
||||
</property>
|
||||
<property name="modal">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<widget class="QWidget" name="">
|
||||
<widget class="QWidget" name="layoutWidget">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>9</x>
|
||||
<y>12</y>
|
||||
<x>11</x>
|
||||
<y>1</y>
|
||||
<width>471</width>
|
||||
<height>471</height>
|
||||
<height>491</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<layout class="QVBoxLayout" name="verticalLayout_3">
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<widget class="QLabel" name="VerseTypeLabel">
|
||||
<property name="text">
|
||||
<string>Verse Type</string>
|
||||
</property>
|
||||
<property name="textFormat">
|
||||
<enum>Qt::PlainText</enum>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QComboBox" name="VerseListComboBox">
|
||||
<item>
|
||||
<property name="text">
|
||||
<string/>
|
||||
<string>Intro</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
@ -40,6 +55,11 @@
|
||||
<string>Verse</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Pre-Chorus</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Chorus</string>
|
||||
@ -50,74 +70,39 @@
|
||||
<string>Bridge</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QComboBox" name="SubVerseListComboBox">
|
||||
<item>
|
||||
<property name="text">
|
||||
<string/>
|
||||
<string>Ending</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>1</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>1a</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>1b</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>2</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>2a</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>2b</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>3</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>4</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>5</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>6</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>7</string>
|
||||
<string>Other</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||
<item>
|
||||
<widget class="QLabel" name="VerseNumberLabel">
|
||||
<property name="text">
|
||||
<string>Number</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QComboBox" name="SubVerseListComboBox"/>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QTextEdit" name="VerseTextEdit">
|
||||
<property name="acceptRichText">
|
||||
@ -127,6 +112,13 @@
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
||||
<item>
|
||||
<widget class="QPushButton" name="addBridge">
|
||||
<property name="text">
|
||||
<string>Bridge</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="addVerse">
|
||||
<property name="text">
|
||||
@ -141,10 +133,35 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="addBridge">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_3">
|
||||
<item>
|
||||
<widget class="QPushButton" name="addPreChorus">
|
||||
<property name="text">
|
||||
<string>Bridge</string>
|
||||
<string>Pre-Chorus</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="addIntro">
|
||||
<property name="text">
|
||||
<string>Intro</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="addOther">
|
||||
<property name="text">
|
||||
<string>Other</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="addEnding">
|
||||
<property name="text">
|
||||
<string>Ending</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
|
@ -126,19 +126,6 @@
|
||||
<file>theme_import.png</file>
|
||||
</qresource>
|
||||
<qresource prefix="pages" >
|
||||
<file>page_chorus.png</file>
|
||||
<file>page_bridge.png</file>
|
||||
<file>page_1.png</file>
|
||||
<file>page_2.png</file>
|
||||
<file>page_3.png</file>
|
||||
<file>page_4.png</file>
|
||||
<file>page_5.png</file>
|
||||
<file>page_6.png</file>
|
||||
<file>page_7.png</file>
|
||||
<file>page_8.png</file>
|
||||
<file>page_9.png</file>
|
||||
<file>page_10.png</file>
|
||||
<file>page_11.png</file>
|
||||
<file>page_12.png</file>
|
||||
<file>slide.png</file>
|
||||
</qresource>
|
||||
</RCC>
|
||||
|
Before Width: | Height: | Size: 409 B |
Before Width: | Height: | Size: 357 B |
Before Width: | Height: | Size: 357 B |
Before Width: | Height: | Size: 357 B |
Before Width: | Height: | Size: 396 B |
Before Width: | Height: | Size: 388 B |
Before Width: | Height: | Size: 390 B |
Before Width: | Height: | Size: 400 B |
Before Width: | Height: | Size: 357 B |
Before Width: | Height: | Size: 357 B |
Before Width: | Height: | Size: 357 B |
Before Width: | Height: | Size: 357 B |
Before Width: | Height: | Size: 406 B |
Before Width: | Height: | Size: 402 B |
@ -1 +1 @@
|
||||
1.9.0-682
|
||||
1.9.0-684
|
||||
|