← Back to team overview

openlp-core team mailing list archive

[Merge] lp:~trb143/openlp/bugfixes into lp:openlp

 

Tim Bentley has proposed merging lp:~trb143/openlp/bugfixes into lp:openlp.


-- 
https://code.launchpad.net/~trb143/openlp/bugfixes/+merge/11669
Your team openlp.org Core is subscribed to branch lp:openlp.
=== modified file 'openlp/core/lib/mediamanageritem.py'
--- openlp/core/lib/mediamanageritem.py	2009-09-08 19:58:05 +0000
+++ openlp/core/lib/mediamanageritem.py	2009-09-12 18:27:17 +0000
@@ -178,6 +178,8 @@
         """
         # Add a toolbar
         self.addToolbar()
+        #Allow the plugin to define it's own header
+        self.addStartHeaderBar()
         # Create buttons for the toolbar
         ## File Button ##
         if self.hasFileIcon:
@@ -190,13 +192,13 @@
             self.addToolbarButton(
                 translate(self.TranslationContext, u'New '+self.PluginTextShort),
                 translate(self.TranslationContext, u'Add a new '+self.PluginTextShort),
-                u':'+self.IconPath+ u'_load.png', self.onNewClick, self.PluginTextShort+u'NewItem')
+                u':'+self.IconPath+ u'_new.png', self.onNewClick, self.PluginTextShort+u'NewItem')
         ## Edit Button ##
         if self.hasEditIcon:
             self.addToolbarButton(
                 translate(self.TranslationContext, u'Edit '+self.PluginTextShort),
                 translate(self.TranslationContext, u'Edit the selected '+self.PluginTextShort),
-                u':'+self.IconPath+ u'_load.png', self.onEditClick, self.PluginTextShort+u'EditItem')
+                u':'+self.IconPath+ u'_edit.png', self.onEditClick, self.PluginTextShort+u'EditItem')
         ## Delete Button ##
         self.addToolbarButton(
             translate(self.TranslationContext, u'Delete '+self.PluginTextShort),
@@ -220,7 +222,7 @@
             translate(self.TranslationContext, u'Add the selected item(s) to the service'),
             u':/system/system_add.png', self.onAddClick, self.PluginTextShort+u'AddItem')
         #Allow the plugin to define it's own header
-        self.addHeaderBar()
+        self.addEndHeaderBar()
         #Add the List widget
         self.ListView = self.ListViewWithDnD_class()
         self.ListView.uniformItemSizes = True
@@ -239,7 +241,7 @@
                 ':' +self.IconPath+u'_new.png',
                 translate(self.TranslationContext, u'&Edit '+self.PluginTextShort),
                 self.onEditClick))
-            self.ListView.addAction(self.contextMenuSeparator(self.SongListWidget))
+            self.ListView.addAction(contextMenuSeparator(self.ListView))
         self.ListView.addAction(contextMenuAction(
             self.ListView, ':/system/system_preview.png',
             translate(self.TranslationContext, u'&Preview '+self.PluginTextShort),
@@ -263,7 +265,16 @@
         """
         pass
 
-    def addHeaderBar(self):
+    def addStartHeaderBar(self):
+        """
+        Slot at start of toolbar for plugin to addwidgets
+        """
+        pass
+
+    def addEndHeaderBar(self):
+        """
+        Slot at end of toolbar for plugin to add widgets
+        """
         pass
 
     def onFileClick(self):

=== modified file 'openlp/core/lib/renderer.py'
--- openlp/core/lib/renderer.py	2009-09-12 17:24:16 +0000
+++ openlp/core/lib/renderer.py	2009-09-13 07:39:48 +0000
@@ -519,7 +519,7 @@
         self.footerFont = QtGui.QFont(self._theme.font_footer_name,
                      int(self._theme.font_footer_proportion), # size
                      int(footer_weight), # weight
-                     self._theme.font_footer_italics)# italic
+                     self._theme.font_footer_italics) # italic
         self.footerFont.setPixelSize(int(self._theme.font_footer_proportion))
         main_weight = 50
         if self._theme.font_main_weight == u'Bold':

=== modified file 'openlp/core/lib/serviceitem.py'
--- openlp/core/lib/serviceitem.py	2009-09-08 19:58:05 +0000
+++ openlp/core/lib/serviceitem.py	2009-09-13 07:39:48 +0000
@@ -88,13 +88,13 @@
         The render method is what renders the frames for the screen.
         """
         log.debug(u'Render called')
-        if self.theme == None:
-            self.RenderManager.set_override_theme(None)
-        else:
-            self.RenderManager.set_override_theme(self.theme)
-        log.debug(u'Formatting slides')
         self.frames = []
         if self.service_item_type == ServiceType.Text:
+            log.debug(u'Formatting slides')
+            if self.theme == None:
+                self.RenderManager.set_override_theme(None)
+            else:
+                self.RenderManager.set_override_theme(self.theme)
             for slide in self.service_frames:
                 formated = self.RenderManager.format_slide(slide[u'raw_slide'])
                 for format in formated:

=== modified file 'openlp/core/lib/settingsmanager.py'
--- openlp/core/lib/settingsmanager.py	2009-09-07 19:14:01 +0000
+++ openlp/core/lib/settingsmanager.py	2009-09-11 19:51:06 +0000
@@ -34,13 +34,22 @@
         self.width = self.screen[u'size'].width()
         self.height = self.screen[u'size'].height()
         self.mainwindow_height = self.height * 0.8
-        self.mainwindow_docbars = self.width / 5
-        if self.mainwindow_docbars > 300:
-            self.mainwindow_docbars > 300
-        self.mainwindow_slidecontroller = self.width / 6
-        self.slidecontroller = ((self.width - (self.mainwindow_docbars * 3 ) / 2 ) / 2 ) -100
+        mainwindow_docbars = self.width / 5
+        self.mainwindow_left = 0
+        self.mainwindow_right = 0
+        if mainwindow_docbars > 300:
+            self.mainwindow_left = 300
+            self.mainwindow_right = 300
+
+        self.mainwindow_left = int( ConfigHelper.get_config(
+            u'user interface', u'mediamanager left', self.mainwindow_left))
+        self.mainwindow_right = int( ConfigHelper.get_config(
+            u'user interface', u'mediamanager right', self.mainwindow_right))
+        print self.mainwindow_left, self.mainwindow_right
+
+        self.slidecontroller = (self.width - (self.mainwindow_left + self.mainwindow_right) - 100 ) / 2
         self.slidecontroller_image = self.slidecontroller - 50
-        print self.width, self.mainwindow_docbars, self.slidecontroller, self.slidecontroller_image
+        print self.width, mainwindow_docbars, self.slidecontroller, self.slidecontroller_image
 
         self.showMediaManager = str_to_bool( ConfigHelper.get_config(
             u'user interface', u'display mediamanager', True))
@@ -67,3 +76,7 @@
         ConfigHelper.set_config(u'user interface', u'display previewpanel',
             isVisible)
 
+    def setDockbarLeft(self, value):
+        #ConfigHelper.set_config(u'user interface', u'mediamanager left', value)
+        pass
+

=== modified file 'openlp/core/ui/mainwindow.py'
--- openlp/core/ui/mainwindow.py	2009-09-12 17:24:16 +0000
+++ openlp/core/ui/mainwindow.py	2009-09-12 18:27:17 +0000
@@ -36,6 +36,15 @@
 
 from openlp.core.utils import ConfigHelper
 
+class mediaDock(QtGui.QDockWidget):
+    def __init__(self, parent=None, name=None):
+        QtGui.QDockWidget.__init__(self, parent)
+        self.parent = parent
+
+    def resizeEvent(self, resizeEvent):
+        if resizeEvent.size().width() != resizeEvent.oldSize().width():
+            self.parent.settingsmanager.setDockbarLeft(resizeEvent.size().width())
+
 class Ui_MainWindow(object):
     def setupUi(self, MainWindow):
         """
