Add double clicks to songs and customSlide

More code cleanups
This commit is contained in:
Tim Bentley 2009-06-07 20:34:24 +01:00
commit ed73a78e95
7 changed files with 105 additions and 164 deletions

View File

@ -41,7 +41,6 @@ class OpenLP(QtGui.QApplication):
#provide a listener for widgets to reqest a screen update.
QtCore.QObject.connect(Receiver.get_receiver(),
QtCore.SIGNAL(u'openlpprocessevents'), self.processEvents)
self.setApplicationName(u'openlp.org')
self.setApplicationVersion(u'1.9.0')
self.splash = SplashScreen(self.applicationVersion())
@ -66,4 +65,3 @@ class OpenLP(QtGui.QApplication):
if __name__ == u'__main__':
app = OpenLP(sys.argv)
app.run()

View File

@ -60,7 +60,7 @@ class MainDisplay(QtGui.QWidget):
if not screen[u'primary']:
self.showFullScreen()
else:
self.hide()
self.showMinimized()
painter = QtGui.QPainter()
self.blankFrame = QtGui.QPixmap(screen[u'size'].width(), screen[u'size'].height())
painter.begin(self.blankFrame)

View File

@ -99,8 +99,6 @@ class MainWindow(object):
"""
self.mainWindow.showMaximized()
self.mainDisplay.setup(self.settingsForm.GeneralTab.MonitorNumber)
self.mainDisplay.show()
#self.mainWindow.setFocus(QtCore.Qt.OtherFocusReason)
def onHelpAboutItemClicked(self):
"""

View File

@ -135,11 +135,10 @@ class SlideController(QtGui.QWidget):
self.PreviewListView = QtGui.QListView(self.Controller)
self.PreviewListData = SlideData()
self.PreviewListView.isLive = self.isLive
self.PreviewListView.setFlow(1)
self.PreviewListView.setViewMode(1)
#self.PreviewListView.setFlow(1)
#self.PreviewListView.setViewMode(1)
self.PreviewListView.setWrapping(False)
self.PreviewListView.setModel(self.PreviewListData)
#self.PreviewListView.setSelectionRectVisible(True)
self.PreviewListView.setSpacing(0)
self.PreviewListView.setObjectName(u'PreviewListView')
self.ControllerLayout.addWidget(self.PreviewListView)

View File

