More cleanups and bug fixes.

This commit is contained in:
Tim Bentley 2009-06-27 20:55:55 +01:00
parent c78ea3c911
commit a4a0b521a4
7 changed files with 84 additions and 86 deletions

View File

@ -227,16 +227,22 @@ class MediaManagerItem(QtGui.QWidget):
translate(self.TranslationContext, self.OnNewPrompt),
self.parent.config.get_last_dir(),
self.OnNewFileMasks)
log.info(u'New files(s)', unicode(files))
log.info(u'New files(s)%s', unicode(files))
if len(files) > 0:
self.loadList(files)
dir, filename = os.path.split(unicode(files[0]))
self.parent.config.set_last_dir(dir)
#self.parent.config.set_list(self.ConfigSection, self.ListData.getFileList())
def getFileList(self):
count = 0
while count < len(self.ListView):
filelist = [set.ListView.item(count).text()]
count += 1
return filelist
def loadList(self, list):
for file in list:
self.ListData.addRow(file)
raise NotImplementedError(u'MediaManagerItem.loadList needs to be defined by the plugin')
def onNewClick(self):
raise NotImplementedError(u'MediaManagerItem.onNewClick needs to be defined by the plugin')
@ -245,11 +251,7 @@ class MediaManagerItem(QtGui.QWidget):
raise NotImplementedError(u'MediaManagerItem.onEditClick needs to be defined by the plugin')
def onDeleteClick(self):
indexes = self.ListView.selectedIndexes()
for index in indexes:
current_row = int(index.row())
self.ListData.removeRow(current_row)
self.parent.config.set_list(self.ConfigSection, self.ListData.getFileList())
raise NotImplementedError(u'MediaManagerItem.onDeleteClick needs to be defined by the plugin')
def generateSlideData(self):
raise NotImplementedError(u'MediaManagerItem.generateSlideData needs to be defined by the plugin')
@ -257,15 +259,15 @@ class MediaManagerItem(QtGui.QWidget):
def onPreviewClick(self):
log.debug(self.PluginTextShort+u'Preview Requested')
service_item = ServiceItem(self.parent)
service_item.addIcon(u':/media/media_image.png')
service_item.addIcon(u':/media/media_'+self.PluginTextShort.lower()+u'.png')
self.generateSlideData(service_item)
self.parent.preview_controller.addServiceItem(service_item)
self.ListView.clearSelection()
def onLiveClick(self):
log.debug(self.PluginTextShort+u' Live Requested')
log.debug(self.PluginTextShort + u' Live Requested')
service_item = ServiceItem(self.parent)
service_item.addIcon(u':/media/media_image.png')
service_item.addIcon(u':/media/media_'+self.PluginTextShort.lower()+u'.png')
self.generateSlideData(service_item)
self.parent.live_controller.addServiceItem(service_item)
self.ListView.clearSelection()
@ -273,7 +275,7 @@ class MediaManagerItem(QtGui.QWidget):
def onAddClick(self):
log.debug(self.PluginTextShort+u' Add Requested')
service_item = ServiceItem(self.parent)
service_item.addIcon(u':/media/media_image.png')
service_item.addIcon(u':/media/media_'+self.PluginTextShort.lower()+u'.png')
self.generateSlideData(service_item)
self.parent.service_manager.addServiceItem(service_item)
self.ListView.clearSelection()

View File