@@ -107,7 +116,7 @@
         self.DefaultThemeLabel.setObjectName(u'DefaultThemeLabel')
         self.StatusBar.addPermanentWidget(self.DefaultThemeLabel)
         # Create the MediaManager
-        self.MediaManagerDock = QtGui.QDockWidget(MainWindow)
+        self.MediaManagerDock = mediaDock(MainWindow)
         icon = QtGui.QIcon()
         icon.addPixmap(QtGui.QPixmap(u':/system/system_mediamanager.png'),
             QtGui.QIcon.Normal, QtGui.QIcon.Off)
@@ -115,7 +124,15 @@
         self.MediaManagerDock.setFloating(False)
         self.MediaManagerDock.setObjectName(u'MediaManagerDock')
         self.MediaManagerDock.setMinimumWidth(
-            self.settingsmanager.mainwindow_docbars)
+            self.settingsmanager.mainwindow_left)
+
+#        self.MediaManagerDock.setSizePolicy(QtGui.QSizePolicy(QtGui.QSizePolicy.Ignored,
+#            QtGui.QSizePolicy.Maximum))
+#        geometry =  self.MediaManagerDock.geometry()
+#        geometry.setWidth(self.settingsmanager.mainwindow_left)
+#        self.MediaManagerDock.setGeometry(geometry)
+#        self.MediaManagerDock.setMinimumWidth(10)
+
         self.MediaManagerContents = QtGui.QWidget()
         self.MediaManagerContents.setObjectName(u'MediaManagerContents')
         self.MediaManagerLayout = QtGui.QHBoxLayout(self.MediaManagerContents)