@ -41,9 +41,7 @@ class CustomList(QtGui.QListView):
mimeData = QtCore.QMimeData()
drag.setMimeData(mimeData)
mimeData.setText(u'Custom')
dropAction = drag.start(QtCore.Qt.CopyAction)
if dropAction == QtCore.Qt.CopyAction:
self.close()
@ -65,36 +63,36 @@ class CustomMediaItem(MediaManagerItem):
# Create buttons for the toolbar
## New Custom Button ##
self.addToolbarButton(
translate('CustomMediaItem',u'New Custom Item'),
translate('CustomMediaItem',u'Add a new Custom Item'),
':/custom/custom_new.png', self.onCustomNewClick, 'CustomNewItem')
translate(u'CustomMediaItem',u'New Custom Item'),
translate(u'CustomMediaItem',u'Add a new Custom Item'),
u':/custom/custom_new.png', self.onCustomNewClick, u'CustomNewItem')
## Edit Custom Button ##
self.addToolbarButton(
translate('CustomMediaItem',u'Edit Custom Item'),
translate('CustomMediaItem',u'Edit the selected Custom Item'),
':/custom/custom_edit.png', self.onCustomEditClick, 'CustomEditItem')
translate(u'CustomMediaItem',u'Edit Custom Item'),
translate(u'CustomMediaItem',u'Edit the selected Custom Item'),
u':/custom/custom_edit.png', self.onCustomEditClick, u'CustomEditItem')
## Delete Custom Button ##
self.addToolbarButton(
translate('CustomMediaItem',u'Delete Custom Item'),
translate('CustomMediaItem',u'Delete the selected Custom Item'),
':/custom/custom_delete.png', self.onCustomDeleteClick, 'CustomDeleteItem')
translate(u'CustomMediaItem',u'Delete Custom Item'),
translate(u'CustomMediaItem',u'Delete the selected Custom Item'),
u':/custom/custom_delete.png', self.onCustomDeleteClick, u'CustomDeleteItem')
## Separator Line ##
self.addToolbarSeparator()
## Preview Custom Button ##
self.addToolbarButton(
translate('CustomMediaItem',u'Preview Custom Item'),
translate('CustomMediaItem',u'Preview the selected Custom Item'),
':/system/system_preview.png', self.onCustomPreviewClick, 'CustomPreviewItem')
translate(u'CustomMediaItem',u'Preview Custom Item'),
translate(u'CustomMediaItem',u'Preview the selected Custom Item'),
u':/system/system_preview.png', self.onCustomPreviewClick, u'CustomPreviewItem')
## Live Custom Button ##
self.addToolbarButton(
translate('CustomMediaItem',u'Go Live'),
translate('CustomMediaItem', u'Send the selected Custom live'),
':/system/system_live.png', self.onCustomLiveClick, 'CustomLiveItem')
translate(u'CustomMediaItem',u'Go Live'),
translate(u'CustomMediaItem', u'Send the selected Custom live'),
u':/system/system_live.png', self.onCustomLiveClick, u'CustomLiveItem')
## Add Custom Button ##
self.addToolbarButton(
translate('CustomMediaItem',u'Add Custom To Service'),
translate('CustomMediaItem',u'Add the selected Custom(s) to the service'),
':/system/system_add.png', self.onCustomAddClick, 'CustomAddItem')
translate(u'CustomMediaItem',u'Add Custom To Service'),
translate(u'CustomMediaItem',u'Add the selected Custom(s) to the service'),
u':/system/system_add.png', self.onCustomAddClick, u'CustomAddItem')
# Add the Customlist widget
self.CustomWidget = QtGui.QWidget(self)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
@ -103,64 +101,36 @@ class CustomMediaItem(MediaManagerItem):
sizePolicy.setHeightForWidth(self.CustomWidget.sizePolicy().hasHeightForWidth())
self.CustomWidget.setSizePolicy(sizePolicy)
self.CustomWidget.setObjectName(u'CustomWidget')
# self.SearchLayout = QtGui.QGridLayout(self.CustomWidget)
# self.SearchLayout.setObjectName('SearchLayout')
# self.SearchTextLabel = QtGui.QLabel(self.CustomWidget)
# self.SearchTextLabel.setObjectName('SearchTextLabel')
# self.SearchTextLabel.setText('Search Text:')
# self.SearchLayout.addWidget(self.SearchTextLabel, 2, 0, 1, 1)
# self.SearchTextEdit = QtGui.QLineEdit(self.CustomWidget)
# self.SearchTextEdit.setObjectName('SearchTextEdit')
# self.SearchLayout.addWidget(self.SearchTextEdit, 2, 1, 1, 2)
#
# self.ClearTextButton = QtGui.QPushButton(self.CustomWidget)
# self.ClearTextButton.setObjectName('ClearTextButton')
#
# self.SearchLayout.addWidget(self.ClearTextButton, 3, 1, 1, 1)
# self.SearchTextButton = QtGui.QPushButton(self.CustomWidget)
# self.SearchTextButton.setObjectName('SearchTextButton')
# self.SearchLayout.addWidget(self.SearchTextButton, 3, 2, 1, 1)
# Add the Custom widget to the page layout
self.PageLayout.addWidget(self.CustomWidget)
self.CustomListView = CustomList()
self.CustomListView.setAlternatingRowColors(True)
self.CustomListData = TextListData()
self.CustomListView.setModel(self.CustomListData)
self.CustomListView.setDragEnabled(True)
self.PageLayout.addWidget(self.CustomListView)
# Signals
# QtCore.QObject.connect(self.SearchTextButton,
# QtCore.SIGNAL("pressed()"), self.onSearchTextButtonClick)
# QtCore.QObject.connect(self.ClearTextButton,
# QtCore.SIGNAL("pressed()"), self.onClearTextButtonClick)
# QtCore.QObject.connect(self.SearchTextEdit,
# QtCore.SIGNAL("textChanged(const QString&)"), self.onSearchTextEditChanged)
# QtCore.QObject.connect(self.CustomListView,
# QtCore.SIGNAL("itemPressed(QTableWidgetItem * item)"), self.onCustomSelected)
QtCore.QObject.connect(self.CustomListView,
QtCore.SIGNAL(u'doubleClicked(QModelIndex)'), self.onCustomPreviewClick)
#define and add the context menu
self.CustomListView.setContextMenuPolicy(QtCore.Qt.ActionsContextMenu)
self.CustomListView.addAction(self.contextMenuAction(self.CustomListView,
':/custom/custom_edit.png', translate('CustomMediaItem', u'&Edit Custom'),
':/custom/custom_edit.png', translate(u'CustomMediaItem', u'&Edit Custom'),
self.onCustomEditClick))
self.CustomListView.addAction(self.contextMenuSeparator(self.CustomListView))
self.CustomListView.addAction(self.contextMenuAction(
self.CustomListView, ':/system/system_preview.png',
translate('CustomMediaItem',u'&Preview Custom'), self.onCustomPreviewClick))
translate(u'CustomMediaItem',u'&Preview Custom'), self.onCustomPreviewClick))
self.CustomListView.addAction(self.contextMenuAction(
self.CustomListView, ':/system/system_live.png',
translate('CustomMediaItem',u'&Show Live'), self.onCustomLiveClick))
translate(u'CustomMediaItem',u'&Show Live'), self.onCustomLiveClick))
self.CustomListView.addAction(self.contextMenuAction(
self.CustomListView, ':/system/system_add.png',
translate('CustomMediaItem',u'&Add to Service'), self.onCustomAddClick))
translate(u'CustomMediaItem',u'&Add to Service'), self.onCustomAddClick))
# def retranslateUi(self):
# self.ClearTextButton.setText(translate('CustomMediaItem', u'Clear'))
# self.SearchTextButton.setText(translate('CustomMediaItem', u'Search'))
# self.ClearTextButton.setText(translate(u'CustomMediaItem', u'Clear'))
# self.SearchTextButton.setText(translate(u'CustomMediaItem', u'Search'))
def initialise(self):
self.loadCustomList(self.parent.custommanager.get_all_slides())
@ -177,7 +147,8 @@ class CustomMediaItem(MediaManagerItem):
self.SearchTextEdit.clear()
def onSearchTextEditChanged(self, text):
if len(text) > 3: # only search if > 3 characters
# only search if > 3 characters
if len(text) > 3:
self.onSearchTextButtonClick()
def onSearchTextButtonClick(self):
@ -209,21 +180,21 @@ class CustomMediaItem(MediaManagerItem):
def onCustomPreviewClick(self):
log.debug(u'Custom Preview Requested')
service_item = ServiceItem(self.parent)
service_item.addIcon( ":/media/media_song.png")
service_item.addIcon(u':/media/media_song.png')
self.generateSlideData(service_item)
self.parent.preview_controller.addServiceItem(service_item)
def onCustomLiveClick(self):
log.debug(u'Custom Live Requested')
service_item = ServiceItem(self.parent)
service_item.addIcon( ":/media/media_song.png")
service_item.addIcon(u':/media/media_song.png')
self.generateSlideData(service_item)
self.parent.live_controller.addServiceItem(service_item)
def onCustomAddClick(self):
log.debug(u'Custom Add Requested')
service_item = ServiceItem(self.parent)
service_item.addIcon( ":/media/media_song.png")
service_item.addIcon(u':/media/media_song.png')
self.generateSlideData(service_item)
self.parent.service_manager.addServiceItem(service_item)