@ -192,11 +192,11 @@ class BibleMediaItem(MediaManagerItem):
self.SearchTabWidget.addTab(self.AdvancedTab, u'Advanced')
# Add the search tab widget to the page layout
self.PageLayout.addWidget(self.SearchTabWidget)
self.BibleListWidget = BibleList()
self.BibleListWidget.setAlternatingRowColors(True)
self.BibleListWidget.setSelectionMode(QtGui.QAbstractItemView.ExtendedSelection)
self.BibleListWidget.setDragEnabled(True)
self.PageLayout.addWidget(self.BibleListWidget)
self.ListView = BibleList()
self.ListView.setAlternatingRowColors(True)
self.ListView.setSelectionMode(QtGui.QAbstractItemView.ExtendedSelection)
self.ListView.setDragEnabled(True)
self.PageLayout.addWidget(self.ListView)
# Combo Boxes
QtCore.QObject.connect(self.AdvancedVersionComboBox,
QtCore.SIGNAL(u'activated(int)'), self.onAdvancedVersionComboBox)
@ -213,18 +213,18 @@ class BibleMediaItem(MediaManagerItem):
QtCore.SIGNAL(u'pressed()'), self.onAdvancedSearchButton)
QtCore.QObject.connect(self.QuickSearchButton,
QtCore.SIGNAL(u'pressed()'), self.onQuickSearchButton)
QtCore.QObject.connect(self.BibleListWidget,
QtCore.QObject.connect(self.ListView,
QtCore.SIGNAL(u'doubleClicked(QModelIndex)'), self.onPreviewClick)
# Context Menus
self.BibleListWidget.setContextMenuPolicy(QtCore.Qt.ActionsContextMenu)
self.BibleListWidget.addAction(self.contextMenuAction(
self.BibleListWidget, u':/system/system_preview.png',
self.ListView.setContextMenuPolicy(QtCore.Qt.ActionsContextMenu)
self.ListView.addAction(self.contextMenuAction(
self.ListView, u':/system/system_preview.png',
translate(u'BibleMediaItem',u'&Preview Verse'), self.onPreviewClick))
self.BibleListWidget.addAction(self.contextMenuAction(
self.BibleListWidget, u':/system/system_live.png',
self.ListView.addAction(self.contextMenuAction(
self.ListView, u':/system/system_live.png',
translate(u'BibleMediaItem',u'&Show Live'), self.onLiveClick))
self.BibleListWidget.addAction(self.contextMenuAction(
self.BibleListWidget, u':/system/system_add.png',
self.ListView.addAction(self.contextMenuAction(
self.ListView, u':/system/system_add.png',
translate(u'BibleMediaItem',u'&Add to Service'), self.onAddClick))
def retranslateUi(self):
@ -309,7 +309,7 @@ class BibleMediaItem(MediaManagerItem):
self.search_results = self.parent.biblemanager.get_verse_text(bible, book,
chapter_from, chapter_to, verse_from, verse_to)
if self.ClearAdvancedSearchComboBox.currentIndex() == 0:
self.BibleListWidget.clear()
self.ListView.clear()
self.displayResults(bible)
def onAdvancedFromChapter(self):
@ -327,7 +327,7 @@ class BibleMediaItem(MediaManagerItem):
bible = unicode(self.QuickVersionComboBox.currentText())
text = unicode(self.QuickSearchEdit.displayText())
if self.ClearQuickSearchComboBox.currentIndex() == 0:
self.BibleListWidget.clear()
self.ListView.clear()
if self.QuickSearchComboBox.currentIndex() == 1:
self.search_results = self.parent.biblemanager.get_verse_from_text(bible, text)
else:
@ -337,13 +337,13 @@ class BibleMediaItem(MediaManagerItem):
def generateSlideData(self, service_item):
log.debug(u'generating slide data')
items = self.BibleListWidget.selectedIndexes()
items = self.ListView.selectedIndexes()
old_chapter = u''
raw_slides=[]
raw_footer = []
bible_text = u''
for item in items:
bitem = self.BibleListWidget.item(item.row())
bitem = self.ListView.item(item.row())
text = unicode((bitem.data(QtCore.Qt.UserRole)).toString())
verse = text[:text.find(u'(')]
bible = text[text.find(u'(') + 1:text.find(u')')]
@ -422,7 +422,7 @@ class BibleMediaItem(MediaManagerItem):
bible_text = unicode(u' %s %d:%d (%s)'%(book , chap,vse, bible))
bible_verse = QtGui.QListWidgetItem(bible_text)
bible_verse.setData(QtCore.Qt.UserRole, QtCore.QVariant(bible_text))
self.BibleListWidget.addItem(bible_verse)
self.ListView.addItem(bible_verse)
def searchByReference(self, bible, search):
log.debug(u'searchByReference %s ,%s', bible, search)

View File

@ -105,38 +105,38 @@ class CustomMediaItem(MediaManagerItem):
self.CustomWidget.setObjectName(u'CustomWidget')
# Add the Custom widget to the page layout
self.PageLayout.addWidget(self.CustomWidget)
self.CustomListWidget = CustomList()
self.CustomListWidget.setAlternatingRowColors(True)
self.CustomListWidget.setDragEnabled(True)
self.PageLayout.addWidget(self.CustomListWidget)
self.ListView = CustomList()
self.ListView.setAlternatingRowColors(True)
self.ListView.setDragEnabled(True)
self.PageLayout.addWidget(self.ListView)
# Signals
QtCore.QObject.connect(self.CustomListWidget,
QtCore.QObject.connect(self.ListView,
QtCore.SIGNAL(u'doubleClicked(QModelIndex)'), self.onCustomPreviewClick)
#define and add the context menu
self.CustomListWidget.setContextMenuPolicy(QtCore.Qt.ActionsContextMenu)
self.CustomListWidget.addAction(self.contextMenuAction(self.CustomListWidget,
self.ListView.setContextMenuPolicy(QtCore.Qt.ActionsContextMenu)
self.ListView.addAction(self.contextMenuAction(self.ListView,
':/custom/custom_edit.png', translate(u'CustomMediaItem', u'&Edit Custom'),
self.onCustomEditClick))
self.CustomListWidget.addAction(self.contextMenuSeparator(self.CustomListWidget))
self.CustomListWidget.addAction(self.contextMenuAction(
self.CustomListWidget, ':/system/system_preview.png',
self.ListView.addAction(self.contextMenuSeparator(self.ListView))
self.ListView.addAction(self.contextMenuAction(
self.ListView, ':/system/system_preview.png',
translate(u'CustomMediaItem',u'&Preview Custom'), self.onCustomPreviewClick))
self.CustomListWidget.addAction(self.contextMenuAction(
self.CustomListWidget, ':/system/system_live.png',
self.ListView.addAction(self.contextMenuAction(
self.ListView, ':/system/system_live.png',
translate(u'CustomMediaItem',u'&Show Live'), self.onCustomLiveClick))
self.CustomListWidget.addAction(self.contextMenuAction(
self.CustomListWidget, ':/system/system_add.png',
self.ListView.addAction(self.contextMenuAction(
self.ListView, ':/system/system_add.png',
translate(u'CustomMediaItem',u'&Add to Service'), self.onCustomAddClick))
def initialise(self):
self.loadCustomList(self.parent.custommanager.get_all_slides())
def loadCustomList(self, list):
self.CustomListWidget.clear()
self.ListView.clear()
for CustomSlide in list:
custom_name = QtGui.QListWidgetItem(CustomSlide.title)
custom_name.setData(QtCore.Qt.UserRole, QtCore.QVariant(CustomSlide.id))
self.CustomListWidget.addItem(custom_name)
self.ListView.addItem(custom_name)
def onCustomNewClick(self):
self.parent.edit_custom_form.loadCustom(0)
@ -144,7 +144,7 @@ class CustomMediaItem(MediaManagerItem):
self.initialise()
def onCustomEditClick(self):
item = self.CustomListWidget.currentItem()
item = self.ListView.currentItem()
if item is not None:
item_id = (item.data(QtCore.Qt.UserRole)).toInt()[0]
self.parent.edit_custom_form.loadCustom(item_id)
@ -152,12 +152,12 @@ class CustomMediaItem(MediaManagerItem):
self.initialise()
def onCustomDeleteClick(self):
item = self.CustomListWidget.currentItem()
item = self.ListView.currentItem()
if item is not None:
item_id = (item.data(QtCore.Qt.UserRole)).toInt()[0]
self.parent.custommanager.delete_custom(item_id)
row = self.CustomListWidget.row(item)
self.CustomListWidget.takeItem(row)
row = self.ListView.row(item)
self.ListView.takeItem(row)
def onCustomPreviewClick(self):
log.debug(u'Custom Preview Requested')
@ -185,7 +185,7 @@ class CustomMediaItem(MediaManagerItem):
raw_footer = []
slide = None
theme = None
item = self.CustomListWidget.currentItem()
item = self.ListView.currentItem()
item_id = (item.data(QtCore.Qt.UserRole)).toInt()[0]
customSlide = self.parent.custommanager.get_custom(item_id)
title = customSlide.title

View File

@ -55,9 +55,17 @@ class ImageMediaItem(MediaManagerItem):
def initialise(self):
self.ListView.setSelectionMode(QtGui.QAbstractItemView.ExtendedSelection)
self.ListView.setIconSize(QtCore.QSize(88,50))
self.ListView.setIconSize(QtCore.QSize(50,88))
self.loadList(self.parent.config.load_list(self.ConfigSection))
def onDeleteClick(self):
item = self.ListView.currentItem()
if item is not None:
item_id = (item.data(QtCore.Qt.UserRole)).toInt()[0]
row = self.ListView.row(item)
self.ListView.takeItem(row)
self.parent.config.set_list(self.ConfigSection, self.ListData.getFileList())
def loadList(self, list):
for file in list:
(path, filename) = os.path.split(unicode(file))

View File

@ -90,13 +90,6 @@ class PresentationMediaItem(MediaManagerItem):
item_name.setData(QtCore.Qt.UserRole, QtCore.QVariant(file))
self.ListView.addItem(item_name)
def getFileList(self):
count = 0
while count < len(self.ListView):
filelist = [set.ListView.item(count).text()]
count += 1
return filelist
def loadPresentationList(self, list):
pass
# for files in list:

View File

@ -317,11 +317,6 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog):
self.TitleEditItem.setStyleSheet(u'background-color: red; color: white')
else:
self.TitleEditItem.setStyleSheet(u'')
if len(self.CopyrightEditItem.displayText()) == 0:
valid = False
self.CopyrightEditItem.setStyleSheet(u'background-color: red; color: white')
else:
self.CopyrightEditItem.setStyleSheet(u'')
if self.VerseListWidget.count() == 0:
valid = False
self.VerseListWidget.setStyleSheet(u'background-color: red; color: white')

View File

@ -121,12 +121,12 @@ class SongMediaItem(MediaManagerItem):
self.SearchLayout.addWidget(self.SearchTextButton, 3, 2, 1, 1)
# Add the song widget to the page layout
self.PageLayout.addWidget(self.SongWidget)
self.SongListWidget = SongList()
self.SongListWidget.setAlternatingRowColors(True)
self.SongListWidget.setDragEnabled(True)
self.SongListWidget.setObjectName(u'SongListWidget')
self.PageLayout.addWidget(self.SongListWidget)
self.SongListWidget.setDragEnabled(True)
self.ListView = SongList()
self.ListView.setAlternatingRowColors(True)
self.ListView.setDragEnabled(True)
self.ListView.setObjectName(u'ListView')
self.PageLayout.addWidget(self.ListView)
self.ListView.setDragEnabled(True)
# Signals and slots
QtCore.QObject.connect(self.SearchTextButton,
QtCore.SIGNAL(u'pressed()'), self.onSearchTextButtonClick)
@ -134,21 +134,21 @@ class SongMediaItem(MediaManagerItem):
QtCore.SIGNAL(u'pressed()'), self.onClearTextButtonClick)
QtCore.QObject.connect(self.SearchTextEdit,
QtCore.SIGNAL(u'textChanged(const QString&)'), self.onSearchTextEditChanged)
QtCore.QObject.connect(self.SongListWidget,
QtCore.QObject.connect(self.ListView,
QtCore.SIGNAL(u'doubleClicked(QModelIndex)'), self.onSongPreviewClick)
#define and add the context menu
self.SongListWidget.setContextMenuPolicy(QtCore.Qt.ActionsContextMenu)
self.SongListWidget.addAction(self.contextMenuAction(self.SongListWidget,
self.ListView.setContextMenuPolicy(QtCore.Qt.ActionsContextMenu)
self.ListView.addAction(self.contextMenuAction(self.ListView,
':/songs/song_new.png', translate(u'SongMediaItem', u'&Edit Song'),
self.onSongEditClick))
self.SongListWidget.addAction(self.contextMenuSeparator(self.SongListWidget))
self.SongListWidget.addAction(self.contextMenuAction(self.SongListWidget,
self.ListView.addAction(self.contextMenuSeparator(self.ListView))
self.ListView.addAction(self.contextMenuAction(self.ListView,
':/system/system_preview.png', translate(u'SongMediaItem', u'&Preview Song'),
self.onSongPreviewClick))
self.SongListWidget.addAction(self.contextMenuAction(self.SongListWidget,
self.ListView.addAction(self.contextMenuAction(self.ListView,
':/system/system_live.png', translate(u'SongMediaItem', u'&Show Live'),
self.onSongLiveClick))
self.SongListWidget.addAction(self.contextMenuAction(self.SongListWidget,
self.ListView.addAction(self.contextMenuAction(self.ListView,
':/system/system_add.png', translate(u'SongMediaItem', u'&Add to Service'),
self.onSongAddClick))
@ -182,7 +182,7 @@ class SongMediaItem(MediaManagerItem):
def displayResultsSong(self, searchresults):
log.debug(u'display results Song')
self.SongListWidget.clear()
self.ListView.clear()
#log.debug(u'Records returned from search %s", len(searchresults))
for song in searchresults:
author_list = u''
@ -193,17 +193,17 @@ class SongMediaItem(MediaManagerItem):
song_detail = unicode(u'%s (%s)' % (unicode(song.title), unicode(author_list)))
song_name = QtGui.QListWidgetItem(song_detail)
song_name.setData(QtCore.Qt.UserRole, QtCore.QVariant(song.id))
self.SongListWidget.addItem(song_name)
self.ListView.addItem(song_name)
def displayResultsAuthor(self, searchresults):
log.debug(u'display results Author')
self.SongListWidget.clear()
self.ListView.clear()
for author in searchresults:
for song in author.songs:
song_detail = unicode(u'%s (%s)' % (unicode(author.display_name), unicode(song.title)))
song_name = QtGui.QListWidgetItem(song_detail)
song_name.setData(QtCore.Qt.UserRole, QtCore.QVariant(song.id))
self.SongListWidget.addItem(song_name)
self.ListView.addItem(song_name)
def onClearTextButtonClick(self):
"""
@ -223,19 +223,19 @@ class SongMediaItem(MediaManagerItem):
self.edit_song_form.exec_()
def onSongEditClick(self):
item = self.SongListWidget.currentItem()
item = self.ListView.currentItem()
if item is not None:
item_id = (item.data(QtCore.Qt.UserRole)).toInt()[0]
self.edit_song_form.loadSong(item_id)
self.edit_song_form.exec_()
def onSongDeleteClick(self):
item = self.SongListWidget.currentItem()
item = self.ListView.currentItem()
if item is not None:
item_id = (item.data(QtCore.Qt.UserRole)).toInt()[0]
self.parent.songmanager.delete_song(item_id)
row = self.SongListWidget.row(item)
self.SongListWidget.takeItem(row)
row = self.ListView.row(item)
self.ListView.takeItem(row)
def onSongPreviewClick(self):
service_item = ServiceItem(self.parent)
@ -248,7 +248,7 @@ class SongMediaItem(MediaManagerItem):
raw_footer = []
author_list = u''
ccl = u''
item = self.SongListWidget.currentItem()
item = self.ListView.currentItem()
item_id = (item.data(QtCore.Qt.UserRole)).toInt()[0]
song = self.parent.songmanager.get_song(item_id)
service_item.theme = song.theme_name