@@ -139,7 +156,7 @@
             QtGui.QDockWidget.AllDockWidgetFeatures)
         self.ServiceManagerDock.setObjectName(u'ServiceManagerDock')
         self.ServiceManagerDock.setMinimumWidth(
-            self.settingsmanager.mainwindow_docbars)
+            self.settingsmanager.mainwindow_right)
         self.ServiceManagerContents = ServiceManager(self)
         self.ServiceManagerDock.setWidget(self.ServiceManagerContents)
         MainWindow.addDockWidget(

=== modified file 'openlp/core/ui/slidecontroller.py'
--- openlp/core/ui/slidecontroller.py	2009-09-12 17:24:16 +0000
+++ openlp/core/ui/slidecontroller.py	2009-09-13 19:31:31 +0000
@@ -75,7 +75,7 @@
         self.parent = parent
         self.image_list = [u'Start Loop', u'Stop Loop', u'Loop Separator', u'Image SpinBox']
         self.timer_id = 0
-        self.item = None
+        self.commandItem = None
         self.Panel = QtGui.QWidget(parent.ControlSplitter)
         self.Splitter = QtGui.QSplitter(self.Panel)
         self.Splitter.setOrientation(QtCore.Qt.Vertical)
@@ -238,9 +238,9 @@
         """
         log.debug(u'addServiceItem')
         #If old item was a command tell it to stop
-        if self.item is not None and self.item.service_item_type == ServiceType.Command:
-            Receiver().send_message(u'%s_stop'% self.item.name.lower())
-        self.item = item
+        if self.commandItem is not None and self.commandItem.service_item_type == ServiceType.Command:
+            Receiver().send_message(u'%s_stop'% self.commandItem.name.lower())
+        self.commandItem = item
         item.render()
         self.enableToolBar(item)
         if item.service_item_type == ServiceType.Command:
@@ -257,9 +257,9 @@
         """
         log.debug(u'addServiceItem')
         #If old item was a command tell it to stop
-        if self.item is not None and self.item.service_item_type == ServiceType.Command:
-            Receiver().send_message(u'%s_stop'% self.item.name.lower())
-        self.item = item
+        if self.commandItem is not None and self.commandItem.service_item_type == ServiceType.Command:
+            Receiver().send_message(u'%s_stop'% self.commandItem.name.lower())
+        self.commandItem = item
         self.enableToolBar(item)
         if item.service_item_type == ServiceType.Command:
             Receiver().send_message(u'%s_start'%item.name.lower(), \
@@ -334,8 +334,8 @@
         """
         Go to the next slide.
         """
-        if self.item.service_item_type == ServiceType.Command:
-            Receiver().send_message(u'%s_next'% self.item.name.lower())
+        if self.commandItem.service_item_type == ServiceType.Command:
+            Receiver().send_message(u'%s_next'% self.commandItem.name.lower())
         else:
             row = self.PreviewListWidget.currentRow() + 1
             if row == self.PreviewListWidget.rowCount():
@@ -347,8 +347,8 @@
         """
         Go to the previous slide.
         """
-        if self.item.service_item_type == ServiceType.Command:
-            Receiver().send_message(u'%s_previous'% self.item.name.lower())
+        if self.commandItem.service_item_type == ServiceType.Command:
+            Receiver().send_message(u'%s_previous'% self.commandItem.name.lower())
         else:
             row = self.PreviewListWidget.currentRow() - 1
             if row == -1:
@@ -379,6 +379,3 @@
     def timerEvent(self, event):
         if event.timerId() == self.timer_id:
             self.onSlideSelectedNext()
-
-
-

=== modified file 'openlp/plugins/bibles/lib/biblestab.py'
--- openlp/plugins/bibles/lib/biblestab.py	2009-09-08 19:58:05 +0000
+++ openlp/plugins/bibles/lib/biblestab.py	2009-09-13 07:39:48 +0000
@@ -184,14 +184,14 @@
         check_state = self.NewChaptersCheckBox.checkState()
         self.show_new_chapters = False
         # we have a set value convert to True/False
-        if check_state == 2:
+        if check_state == QtCore.Qt.Checked:
             self.show_new_chapters = True
 
     def onBibleSearchCheckBoxChanged(self):
         check_state = self.BibleSearchCheckBox.checkState()
         self.bible_search = False
         # we have a set value convert to True/False
-        if check_state == 2:
+        if check_state == QtCore.Qt.Checked:
             self.bible_search = True
 
     def load(self):

=== modified file 'openlp/plugins/custom/customplugin.py'
--- openlp/plugins/custom/customplugin.py	2009-09-08 19:58:05 +0000
+++ openlp/plugins/custom/customplugin.py	2009-09-12 18:27:17 +0000
@@ -28,10 +28,18 @@
 
 from forms import EditCustomForm
 from openlp.core.lib import Plugin
-from openlp.plugins.custom.lib import CustomManager, CustomTab, CustomMediaItem
+from openlp.plugins.custom.lib import CustomManager, CustomMediaItem
 
 
 class CustomPlugin(Plugin):
+    """
+    This plugin enables the user to create, edit and display
+    custom slide shows. Custom shows are divided into slides.
+    Each show is able to have it's own theme.
+    Custom shows are designed to replace the use of songs where
+    the songs plugin has become restrictive. Examples could be
+    Welcome slides, Bible Reading information, Orders of service.
+    """
 
     global log
     log=logging.getLogger(u'CustomPlugin')

=== modified file 'openlp/plugins/custom/forms/editcustomdialog.py'
--- openlp/plugins/custom/forms/editcustomdialog.py	2009-09-08 19:58:05 +0000
+++ openlp/plugins/custom/forms/editcustomdialog.py	2009-09-12 18:27:17 +0000
@@ -1,6 +1,5 @@
 # -*- coding: utf-8 -*-
 # vim: autoindent shiftwidth=4 expandtab textwidth=80 tabstop=4 softtabstop=4
-
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
@@ -30,7 +29,7 @@
         customEditDialog.setObjectName(u'customEditDialog')
         customEditDialog.resize(590, 541)
         icon = QtGui.QIcon()
-        icon.addPixmap(QtGui.QPixmap(u':/icon/openlp-logo-16x16.png'), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        icon.addPixmap(QtGui.QPixmap(u':/icon/openlp.org-icon-32.bmp'), QtGui.QIcon.Normal, QtGui.QIcon.Off)
         customEditDialog.setWindowIcon(icon)
         self.gridLayout = QtGui.QGridLayout(customEditDialog)
         self.gridLayout.setObjectName(u'gridLayout')
@@ -46,8 +45,8 @@
         self.horizontalLayout_4 = QtGui.QHBoxLayout()
         self.horizontalLayout_4.setObjectName(u'horizontalLayout_4')
         self.VerseListView = QtGui.QListWidget(customEditDialog)
+        self.VerseListView.setAlternatingRowColors(True)
         self.VerseListView.setObjectName(u'VerseListView')
-        self.VerseListView.setAlternatingRowColors(True)
         self.horizontalLayout_4.addWidget(self.VerseListView)
         self.verticalLayout = QtGui.QVBoxLayout()
         self.verticalLayout.setObjectName(u'verticalLayout')
@@ -69,47 +68,49 @@
         self.gridLayout.addLayout(self.horizontalLayout_4, 1, 0, 1, 1)
         self.EditWidget = QtGui.QWidget(customEditDialog)
         self.EditWidget.setObjectName(u'EditWidget')
-        self.EditLayout = QtGui.QHBoxLayout(self.EditWidget)
-        self.EditLayout.setSpacing(8)
-        self.EditLayout.setMargin(0)
-        self.EditLayout.setObjectName(u'EditLayout')
+        self.EditLayout_3 = QtGui.QHBoxLayout(self.EditWidget)
+        self.EditLayout_3.setSpacing(8)
+        self.EditLayout_3.setMargin(0)
+        self.EditLayout_3.setObjectName(u'EditLayout_3')
         self.VerseTextEdit = QtGui.QTextEdit(self.EditWidget)
         self.VerseTextEdit.setObjectName(u'VerseTextEdit')
-        self.EditLayout.addWidget(self.VerseTextEdit)
-        self.ButtonWidget = QtGui.QWidget(self.EditWidget)
-        self.ButtonWidget.setObjectName(u'ButtonWidget')
-        self.ButtonLayout = QtGui.QVBoxLayout(self.ButtonWidget)
-        self.ButtonLayout.setSpacing(8)
-        self.ButtonLayout.setMargin(0)
-        self.ButtonLayout.setObjectName(u'ButtonLayout')
-        self.AddButton = QtGui.QPushButton(self.ButtonWidget)
+        self.EditLayout_3.addWidget(self.VerseTextEdit)
+        self.ButtonWidge = QtGui.QWidget(self.EditWidget)
+        self.ButtonWidge.setObjectName(u'ButtonWidge')
+        self.verticalLayout_2 = QtGui.QVBoxLayout(self.ButtonWidge)
+        self.verticalLayout_2.setObjectName(u'verticalLayout_2')
+        self.AddButton = QtGui.QPushButton(self.ButtonWidge)
         self.AddButton.setObjectName(u'AddButton')
-        self.ButtonLayout.addWidget(self.AddButton)
-        self.EditButton = QtGui.QPushButton(self.ButtonWidget)
+        self.AddButton.setToolTip(translate(u'customEditDialog', u'Add new slide at bottom'))
+        self.verticalLayout_2.addWidget(self.AddButton)
+        self.EditButton = QtGui.QPushButton(self.ButtonWidge)
         self.EditButton.setObjectName(u'EditButton')
-        self.ButtonLayout.addWidget(self.EditButton)
-        self.SaveButton = QtGui.QPushButton(self.ButtonWidget)
+        self.verticalLayout_2.addWidget(self.EditButton)
+        self.EditAllButton = QtGui.QPushButton(self.ButtonWidge)
+        self.EditAllButton.setObjectName(u'EditAllButton')
+        self.verticalLayout_2.addWidget(self.EditAllButton)
+        self.SaveButton = QtGui.QPushButton(self.ButtonWidge)
         self.SaveButton.setObjectName(u'SaveButton')
-        self.ButtonLayout.addWidget(self.SaveButton)
-        self.DeleteButton = QtGui.QPushButton(self.ButtonWidget)
+        self.verticalLayout_2.addWidget(self.SaveButton)
+        self.DeleteButton = QtGui.QPushButton(self.ButtonWidge)
         self.DeleteButton.setObjectName(u'DeleteButton')
-        self.ButtonLayout.addWidget(self.DeleteButton)
-        self.ClearButton = QtGui.QPushButton(self.ButtonWidget)
+        self.verticalLayout_2.addWidget(self.DeleteButton)
+        self.ClearButton = QtGui.QPushButton(self.ButtonWidge)
         self.ClearButton.setObjectName(u'ClearButton')
-        self.ButtonLayout.addWidget(self.ClearButton)
+        self.verticalLayout_2.addWidget(self.ClearButton)
         spacerItem1 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
-        self.ButtonLayout.addItem(spacerItem1)
-        self.EditLayout.addWidget(self.ButtonWidget)
+        self.verticalLayout_2.addItem(spacerItem1)
+        self.EditLayout_3.addWidget(self.ButtonWidge)
         self.gridLayout.addWidget(self.EditWidget, 2, 0, 1, 1)
-        self.horizontalLayout = QtGui.QHBoxLayout()
-        self.horizontalLayout.setObjectName(u'horizontalLayout')
+        self.horizontalLayout_3 = QtGui.QHBoxLayout()
+        self.horizontalLayout_3.setObjectName(u'horizontalLayout_3')
         self.ThemeLabel = QtGui.QLabel(customEditDialog)
         self.ThemeLabel.setObjectName(u'ThemeLabel')
-        self.horizontalLayout.addWidget(self.ThemeLabel)
-        self.ThemecomboBox = QtGui.QComboBox(customEditDialog)
-        self.ThemecomboBox.setObjectName(u'ThemecomboBox')
-        self.horizontalLayout.addWidget(self.ThemecomboBox)
-        self.gridLayout.addLayout(self.horizontalLayout, 3, 0, 1, 1)
+        self.horizontalLayout_3.addWidget(self.ThemeLabel)
+        self.ThemeComboBox = QtGui.QComboBox(customEditDialog)
+        self.ThemeComboBox.setObjectName(u'ThemeComboBox')
+        self.horizontalLayout_3.addWidget(self.ThemeComboBox)
+        self.gridLayout.addLayout(self.horizontalLayout_3, 3, 0, 1, 1)
         self.horizontalLayout_2 = QtGui.QHBoxLayout()
         self.horizontalLayout_2.setObjectName(u'horizontalLayout_2')
         self.CreditLabel = QtGui.QLabel(customEditDialog)
@@ -123,24 +124,39 @@
         self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Ok)
         self.buttonBox.setObjectName(u'buttonBox')
         self.gridLayout.addWidget(self.buttonBox, 5, 0, 1, 1)
+
         self.retranslateUi(customEditDialog)
         QtCore.QMetaObject.connectSlotsByName(customEditDialog)
         customEditDialog.setTabOrder(self.TitleEdit, self.VerseTextEdit)
-        customEditDialog.setTabOrder(self.VerseTextEdit, self.EditButton)
-        customEditDialog.setTabOrder(self.EditButton, self.SaveButton)
-        customEditDialog.setTabOrder(self.SaveButton, self.CreditEdit)
-        customEditDialog.setTabOrder(self.CreditEdit, self.VerseListView)
-        customEditDialog.setTabOrder(self.VerseListView, self.AddButton)
-        customEditDialog.setTabOrder(self.AddButton, self.DeleteButton)
-        customEditDialog.setTabOrder(self.DeleteButton, self.buttonBox)
+        customEditDialog.setTabOrder(self.VerseTextEdit, self.AddButton)
+        customEditDialog.setTabOrder(self.AddButton, self.VerseListView)
+        customEditDialog.setTabOrder(self.VerseListView, self.EditButton)
+        customEditDialog.setTabOrder(self.EditButton, self.EditAllButton)
+        customEditDialog.setTabOrder(self.EditAllButton, self.SaveButton)
+        customEditDialog.setTabOrder(self.SaveButton, self.DeleteButton)
+        customEditDialog.setTabOrder(self.DeleteButton, self.CreditEdit)
+        customEditDialog.setTabOrder(self.CreditEdit, self.UpButton)
+        customEditDialog.setTabOrder(self.UpButton, self.DownButton)
+        customEditDialog.setTabOrder(self.DownButton, self.ThemeComboBox)
+        customEditDialog.setTabOrder(self.ThemeComboBox, self.buttonBox)
 
     def retranslateUi(self, customEditDialog):
-        customEditDialog.setWindowTitle(translate(u'customEditDialog', u'Edit Custom Slides'))
-        self.TitleLabel.setText(translate(u'customEditDialog', u'Title:'))
-        self.AddButton.setText(translate(u'customEditDialog', u'Add'))
-        self.EditButton.setText(translate(u'customEditDialog', u'Edit'))
-        self.SaveButton.setText(translate(u'customEditDialog', u'Save'))
-        self.DeleteButton.setText(translate(u'customEditDialog', u'Delete'))
-        self.ClearButton.setText(translate(u'customEditDialog', u'Clear'))
-        self.ThemeLabel.setText(translate(u'customEditDialog', u'Theme:'))
-        self.CreditLabel.setText(translate(u'customEditDialog', u'Credits:'))
+        self.UpButton.setToolTip(translate(u'customEditDialog', u'Move slide Up 1'))
+        self.DownButton.setToolTip(translate(u'customEditDialog', u'Move slide down 1'))
+        customEditDialog.setWindowTitle(translate(u'customEditDialog', 'Edit Custom Slides'))
+        self.TitleLabel.setText(translate(u'customEditDialog', 'Title:'))
+        self.AddButton.setText(translate(u'customEditDialog', 'Add New'))
+        self.AddButton.setToolTip(translate(u'customEditDialog', u'Add new slide at bottom'))
+        self.EditButton.setText(translate(u'customEditDialog', 'Edit'))
+        self.EditButton.setToolTip(translate(u'customEditDialog', u'Edit selected slide'))
+        self.EditAllButton.setText(translate(u'customEditDialog', 'Edit All'))
+        self.EditAllButton.setToolTip(translate(u'customEditDialog', u'Edit all slides'))
+        self.SaveButton.setText(translate(u'customEditDialog', 'Save'))
+        self.SaveButton.setToolTip(translate(u'customEditDialog', u'Replace edited slide'))
+        self.DeleteButton.setText(translate(u'customEditDialog', 'Delete'))
+        self.DeleteButton.setToolTip(translate(u'customEditDialog', u'Delete selected slide'))
+        self.ClearButton.setText(translate(u'customEditDialog', 'Clear'))
+        self.ClearButton.setToolTip(translate(u'customEditDialog', u'Clear edit area'))
+        self.ThemeLabel.setText(translate(u'customEditDialog', 'Theme:'))
+        self.ThemeComboBox.setToolTip(translate(u'customEditDialog', u'Set Theme for Slides'))
+        self.CreditLabel.setText(translate(u'customEditDialog', 'Credits:'))

=== modified file 'openlp/plugins/custom/forms/editcustomform.py'
--- openlp/plugins/custom/forms/editcustomform.py	2009-09-12 17:24:16 +0000
+++ openlp/plugins/custom/forms/editcustomform.py	2009-09-12 18:27:17 +0000
@@ -40,20 +40,33 @@
         #self.parent = parent
         self.setupUi(self)
         # Connecting signals and slots
-        QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(u'rejected()'), self.rejected)
-        QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(u'accepted()'), self.accept)
-        QtCore.QObject.connect(self.AddButton, QtCore.SIGNAL(u'pressed()'), self.onAddButtonPressed)
-        QtCore.QObject.connect(self.EditButton, QtCore.SIGNAL(u'pressed()'), self.onEditButtonPressed)
-        QtCore.QObject.connect(self.SaveButton, QtCore.SIGNAL(u'pressed()'), self.onSaveButtonPressed)
-        QtCore.QObject.connect(self.DeleteButton, QtCore.SIGNAL(u'pressed()'), self.onDeleteButtonPressed)
-        QtCore.QObject.connect(self.ClearButton, QtCore.SIGNAL(u'pressed()'), self.onClearButtonPressed)
-        QtCore.QObject.connect(self.UpButton, QtCore.SIGNAL(u'pressed()'), self.onUpButtonPressed)
-        QtCore.QObject.connect(self.DownButton, QtCore.SIGNAL(u'pressed()'), self.onDownButtonPressed)
+        QtCore.QObject.connect(self.buttonBox,
+            QtCore.SIGNAL(u'rejected()'), self.rejected)
+        QtCore.QObject.connect(self.buttonBox,
+            QtCore.SIGNAL(u'accepted()'), self.accept)
+        QtCore.QObject.connect(self.AddButton,
+            QtCore.SIGNAL(u'pressed()'), self.onAddButtonPressed)
+        QtCore.QObject.connect(self.EditButton,
+            QtCore.SIGNAL(u'pressed()'), self.onEditButtonPressed)
+        QtCore.QObject.connect(self.EditAllButton,
+            QtCore.SIGNAL(u'pressed()'), self.onEditAllButtonPressed)
+        QtCore.QObject.connect(self.SaveButton,
+            QtCore.SIGNAL(u'pressed()'), self.onSaveButtonPressed)
+        QtCore.QObject.connect(self.DeleteButton,
+            QtCore.SIGNAL(u'pressed()'), self.onDeleteButtonPressed)
+        QtCore.QObject.connect(self.ClearButton,
+            QtCore.SIGNAL(u'pressed()'), self.onClearButtonPressed)
+        QtCore.QObject.connect(self.UpButton,
+            QtCore.SIGNAL(u'pressed()'), self.onUpButtonPressed)
+        QtCore.QObject.connect(self.DownButton,
+            QtCore.SIGNAL(u'pressed()'), self.onDownButtonPressed)
 
         QtCore.QObject.connect(self.VerseListView,
-            QtCore.SIGNAL(u'itemDoubleClicked(QListWidgetItem*)'), self.onVerseListViewSelected)
+            QtCore.SIGNAL(u'itemDoubleClicked(QListWidgetItem*)'),
+            self.onVerseListViewSelected)
         QtCore.QObject.connect(self.VerseListView,
-            QtCore.SIGNAL(u'itemClicked(QListWidgetItem*)'), self.onVerseListViewPressed)
+            QtCore.SIGNAL(u'itemClicked(QListWidgetItem*)'),
+            self.onVerseListViewPressed)
         QtCore.QObject.connect(Receiver.get_receiver(),
             QtCore.SIGNAL(u'update_themes'), self.loadThemes)
         # Create other objects and forms