View File

@ -42,9 +42,7 @@ class ImageList(QtGui.QListView):
mimeData = QtCore.QMimeData()
drag.setMimeData(mimeData)
mimeData.setText(u'Image')
dropAction = drag.start(QtCore.Qt.CopyAction)
if dropAction == QtCore.Qt.CopyAction:
self.close()
@ -65,32 +63,31 @@ class ImageMediaItem(MediaManagerItem):
# Create buttons for the toolbar
## New Song Button ##
self.addToolbarButton(
translate('ImageMediaItem', u'Load Image'),
translate('ImageMediaItem', u'Load images into openlp.org'),
':/images/image_load.png', self.onImagesNewClick, 'ImageNewItem')
translate(u'ImageMediaItem', u'Load Image'),
translate(u'ImageMediaItem', u'Load images into openlp.org'),
u':/images/image_load.png', self.onImagesNewClick, u'ImageNewItem')
## Delete Song Button ##
self.addToolbarButton(
translate('ImageMediaItem', u'Delete Image'),
translate('ImageMediaItem', u'Delete the selected image'),
':/images/image_delete.png', self.onImageDeleteClick, 'ImageDeleteItem')
translate(u'ImageMediaItem', u'Delete Image'),
translate(u'ImageMediaItem', u'Delete the selected image'),
u':/images/image_delete.png', self.onImageDeleteClick, u'ImageDeleteItem')
## Separator Line ##
self.addToolbarSeparator()
## Preview Song Button ##
self.addToolbarButton(
translate('ImageMediaItem', u'Preview Song'),
translate('ImageMediaItem', u'Preview the selected image'),
':/system/system_preview.png', self.onImagePreviewClick, 'ImagePreviewItem')
translate(u'ImageMediaItem', u'Preview Song'),
translate(u'ImageMediaItem', u'Preview the selected image'),
u':/system/system_preview.png', self.onImagePreviewClick, u'ImagePreviewItem')
## Live Song Button ##
self.addToolbarButton(
translate('ImageMediaItem', u'Go Live'),
translate('ImageMediaItem', u'Send the selected image live'),
':/system/system_live.png', self.onImageLiveClick, 'ImageLiveItem')
translate(u'ImageMediaItem', u'Go Live'),
translate(u'ImageMediaItem', u'Send the selected image live'),
u':/system/system_live.png', self.onImageLiveClick, u'ImageLiveItem')
## Add Song Button ##
self.addToolbarButton(
translate('ImageMediaItem', u'Add Image To Service'),
translate('ImageMediaItem', u'Add the selected image(s) to the service'),
':/system/system_add.png', self.onImageAddClick, 'ImageAddItem')
translate(u'ImageMediaItem', u'Add Image To Service'),
translate(u'ImageMediaItem', u'Add the selected image(s) to the service'),
u':/system/system_add.png', self.onImageAddClick, u'ImageAddItem')
#Add the Image List widget
self.ImageListView = ImageList()
self.ImageListView.uniformItemSizes = True
@ -101,33 +98,29 @@ class ImageMediaItem(MediaManagerItem):
self.ImageListView.setSelectionMode(QtGui.QAbstractItemView.MultiSelection)
self.ImageListView.setAlternatingRowColors(True)
self.ImageListView.setDragEnabled(True)
self.ImageListView.setObjectName('ImageListView')
self.ImageListView.setObjectName(u'ImageListView')
self.PageLayout.addWidget(self.ImageListView)
#define and add the context menu
self.ImageListView.setContextMenuPolicy(QtCore.Qt.ActionsContextMenu)
self.ImageListView.addAction(self.contextMenuAction(
self.ImageListView, ':/system/system_preview.png',
translate('ImageMediaItem', u'&Preview Image'),
translate(u'ImageMediaItem', u'&Preview Image'),
self.onImagePreviewClick))
self.ImageListView.addAction(self.contextMenuAction(
self.ImageListView, ':/system/system_live.png',
translate('ImageMediaItem', u'&Show Live'),
translate(u'ImageMediaItem', u'&Show Live'),
self.onImageLiveClick))
self.ImageListView.addAction(self.contextMenuAction(
self.ImageListView, ':/system/system_add.png',
translate('ImageMediaItem', u'&Add to Service'),
translate(u'ImageMediaItem', u'&Add to Service'),
self.onImageAddClick))
def initialise(self):
self.loadImageList(self.parent.config.load_list(u'images'))
def onImagesNewClick(self):
files = QtGui.QFileDialog.getOpenFileNames(None,
translate('ImageMediaItem', u'Select Image(s)'),
translate(u'ImageMediaItem', u'Select Image(s)'),
self.parent.config.get_last_dir(),
u'Images (*.jpg *.gif *.png *.bmp)')
log.info(u'New image(s)', str(files))
@ -160,20 +153,20 @@ class ImageMediaItem(MediaManagerItem):
def onImagePreviewClick(self):
log.debug(u'Image Preview Requested')
service_item = ServiceItem(self.parent)
service_item.addIcon( ":/media/media_image.png")
service_item.addIcon(u':/media/media_image.png')
self.generateSlideData(service_item)
self.parent.preview_controller.addServiceItem(service_item)
def onImageLiveClick(self):
log.debug(u'Image Live Requested')
service_item = ServiceItem(self.parent)
service_item.addIcon( ":/media/media_image.png")
service_item.addIcon(u':/media/media_image.png')
self.generateSlideData(service_item)
self.parent.live_controller.addServiceItem(service_item)
def onImageAddClick(self):
log.debug(u'Image Add Requested')
service_item = ServiceItem(self.parent)
service_item.addIcon( ":/media/media_image.png")
service_item.addIcon(u':/media/media_image.png')
self.generateSlideData(service_item)
self.parent.service_manager.addServiceItem(service_item)