@@ -61,23 +74,25 @@
         self.initialise()
 
     def initialise(self):
-        self.valid = True
+        self.editAll = False
         self.DeleteButton.setEnabled(False)
         self.EditButton.setEnabled(False)
+        self.EditAllButton.setEnabled(True)
         self.SaveButton.setEnabled(False)
+        self.ClearButton.setEnabled(False)
         self.TitleEdit.setText(u'')
         self.CreditEdit.setText(u'')
         self.VerseTextEdit.clear()
         self.VerseListView.clear()
         #make sure we have a new item
         self.customSlide = CustomSlide()
-        self.ThemecomboBox.addItem(u'')
+        self.ThemeComboBox.addItem(u'')
 
     def loadThemes(self, themelist):
-        self.ThemecomboBox.clear()
-        self.ThemecomboBox.addItem(u'')
+        self.ThemeComboBox.clear()
+        self.ThemeComboBox.addItem(u'')
         for themename in themelist:
-            self.ThemecomboBox.addItem(themename)
+            self.ThemeComboBox.addItem(themename)
 
     def loadCustom(self, id):
         self.customSlide = CustomSlide()
@@ -92,12 +107,12 @@
             for verse in verseList:
                 self.VerseListView.addItem(verse[1])
             theme = unicode(self.customSlide.theme_name)
-            id = self.ThemecomboBox.findText(theme, QtCore.Qt.MatchExactly)
+            id = self.ThemeComboBox.findText(theme, QtCore.Qt.MatchExactly)
             if id == -1:
                 id = 0 # Not Found
-            self.ThemecomboBox.setCurrentIndex(id)
+            self.ThemeComboBox.setCurrentIndex(id)
         else:
-            self.ThemecomboBox.setCurrentIndex(0)
+            self.ThemeComboBox.setCurrentIndex(0)
 
     def accept(self):
         valid ,  message = self._validate()
@@ -116,7 +131,7 @@
         self.customSlide.title = unicode(self.TitleEdit.displayText())
         self.customSlide.text = unicode(sxml.extract_xml())
         self.customSlide.credits = unicode(self.CreditEdit.displayText())
-        self.customSlide.theme_name = unicode(self.ThemecomboBox.currentText())
+        self.customSlide.theme_name = unicode(self.ThemeComboBox.currentText())
         self.custommanager.save_slide(self.customSlide)
         self.close()
 
@@ -140,6 +155,10 @@
 
     def onClearButtonPressed(self):
         self.VerseTextEdit.clear()
+        self.editAll = False
+        self.AddButton.setEnabled(True)
+        self.EditAllButton.setEnabled(True)
+        self.SaveButton.setEnabled(False)
 
     def onVerseListViewPressed(self, item):
         self.DeleteButton.setEnabled(True)
@@ -156,30 +175,52 @@
     def onEditButtonPressed(self):
         self.editText(self.VerseListView.currentItem().text())
 
+    def onEditAllButtonPressed(self):
+        self.editAll = True
+        self.AddButton.setEnabled(False)
+        if self.VerseListView.count() > 0:
+            verse_list = u''
+            for row in range(0, self.VerseListView.count()):
+                item = self.VerseListView.item(row)
+                verse_list += item.text()
+                verse_list += u'\n---\n'
+            self.editText(verse_list)
+
     def editText(self, text):
         self.beforeText = text
         self.VerseTextEdit.setPlainText(text)
         self.DeleteButton.setEnabled(False)
         self.EditButton.setEnabled(False)
+        self.EditAllButton.setEnabled(False)
         self.SaveButton.setEnabled(True)