View File

@ -43,9 +43,7 @@ class SongList(QtGui.QListView):
mimeData = QtCore.QMimeData()
drag.setMimeData(mimeData)
mimeData.setText(u'Song')
dropAction = drag.start(QtCore.Qt.CopyAction)
if dropAction == QtCore.Qt.CopyAction:
self.close()
@ -54,8 +52,8 @@ class SongMediaItem(MediaManagerItem):
This is the custom media manager item for Songs.
"""
global log
log = logging.getLogger("SongMediaItem")
log.info("Song Media Item loaded")
log = logging.getLogger(u'SongMediaItem')
log.info(u'Song Media Item loaded')
def __init__(self, parent, icon, title):
MediaManagerItem.__init__(self, parent, icon, title)
@ -66,30 +64,30 @@ class SongMediaItem(MediaManagerItem):
self.addToolbar()
# Create buttons for the toolbar
## New Song Button ##
self.addToolbarButton(translate('SongMediaItem', u'New Song'),
translate('SongMediaItem', u'Add a new song'),
self.addToolbarButton(translate(u'SongMediaItem', u'New Song'),
translate(u'SongMediaItem', u'Add a new song'),
':/songs/song_new.png', self.onSongNewClick, 'SongNewItem')
## Edit Song Button ##
self.addToolbarButton(translate('SongMediaItem', u'Edit Song'),
translate('SongMediaItem', u'Edit the selected song'),
self.addToolbarButton(translate(u'SongMediaItem', u'Edit Song'),
translate(u'SongMediaItem', u'Edit the selected song'),
':/songs/song_edit.png', self.onSongEditClick, 'SongEditItem')
## Delete Song Button ##
self.addToolbarButton(translate('SongMediaItem', u'Delete Song'),
translate('SongMediaItem', u'Delete the selected song'),
self.addToolbarButton(translate(u'SongMediaItem', u'Delete Song'),
translate(u'SongMediaItem', u'Delete the selected song'),
':/songs/song_delete.png', self.onSongDeleteClick, 'SongDeleteItem')
## Separator Line ##
self.addToolbarSeparator()
## Preview Song Button ##
self.addToolbarButton(translate('SongMediaItem', u'Preview Song'),
translate('SongMediaItem', u'Preview the selected song'),
self.addToolbarButton(translate(u'SongMediaItem', u'Preview Song'),
translate(u'SongMediaItem', u'Preview the selected song'),
':/system/system_preview.png', self.onSongPreviewClick, 'SongPreviewItem')
## Live Song Button ##
self.addToolbarButton(translate('SongMediaItem', u'Go Live'),
translate('SongMediaItem', u'Send the selected song live'),
self.addToolbarButton(translate(u'SongMediaItem', u'Go Live'),
translate(u'SongMediaItem', u'Send the selected song live'),
':/system/system_live.png', self.onSongLiveClick, 'SongLiveItem')
## Add Song Button ##
self.addToolbarButton(translate('SongMediaItem', u'Add Song To Service'),
translate('SongMediaItem', u'Add the selected song(s) to the service'),
self.addToolbarButton(translate(u'SongMediaItem', u'Add Song To Service'),
translate(u'SongMediaItem', u'Add the selected song(s) to the service'),
':/system/system_add.png', self.onSongAddClick, 'SongAddItem')
## Add the songlist widget ##
# Create the tab widget
@ -99,92 +97,77 @@ class SongMediaItem(MediaManagerItem):
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.SongWidget.sizePolicy().hasHeightForWidth())
self.SongWidget.setSizePolicy(sizePolicy)
self.SongWidget.setObjectName('SongWidget')
self.SongWidget.setObjectName(u'SongWidget')
self.SearchLayout = QtGui.QGridLayout(self.SongWidget)
self.SearchLayout.setObjectName('SearchLayout')
self.SearchLayout.setObjectName(u'SearchLayout')
self.SearchTypeComboBox = QtGui.QComboBox(self.SongWidget)
self.SearchTypeComboBox.setObjectName('SearchTypeComboBox')
self.SearchTypeComboBox.setObjectName(u'SearchTypeComboBox')
self.SearchLayout.addWidget(self.SearchTypeComboBox, 0, 1, 1, 2)
self.SearchTypeLabel = QtGui.QLabel(self.SongWidget)
self.SearchTypeLabel.setObjectName('SearchTypeLabel')
self.SearchTypeLabel.setObjectName(u'SearchTypeLabel')
self.SearchLayout.addWidget(self.SearchTypeLabel, 0, 0, 1, 1)
self.SearchTextLabel = QtGui.QLabel(self.SongWidget)
self.SearchTextLabel.setObjectName('SearchTextLabel')
self.SearchTextLabel.setObjectName(u'SearchTextLabel')
self.SearchLayout.addWidget(self.SearchTextLabel, 2, 0, 1, 1)
self.SearchTextEdit = QtGui.QLineEdit(self.SongWidget)
self.SearchTextEdit.setObjectName('SearchTextEdit')
self.SearchTextEdit.setObjectName(u'SearchTextEdit')
self.SearchLayout.addWidget(self.SearchTextEdit, 2, 1, 1, 2)
self.ClearTextButton = QtGui.QPushButton(self.SongWidget)
self.ClearTextButton.setObjectName('ClearTextButton')
self.ClearTextButton.setObjectName(u'ClearTextButton')
self.SearchLayout.addWidget(self.ClearTextButton, 3, 1, 1, 1)
self.SearchTextButton = QtGui.QPushButton(self.SongWidget)
self.SearchTextButton.setObjectName('SearchTextButton')
self.SearchTextButton.setObjectName(u'SearchTextButton')
self.SearchLayout.addWidget(self.SearchTextButton, 3, 2, 1, 1)
# Add the song widget to the page layout
self.PageLayout.addWidget(self.SongWidget)
self.SongListView = SongList()
self.SongListView.setAlternatingRowColors(True)
self.SongListData = TextListData()
self.SongListView.setModel(self.SongListData)
self.SongListView.setDragEnabled(True)
# self.SongListView = QtGui.QTableWidget()
# self.SongListView.setColumnCount(2)
# self.SongListView.setColumnHidden(0, True)
# self.SongListView.setColumnWidth(1, 240)
# self.SongListView.setShowGrid(False)
# self.SongListView.setSortingEnabled(False)
# self.SongListView.setAlternatingRowColors(True)
# self.SongListView.setSelectionBehavior(QtGui.QAbstractItemView.SelectRows)
# self.SongListView.horizontalHeader().setVisible(False)
# self.SongListView.verticalHeader().setVisible(False)
# self.SongListView.setGeometry(QtCore.QRect(10, 100, 256, 591))
self.SongListView.setObjectName('SongListView')
self.SongListView.setObjectName(u'SongListView')
self.PageLayout.addWidget(self.SongListView)
self.SongListView.setDragEnabled(True)
# Signals and slots
QtCore.QObject.connect(self.SearchTextButton,
QtCore.SIGNAL('pressed()'), self.onSearchTextButtonClick)
QtCore.SIGNAL(u'pressed()'), self.onSearchTextButtonClick)
QtCore.QObject.connect(self.ClearTextButton,
QtCore.SIGNAL('pressed()'), self.onClearTextButtonClick)
QtCore.SIGNAL(u'pressed()'), self.onClearTextButtonClick)
QtCore.QObject.connect(self.SearchTextEdit,
QtCore.SIGNAL('textChanged(const QString&)'), self.onSearchTextEditChanged)
# QtCore.QObject.connect(self.SongListView,
# QtCore.SIGNAL('itemPressed(QTableWidgetItem * item)'), self.onSongSelected)
QtCore.SIGNAL(u'textChanged(const QString&)'), self.onSearchTextEditChanged)
QtCore.QObject.connect(self.SongListView,
QtCore.SIGNAL(u'doubleClicked(QModelIndex)'), self.onSongPreviewClick)
#define and add the context menu
self.SongListView.setContextMenuPolicy(QtCore.Qt.ActionsContextMenu)
self.SongListView.addAction(self.contextMenuAction(self.SongListView,
':/songs/song_new.png', translate('SongMediaItem', u'&Edit Song'),
':/songs/song_new.png', translate(u'SongMediaItem', u'&Edit Song'),
self.onSongEditClick))
self.SongListView.addAction(self.contextMenuSeparator(self.SongListView))
self.SongListView.addAction(self.contextMenuAction(self.SongListView,
':/system/system_preview.png', translate('SongMediaItem', u'&Preview Song'),
':/system/system_preview.png', translate(u'SongMediaItem', u'&Preview Song'),
self.onSongPreviewClick))
self.SongListView.addAction(self.contextMenuAction(self.SongListView,
':/system/system_live.png', translate('SongMediaItem', u'&Show Live'),
':/system/system_live.png', translate(u'SongMediaItem', u'&Show Live'),
self.onSongLiveClick))
self.SongListView.addAction(self.contextMenuAction(self.SongListView,
':/system/system_add.png', translate('SongMediaItem', u'&Add to Service'),
':/system/system_add.png', translate(u'SongMediaItem', u'&Add to Service'),
self.onSongAddClick))
def retranslateUi(self):
self.SearchTypeLabel.setText(translate('SongMediaItem', u'Search Type:'))
self.SearchTextLabel.setText(translate('SongMediaItem', u'Search Text:'))
self.ClearTextButton.setText(translate('SongMediaItem', u'Clear'))
self.SearchTextButton.setText(translate('SongMediaItem', u'Search'))
self.SearchTypeLabel.setText(translate(u'SongMediaItem', u'Search Type:'))
self.SearchTextLabel.setText(translate(u'SongMediaItem', u'Search Text:'))
self.ClearTextButton.setText(translate(u'SongMediaItem', u'Clear'))
self.SearchTextButton.setText(translate(u'SongMediaItem', u'Search'))
def initialise(self):
self.SearchTypeComboBox.addItem(translate('SongMediaItem', u'Titles'))
self.SearchTypeComboBox.addItem(translate('SongMediaItem', u'Lyrics'))
self.SearchTypeComboBox.addItem(translate('SongMediaItem', u'Authors'))
self.SearchTypeComboBox.addItem(translate(u'SongMediaItem', u'Titles'))
self.SearchTypeComboBox.addItem(translate(u'SongMediaItem', u'Lyrics'))
self.SearchTypeComboBox.addItem(translate(u'SongMediaItem', u'Authors'))
def displayResults(self, searchresults):
log.debug("display results")
log.debug(u'display results')
self.SongListData.resetStore()
#log.debug("Records returned from search %s", len(searchresults))
#log.debug(u'Records returned from search %s", len(searchresults))
for song in searchresults:
author_list = u''
for author in song.authors:
@ -192,7 +175,6 @@ class SongMediaItem(MediaManagerItem):
author_list = author_list + u', '
author_list = author_list + author.display_name
song_detail = str(u'%s (%s)' % (str(song.title), str(author_list)))
self.SongListData.addRow(song.id,song_detail)
def onClearTextButtonClick(self):
@ -205,7 +187,7 @@ class SongMediaItem(MediaManagerItem):
search_length = 3
if self.SearchTypeComboBox.currentIndex() == 1:
search_length = 7
if len(text) > search_length: # only search if > 3 characters
if len(text) > search_length:
self.onSearchTextButtonClick()
def onSearchTextButtonClick(self):
@ -213,13 +195,13 @@ class SongMediaItem(MediaManagerItem):
search_results = []
search_type = self.SearchTypeComboBox.currentIndex()
if search_type == 0:
log.debug("Titles Search")
log.debug(u'Titles Search')
search_results = self.parent.songmanager.search_song_title(search_keywords)
elif search_type == 1:
log.debug("Lyrics Search")
log.debug(u'Lyrics Search')
search_results = self.parent.songmanager.search_song_lyrics(search_keywords)
elif search_type == 2:
log.debug("Authors Search")
log.debug(u'Authors Search')
#searchresults = self.songmanager.get_song_from_author(searchtext)
self.displayResults(search_results)
@ -242,7 +224,7 @@ class SongMediaItem(MediaManagerItem):
def onSongPreviewClick(self):
service_item = ServiceItem(self.parent)
service_item.addIcon( ":/media/media_song.png")
service_item.addIcon(u':/media/media_song.png')
self.generateSlideData(service_item)
self.parent.preview_controller.addServiceItem(service_item)
@ -267,12 +249,12 @@ class SongMediaItem(MediaManagerItem):
def onSongLiveClick(self):
service_item = ServiceItem(self.parent)
service_item.addIcon( ":/media/media_song.png")
service_item.addIcon(u':/media/media_song.png')
self.generateSlideData(service_item)
self.parent.live_controller.addServiceItem(service_item)
def onSongAddClick(self):
service_item = ServiceItem(self.parent)
service_item.addIcon( ":/media/media_song.png")
service_item.addIcon( u':/media/media_song.png')
self.generateSlideData(service_item)
self.parent.service_manager.addServiceItem(service_item)