+        self.ClearButton.setEnabled(True)
 
     def onSaveButtonPressed(self):
-        self.VerseListView.currentItem().setText(self.VerseTextEdit.toPlainText())
-        #number of lines has change
-        if len(self.beforeText.split(u'\n')) != len(self.VerseTextEdit.toPlainText().split(u'\n')):
-            tempList = {}
-            for row in range(0, self.VerseListView.count()):
-                tempList[row] = self.VerseListView.item(row).text()
+        if self.editAll:
             self.VerseListView.clear()
-            for row in range (0, len(tempList)):
-                self.VerseListView.addItem(tempList[row])
-            self.VerseListView.repaint()
+            for row in unicode(self.VerseTextEdit.toPlainText()).split(u'---'):
+                self.VerseListView.addItem(row)
+        else:
+            self.VerseListView.currentItem().setText(self.VerseTextEdit.toPlainText())
+            #number of lines has change
+            if len(self.beforeText.split(u'\n')) != len(self.VerseTextEdit.toPlainText().split(u'\n')):
+                tempList = {}
+                for row in range(0, self.VerseListView.count()):
+                    tempList[row] = self.VerseListView.item(row).text()
+                self.VerseListView.clear()
+                for row in range (0, len(tempList)):
+                    self.VerseListView.addItem(tempList[row])
+                self.VerseListView.repaint()
+        self.AddButton.setEnabled(True)
         self.SaveButton.setEnabled(False)
         self.EditButton.setEnabled(False)
+        self.EditAllButton.setEnabled(True)
+        self.VerseTextEdit.clear()
 
     def onDeleteButtonPressed(self):
         self.VerseListView.takeItem(self.VerseListView.currentRow())
         self.EditButton.setEnabled(False)
+        self.EditAllButton.setEnabled(True)
 
     def _validate(self):
         valid = True

=== modified file 'openlp/plugins/custom/lib/__init__.py'
--- openlp/plugins/custom/lib/__init__.py	2009-09-08 19:58:05 +0000
+++ openlp/plugins/custom/lib/__init__.py	2009-09-12 18:27:17 +0000
@@ -23,5 +23,4 @@
 ###############################################################################
 
 from manager import CustomManager
-from customtab import CustomTab
 from mediaitem import CustomMediaItem

=== removed file 'openlp/plugins/custom/lib/customtab.py'
--- openlp/plugins/custom/lib/customtab.py	2009-09-08 19:58:05 +0000
+++ openlp/plugins/custom/lib/customtab.py	1970-01-01 00:00:00 +0000
@@ -1,37 +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 Martin Thompson, Tim Bentley, Carsten      #
-# Tinggaard, Jon Tibble, Jonathan Corwin, Maikel Stuivenberg, Scott Guerrieri #
-# --------------------------------------------------------------------------- #
-# 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,  translate
-
-class CustomTab(SettingsTab):
-    """
-    SongsTab is the songs settings tab in the settings dialog.
-    """
-    def __init__(self):
-        SettingsTab.__init__(self, translate(u'CustomTab', u'Custom'), u'Custom')
-
-    def setupUi(self):
-        self.setObjectName(u'CustomTab')

=== modified file 'openlp/plugins/custom/lib/mediaitem.py'
--- openlp/plugins/custom/lib/mediaitem.py	2009-09-08 19:58:05 +0000
+++ openlp/plugins/custom/lib/mediaitem.py	2009-09-12 18:27:17 +0000
@@ -26,7 +26,8 @@
 
 from PyQt4 import QtCore, QtGui
 
-from openlp.core.lib import MediaManagerItem,  SongXMLParser,  ServiceItem,  translate, contextMenuAction, contextMenuSeparator, BaseListWithDnD
+from openlp.core.lib import MediaManagerItem,  SongXMLParser,  ServiceItem, \
+    translate, contextMenuAction, contextMenuSeparator, BaseListWithDnD
 
 class CustomListView(BaseListWithDnD):
     def __init__(self, parent=None):
@@ -45,78 +46,18 @@
         self.TranslationContext = u'CustomPlugin'
         self.PluginTextShort = u'Custom'
         self.ConfigSection = u'custom'
+        self.IconPath = u'custom/custom'
+        self.hasFileIcon = False
+        self.hasNewIcon = True
+        self.hasEditIcon = True
+        # this next is a class, not an instance of a class - it will
+        # be instanced by the base MediaManagerItem
+        self.ListViewWithDnD_class = CustomListView
+        self.ServiceItemIconName = u':/custom/custom_image.png'
+        self.servicePath = None
         MediaManagerItem.__init__(self, parent, icon, title)
         self.parent = parent
 
-    def setupUi(self):
-        # Add a toolbar
-        self.addToolbar()
-        # Create buttons for the toolbar
-        ## New Custom Button ##
-        self.addToolbarButton(
-            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(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(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(u'CustomMediaItem',u'Preview Custom Item'),
-            translate(u'CustomMediaItem',u'Preview the selected Custom Item'),
-            u':/system/system_preview.png', self.onPreviewClick, u'CustomPreviewItem')
-        ## Live Custom Button ##
-        self.addToolbarButton(
-            translate(u'CustomMediaItem',u'Go Live'),
-            translate(u'CustomMediaItem', u'Send the selected Custom live'),
-            u':/system/system_live.png', self.onLiveClick, u'CustomLiveItem')
-        ## Add Custom Button ##
-        self.addToolbarButton(
-            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.onAddClick, u'CustomAddItem')
-        # Add the CustomListView widget
-        self.CustomWidget = QtGui.QWidget(self)
-        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
-        sizePolicy.setHorizontalStretch(0)
-        sizePolicy.setVerticalStretch(0)
-        sizePolicy.setHeightForWidth(self.CustomWidget.sizePolicy().hasHeightForWidth())
-        self.CustomWidget.setSizePolicy(sizePolicy)
-        self.CustomWidget.setObjectName(u'CustomWidget')
-        # Add the Custom widget to the page layout
-        self.PageLayout.addWidget(self.CustomWidget)
-        self.ListView = CustomListView()
-        self.ListView.setAlternatingRowColors(True)
-        self.ListView.setDragEnabled(True)
-        self.PageLayout.addWidget(self.ListView)
-        # Signals
-        QtCore.QObject.connect(self.ListView,
-            QtCore.SIGNAL(u'doubleClicked(QModelIndex)'), self.onPreviewClick)
-        #define and add the context menu
-        self.ListView.setContextMenuPolicy(QtCore.Qt.ActionsContextMenu)
-        self.ListView.addAction(contextMenuAction(self.ListView,
-            ':/custom/custom_edit.png', translate(u'CustomMediaItem', u'&Edit Custom'),
-            self.onCustomEditClick))
-        self.ListView.addAction(contextMenuSeparator(self.ListView))
-        self.ListView.addAction(contextMenuAction(
-            self.ListView, ':/system/system_preview.png',
-            translate(u'CustomMediaItem',u'&Preview Custom'), self.onPreviewClick))
-        self.ListView.addAction(contextMenuAction(
-            self.ListView, ':/system/system_live.png',
-            translate(u'CustomMediaItem',u'&Show Live'), self.onLiveClick))
-        self.ListView.addAction(contextMenuAction(
-            self.ListView, ':/system/system_add.png',
-            translate(u'CustomMediaItem',u'&Add to Service'), self.onAddClick))
-
     def initialise(self):
         self.loadCustomListView(self.parent.custommanager.get_all_slides())
 
@@ -127,12 +68,12 @@
             custom_name.setData(QtCore.Qt.UserRole, QtCore.QVariant(CustomSlide.id))
             self.ListView.addItem(custom_name)
 
-    def onCustomNewClick(self):
+    def onNewClick(self):
         self.parent.edit_custom_form.loadCustom(0)
         self.parent.edit_custom_form.exec_()
         self.initialise()
 
-    def onCustomEditClick(self):
+    def onEditClick(self):
         item = self.ListView.currentItem()
         if item is not None:
             item_id = (item.data(QtCore.Qt.UserRole)).toInt()[0]
@@ -140,7 +81,7 @@
             self.parent.edit_custom_form.exec_()
             self.initialise()
 
-    def onCustomDeleteClick(self):
+    def onDeleteClick(self):
         item = self.ListView.currentItem()
         if item is not None:
             item_id = (item.data(QtCore.Qt.UserRole)).toInt()[0]

=== modified file 'openlp/plugins/images/lib/mediaitem.py'
--- openlp/plugins/images/lib/mediaitem.py	2009-09-08 19:58:05 +0000
+++ openlp/plugins/images/lib/mediaitem.py	2009-09-12 18:27:17 +0000
@@ -53,7 +53,6 @@
         self.hasEditIcon = False
         self.OnNewPrompt = u'Select Image(s)'
         self.OnNewFileMasks = u'Images (*.jpg *jpeg *.gif *.png *.bmp)'
-        self.slidecontroller = u'image'
         # this next is a class, not an instance of a class - it will
         # be instanced by the base MediaManagerItem
         self.ListViewWithDnD_class = ImageListView

=== modified file 'openlp/plugins/presentations/lib/__init__.py'
--- openlp/plugins/presentations/lib/__init__.py	2009-09-12 17:24:16 +0000
+++ openlp/plugins/presentations/lib/__init__.py	2009-09-13 07:39:48 +0000
@@ -23,7 +23,7 @@
 ###############################################################################
 
 from impresscontroller import ImpressController
-from powerpointcontroller import PowerpointController
+#from powerpointcontroller import PowerpointController
 from messagelistener import MessageListener
 from mediaitem import PresentationMediaItem
 from presentationtab import PresentationTab

=== modified file 'openlp/plugins/presentations/lib/impresscontroller.py'
--- openlp/plugins/presentations/lib/impresscontroller.py	2009-09-07 19:00:24 +0000
+++ openlp/plugins/presentations/lib/impresscontroller.py	2009-09-11 19:29:57 +0000
@@ -57,7 +57,8 @@
         when required.
         """
         log.debug(u'start Openoffice')
-        cmd = u'openoffice.org -nologo -norestore -minimized -headless ' + u'"' + u'-accept=socket,host=localhost,port=2002;urp;'+ u'"'
+        # -headless
+        cmd = u'openoffice.org -nologo -norestore -minimized -invisible ' + u'"' + u'-accept=socket,host=localhost,port=2002;urp;'+ u'"'
         self.process = QtCore.QProcess()
         self.process.startDetached(cmd)
         self.process.waitForStarted()

=== modified file 'openlp/plugins/presentations/lib/mediaitem.py'
--- openlp/plugins/presentations/lib/mediaitem.py	2009-09-08 19:58:05 +0000
+++ openlp/plugins/presentations/lib/mediaitem.py	2009-09-12 18:27:17 +0000
@@ -62,7 +62,7 @@
         MediaManagerItem.__init__(self, parent, icon, title)
         self.message_listener = MessageListener(controllers)
 
-    def addHeaderBar(self):
+    def addEndHeaderBar(self):
         self.PresentationWidget = QtGui.QWidget(self)
         sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
         sizePolicy.setHorizontalStretch(0)

=== modified file 'openlp/plugins/presentations/lib/powerpointcontroller.py'
--- openlp/plugins/presentations/lib/powerpointcontroller.py	2009-09-12 17:24:16 +0000
+++ openlp/plugins/presentations/lib/powerpointcontroller.py	2009-09-13 07:39:48 +0000
@@ -21,8 +21,10 @@
 # with this program; if not, write to the Free Software Foundation, Inc., 59  #
 # Temple Place, Suite 330, Boston, MA 02111-1307 USA                          #
 ###############################################################################
-
-from win32com.client import Dispatch
+try:
+    from win32com.client import Dispatch
+except:
+    pass
 
 # PPT API documentation:
 # http://msdn.microsoft.com/en-us/library/aa269321(office.10).aspx

=== modified file 'openlp/plugins/presentations/presentationplugin.py'
--- openlp/plugins/presentations/presentationplugin.py	2009-09-12 17:24:16 +0000
+++ openlp/plugins/presentations/presentationplugin.py	2009-09-13 07:39:48 +0000
@@ -30,7 +30,12 @@
 
 from openlp.core.lib import Plugin,  MediaManagerItem
 from openlp.plugins.presentations.lib import PresentationMediaItem, PresentationTab, \
-    ImpressController,  PowerpointController
+    ImpressController
+try:
+    from openlp.plugins.presentations.lib import PowerpointController
+except:
+    pass
+
 
 class PresentationPlugin(Plugin):
 
@@ -72,7 +77,7 @@
         """
         log.debug('check_pre_conditions')
         #Lets see if Impress is required (Default is Not wanted)
-        if int(self.config.get_config(u'Impress', 0)) == 2:
+        if int(self.config.get_config(u'Impress', QtCore.Qt.Unchecked)) == QtCore.Qt.Checked:
             try:
                 #Check to see if we have uno installed
                 import uno
@@ -80,8 +85,8 @@
                 self.registerControllers(u'Impress', openoffice)
             except:
                 log.error(u'Reason : %s', sys.exc_info())
-        #Lets see if Impress is required (Default is Not wanted)
-        if int(self.config.get_config(u'Powerpoint', 0)) == 2:
+        #Lets see if Powerpoint is required (Default is Not wanted)
+        if int(self.config.get_config(u'Powerpoint', QtCore.Qt.Unchecked)) == QtCore.Qt.Checked:
             try:
                 #Check to see if we are Win32
                 from win32com.client import Dispatch
@@ -89,8 +94,8 @@
                 self.registerControllers(u'Powerpoint', powerpoint)
             except:
                 log.error(u'Reason : %s', sys.exc_info())
-        #Lets see if Impress is required (Default is Not wanted)
-        if int(self.config.get_config(u'Powerpoint Viewer', 0)) == 2:
+        #Lets see if Powerpoint Viewer is required (Default is Not wanted)
+        if int(self.config.get_config(u'Powerpoint Viewer', QtCore.Qt.Unchecked)) == QtCore.Qt.Checked:
             try:
                 #Check to see if we are Win32
                 from win32com.client import Dispatch
@@ -108,5 +113,4 @@
         log.debug(u'Finalise')
         #Ask each controller to tidy up
         for controller in self.controllers:
-            print controller
             self.controllers[controller].kill()

=== modified file 'openlp/plugins/remotes/remoteplugin.py'
--- openlp/plugins/remotes/remoteplugin.py	2009-09-08 17:51:34 +0000
+++ openlp/plugins/remotes/remoteplugin.py	2009-09-13 07:39:48 +0000
@@ -42,7 +42,7 @@
         """
         log.debug('check_pre_conditions')
         #Lets see if Remote is required
-        if int(self.config.get_config(u'startup', 0)) == 2:
+        if int(self.config.get_config(u'startup', 0)) == QtCore.Qt.Checked:
             return True
         else:
             return False

=== modified file 'resources/forms/editcustomdialog.ui'
--- resources/forms/editcustomdialog.ui	2009-03-08 06:36:05 +0000
+++ resources/forms/editcustomdialog.ui	2009-09-11 04:54:22 +0000
@@ -14,7 +14,7 @@
    <string>Edit Custom Slides</string>
   </property>
   <property name="windowIcon">
-   <iconset resource="../images/openlp-2.qrc">
+   <iconset>
     <normaloff>:/icon/openlp.org-icon-32.bmp</normaloff>:/icon/openlp.org-icon-32.bmp</iconset>
   </property>
   <layout class="QGridLayout" name="gridLayout">
@@ -35,12 +35,19 @@
    <item row="1" column="0">
     <layout class="QHBoxLayout" name="horizontalLayout_4">
      <item>
-      <widget class="QListWidget" name="VerseListView"/>
+      <widget class="QListWidget" name="VerseListView">
+       <property name="alternatingRowColors">
+        <bool>true</bool>
+       </property>
+      </widget>
      </item>
      <item>
       <layout class="QVBoxLayout" name="verticalLayout">
        <item>
         <widget class="QPushButton" name="UpButton">
+         <property name="toolTip">
+          <string extracomment="Move selected slide up one"/>
+         </property>
          <property name="text">
           <string/>
          </property>
@@ -65,6 +72,9 @@
        </item>
        <item>
         <widget class="QPushButton" name="DownButton">
+         <property name="toolTip">
+          <string extracomment="Move selected slide down one"/>
+         </property>
          <property name="text">
           <string/>
          </property>
@@ -88,33 +98,46 @@
        <number>0</number>
       </property>
       <item>
-       <widget class="QTextEdit" name="VerseTextEdit_3"/>
+       <widget class="QTextEdit" name="VerseTextEdit"/>
       </item>
       <item>
        <widget class="QWidget" name="ButtonWidge" native="true">
-        <layout class="QVBoxLayout" name="ButtonLayout_3">
-         <property name="spacing">
-          <number>8</number>
-         </property>
-         <property name="margin">
-          <number>0</number>
-         </property>
+        <layout class="QVBoxLayout" name="verticalLayout_2">
          <item>
-          <widget class="QPushButton" name="AddButton_3">
+          <widget class="QPushButton" name="AddButton">
+           <property name="toolTip">
+            <string extracomment="Adds a  new slide at bottom of list"/>
+           </property>
            <property name="text">
-            <string>Add</string>
+            <string>Add New</string>
            </property>
           </widget>
          </item>
          <item>
-          <widget class="QPushButton" name="EditButton_3">
+          <widget class="QPushButton" name="EditButton">
+           <property name="toolTip">
+            <string extracomment="Edit selected slide"/>
+           </property>
            <property name="text">
             <string>Edit</string>
            </property>
           </widget>
          </item>
          <item>
-          <widget class="QPushButton" name="SaveButton_3">
+          <widget class="QPushButton" name="EditAllButton">
+           <property name="toolTip">
+            <string extracomment="Edit all slides"/>
+           </property>
+           <property name="text">
+            <string>Edit All</string>
+           </property>
+          </widget>
+         </item>
+         <item>
+          <widget class="QPushButton" name="SaveButton">
+           <property name="toolTip">
+            <string extracomment="Save changed slide"/>
+           </property>
            <property name="text">
             <string>Save</string>
            </property>
@@ -122,12 +145,25 @@
          </item>
          <item>
           <widget class="QPushButton" name="DeleteButton">
+           <property name="toolTip">
+            <string extracomment="Delete selected slide"/>
+           </property>
            <property name="text">
             <string>Delete</string>
            </property>
           </widget>
          </item>
          <item>
+          <widget class="QPushButton" name="ClearButton">
+           <property name="toolTip">
+            <string extracomment="Clear selection"/>
+           </property>
+           <property name="text">
+            <string>Clear</string>
+           </property>
+          </widget>
+         </item>
+         <item>
           <spacer name="ButtonSpacer">
            <property name="orientation">
             <enum>Qt::Vertical</enum>
@@ -156,7 +192,11 @@
       </widget>
      </item>
      <item>
-      <widget class="QComboBox" name="ThemecomboBox"/>
+      <widget class="QComboBox" name="ThemeComboBox">
+       <property name="toolTip">
+        <string extracomment="Select custom theme for slide"/>
+       </property>
+      </widget>
      </item>
     </layout>
    </item>
@@ -185,13 +225,17 @@
  </widget>
  <tabstops>
   <tabstop>TitleEdit</tabstop>
-  <tabstop>VerseTextEdit_3</tabstop>
-  <tabstop>EditButton_3</tabstop>
-  <tabstop>SaveButton_3</tabstop>
-  <tabstop>CreditEdit</tabstop>
+  <tabstop>VerseTextEdit</tabstop>
+  <tabstop>AddButton</tabstop>
   <tabstop>VerseListView</tabstop>
-  <tabstop>AddButton_3</tabstop>
+  <tabstop>EditButton</tabstop>
+  <tabstop>EditAllButton</tabstop>
+  <tabstop>SaveButton</tabstop>
   <tabstop>DeleteButton</tabstop>
+  <tabstop>CreditEdit</tabstop>
+  <tabstop>UpButton</tabstop>
+  <tabstop>DownButton</tabstop>
+  <tabstop>ThemeComboBox</tabstop>
   <tabstop>buttonBox</tabstop>
  </tabstops>
  <resources>


Follow ups