← Back to team overview

openlp-core team mailing list archive

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

 

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

Requested reviews:
  OpenLP Core (openlp-core)

For more details, see:
https://code.launchpad.net/~trb143/openlp/cleanup/+merge/154263

Cleanup Plugin and mediamanageritem classes
remove iconPath and settingsSection from the complete code base

Fix some missed changes from the last merge.
-- 
https://code.launchpad.net/~trb143/openlp/cleanup/+merge/154263
Your team OpenLP Core is requested to review the proposed merge of lp:~trb143/openlp/cleanup into lp:openlp.
=== modified file 'openlp/core/lib/htmlbuilder.py'
--- openlp/core/lib/htmlbuilder.py	2013-03-12 09:00:22 +0000
+++ openlp/core/lib/htmlbuilder.py	2013-03-20 05:48:24 +0000
@@ -240,9 +240,9 @@
     html_additions = u''
     if plugins:
         for plugin in plugins:
-            css_additions += plugin.getDisplayCss()
-            js_additions += plugin.getDisplayJavaScript()
-            html_additions += plugin.getDisplayHtml()
+            css_additions += plugin.get_display_css()
+            js_additions += plugin.get_display_javascript()
+            html_additions += plugin.get_display_html()
     html = HTMLSRC % (
         build_background_css(item, width),
         css_additions,

=== modified file 'openlp/core/lib/listwidgetwithdnd.py'
--- openlp/core/lib/listwidgetwithdnd.py	2013-02-07 08:42:17 +0000
+++ openlp/core/lib/listwidgetwithdnd.py	2013-03-20 05:48:24 +0000
@@ -54,7 +54,7 @@
         """
         self.setAcceptDrops(True)
         self.setDragDropMode(QtGui.QAbstractItemView.DragDrop)
-        Registry().register_function((u'%s_dnd' % self.mimeDataText), self.parent().loadFile)
+        Registry().register_function((u'%s_dnd' % self.mimeDataText), self.parent().load_file)
 
     def mouseMoveEvent(self, event):
         """

=== modified file 'openlp/core/lib/mediamanageritem.py'
--- openlp/core/lib/mediamanageritem.py	2013-03-18 14:11:58 +0000
+++ openlp/core/lib/mediamanageritem.py	2013-03-20 05:48:24 +0000
@@ -63,11 +63,11 @@
 
     When creating a descendant class from this class for your plugin, the following member variables should be set.
 
-     ``self.onNewPrompt``
+     ``self.on_new_prompt``
 
         Defaults to *'Select Image(s)'*.
 
-     ``self.onNewFileMasks``
+     ``self.on_new_file_masks``
         Defaults to *'Images (*.jpg *jpeg *.gif *.png *.bmp)'*. This assumes that the new action is to load a file. If
         not, you need to override the ``OnNew`` method.
 
@@ -86,35 +86,35 @@
         self.hide()
         self.whitespace = re.compile(r'[\W_]+', re.UNICODE)
         self.plugin = plugin
-        visible_title = self.plugin.getString(StringContent.VisibleName)
+        visible_title = self.plugin.get_string(StringContent.VisibleName)
         self.title = unicode(visible_title[u'title'])
         Registry().register(self.plugin.name, self)
-        self.settingsSection = self.plugin.name
+        self.settings_section = self.plugin.name
         self.toolbar = None
-        self.remoteTriggered = None
-        self.singleServiceItem = True
-        self.quickPreviewAllowed = False
+        self.remote_triggered = None
+        self.single_service_item = True
+        self.quick_preview_allowed = False
         self.hasSearch = False
-        self.pageLayout = QtGui.QVBoxLayout(self)
-        self.pageLayout.setSpacing(0)
-        self.pageLayout.setMargin(0)
-        self.requiredIcons()
+        self.page_layout = QtGui.QVBoxLayout(self)
+        self.page_layout.setSpacing(0)
+        self.page_layout.setMargin(0)
+        self.required_icons()
         self.setupUi()
         self.retranslateUi()
         self.autoSelectId = -1
-        Registry().register_function(u'%s_service_load' % self.plugin.name, self.serviceLoad)
+        Registry().register_function(u'%s_service_load' % self.plugin.name, self.service_load)
 
-    def requiredIcons(self):
+    def required_icons(self):
         """
         This method is called to define the icons for the plugin. It provides a default set and the plugin is able to
         override the if required.
         """
-        self.hasImportIcon = False
-        self.hasNewIcon = True
-        self.hasEditIcon = True
-        self.hasFileIcon = False
-        self.hasDeleteIcon = True
-        self.addToServiceItem = False
+        self.has_import_icon = False
+        self.has_new_icon = True
+        self.has_edit_icon = True
+        self.has_file_icon = False
+        self.has_delete_icon = True
+        self.add_to_service_item = False
 
     def retranslateUi(self):
         """
@@ -123,13 +123,13 @@
         """
         pass
 
-    def addToolbar(self):
+    def add_toolbar(self):
         """
         A method to help developers easily add a toolbar to the media manager item.
         """
         if self.toolbar is None:
             self.toolbar = OpenLPToolbar(self)
-            self.pageLayout.addWidget(self.toolbar)
+            self.page_layout.addWidget(self.toolbar)
 
     def setupUi(self):
         """
@@ -137,143 +137,143 @@
         rest of the interface of the media manager item.
         """
         # Add a toolbar
-        self.addToolbar()
+        self.add_toolbar()
         # Allow the plugin to define buttons at start of bar
-        self.addStartHeaderBar()
+        self.add_start_header_bar()
         # Add the middle of the tool bar (pre defined)
-        self.addMiddleHeaderBar()
+        self.add_middle_header_bar()
         # Allow the plugin to define buttons at end of bar
-        self.addEndHeaderBar()
+        self.add_end_header_bar()
         # Add the list view
-        self.addListViewToToolBar()
+        self.add_list_view_to_toolbar()
 
-    def addMiddleHeaderBar(self):
+    def add_middle_header_bar(self):
         """
         Create buttons for the media item toolbar
         """
         toolbar_actions = []
         ## Import Button ##
-        if self.hasImportIcon:
+        if self.has_import_icon:
             toolbar_actions.append([u'Import', StringContent.Import,
-                u':/general/general_import.png', self.onImportClick])
+                u':/general/general_import.png', self.on_import_click])
         ## Load Button ##
-        if self.hasFileIcon:
-            toolbar_actions.append([u'Load', StringContent.Load, u':/general/general_open.png', self.onFileClick])
+        if self.has_file_icon:
+            toolbar_actions.append([u'Load', StringContent.Load, u':/general/general_open.png', self.on_file_click])
         ## New Button ##
-        if self.hasNewIcon:
-            toolbar_actions.append([u'New', StringContent.New, u':/general/general_new.png', self.onNewClick])
+        if self.has_new_icon:
+            toolbar_actions.append([u'New', StringContent.New, u':/general/general_new.png', self.on_new_click])
         ## Edit Button ##
-        if self.hasEditIcon:
-            toolbar_actions.append([u'Edit', StringContent.Edit, u':/general/general_edit.png', self.onEditClick])
+        if self.has_edit_icon:
+            toolbar_actions.append([u'Edit', StringContent.Edit, u':/general/general_edit.png', self.on_edit_click])
         ## Delete Button ##
-        if self.hasDeleteIcon:
+        if self.has_delete_icon:
             toolbar_actions.append([u'Delete', StringContent.Delete,
-                u':/general/general_delete.png', self.onDeleteClick])
+                u':/general/general_delete.png', self.on_delete_click])
         ## Preview ##
         toolbar_actions.append([u'Preview', StringContent.Preview,
-            u':/general/general_preview.png', self.onPreviewClick])
+            u':/general/general_preview.png', self.on_preview_click])
         ## Live Button ##
-        toolbar_actions.append([u'Live', StringContent.Live, u':/general/general_live.png', self.onLiveClick])
+        toolbar_actions.append([u'Live', StringContent.Live, u':/general/general_live.png', self.on_live_click])
         ## Add to service Button ##
-        toolbar_actions.append([u'Service', StringContent.Service, u':/general/general_add.png', self.onAddClick])
+        toolbar_actions.append([u'Service', StringContent.Service, u':/general/general_add.png', self.on_add_click])
         for action in toolbar_actions:
             if action[0] == StringContent.Preview:
                 self.toolbar.addSeparator()
             self.toolbar.add_toolbar_action(u'%s%sAction' % (self.plugin.name, action[0]),
-                text=self.plugin.getString(action[1])[u'title'], icon=action[2],
-                tooltip=self.plugin.getString(action[1])[u'tooltip'],
+                text=self.plugin.get_string(action[1])[u'title'], icon=action[2],
+                tooltip=self.plugin.get_string(action[1])[u'tooltip'],
                 triggers=action[3])
 
-    def addListViewToToolBar(self):
+    def add_list_view_to_toolbar(self):
         """
         Creates the main widget for listing items the media item is tracking
         """
         # Add the List widget
-        self.listView = ListWidgetWithDnD(self, self.plugin.name)
-        self.listView.setSpacing(1)
-        self.listView.setSelectionMode(QtGui.QAbstractItemView.ExtendedSelection)
-        self.listView.setAlternatingRowColors(True)
-        self.listView.setObjectName(u'%sListView' % self.plugin.name)
-        # Add to pageLayout
-        self.pageLayout.addWidget(self.listView)
+        self.list_view = ListWidgetWithDnD(self, self.plugin.name)
+        self.list_view.setSpacing(1)
+        self.list_view.setSelectionMode(QtGui.QAbstractItemView.ExtendedSelection)
+        self.list_view.setAlternatingRowColors(True)
+        self.list_view.setObjectName(u'%sListView' % self.plugin.name)
+        # Add to page_layout
+        self.page_layout.addWidget(self.list_view)
         # define and add the context menu
-        self.listView.setContextMenuPolicy(QtCore.Qt.CustomContextMenu)
-        if self.hasEditIcon:
-            create_widget_action(self.listView,
-                text=self.plugin.getString(StringContent.Edit)[u'title'],
+        self.list_view.setContextMenuPolicy(QtCore.Qt.CustomContextMenu)
+        if self.has_edit_icon:
+            create_widget_action(self.list_view,
+                text=self.plugin.get_string(StringContent.Edit)[u'title'],
                 icon=u':/general/general_edit.png',
-                triggers=self.onEditClick)
-            create_widget_action(self.listView, separator=True)
-        if self.hasDeleteIcon:
-            create_widget_action(self.listView,
+                triggers=self.on_edit_click)
+            create_widget_action(self.list_view, separator=True)
+        if self.has_delete_icon:
+            create_widget_action(self.list_view,
                 u'listView%s%sItem' % (self.plugin.name.title(), StringContent.Delete.title()),
-                text=self.plugin.getString(StringContent.Delete)[u'title'],
+                text=self.plugin.get_string(StringContent.Delete)[u'title'],
                 icon=u':/general/general_delete.png',
-                can_shortcuts=True, triggers=self.onDeleteClick)
-            create_widget_action(self.listView, separator=True)
-        create_widget_action(self.listView,
+                can_shortcuts=True, triggers=self.on_delete_click)
+            create_widget_action(self.list_view, separator=True)
+        create_widget_action(self.list_view,
             u'listView%s%sItem' % (self.plugin.name.title(), StringContent.Preview.title()),
-            text=self.plugin.getString(StringContent.Preview)[u'title'],
+            text=self.plugin.get_string(StringContent.Preview)[u'title'],
             icon=u':/general/general_preview.png',
             can_shortcuts=True,
-            triggers=self.onPreviewClick)
-        create_widget_action(self.listView,
+            triggers=self.on_preview_click)
+        create_widget_action(self.list_view,
             u'listView%s%sItem' % (self.plugin.name.title(), StringContent.Live.title()),
-            text=self.plugin.getString(StringContent.Live)[u'title'],
+            text=self.plugin.get_string(StringContent.Live)[u'title'],
             icon=u':/general/general_live.png',
             can_shortcuts=True,
-            triggers=self.onLiveClick)
-        create_widget_action(self.listView,
+            triggers=self.on_live_click)
+        create_widget_action(self.list_view,
             u'listView%s%sItem' % (self.plugin.name.title(), StringContent.Service.title()),
             can_shortcuts=True,
-            text=self.plugin.getString(StringContent.Service)[u'title'],
+            text=self.plugin.get_string(StringContent.Service)[u'title'],
             icon=u':/general/general_add.png',
-            triggers=self.onAddClick)
-        if self.addToServiceItem:
-            create_widget_action(self.listView, separator=True)
-            create_widget_action(self.listView,
+            triggers=self.on_add_click)
+        if self.add_to_service_item:
+            create_widget_action(self.list_view, separator=True)
+            create_widget_action(self.list_view,
                 text=translate('OpenLP.MediaManagerItem', '&Add to selected Service Item'),
                 icon=u':/general/general_add.png',
-                triggers=self.onAddEditClick)
-        self.addCustomContextActions()
-        # Create the context menu and add all actions from the listView.
+                triggers=self.on_add_edit_click)
+        self.add_custom_context_actions()
+        # Create the context menu and add all actions from the list_view.
         self.menu = QtGui.QMenu()
-        self.menu.addActions(self.listView.actions())
-        self.listView.doubleClicked.connect(self.onDoubleClicked)
-        self.listView.itemSelectionChanged.connect(self.onSelectionChange)
-        self.listView.customContextMenuRequested.connect(self.contextMenu)
+        self.menu.addActions(self.list_view.actions())
+        self.list_view.doubleClicked.connect(self.on_double_clicked)
+        self.list_view.itemSelectionChanged.connect(self.on_selection_change)
+        self.list_view.customContextMenuRequested.connect(self.context_menu)
 
-    def addSearchToToolBar(self):
+    def add_search_to_toolbar(self):
         """
         Creates a search field with button and related signal handling.
         """
-        self.searchWidget = QtGui.QWidget(self)
-        self.searchWidget.setObjectName(u'searchWidget')
-        self.searchLayout = QtGui.QVBoxLayout(self.searchWidget)
-        self.searchLayout.setObjectName(u'searchLayout')
-        self.searchTextLayout = QtGui.QFormLayout()
-        self.searchTextLayout.setObjectName(u'searchTextLayout')
-        self.searchTextLabel = QtGui.QLabel(self.searchWidget)
-        self.searchTextLabel.setObjectName(u'searchTextLabel')
-        self.searchTextEdit = SearchEdit(self.searchWidget)
-        self.searchTextEdit.setObjectName(u'searchTextEdit')
-        self.searchTextLabel.setBuddy(self.searchTextEdit)
-        self.searchTextLayout.addRow(self.searchTextLabel, self.searchTextEdit)
-        self.searchLayout.addLayout(self.searchTextLayout)
-        self.searchButtonLayout = QtGui.QHBoxLayout()
-        self.searchButtonLayout.setObjectName(u'searchButtonLayout')
-        self.searchButtonLayout.addStretch()
-        self.searchTextButton = QtGui.QPushButton(self.searchWidget)
-        self.searchTextButton.setObjectName(u'searchTextButton')
-        self.searchButtonLayout.addWidget(self.searchTextButton)
-        self.searchLayout.addLayout(self.searchButtonLayout)
-        self.pageLayout.addWidget(self.searchWidget)
+        self.search_widget = QtGui.QWidget(self)
+        self.search_widget.setObjectName(u'search_widget')
+        self.search_layout = QtGui.QVBoxLayout(self.search_widget)
+        self.search_layout.setObjectName(u'search_layout')
+        self.search_text_layout = QtGui.QFormLayout()
+        self.search_text_layout.setObjectName(u'search_text_layout')
+        self.search_text_label = QtGui.QLabel(self.search_widget)
+        self.search_text_label.setObjectName(u'search_text_label')
+        self.search_text_edit = SearchEdit(self.search_widget)
+        self.search_text_edit.setObjectName(u'search_text_edit')
+        self.search_text_label.setBuddy(self.search_text_edit)
+        self.search_text_layout.addRow(self.search_text_label, self.search_text_edit)
+        self.search_layout.addLayout(self.search_text_layout)
+        self.search_button_layout = QtGui.QHBoxLayout()
+        self.search_button_layout.setObjectName(u'search_button_layout')
+        self.search_button_layout.addStretch()
+        self.search_text_button = QtGui.QPushButton(self.search_widget)
+        self.search_text_button.setObjectName(u'search_text_button')
+        self.search_button_layout.addWidget(self.search_text_button)
+        self.search_layout.addLayout(self.search_button_layout)
+        self.page_layout.addWidget(self.search_widget)
         # Signals and slots
-        self.searchTextEdit.returnPressed.connect(self.onSearchTextButtonClicked)
-        self.searchTextButton.clicked.connect(self.onSearchTextButtonClicked)
-        self.searchTextEdit.textChanged.connect(self.onSearchTextEditChanged)
+        self.search_text_edit.returnPressed.connect(self.on_search_text_button_clicked)
+        self.search_text_button.clicked.connect(self.on_search_text_button_clicked)
+        self.search_text_edit.textChanged.connect(self.on_search_text_edit_changed)
 
-    def addCustomContextActions(self):
+    def add_custom_context_actions(self):
         """
         Implement this method in your descendent media manager item to
         add any context menu items. This method is called automatically.
@@ -287,31 +287,31 @@
         """
         pass
 
-    def addStartHeaderBar(self):
+    def add_start_header_bar(self):
         """
         Slot at start of toolbar for plugin to addwidgets
         """
         pass
 
-    def addEndHeaderBar(self):
+    def add_end_header_bar(self):
         """
         Slot at end of toolbar for plugin to add widgets
         """
         pass
 
-    def onFileClick(self):
+    def on_file_click(self):
         """
         Add a file to the list widget to make it available for showing
         """
-        files = QtGui.QFileDialog.getOpenFileNames(self, self.onNewPrompt,
-            Settings().value(self.settingsSection + u'/last directory'), self.onNewFileMasks)
+        files = QtGui.QFileDialog.getOpenFileNames(self, self.on_new_prompt,
+            Settings().value(self.settings_section + u'/last directory'), self.on_new_file_masks)
         log.info(u'New files(s) %s', files)
         if files:
             self.application.set_busy_cursor()
-            self.validateAndLoad(files)
+            self.validate_and_load(files)
         self.application.set_normal_cursor()
 
-    def loadFile(self, data):
+    def load_file(self, data):
         """
         Turn file from Drag and Drop into an array so the Validate code can run it.
 
@@ -322,7 +322,7 @@
         error_shown = False
         for file_name in data['files']:
             file_type = file_name.split(u'.')[-1]
-            if file_type.lower() not in self.onNewFileMasks:
+            if file_type.lower() not in self.on_new_file_masks:
                 if not error_shown:
                     critical_error_message_box(translate('OpenLP.MediaManagerItem', 'Invalid File Type'),
                         translate('OpenLP.MediaManagerItem', 'Invalid File %s.\nSuffix not supported') % file_name)
@@ -330,7 +330,7 @@
             else:
                 new_files.append(file_name)
         if new_files:
-            self.validateAndLoad(new_files, data['target'])
+            self.validate_and_load(new_files, data['target'])
 
     def dnd_move_internal(self, target):
         """
@@ -341,7 +341,7 @@
         """
         pass
 
-    def validateAndLoad(self, files, target_group=None):
+    def validate_and_load(self, files, target_group=None):
         """
         Process a list for files either from the File Dialog or from Drag and
         Drop
@@ -354,9 +354,9 @@
         """
         names = []
         full_list = []
-        for count in range(self.listView.count()):
-            names.append(self.listView.item(count).text())
-            full_list.append(self.listView.item(count).data(QtCore.Qt.UserRole))
+        for count in range(self.list_view.count()):
+            names.append(self.list_view.item(count).text())
+            full_list.append(self.list_view.item(count).data(QtCore.Qt.UserRole))
         duplicates_found = False
         files_added = False
         for file_path in files:
@@ -368,61 +368,61 @@
                 full_list.append(filename)
         if full_list and files_added:
             if target_group is None:
-                self.listView.clear()
-            self.loadList(full_list, target_group)
+                self.list_view.clear()
+            self.load_list(full_list, target_group)
             last_dir = os.path.split(unicode(files[0]))[0]
-            Settings().setValue(self.settingsSection + u'/last directory', last_dir)
-            Settings().setValue(u'%s/%s files' % (self.settingsSection, self.settingsSection), self.getFileList())
+            Settings().setValue(self.settings_section + u'/last directory', last_dir)
+            Settings().setValue(u'%s/%s files' % (self.settings_section, self.settings_section), self.get_file_list())
         if duplicates_found:
             critical_error_message_box(UiStrings().Duplicate,
                 translate('OpenLP.MediaManagerItem', 'Duplicate files were found on import and were ignored.'))
 
-    def contextMenu(self, point):
+    def context_menu(self, point):
         """
         Display a context menu
         """
-        item = self.listView.itemAt(point)
+        item = self.list_view.itemAt(point)
         # Decide if we have to show the context menu or not.
         if item is None:
             return
         if not item.flags() & QtCore.Qt.ItemIsSelectable:
             return
-        self.menu.exec_(self.listView.mapToGlobal(point))
+        self.menu.exec_(self.list_view.mapToGlobal(point))
 
-    def getFileList(self):
+    def get_file_list(self):
         """
         Return the current list of files
         """
         file_list = []
-        for index in xrange(self.listView.count()):
-            bitem = self.listView.item(index)
+        for index in xrange(self.list_view.count()):
+            bitem = self.list_view.item(index)
             filename = bitem.data(QtCore.Qt.UserRole)
             file_list.append(filename)
         return file_list
 
-    def loadList(self, list, target_group):
+    def load_list(self, list, target_group):
         """
         Load a list. Needs to be implemented by the plugin.
         """
         raise NotImplementedError(u'MediaManagerItem.loadList needs to be defined by the plugin')
 
-    def onNewClick(self):
+    def on_new_click(self):
         """
         Hook for plugins to define behaviour for adding new items.
         """
         pass
 
-    def onEditClick(self):
+    def on_edit_click(self):
         """
         Hook for plugins to define behaviour for editing items.
         """
         pass
 
-    def onDeleteClick(self):
+    def on_delete_click(self):
         """
         Delete an item. Needs to be implemented by the plugin.
         """
-        raise NotImplementedError(u'MediaManagerItem.onDeleteClick needs to be defined by the plugin')
+        raise NotImplementedError(u'MediaManagerItem.on_delete_click needs to be defined by the plugin')
 
     def onFocus(self):
         """
@@ -431,65 +431,65 @@
         """
         pass
 
-    def generateSlideData(self, service_item, item=None, xml_version=False, remote=False,
+    def generate_slide_data(self, service_item, item=None, xml_version=False, remote=False,
             context=ServiceItemContext.Live):
         """
         Generate the slide data. Needs to be implemented by the plugin.
         """
-        raise NotImplementedError(u'MediaManagerItem.generateSlideData needs to be defined by the plugin')
+        raise NotImplementedError(u'MediaManagerItem.generate_slide_data needs to be defined by the plugin')
 
-    def onDoubleClicked(self):
+    def on_double_clicked(self):
         """
         Allows the list click action to be determined dynamically
         """
         if Settings().value(u'advanced/double click live'):
-            self.onLiveClick()
+            self.on_live_click()
         else:
-            self.onPreviewClick()
+            self.on_preview_click()
 
-    def onSelectionChange(self):
+    def on_selection_change(self):
         """
         Allows the change of current item in the list to be actioned
         """
-        if Settings().value(u'advanced/single click preview') and self.quickPreviewAllowed \
-            and self.listView.selectedIndexes() and self.autoSelectId == -1:
-            self.onPreviewClick(True)
+        if Settings().value(u'advanced/single click preview') and self.quick_preview_allowed \
+            and self.list_view.selectedIndexes() and self.autoSelectId == -1:
+            self.on_preview_click(True)
 
-    def onPreviewClick(self, keepFocus=False):
+    def on_preview_click(self, keepFocus=False):
         """
         Preview an item by building a service item then adding that service item to the preview slide controller.
         """
-        if not self.listView.selectedIndexes() and not self.remoteTriggered:
+        if not self.list_view.selectedIndexes() and not self.remote_triggered:
             QtGui.QMessageBox.information(self, UiStrings().NISp,
                 translate('OpenLP.MediaManagerItem', 'You must select one or more items to preview.'))
         else:
             log.debug(u'%s Preview requested', self.plugin.name)
-            service_item = self.buildServiceItem()
+            service_item = self.build_service_item()
             if service_item:
                 service_item.from_plugin = True
                 self.preview_controller.add_service_item(service_item)
                 if keepFocus:
-                    self.listView.setFocus()
+                    self.list_view.setFocus()
 
-    def onLiveClick(self):
+    def on_live_click(self):
         """
         Send an item live by building a service item then adding that service item to the live slide controller.
         """
-        if not self.listView.selectedIndexes():
+        if not self.list_view.selectedIndexes():
             QtGui.QMessageBox.information(self, UiStrings().NISp,
                 translate('OpenLP.MediaManagerItem', 'You must select one or more items to send live.'))
         else:
-            self.goLive()
+            self.go_live()
 
-    def goLive(self, item_id=None, remote=False):
+    def go_live(self, item_id=None, remote=False):
         """
         Make the currently selected item go live.
         """
         log.debug(u'%s Live requested', self.plugin.name)
         item = None
         if item_id:
-            item = self.createItemFromId(item_id)
-        service_item = self.buildServiceItem(item, remote=remote)
+            item = self.create_item_from_id(item_id)
+        service_item = self.build_service_item(item, remote=remote)
         if service_item:
             if not item_id:
                 service_item.from_plugin = True
@@ -497,7 +497,7 @@
                 service_item.will_auto_start = True
             self.live_controller.add_service_item(service_item)
 
-    def createItemFromId(self, item_id):
+    def create_item_from_id(self, item_id):
         """
         Create a media item from an item id.
         """
@@ -505,38 +505,38 @@
         item.setData(QtCore.Qt.UserRole, item_id)
         return item
 
-    def onAddClick(self):
+    def on_add_click(self):
         """
         Add a selected item to the current service
         """
-        if not self.listView.selectedIndexes():
+        if not self.list_view.selectedIndexes():
             QtGui.QMessageBox.information(self, UiStrings().NISp,
                 translate('OpenLP.MediaManagerItem', 'You must select one or more items to add.'))
         else:
             # Is it possible to process multiple list items to generate
             # multiple service items?
-            if self.singleServiceItem:
+            if self.single_service_item:
                 log.debug(u'%s Add requested', self.plugin.name)
-                self.addToService(replace=self.remoteTriggered)
+                self.add_to_service(replace=self.remote_triggered)
             else:
-                items = self.listView.selectedIndexes()
+                items = self.list_view.selectedIndexes()
                 for item in items:
-                    self.addToService(item)
+                    self.add_to_service(item)
 
-    def addToService(self, item=None, replace=None, remote=False):
+    def add_to_service(self, item=None, replace=None, remote=False):
         """
         Add this item to the current service.
         """
-        service_item = self.buildServiceItem(item, True, remote=remote, context=ServiceItemContext.Service)
+        service_item = self.build_service_item(item, True, remote=remote, context=ServiceItemContext.Service)
         if service_item:
             service_item.from_plugin = False
             self.service_manager.add_service_item(service_item, replace=replace)
 
-    def onAddEditClick(self):
+    def on_add_edit_click(self):
         """
         Add a selected item to an existing item in the current service.
         """
-        if not self.listView.selectedIndexes() and not self.remoteTriggered:
+        if not self.list_view.selectedIndexes() and not self.remote_triggered:
             QtGui.QMessageBox.information(self, UiStrings().NISp,
                 translate('OpenLP.MediaManagerItem', 'You must select one or more items.'))
         else:
@@ -546,36 +546,36 @@
                 QtGui.QMessageBox.information(self, UiStrings().NISs,
                     translate('OpenLP.MediaManagerItem', 'You must select an existing service item to add to.'))
             elif self.plugin.name == service_item.name:
-                self.generateSlideData(service_item)
+                self.generate_slide_data(service_item)
                 self.service_manager.add_service_item(service_item, replace=True)
             else:
                 # Turn off the remote edit update message indicator
                 QtGui.QMessageBox.information(self, translate('OpenLP.MediaManagerItem', 'Invalid Service Item'),
                     translate('OpenLP.MediaManagerItem', 'You must select a %s service item.') % self.title)
 
-    def buildServiceItem(self, item=None, xmlVersion=False, remote=False, context=ServiceItemContext.Live):
+    def build_service_item(self, item=None, xmlVersion=False, remote=False, context=ServiceItemContext.Live):
         """
         Common method for generating a service item
         """
         service_item = ServiceItem(self.plugin)
-        service_item.add_icon(self.plugin.iconPath)
-        if self.generateSlideData(service_item, item, xmlVersion, remote, context):
+        service_item.add_icon(self.plugin.icon_path)
+        if self.generate_slide_data(service_item, item, xmlVersion, remote, context):
             return service_item
         else:
             return None
 
-    def serviceLoad(self, message):
+    def service_load(self, message):
         """
         Method to add processing when a service has been loaded and individual service items need to be processed by the
         plugins.
         """
         pass
 
-    def checkSearchResult(self):
-        """
-        Checks if the listView is empty and adds a "No Search Results" item.
-        """
-        if self.listView.count():
+    def check_search_result(self):
+        """
+        Checks if the list_view is empty and adds a "No Search Results" item.
+        """
+        if self.list_view.count():
             return
         message = translate('OpenLP.MediaManagerItem', 'No Search Results')
         item = QtGui.QListWidgetItem(message)
@@ -583,9 +583,9 @@
         font = QtGui.QFont()
         font.setItalic(True)
         item.setFont(font)
-        self.listView.addItem(item)
+        self.list_view.addItem(item)
 
-    def _getIdOfItemToGenerate(self, item, remoteItem):
+    def _get_id_of_item_to_generate(self, item, remoteItem):
         """
         Utility method to check items being submitted for slide generation.
 
@@ -596,8 +596,8 @@
             The id to assign if the slide generation was remotely triggered.
         """
         if item is None:
-            if self.remoteTriggered is None:
-                item = self.listView.currentItem()
+            if self.remote_triggered is None:
+                item = self.list_view.currentItem()
                 if item is None:
                     return False
                 item_id = item.data(QtCore.Qt.UserRole)
@@ -607,13 +607,13 @@
             item_id = item.data(QtCore.Qt.UserRole)
         return item_id
 
-    def saveAutoSelectId(self):
+    def save_auto_select_id(self):
         """
         Sorts out, what item to select after loading a list.
         """
         # The item to select has not been set.
         if self.autoSelectId == -1:
-            item = self.listView.currentItem()
+            item = self.list_view.currentItem()
             if item:
                 self.autoSelectId = item.data(QtCore.Qt.UserRole)
 

=== modified file 'openlp/core/lib/plugin.py'
--- openlp/core/lib/plugin.py	2013-03-18 14:11:58 +0000
+++ openlp/core/lib/plugin.py	2013-03-20 05:48:24 +0000
@@ -76,7 +76,7 @@
     ``version``
         The version number of this iteration of the plugin.
 
-    ``settingsSection``
+    ``settings_section``
         The namespace to store settings for the plugin.
 
     ``icon``
@@ -90,24 +90,24 @@
 
     **Hook Functions**
 
-    ``checkPreConditions()``
+    ``check_pre_conditions()``
         Provides the Plugin with a handle to check if it can be loaded.
 
-    ``createMediaManagerItem()``
+    ``create_media_manager_item()``
         Creates a new instance of MediaManagerItem to be used in the Media
         Manager.
 
-    ``addImportMenuItem(import_menu)``
+    ``add_import_menu_item(import_menu)``
         Add an item to the Import menu.
 
-    ``addExportMenuItem(export_menu)``
+    ``add_export_menu_Item(export_menu)``
         Add an item to the Export menu.
 
-    ``createSettingsTab()``
+    ``create_settings_Tab()``
         Creates a new instance of SettingsTabItem to be used in the Settings
         dialog.
 
-    ``addToMenu(menubar)``
+    ``add_to_menu(menubar)``
         A method to add a menu item to anywhere in the menu, given the menu bar.
 
     ``handle_event(event)``
@@ -147,19 +147,19 @@
         log.debug(u'Plugin %s initialised' % name)
         QtCore.QObject.__init__(self)
         self.name = name
-        self.textStrings = {}
+        self.text_strings = {}
         self.set_plugin_text_strings()
-        self.nameStrings = self.textStrings[StringContent.Name]
+        self.name_strings = self.text_strings[StringContent.Name]
         if version:
             self.version = version
         else:
             self.version = get_application_version()[u'version']
-        self.settingsSection = self.name
+        self.settings_section = self.name
         self.icon = None
-        self.mediaItemClass = media_item_class
-        self.settingsTabClass = settings_tab_class
-        self.settingsTab = None
-        self.mediaItem = None
+        self.media_item_class = media_item_class
+        self.settings_tab_class = settings_tab_class
+        self.settings_tab = None
+        self.media_item = None
         self.weight = 0
         self.status = PluginStatus.Inactive
         # Add the default status to the default settings.
@@ -171,10 +171,10 @@
             default_settings[u'%s/%s files' % (name, name)] = []
         # Add settings to the dict of all settings.
         Settings.extend_default_settings(default_settings)
-        Registry().register_function(u'%s_add_service_item' % self.name, self.processAddServiceEvent)
+        Registry().register_function(u'%s_add_service_item' % self.name, self.process_add_service_event)
         Registry().register_function(u'%s_config_updated' % self.name, self.config_update)
 
-    def checkPreConditions(self):
+    def check_pre_conditions(self):
         """
         Provides the Plugin with a handle to check if it can be loaded.
         Failing Preconditions does not stop a settings Tab being created
@@ -183,24 +183,24 @@
         """
         return True
 
-    def setStatus(self):
+    def set_status(self):
         """
         Sets the status of the plugin
         """
-        self.status = Settings().value(self.settingsSection + u'/status')
+        self.status = Settings().value(self.settings_section + u'/status')
 
-    def toggleStatus(self, new_status):
+    def toggle_status(self, new_status):
         """
         Changes the status of the plugin and remembers it
         """
         self.status = new_status
-        Settings().setValue(self.settingsSection + u'/status', self.status)
+        Settings().setValue(self.settings_section + u'/status', self.status)
         if new_status == PluginStatus.Active:
             self.initialise()
         elif new_status == PluginStatus.Inactive:
             self.finalise()
 
-    def isActive(self):
+    def is_active(self):
         """
         Indicates if the plugin is active
 
@@ -208,13 +208,13 @@
         """
         return self.status == PluginStatus.Active
 
-    def createMediaManagerItem(self):
+    def create_media_manager_item(self):
         """
         Construct a MediaManagerItem object with all the buttons and things
         you need, and return it for integration into OpenLP.
         """
-        if self.mediaItemClass:
-            self.mediaItem = self.mediaItemClass(self.main_window.media_dock_manager.media_dock, self)
+        if self.media_item_class:
+            self.media_item = self.media_item_class(self.main_window.media_dock_manager.media_dock, self)
 
     def upgrade_settings(self, settings):
         """
@@ -225,7 +225,7 @@
         """
         pass
 
-    def addImportMenuItem(self, importMenu):
+    def add_import_menu_item(self, importMenu):
         """
         Create a menu item and add it to the "Import" menu.
 
@@ -234,7 +234,7 @@
         """
         pass
 
-    def addExportMenuItem(self, exportMenu):
+    def add_export_menu_Item(self, exportMenu):
         """
         Create a menu item and add it to the "Export" menu.
 
@@ -243,7 +243,7 @@
         """
         pass
 
-    def addToolsMenuItem(self, toolsMenu):
+    def add_tools_menu_item(self, toolsMenu):
         """
         Create a menu item and add it to the "Tools" menu.
 
@@ -252,16 +252,16 @@
         """
         pass
 
-    def createSettingsTab(self, parent):
+    def create_settings_Tab(self, parent):
         """
         Create a tab for the settings window to display the configurable options
         for this plugin to the user.
         """
-        if self.settingsTabClass:
-            self.settingsTab = self.settingsTabClass(parent, self.name,
-                self.getString(StringContent.VisibleName)[u'title'], self.iconPath)
+        if self.settings_tab_class:
+            self.settings_tab = self.settings_tab_class(parent, self.name,
+                self.get_string(StringContent.VisibleName)[u'title'], self.icon_path)
 
-    def addToMenu(self, menubar):
+    def add_to_menu(self, menubar):
         """
         Add menu items to the menu, given the menubar.
 
@@ -270,15 +270,15 @@
         """
         pass
 
-    def processAddServiceEvent(self, replace=False):
+    def process_add_service_event(self, replace=False):
         """
         Generic Drag and drop handler triggered from service_manager.
         """
-        log.debug(u'processAddServiceEvent event called for plugin %s' % self.name)
+        log.debug(u'process_add_service_event event called for plugin %s' % self.name)
         if replace:
-            self.mediaItem.onAddEditClick()
+            self.media_item.on_add_edit_click()
         else:
-            self.mediaItem.onAddClick()
+            self.media_item.on_add_click()
 
     def about(self):
         """
@@ -291,16 +291,16 @@
         """
         Called by the plugin Manager to initialise anything it needs.
         """
-        if self.mediaItem:
-            self.mediaItem.initialise()
-            self.main_window.media_dock_manager.insert_dock(self.mediaItem, self.icon, self.weight)
+        if self.media_item:
+            self.media_item.initialise()
+            self.main_window.media_dock_manager.insert_dock(self.media_item, self.icon, self.weight)
 
     def finalise(self):
         """
         Called by the plugin Manager to cleanup things.
         """
-        if self.mediaItem:
-            self.main_window.media_dock_manager.remove_dock(self.mediaItem)
+        if self.media_item:
+            self.main_window.media_dock_manager.remove_dock(self.media_item)
 
     def app_startup(self):
         """
@@ -309,10 +309,10 @@
         # FIXME: Remove after 2.2 release.
         # This is needed to load the list of images/media/presentation from the config saved
         # before the settings rewrite.
-        if self.mediaItemClass is not None and self.name != u'images':
+        if self.media_item_class is not None and self.name != u'images':
             loaded_list = Settings().get_files_from_config(self)
             # Now save the list to the config using our Settings class.
-            Settings().setValue(u'%s/%s files' % (self.settingsSection, self.name), loaded_list)
+            Settings().setValue(u'%s/%s files' % (self.settings_section, self.name), loaded_list)
 
     def uses_theme(self, theme):
         """
@@ -334,54 +334,54 @@
         """
         pass
 
-    def getString(self, name):
-        """
-        encapsulate access of plugins translated text strings
-        """
-        return self.textStrings[name]
+    def get_string(self, name):
+        """
+        Encapsulate access of plugins translated text strings
+        """
+        return self.text_strings[name]
 
-    def setPluginUiTextStrings(self, tooltips):
+    def set_plugin_ui_text_strings(self, tooltips):
         """
         Called to define all translatable texts of the plugin
         """
         ## Load Action ##
-        self.__setNameTextString(StringContent.Load, UiStrings().Load, tooltips[u'load'])
+        self.__set_name_text_string(StringContent.Load, UiStrings().Load, tooltips[u'load'])
         ## Import Action ##
-        self.__setNameTextString(StringContent.Import, UiStrings().Import, tooltips[u'import'])
+        self.__set_name_text_string(StringContent.Import, UiStrings().Import, tooltips[u'import'])
         ## New Action ##
-        self.__setNameTextString(StringContent.New, UiStrings().Add, tooltips[u'new'])
+        self.__set_name_text_string(StringContent.New, UiStrings().Add, tooltips[u'new'])
         ## Edit Action ##
-        self.__setNameTextString(StringContent.Edit, UiStrings().Edit, tooltips[u'edit'])
+        self.__set_name_text_string(StringContent.Edit, UiStrings().Edit, tooltips[u'edit'])
         ## Delete Action ##
-        self.__setNameTextString(StringContent.Delete, UiStrings().Delete, tooltips[u'delete'])
+        self.__set_name_text_string(StringContent.Delete, UiStrings().Delete, tooltips[u'delete'])
         ## Preview Action ##
-        self.__setNameTextString(StringContent.Preview, UiStrings().Preview, tooltips[u'preview'])
+        self.__set_name_text_string(StringContent.Preview, UiStrings().Preview, tooltips[u'preview'])
         ## Send Live Action ##
-        self.__setNameTextString(StringContent.Live, UiStrings().Live, tooltips[u'live'])
+        self.__set_name_text_string(StringContent.Live, UiStrings().Live, tooltips[u'live'])
         ## Add to Service Action ##
-        self.__setNameTextString(StringContent.Service, UiStrings().Service, tooltips[u'service'])
+        self.__set_name_text_string(StringContent.Service, UiStrings().Service, tooltips[u'service'])
 
-    def __setNameTextString(self, name, title, tooltip):
+    def __set_name_text_string(self, name, title, tooltip):
         """
-        Utility method for creating a plugin's textStrings. This method makes
+        Utility method for creating a plugin's text_strings. This method makes
         use of the singular name of the plugin object so must only be called
         after this has been set.
         """
-        self.textStrings[name] = {u'title': title, u'tooltip': tooltip}
+        self.text_strings[name] = {u'title': title, u'tooltip': tooltip}
 
-    def getDisplayCss(self):
+    def get_display_css(self):
         """
         Add css style sheets to htmlbuilder.
         """
         return u''
 
-    def getDisplayJavaScript(self):
+    def get_display_javascript(self):
         """
         Add javascript functions to htmlbuilder.
         """
         return u''
 
-    def refreshCss(self, frame):
+    def refresh_css(self, frame):
         """
         Allow plugins to refresh javascript on displayed screen.
 
@@ -390,7 +390,7 @@
         """
         return u''
 
-    def getDisplayHtml(self):
+    def get_display_html(self):
         """
         Add html code to htmlbuilder.
         """
@@ -401,8 +401,8 @@
         Called when Config is changed to restart values dependent on configuration.
         """
         log.info(u'config update processed')
-        if self.mediaItem:
-            self.mediaItem.config_update()
+        if self.media_item:
+            self.media_item.config_update()
 
     def new_service_created(self):
         """

=== modified file 'openlp/core/lib/pluginmanager.py'
--- openlp/core/lib/pluginmanager.py	2013-03-04 13:48:42 +0000
+++ openlp/core/lib/pluginmanager.py	2013-03-20 05:48:24 +0000
@@ -129,9 +129,9 @@
                 log.exception(u'Failed to load plugin %s', unicode(p))
         plugins_list = sorted(plugin_objects, key=lambda plugin: plugin.weight)
         for plugin in plugins_list:
-            if plugin.checkPreConditions():
+            if plugin.check_pre_conditions():
                 log.debug(u'Plugin %s active', unicode(plugin.name))
-                plugin.setStatus()
+                plugin.set_status()
             else:
                 plugin.status = PluginStatus.Disabled
             self.plugins.append(plugin)
@@ -142,7 +142,7 @@
         """
         for plugin in self.plugins:
             if plugin.status is not PluginStatus.Disabled:
-                plugin.createMediaManagerItem()
+                plugin.create_media_manager_item()
 
     def hook_settings_tabs(self):
         """
@@ -153,7 +153,7 @@
         """
         for plugin in self.plugins:
             if plugin.status is not PluginStatus.Disabled:
-                plugin.createSettingsTab(self.settings_form)
+                plugin.create_settings_Tab(self.settings_form)
 
     def hook_import_menu(self):
         """
@@ -163,7 +163,7 @@
         """
         for plugin in self.plugins:
             if plugin.status is not PluginStatus.Disabled:
-                plugin.addImportMenuItem(self.main_window.file_import_menu)
+                plugin.add_import_menu_item(self.main_window.file_import_menu)
 
     def hook_export_menu(self):
         """
@@ -172,7 +172,7 @@
         """
         for plugin in self.plugins:
             if plugin.status is not PluginStatus.Disabled:
-                plugin.addExportMenuItem(self.main_window.file_export_menu)
+                plugin.add_export_menu_Item(self.main_window.file_export_menu)
 
     def hook_tools_menu(self):
         """
@@ -181,7 +181,7 @@
         """
         for plugin in self.plugins:
             if plugin.status is not PluginStatus.Disabled:
-                plugin.addToolsMenuItem(self.main_window.tools_menu)
+                plugin.add_tools_menu_item(self.main_window.tools_menu)
 
     def hook_upgrade_plugin_settings(self, settings):
         """
@@ -201,8 +201,8 @@
         """
         log.info(u'Initialise Plugins - Started')
         for plugin in self.plugins:
-            log.info(u'initialising plugins %s in a %s state' % (plugin.name, plugin.isActive()))
-            if plugin.isActive():
+            log.info(u'initialising plugins %s in a %s state' % (plugin.name, plugin.is_active()))
+            if plugin.is_active():
                 plugin.initialise()
                 log.info(u'Initialisation Complete for %s ' % plugin.name)
         log.info(u'Initialise Plugins - Finished')
@@ -214,7 +214,7 @@
         """
         log.info(u'finalising plugins')
         for plugin in self.plugins:
-            if plugin.isActive():
+            if plugin.is_active():
                 plugin.finalise()
                 log.info(u'Finalisation Complete for %s ' % plugin.name)
 
@@ -233,7 +233,7 @@
         """
         log.info(u'plugins - new service created')
         for plugin in self.plugins:
-            if plugin.isActive():
+            if plugin.is_active():
                 plugin.new_service_created()
 
     def _get_settings_form(self):

=== modified file 'openlp/core/lib/serviceitem.py'
--- openlp/core/lib/serviceitem.py	2013-03-13 13:43:28 +0000
+++ openlp/core/lib/serviceitem.py	2013-03-20 05:48:24 +0000
@@ -419,8 +419,8 @@
             for slide in serviceitem[u'serviceitem'][u'data']:
                 self._raw_frames.append(slide)
         elif self.service_item_type == ServiceItemType.Image:
-            settingsSection = serviceitem[u'serviceitem'][u'header'][u'name']
-            background = QtGui.QColor(Settings().value(settingsSection + u'/background color'))
+            settings_section = serviceitem[u'serviceitem'][u'header'][u'name']
+            background = QtGui.QColor(Settings().value(settings_section + u'/background color'))
             if path:
                 self.has_original_files = False
                 for text_image in serviceitem[u'serviceitem'][u'data']:

=== modified file 'openlp/core/lib/settings.py'
--- openlp/core/lib/settings.py	2013-03-04 13:37:19 +0000
+++ openlp/core/lib/settings.py	2013-03-20 05:48:24 +0000
@@ -454,7 +454,7 @@
         # We need QSettings instead of Settings here to bypass our central settings dict.
         # Do NOT do this anywhere else!
         settings = QtCore.QSettings(self.fileName(), Settings.IniFormat)
-        settings.beginGroup(plugin.settingsSection)
+        settings.beginGroup(plugin.settings_section)
         if settings.contains(u'%s count' % plugin.name):
             # Get the count.
             list_count = int(settings.value(u'%s count' % plugin.name, 0))

=== modified file 'openlp/core/lib/treewidgetwithdnd.py'
--- openlp/core/lib/treewidgetwithdnd.py	2013-03-14 11:32:58 +0000
+++ openlp/core/lib/treewidgetwithdnd.py	2013-03-20 05:48:24 +0000
@@ -59,7 +59,7 @@
         """
         self.setAcceptDrops(True)
         self.setDragDropMode(QtGui.QAbstractItemView.DragDrop)
-        Registry().register_function((u'%s_dnd' % self.mimeDataText), self.parent().loadFile)
+        Registry().register_function((u'%s_dnd' % self.mimeDataText), self.parent().load_file)
         Registry().register_function((u'%s_dnd_internal' % self.mimeDataText), self.parent().dnd_move_internal)
 
     def mouseMoveEvent(self, event):

=== modified file 'openlp/core/ui/mainwindow.py'
--- openlp/core/ui/mainwindow.py	2013-03-18 14:11:58 +0000
+++ openlp/core/ui/mainwindow.py	2013-03-20 05:48:24 +0000
@@ -607,7 +607,7 @@
         """
         self.application.process_events()
         for plugin in self.plugin_manager.plugins:
-            if plugin.isActive():
+            if plugin.is_active():
                 plugin.app_startup()
                 self.application.process_events()
 
@@ -654,10 +654,10 @@
             self.activePlugin.setStatus()
             if oldStatus != self.activePlugin.status:
                 if self.activePlugin.status == PluginStatus.Active:
-                    self.activePlugin.toggleStatus(PluginStatus.Active)
+                    self.activePlugin.toggle_status(PluginStatus.Active)
                     self.activePlugin.app_startup()
                 else:
-                    self.activePlugin.toggleStatus(PluginStatus.Inactive)
+                    self.activePlugin.toggle_status(PluginStatus.Inactive)
         # Set global theme and
         Registry().execute(u'theme_update_global', self.theme_manager_contents.global_theme)
         self.theme_manager_contents.load_first_time_themes()

=== modified file 'openlp/core/ui/media/mediacontroller.py'
--- openlp/core/ui/media/mediacontroller.py	2013-03-12 08:00:48 +0000
+++ openlp/core/ui/media/mediacontroller.py	2013-03-20 05:48:24 +0000
@@ -127,7 +127,7 @@
         """
         saved_players = get_media_players()[0]
         for player in self.media_players.keys():
-            self.media_players[player].isActive = player in saved_players
+            self.media_players[player].is_active = player in saved_players
 
     def _generate_extensions_lists(self):
         """
@@ -135,14 +135,14 @@
         """
         self.audio_extensions_list = []
         for player in self.media_players.values():
-            if player.isActive:
+            if player.is_active:
                 for item in player.audio_extensions_list:
                     if not item in self.audio_extensions_list:
                         self.audio_extensions_list.append(item)
                         self.service_manager.supported_suffixes(item[2:])
         self.video_extensions_list = []
         for player in self.media_players.values():
-            if player.isActive:
+            if player.is_active:
                 for item in player.video_extensions_list:
                     if item not in self.video_extensions_list:
                         self.video_extensions_list.extend(item)
@@ -224,7 +224,7 @@
         """
         css = u''
         for player in self.media_players.values():
-            if player.isActive:
+            if player.is_active:
                 css += player.get_media_display_css()
         return css
 
@@ -234,7 +234,7 @@
         """
         js = u''
         for player in self.media_players.values():
-            if player.isActive:
+            if player.is_active:
                 js += player.get_media_display_javascript()
         return js
 
@@ -244,7 +244,7 @@
         """
         html = u''
         for player in self.media_players.values():
-            if player.isActive:
+            if player.is_active:
                 html += player.get_media_display_html()
         return html
 
@@ -325,7 +325,7 @@
         if preview:
             display.has_audio = False
         for player in self.media_players.values():
-            if player.isActive:
+            if player.is_active:
                 player.setup(display)
 
     def set_controls_visible(self, controller, value):

=== modified file 'openlp/core/ui/media/mediaplayer.py'
--- openlp/core/ui/media/mediaplayer.py	2013-03-06 23:00:57 +0000
+++ openlp/core/ui/media/mediaplayer.py	2013-03-20 05:48:24 +0000
@@ -46,7 +46,7 @@
         self.parent = parent
         self.name = name
         self.available = self.check_available()
-        self.isActive = False
+        self.is_active = False
         self.can_background = False
         self.can_folder = False
         self.state = MediaState.Off

=== modified file 'openlp/core/ui/mediadockmanager.py'
--- openlp/core/ui/mediadockmanager.py	2013-02-01 20:52:42 +0000
+++ openlp/core/ui/mediadockmanager.py	2013-03-20 05:48:24 +0000
@@ -56,7 +56,7 @@
         ``icon``
             An icon for this dock item
         """
-        visible_title = media_item.plugin.getString(StringContent.VisibleName)
+        visible_title = media_item.plugin.get_string(StringContent.VisibleName)
         log.info(u'Adding %s dock' % visible_title)
         self.media_dock.addItem(media_item, icon, visible_title[u'title'])
 
@@ -66,11 +66,11 @@
         This does not work as it gives a Segmentation error.
         For now add at end of stack if not present
         """
-        visible_title = media_item.plugin.getString(StringContent.VisibleName)
+        visible_title = media_item.plugin.get_string(StringContent.VisibleName)
         log.debug(u'Inserting %s dock' % visible_title[u'title'])
         match = False
         for dock_index in range(self.media_dock.count()):
-            if self.media_dock.widget(dock_index).settingsSection == media_item.plugin.name:
+            if self.media_dock.widget(dock_index).settings_section == media_item.plugin.name:
                 match = True
                 break
         if not match:
@@ -83,10 +83,10 @@
         ``media_item``
             The item to add to the dock
         """
-        visible_title = media_item.plugin.getString(StringContent.VisibleName)
+        visible_title = media_item.plugin.get_string(StringContent.VisibleName)
         log.debug(u'remove %s dock' % visible_title[u'title'])
         for dock_index in range(self.media_dock.count()):
             if self.media_dock.widget(dock_index):
-                if self.media_dock.widget(dock_index).settingsSection == media_item.plugin.name:
+                if self.media_dock.widget(dock_index).settings_section == media_item.plugin.name:
                     self.media_dock.widget(dock_index).setVisible(False)
                     self.media_dock.removeItem(dock_index)

=== modified file 'openlp/core/ui/pluginform.py'
--- openlp/core/ui/pluginform.py	2013-03-07 11:01:06 +0000
+++ openlp/core/ui/pluginform.py	2013-03-20 05:48:24 +0000
@@ -79,13 +79,13 @@
             else:
                 # PluginStatus.Inactive
                 status_text = translate('OpenLP.PluginForm', '%s (Inactive)')
-            item.setText(status_text % plugin.nameStrings[u'singular'])
+            item.setText(status_text % plugin.name_strings[u'singular'])
             # If the plugin has an icon, set it!
             if plugin.icon:
                 item.setIcon(plugin.icon)
             self.pluginListWidget.addItem(item)
             pluginListWidth = max(pluginListWidth, self.fontMetrics().width(
-                translate('OpenLP.PluginForm', '%s (Inactive)') % plugin.nameStrings[u'singular']))
+                translate('OpenLP.PluginForm', '%s (Inactive)') % plugin.name_strings[u'singular']))
         self.pluginListWidget.setFixedWidth(pluginListWidth + self.pluginListWidget.iconSize().width() + 48)
 
     def _clearDetails(self):
@@ -123,7 +123,7 @@
         self.activePlugin = None
         for plugin in self.plugin_manager.plugins:
             if plugin.status != PluginStatus.Disabled:
-                if plugin.nameStrings[u'singular'] == plugin_name_singular:
+                if plugin.name_strings[u'singular'] == plugin_name_singular:
                     self.activePlugin = plugin
                     break
         if self.activePlugin:
@@ -139,11 +139,11 @@
             return
         if status == PluginStatus.Inactive:
             self.application.set_busy_cursor()
-            self.activePlugin.toggleStatus(PluginStatus.Active)
+            self.activePlugin.toggle_status(PluginStatus.Active)
             self.application.set_normal_cursor()
             self.activePlugin.app_startup()
         else:
-            self.activePlugin.toggleStatus(PluginStatus.Inactive)
+            self.activePlugin.toggle_status(PluginStatus.Inactive)
         status_text = translate('OpenLP.PluginForm', '%s (Inactive)')
         if self.activePlugin.status == PluginStatus.Active:
             status_text = translate('OpenLP.PluginForm', '%s (Active)')
@@ -152,7 +152,7 @@
         elif self.activePlugin.status == PluginStatus.Disabled:
             status_text = translate('OpenLP.PluginForm', '%s (Disabled)')
         self.pluginListWidget.currentItem().setText(
-            status_text % self.activePlugin.nameStrings[u'singular'])
+            status_text % self.activePlugin.name_strings[u'singular'])
 
     def _get_plugin_manager(self):
         """

=== modified file 'openlp/core/ui/servicemanager.py'
--- openlp/core/ui/servicemanager.py	2013-03-16 11:05:52 +0000
+++ openlp/core/ui/servicemanager.py	2013-03-20 05:48:24 +0000
@@ -896,7 +896,7 @@
         item = self.find_service_item()[0]
         service_item = self.service_items[item][u'service_item']
         if service_item.timed_slide_interval == 0:
-            timed_slide_interval = Settings().value(self.mainwindow.generalSettingsSection + u'/loop delay')
+            timed_slide_interval = Settings().value(self.main_window.general_settings_section + u'/loop delay')
         else:
             timed_slide_interval = service_item.timed_slide_interval
         timed_slide_interval, ok = QtGui.QInputDialog.getInteger(self, translate('OpenLP.ServiceManager',

=== modified file 'openlp/core/ui/settingsform.py'
--- openlp/core/ui/settingsform.py	2013-03-17 17:37:19 +0000
+++ openlp/core/ui/settingsform.py	2013-03-20 05:48:24 +0000
@@ -70,8 +70,8 @@
         self.insert_tab(self.player_tab, 3, PluginStatus.Active)
         count = 4
         for plugin in self.plugin_manager.plugins:
-            if plugin.settingsTab:
-                self.insert_tab(plugin.settingsTab, count, plugin.status)
+            if plugin.settings_tab:
+                self.insert_tab(plugin.settings_tab, count, plugin.status)
                 count += 1
         self.setting_list_widget.setCurrentRow(0)
         return QtGui.QDialog.exec_(self)
@@ -132,8 +132,8 @@
         self.advanced_tab.post_set_up()
         self.player_tab.post_set_up()
         for plugin in self.plugin_manager.plugins:
-            if plugin.settingsTab:
-                plugin.settingsTab.post_set_up()
+            if plugin.settings_tab:
+                plugin.settings_tab.post_set_up()
 
     def tab_changed(self, tabIndex):
         """

=== modified file 'openlp/core/ui/slidecontroller.py'
--- openlp/core/ui/slidecontroller.py	2013-03-17 20:00:39 +0000
+++ openlp/core/ui/slidecontroller.py	2013-03-20 05:48:24 +0000
@@ -912,9 +912,9 @@
         self.theme_screen.setChecked(False)
         self.desktop_screen.setChecked(False)
         if checked:
-            Settings().setValue(self.main_window.generalSettingsSection + u'/screen blank', u'blanked')
+            Settings().setValue(self.main_window.general_settings_section + u'/screen blank', u'blanked')
         else:
-            Settings().remove(self.main_window.generalSettingsSection + u'/screen blank')
+            Settings().remove(self.main_window.general_settings_section + u'/screen blank')
         self.blankPlugin()
         self.updatePreview()
         self.onToggleLoop()
@@ -931,9 +931,9 @@
         self.theme_screen.setChecked(checked)
         self.desktop_screen.setChecked(False)
         if checked:
-            Settings().setValue(self.main_window.generalSettingsSection + u'/screen blank', u'themed')
+            Settings().setValue(self.main_window.general_settings_section + u'/screen blank', u'themed')
         else:
-            Settings().remove(self.main_window.generalSettingsSection + u'/screen blank')
+            Settings().remove(self.main_window.general_settings_section + u'/screen blank')
         self.blankPlugin()
         self.updatePreview()
         self.onToggleLoop()
@@ -950,9 +950,9 @@
         self.theme_screen.setChecked(False)
         self.desktop_screen.setChecked(checked)
         if checked:
-            Settings().setValue(self.main_window.generalSettingsSection + u'/screen blank', u'hidden')
+            Settings().setValue(self.main_window.general_settings_section + u'/screen blank', u'hidden')
         else:
-            Settings().remove(self.main_window.generalSettingsSection + u'/screen blank')
+            Settings().remove(self.main_window.general_settings_section + u'/screen blank')
         self.hidePlugin(checked)
         self.updatePreview()
         self.onToggleLoop()

=== modified file 'openlp/core/ui/thememanager.py'
--- openlp/core/ui/thememanager.py	2013-03-17 09:21:18 +0000
+++ openlp/core/ui/thememanager.py	2013-03-20 05:48:24 +0000
@@ -61,7 +61,7 @@
         Registry().register(u'theme_manager', self)
         Registry().register_function(u'bootstrap_initialise', self.load_first_time_themes)
         Registry().register_function(u'bootstrap_post_set_up', self._push_themes)
-        self.settingsSection = u'themes'
+        self.settings_section = u'themes'
         self.theme_form = ThemeForm(self)
         self.file_rename_form = FileRenameForm()
         # start with the layout
@@ -135,7 +135,7 @@
         Registry().register_function(u'theme_update_global', self.change_global_from_tab)
         # Variables
         self.theme_list = []
-        self.path = AppLocation.get_section_data_path(self.settingsSection)
+        self.path = AppLocation.get_section_data_path(self.settings_section)
         check_directory_exists(self.path)
         self.thumb_path = os.path.join(self.path, u'thumbnails')
         check_directory_exists(self.thumb_path)
@@ -143,7 +143,7 @@
         self.old_background_image = None
         self.bad_v1_name_chars = re.compile(r'[%+\[\]]')
         # Last little bits of setting up
-        self.global_theme = Settings().value(self.settingsSection + u'/global theme')
+        self.global_theme = Settings().value(self.settings_section + u'/global theme')
 
     def check_list_state(self, item):
         """
@@ -179,7 +179,7 @@
         """
         Change the global theme when it is changed through the Themes settings tab
         """
-        self.global_theme = Settings().value(self.settingsSection + u'/global theme')
+        self.global_theme = Settings().value(self.settings_section + u'/global theme')
         log.debug(u'change_global_from_tab %s', self.global_theme)
         for count in range(0, self.theme_list_widget.count()):
             # reset the old name
@@ -212,7 +212,7 @@
                 self.global_theme = self.theme_list_widget.item(count).text()
                 name = translate('OpenLP.ThemeManager', '%s (default)') % self.global_theme
                 self.theme_list_widget.item(count).setText(name)
-                Settings().setValue(self.settingsSection + u'/global theme', self.global_theme)
+                Settings().setValue(self.settings_section + u'/global theme', self.global_theme)
                 Registry().execute(u'theme_update_global')
                 self._push_themes()
 
@@ -342,10 +342,10 @@
         theme = item.data(QtCore.Qt.UserRole)
         path = QtGui.QFileDialog.getExistingDirectory(self,
             translate('OpenLP.ThemeManager', 'Save Theme - (%s)') % theme,
-            Settings().value(self.settingsSection + u'/last directory export'))
+            Settings().value(self.settings_section + u'/last directory export'))
         self.application.set_busy_cursor()
         if path:
-            Settings().setValue(self.settingsSection + u'/last directory export', path)
+            Settings().setValue(self.settings_section + u'/last directory export', path)
             theme_path = os.path.join(path, theme + u'.otz')
             theme_zip = None
             try:
@@ -375,14 +375,14 @@
         """
         files = QtGui.QFileDialog.getOpenFileNames(self,
             translate('OpenLP.ThemeManager', 'Select Theme Import File'),
-            Settings().value(self.settingsSection + u'/last directory import'),
+            Settings().value(self.settings_section + u'/last directory import'),
             translate('OpenLP.ThemeManager', 'OpenLP Themes (*.theme *.otz)'))
         log.info(u'New Themes %s', unicode(files))
         if not files:
             return
         self.application.set_busy_cursor()
         for file_name in files:
-            Settings().setValue(self.settingsSection + u'/last directory import', unicode(file_name))
+            Settings().setValue(self.settings_section + u'/last directory import', unicode(file_name))
             self.unzip_theme(file_name, self.path)
         self.load_themes()
         self.application.set_normal_cursor()
@@ -392,18 +392,18 @@
         Imports any themes on start up and makes sure there is at least one theme
         """
         self.application.set_busy_cursor()
-        files = AppLocation.get_files(self.settingsSection, u'.otz')
+        files = AppLocation.get_files(self.settings_section, u'.otz')
         for theme_file in files:
             theme_file = os.path.join(self.path, theme_file)
             self.unzip_theme(theme_file, self.path)
             delete_file(theme_file)
-        files = AppLocation.get_files(self.settingsSection, u'.png')
+        files = AppLocation.get_files(self.settings_section, u'.png')
         # No themes have been found so create one
         if not files:
             theme = ThemeXML()
             theme.theme_name = UiStrings().Default
             self._write_theme(theme, None, None)
-            Settings().setValue(self.settingsSection + u'/global theme', theme.theme_name)
+            Settings().setValue(self.settings_section + u'/global theme', theme.theme_name)
         self.application.set_normal_cursor()
         self.load_themes()
 
@@ -416,7 +416,7 @@
         log.debug(u'Load themes from dir')
         self.theme_list = []
         self.theme_list_widget.clear()
-        files = AppLocation.get_files(self.settingsSection, u'.png')
+        files = AppLocation.get_files(self.settings_section, u'.png')
         # Sort the themes by its name considering language specific
         files.sort(key=lambda file_name: unicode(file_name), cmp=locale_compare)
         # now process the file list of png files
@@ -718,7 +718,7 @@
         Check to see if theme has been selected and the destructive action
         is allowed.
         """
-        self.global_theme = Settings().value(self.settingsSection + u'/global theme')
+        self.global_theme = Settings().value(self.settings_section + u'/global theme')
         if check_item_selected(self.theme_list_widget, select_text):
             item = self.theme_list_widget.currentItem()
             theme = item.text()

=== modified file 'openlp/core/ui/wizard.py'
--- openlp/core/ui/wizard.py	2013-03-14 22:22:18 +0000
+++ openlp/core/ui/wizard.py	2013-03-20 05:48:24 +0000
@@ -277,10 +277,10 @@
             filters += u';;'
         filters += u'%s (*)' % UiStrings().AllFiles
         filename = QtGui.QFileDialog.getOpenFileName(self, title,
-            os.path.dirname(Settings().value(self.plugin.settingsSection + u'/' + setting_name)), filters)
+            os.path.dirname(Settings().value(self.plugin.settings_section + u'/' + setting_name)), filters)
         if filename:
             editbox.setText(filename)
-        Settings().setValue(self.plugin.settingsSection + u'/' + setting_name, filename)
+        Settings().setValue(self.plugin.settings_section + u'/' + setting_name, filename)
 
     def get_folder(self, title, editbox, setting_name):
         """
@@ -296,10 +296,10 @@
             The place where to save the last opened directory.
         """
         folder = QtGui.QFileDialog.getExistingDirectory(self, title,
-            Settings().value(self.plugin.settingsSection + u'/' + setting_name), QtGui.QFileDialog.ShowDirsOnly)
+            Settings().value(self.plugin.settings_section + u'/' + setting_name), QtGui.QFileDialog.ShowDirsOnly)
         if folder:
             editbox.setText(folder)
-        Settings().setValue(self.plugin.settingsSection + u'/' + setting_name, folder)
+        Settings().setValue(self.plugin.settings_section + u'/' + setting_name, folder)
 
     def _get_application(self):
         """

=== modified file 'openlp/plugins/alerts/alertsplugin.py'
--- openlp/plugins/alerts/alertsplugin.py	2013-03-16 20:52:59 +0000
+++ openlp/plugins/alerts/alertsplugin.py	2013-03-20 05:48:24 +0000
@@ -131,13 +131,13 @@
     def __init__(self):
         Plugin.__init__(self, u'alerts', __default_settings__, settings_tab_class=AlertsTab)
         self.weight = -3
-        self.iconPath = u':/plugins/plugin_alerts.png'
-        self.icon = build_icon(self.iconPath)
+        self.icon_path = u':/plugins/plugin_alerts.png'
+        self.icon = build_icon(self.icon_path)
         self.alerts_manager = AlertsManager(self)
         self.manager = Manager(u'alerts', init_schema)
-        self.alertForm = AlertForm(self)
+        self.alert_form = AlertForm(self)
 
-    def addToolsMenuItem(self, tools_menu):
+    def add_tools_menu_item(self, tools_menu):
         """
         Give the alerts plugin the opportunity to add items to the
         **Tools** menu.
@@ -147,18 +147,18 @@
             use it as their parent.
         """
         log.info(u'add tools menu')
-        self.toolsAlertItem = create_action(tools_menu, u'toolsAlertItem',
+        self.tools_alert_item = create_action(tools_menu, u'toolsAlertItem',
             text=translate('AlertsPlugin', '&Alert'), icon=u':/plugins/plugin_alerts.png',
             statustip=translate('AlertsPlugin', 'Show an alert message.'),
-            visible=False, can_shortcuts=True, triggers=self.onAlertsTrigger)
-        self.main_window.tools_menu.addAction(self.toolsAlertItem)
+            visible=False, can_shortcuts=True, triggers=self.on_alerts_trigger)
+        self.main_window.tools_menu.addAction(self.tools_alert_item)
 
     def initialise(self):
         log.info(u'Alerts Initialising')
         Plugin.initialise(self)
-        self.toolsAlertItem.setVisible(True)
+        self.tools_alert_item.setVisible(True)
         action_list = ActionList.get_instance()
-        action_list.add_action(self.toolsAlertItem, UiStrings().Tools)
+        action_list.add_action(self.tools_alert_item, UiStrings().Tools)
 
     def finalise(self):
         """
@@ -167,17 +167,17 @@
         log.info(u'Alerts Finalising')
         self.manager.finalise()
         Plugin.finalise(self)
-        self.toolsAlertItem.setVisible(False)
+        self.tools_alert_item.setVisible(False)
         action_list = ActionList.get_instance()
-        action_list.remove_action(self.toolsAlertItem, u'Tools')
-
-    def toggleAlertsState(self):
-        self.alertsActive = not self.alertsActive
-        Settings().setValue(self.settingsSection + u'/active', self.alertsActive)
-
-    def onAlertsTrigger(self):
-        self.alertForm.load_list()
-        self.alertForm.exec_()
+        action_list.remove_action(self.tools_alert_item, u'Tools')
+
+    def toggle_alerts_state(self):
+        self.alerts_active = not self.alerts_active
+        Settings().setValue(self.settings_section + u'/active', self.alerts_active)
+
+    def on_alerts_trigger(self):
+        self.alert_form.load_list()
+        self.alert_form.exec_()
 
     def about(self):
         about_text = translate('AlertsPlugin', '<strong>Alerts Plugin</strong>'
@@ -189,36 +189,36 @@
         Called to define all translatable texts of the plugin
         """
         ## Name PluginList ##
-        self.textStrings[StringContent.Name] = {
+        self.text_strings[StringContent.Name] = {
             u'singular': translate('AlertsPlugin', 'Alert', 'name singular'),
             u'plural': translate('AlertsPlugin', 'Alerts', 'name plural')
         }
         ## Name for MediaDockManager, SettingsManager ##
-        self.textStrings[StringContent.VisibleName] = {
+        self.text_strings[StringContent.VisibleName] = {
             u'title': translate('AlertsPlugin', 'Alerts', 'container title')
         }
 
-    def getDisplayJavaScript(self):
+    def get_display_javascript(self):
         """
         Add Javascript to the main display.
         """
         return JAVASCRIPT
 
-    def getDisplayCss(self):
+    def get_display_css(self):
         """
         Add CSS to the main display.
         """
-        align = VerticalType.Names[self.settingsTab.location]
-        return CSS % (align, self.settingsTab.font_face, self.settingsTab.font_size, self.settingsTab.font_color,
-            self.settingsTab.background_color)
+        align = VerticalType.Names[self.settings_tab.location]
+        return CSS % (align, self.settings_tab.font_face, self.settings_tab.font_size, self.settings_tab.font_color,
+            self.settings_tab.background_color)
 
-    def getDisplayHtml(self):
+    def get_display_html(self):
         """
         Add HTML to the main display.
         """
         return HTML
 
-    def refreshCss(self, frame):
+    def refresh_css(self, frame):
         """
         Trigger an update of the CSS in the maindisplay.
 

=== modified file 'openlp/plugins/bibles/bibleplugin.py'
--- openlp/plugins/bibles/bibleplugin.py	2013-02-19 21:23:56 +0000
+++ openlp/plugins/bibles/bibleplugin.py	2013-03-20 05:48:24 +0000
@@ -62,7 +62,7 @@
         u'bibles/list separator': u'',
         u'bibles/end separator': u'',
         u'bibles/last directory import': u''
-    }
+}
 
 
 class BiblePlugin(Plugin):
@@ -71,8 +71,8 @@
     def __init__(self):
         Plugin.__init__(self, u'bibles', __default_settings__, BibleMediaItem, BiblesTab)
         self.weight = -9
-        self.iconPath = u':/plugins/plugin_bibles.png'
-        self.icon = build_icon(self.iconPath)
+        self.icon_path = u':/plugins/plugin_bibles.png'
+        self.icon = build_icon(self.icon_path)
         self.manager = None
 
     def initialise(self):
@@ -80,14 +80,14 @@
         if self.manager is None:
             self.manager = BibleManager(self)
         Plugin.initialise(self)
-        self.importBibleItem.setVisible(True)
+        self.import_bible_item.setVisible(True)
         action_list = ActionList.get_instance()
-        action_list.add_action(self.importBibleItem, UiStrings().Import)
+        action_list.add_action(self.import_bible_item, UiStrings().Import)
         # Do not add the action to the list yet.
-        #action_list.add_action(self.exportBibleItem, UiStrings().Export)
+        #action_list.add_action(self.export_bible_item, UiStrings().Export)
         # Set to invisible until we can export bibles
-        self.exportBibleItem.setVisible(False)
-        self.toolsUpgradeItem.setVisible(bool(self.manager.old_bible_databases))
+        self.export_bible_item.setVisible(False)
+        self.tools_upgrade_item.setVisible(bool(self.manager.old_bible_databases))
 
     def finalise(self):
         """
@@ -97,10 +97,10 @@
         self.manager.finalise()
         Plugin.finalise(self)
         action_list = ActionList.get_instance()
-        action_list.remove_action(self.importBibleItem, UiStrings().Import)
-        self.importBibleItem.setVisible(False)
-        #action_list.remove_action(self.exportBibleItem, UiStrings().Export)
-        self.exportBibleItem.setVisible(False)
+        action_list.remove_action(self.import_bible_item, UiStrings().Import)
+        self.import_bible_item.setVisible(False)
+        #action_list.remove_action(self.export_bible_item, UiStrings().Export)
+        self.export_bible_item.setVisible(False)
 
     def app_startup(self):
         """
@@ -114,21 +114,21 @@
                     'Should OpenLP upgrade now?'),
                 QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.Yes | QtGui.QMessageBox.No)) == \
                     QtGui.QMessageBox.Yes:
-                self.onToolsUpgradeItemTriggered()
+                self.on_tools_upgrade_Item_triggered()
 
-    def addImportMenuItem(self, import_menu):
-        self.importBibleItem = create_action(import_menu, u'importBibleItem',
+    def add_import_menu_item(self, import_menu):
+        self.import_bible_item = create_action(import_menu, u'importBibleItem',
             text=translate('BiblesPlugin', '&Bible'), visible=False,
-            triggers=self.onBibleImportClick)
-        import_menu.addAction(self.importBibleItem)
+            triggers=self.on_bible_import_click)
+        import_menu.addAction(self.import_bible_item)
 
-    def addExportMenuItem(self, export_menu):
-        self.exportBibleItem = create_action(export_menu, u'exportBibleItem',
+    def add_export_menu_Item(self, export_menu):
+        self.export_bible_item = create_action(export_menu, u'exportBibleItem',
             text=translate('BiblesPlugin', '&Bible'),
             visible=False)
-        export_menu.addAction(self.exportBibleItem)
+        export_menu.addAction(self.export_bible_item)
 
-    def addToolsMenuItem(self, tools_menu):
+    def add_tools_menu_item(self, tools_menu):
         """
         Give the bible plugin the opportunity to add items to the
         **Tools** menu.
@@ -138,13 +138,13 @@
             use it as their parent.
         """
         log.debug(u'add tools menu')
-        self.toolsUpgradeItem = create_action(tools_menu, u'toolsUpgradeItem',
+        self.tools_upgrade_item = create_action(tools_menu, u'toolsUpgradeItem',
             text=translate('BiblesPlugin', '&Upgrade older Bibles'),
             statustip=translate('BiblesPlugin', 'Upgrade the Bible databases to the latest format.'),
-            visible=False, triggers=self.onToolsUpgradeItemTriggered)
-        tools_menu.addAction(self.toolsUpgradeItem)
+            visible=False, triggers=self.on_tools_upgrade_Item_triggered)
+        tools_menu.addAction(self.tools_upgrade_item)
 
-    def onToolsUpgradeItemTriggered(self):
+    def on_tools_upgrade_Item_triggered(self):
         """
         Upgrade older bible databases.
         """
@@ -152,11 +152,11 @@
             self.upgrade_wizard = BibleUpgradeForm(self.main_window, self.manager, self)
         # If the import was not cancelled then reload.
         if self.upgrade_wizard.exec_():
-            self.mediaItem.reloadBibles()
+            self.media_item.reloadBibles()
 
-    def onBibleImportClick(self):
-        if self.mediaItem:
-            self.mediaItem.onImportClick()
+    def on_bible_import_click(self):
+        if self.media_item:
+            self.media_item.on_import_click()
 
     def about(self):
         about_text = translate('BiblesPlugin', '<strong>Bible Plugin</strong>'
@@ -170,7 +170,7 @@
         Returns ``True`` if the theme is being used, otherwise returns
         ``False``.
         """
-        return unicode(self.settingsTab.bible_theme) == theme
+        return unicode(self.settings_tab.bible_theme) == theme
 
     def rename_theme(self, oldTheme, newTheme):
         """
@@ -184,20 +184,20 @@
         ``newTheme``
             The new name the plugin should now use.
         """
-        self.settingsTab.bible_theme = newTheme
-        self.settingsTab.save()
+        self.settings_tab.bible_theme = newTheme
+        self.settings_tab.save()
 
     def set_plugin_text_strings(self):
         """
         Called to define all translatable texts of the plugin
         """
         ## Name PluginList ##
-        self.textStrings[StringContent.Name] = {
+        self.text_strings[StringContent.Name] = {
             u'singular': translate('BiblesPlugin', 'Bible', 'name singular'),
             u'plural': translate('BiblesPlugin', 'Bibles', 'name plural')
         }
         ## Name for MediaDockManager, SettingsManager ##
-        self.textStrings[StringContent.VisibleName] = {
+        self.text_strings[StringContent.VisibleName] = {
             u'title': translate('BiblesPlugin', 'Bibles', 'container title')
         }
         # Middle Header Bar
@@ -212,4 +212,4 @@
             u'live': translate('BiblesPlugin', 'Send the selected Bible live.'),
             u'service': translate('BiblesPlugin', 'Add the selected Bible to the service.')
         }
-        self.setPluginUiTextStrings(tooltips)
+        self.set_plugin_ui_text_strings(tooltips)

=== modified file 'openlp/plugins/bibles/forms/bibleimportform.py'
--- openlp/plugins/bibles/forms/bibleimportform.py	2013-03-14 22:22:18 +0000
+++ openlp/plugins/bibles/forms/bibleimportform.py	2013-03-20 05:48:24 +0000
@@ -515,7 +515,7 @@
         Set default values for the wizard pages.
         """
         settings = Settings()
-        settings.beginGroup(self.plugin.settingsSection)
+        settings.beginGroup(self.plugin.settings_section)
         self.restart()
         self.finish_button.setVisible(False)
         self.cancel_button.setVisible(True)
@@ -634,4 +634,4 @@
         else:
             self.progress_label.setText(translate('BiblesPlugin.ImportWizardForm', 'Your Bible import failed.'))
             del self.manager.db_cache[importer.name]
-            delete_database(self.plugin.settingsSection, importer.file)
+            delete_database(self.plugin.settings_section, importer.file)

=== modified file 'openlp/plugins/bibles/forms/bibleupgradeform.py'
--- openlp/plugins/bibles/forms/bibleupgradeform.py	2013-03-14 22:22:18 +0000
+++ openlp/plugins/bibles/forms/bibleupgradeform.py	2013-03-20 05:48:24 +0000
@@ -53,7 +53,7 @@
     """
     log.info(u'BibleUpgradeForm loaded')
 
-    def __init__(self, parent, manager, bibleplugin):
+    def __init__(self, parent, manager, bible_plugin):
         """
         Instantiate the wizard, and run any extra setup we need to.
 
@@ -67,15 +67,15 @@
             The Bible plugin.
         """
         self.manager = manager
-        self.mediaItem = bibleplugin.mediaItem
+        self.media_item = bible_plugin.media_item
         self.suffix = u'.sqlite'
-        self.settingsSection = u'bibles'
-        self.path = AppLocation.get_section_data_path(self.settingsSection)
+        self.settings_section = u'bibles'
+        self.path = AppLocation.get_section_data_path(self.settings_section)
         self.temp_dir = os.path.join(unicode(gettempdir(), get_filesystem_encoding()), u'openlp')
         self.files = self.manager.old_bible_databases
         self.success = {}
         self.newbibles = {}
-        OpenLPWizard.__init__(self, parent, bibleplugin, u'bibleUpgradeWizard', u':/wizards/wizard_importbible.bmp')
+        OpenLPWizard.__init__(self, parent, bible_plugin, u'bibleUpgradeWizard', u':/wizards/wizard_importbible.bmp')
 
     def setupUi(self, image):
         """
@@ -218,7 +218,7 @@
         """
         self.checkBox = {}
         for number, filename in enumerate(self.files):
-            bible = OldBibleDB(self.mediaItem, path=self.path, file=filename[0])
+            bible = OldBibleDB(self.media_item, path=self.path, file=filename[0])
             self.checkBox[number] = QtGui.QCheckBox(self.scrollAreaContents)
             self.checkBox[number].setObjectName(u'checkBox[%d]' % number)
             self.checkBox[number].setText(bible.get_name())
@@ -313,7 +313,7 @@
         """
         log.debug(u'BibleUpgrade setDefaults')
         settings = Settings()
-        settings.beginGroup(self.plugin.settingsSection)
+        settings.beginGroup(self.plugin.settings_section)
         self.stop_import_flag = False
         self.success.clear()
         self.newbibles.clear()
@@ -367,12 +367,12 @@
                 self.success[number] = False
                 continue
             self.progress_bar.reset()
-            old_bible = OldBibleDB(self.mediaItem, path=self.temp_dir,
+            old_bible = OldBibleDB(self.media_item, path=self.temp_dir,
                 file=filename[0])
             name = filename[1]
             self.progress_label.setText(translate('BiblesPlugin.UpgradeWizardForm',
                 'Upgrading Bible %s of %s: "%s"\nUpgrading ...') % (number + 1, max_bibles, name))
-            self.newbibles[number] = BibleDB(self.mediaItem, path=self.path, name=name, file=filename[0])
+            self.newbibles[number] = BibleDB(self.media_item, path=self.path, name=name, file=filename[0])
             self.newbibles[number].register(self.plugin.upgrade_wizard)
             metadata = old_bible.get_metadata()
             web_bible = False

=== modified file 'openlp/plugins/bibles/forms/editbibleform.py'
--- openlp/plugins/bibles/forms/editbibleform.py	2013-02-05 08:05:28 +0000
+++ openlp/plugins/bibles/forms/editbibleform.py	2013-03-20 05:48:24 +0000
@@ -46,12 +46,12 @@
     """
     log.info(u'%s EditBibleForm loaded', __name__)
 
-    def __init__(self, mediaitem, parent, manager):
+    def __init__(self, media_item, parent, manager):
         """
         Constructor
         """
         QtGui.QDialog.__init__(self, parent)
-        self.mediaitem = mediaitem
+        self.media_item = media_item
         self.book_names = BibleStrings().BookNames
         self.setupUi(self)
         self.manager = manager

=== modified file 'openlp/plugins/bibles/lib/manager.py'
--- openlp/plugins/bibles/lib/manager.py	2013-02-27 11:24:50 +0000
+++ openlp/plugins/bibles/lib/manager.py	2013-03-20 05:48:24 +0000
@@ -120,11 +120,11 @@
         """
         log.debug(u'Bible Initialising')
         self.parent = parent
-        self.settingsSection = u'bibles'
+        self.settings_section = u'bibles'
         self.web = u'Web'
         self.db_cache = None
-        self.path = AppLocation.get_section_data_path(self.settingsSection)
-        self.proxy_name = Settings().value(self.settingsSection + u'/proxy name')
+        self.path = AppLocation.get_section_data_path(self.settings_section)
+        self.proxy_name = Settings().value(self.settings_section + u'/proxy name')
         self.suffix = u'.sqlite'
         self.import_wizard = None
         self.reload_bibles()
@@ -137,7 +137,7 @@
         BibleDB class.
         """
         log.debug(u'Reload bibles')
-        files = AppLocation.get_files(self.settingsSection, self.suffix)
+        files = AppLocation.get_files(self.settings_section, self.suffix)
         if u'alternative_book_names.sqlite' in files:
             files.remove(u'alternative_book_names.sqlite')
         log.debug(u'Bible Files %s', files)
@@ -352,7 +352,7 @@
         if not language_selection or language_selection.value == "None" or language_selection.value == "-1":
             # If None is returned, it's not the singleton object but a
             # BibleMeta object with the value "None"
-            language_selection = Settings().value(self.settingsSection + u'/book name language')
+            language_selection = Settings().value(self.settings_section + u'/book name language')
         else:
             language_selection = language_selection.value
         try:

=== modified file 'openlp/plugins/bibles/lib/mediaitem.py'
--- openlp/plugins/bibles/lib/mediaitem.py	2013-03-18 14:11:58 +0000
+++ openlp/plugins/bibles/lib/mediaitem.py	2013-03-20 05:48:24 +0000
@@ -60,27 +60,27 @@
     log.info(u'Bible Media Item loaded')
 
     def __init__(self, parent, plugin):
-        self.IconPath = u'songs/song'
+        self.icon_path = u'songs/song'
         self.lockIcon = build_icon(u':/bibles/bibles_search_lock.png')
         self.unlockIcon = build_icon(u':/bibles/bibles_search_unlock.png')
         MediaManagerItem.__init__(self, parent, plugin)
         # Place to store the search results for both bibles.
-        self.settings = self.plugin.settingsTab
-        self.quickPreviewAllowed = True
+        self.settings = self.plugin.settings_tab
+        self.quick_preview_allowed = True
         self.hasSearch = True
         self.search_results = {}
         self.second_search_results = {}
-        self.checkSearchResult()
+        self.check_search_result()
         Registry().register_function(u'bibles_load_list', self.reload_bibles)
 
     def __checkSecondBible(self, bible, second_bible):
         """
         Check if the first item is a second bible item or not.
         """
-        bitem = self.listView.item(0)
+        bitem = self.list_view.item(0)
         if not bitem.flags() & QtCore.Qt.ItemIsSelectable:
             # The item is the "No Search Results" item.
-            self.listView.clear()
+            self.list_view.clear()
             self.displayResults(bible, second_bible)
             return
         else:
@@ -92,7 +92,7 @@
                 'You cannot combine single and dual Bible verse search results. '
                 'Do you want to delete your search results and start a new search?'),
             parent=self, question=True) == QtGui.QMessageBox.Yes:
-            self.listView.clear()
+            self.list_view.clear()
             self.displayResults(bible, second_bible)
 
     def _decodeQtObject(self, bitem, key):
@@ -100,13 +100,16 @@
         obj = reference[unicode(key)]
         return unicode(obj).strip()
 
-    def requiredIcons(self):
-        MediaManagerItem.requiredIcons(self)
-        self.hasImportIcon = True
-        self.hasNewIcon = False
-        self.hasEditIcon = True
-        self.hasDeleteIcon = True
-        self.addToServiceItem = False
+    def required_icons(self):
+        """
+        Set which icons the media manager tab should show
+        """
+        MediaManagerItem.required_icons(self)
+        self.has_import_icon = True
+        self.has_new_icon = False
+        self.has_edit_icon = True
+        self.has_delete_icon = True
+        self.add_to_service_item = False
 
     def addSearchTab(self, prefix, name):
         self.searchTabBar.addTab(name)
@@ -152,19 +155,19 @@
         styleComboBox = create_horizontal_adjusting_combo_box(tab, prefix + u'StyleComboBox')
         styleComboBox.addItems([u'', u'', u''])
         layout.addWidget(styleComboBox, idx + 2, 1, 1, 2)
-        searchButtonLayout = QtGui.QHBoxLayout()
-        searchButtonLayout.setObjectName(prefix + u'SearchButtonLayout')
-        searchButtonLayout.addStretch()
+        search_button_layout = QtGui.QHBoxLayout()
+        search_button_layout.setObjectName(prefix + u'search_button_layout')
+        search_button_layout.addStretch()
         lockButton = QtGui.QToolButton(tab)
         lockButton.setIcon(self.unlockIcon)
         lockButton.setCheckable(True)
         lockButton.setObjectName(prefix + u'LockButton')
-        searchButtonLayout.addWidget(lockButton)
+        search_button_layout.addWidget(lockButton)
         searchButton = QtGui.QPushButton(tab)
         searchButton.setObjectName(prefix + u'SearchButton')
-        searchButtonLayout.addWidget(searchButton)
-        layout.addLayout(searchButtonLayout, idx + 3, 1, 1, 2)
-        self.pageLayout.addWidget(tab)
+        search_button_layout.addWidget(searchButton)
+        layout.addLayout(search_button_layout, idx + 3, 1, 1, 2)
+        self.page_layout.addWidget(tab)
         tab.setVisible(False)
         lockButton.toggled.connect(self.onLockButtonToggled)
         setattr(self, prefix + u'VersionLabel', versionLabel)
@@ -174,14 +177,14 @@
         setattr(self, prefix + u'StyleLabel', styleLabel)
         setattr(self, prefix + u'StyleComboBox', styleComboBox)
         setattr(self, prefix + u'LockButton', lockButton)
-        setattr(self, prefix + u'SearchButtonLayout', searchButtonLayout)
+        setattr(self, prefix + u'SearchButtonLayout', search_button_layout)
         setattr(self, prefix + u'SearchButton', searchButton)
 
-    def addEndHeaderBar(self):
+    def add_end_header_bar(self):
         self.searchTabBar = QtGui.QTabBar(self)
         self.searchTabBar.setExpanding(False)
         self.searchTabBar.setObjectName(u'searchTabBar')
-        self.pageLayout.addWidget(self.searchTabBar)
+        self.page_layout.addWidget(self.searchTabBar)
         # Add the Quick Search tab.
         self.addSearchTab(u'quick', translate('BiblesPlugin.MediaItem', 'Quick'))
         self.quickSearchLabel = QtGui.QLabel(self.quickTab)
@@ -255,7 +258,7 @@
 
     def config_update(self):
         log.debug(u'config_update')
-        if Settings().value(self.settingsSection + u'/second bibles'):
+        if Settings().value(self.settings_section + u'/second bibles'):
             self.advancedSecondLabel.setVisible(True)
             self.advancedSecondComboBox.setVisible(True)
             self.quickSecondLabel.setVisible(True)
@@ -307,7 +310,7 @@
                 translate('BiblesPlugin.MediaItem', 'Text Search'),
                 translate('BiblesPlugin.MediaItem', 'Search Text...'))
         ])
-        self.quickSearchEdit.set_current_search_type(Settings().value(u'%s/last search type' % self.settingsSection))
+        self.quickSearchEdit.set_current_search_type(Settings().value(u'%s/last search type' % self.settings_section))
         self.config_update()
         log.debug(u'bible manager initialise complete')
 
@@ -329,13 +332,13 @@
         self.advancedVersionComboBox.addItems(bibles)
         self.advancedSecondComboBox.addItems(bibles)
         # set the default value
-        bible = Settings().value(self.settingsSection + u'/advanced bible')
+        bible = Settings().value(self.settings_section + u'/advanced bible')
         if bible in bibles:
             find_and_set_in_combo_box(self.advancedVersionComboBox, bible)
             self.initialiseAdvancedBible(unicode(bible))
         elif bibles:
             self.initialiseAdvancedBible(bibles[0])
-        bible = Settings().value(self.settingsSection + u'/quick bible')
+        bible = Settings().value(self.settings_section + u'/quick bible')
         find_and_set_in_combo_box(self.quickVersionComboBox, bible)
 
     def reload_bibles(self, process=False):
@@ -427,9 +430,9 @@
         """
         log.debug(u'updateAutoCompleter')
         # Save the current search type to the configuration.
-        Settings().setValue(u'%s/last search type' % self.settingsSection, self.quickSearchEdit.current_search_type())
+        Settings().setValue(u'%s/last search type' % self.settings_section, self.quickSearchEdit.current_search_type())
         # Save the current bible to the configuration.
-        Settings().setValue(self.settingsSection + u'/quick bible', self.quickVersionComboBox.currentText())
+        Settings().setValue(self.settings_section + u'/quick bible', self.quickVersionComboBox.currentText())
         books = []
         # We have to do a 'Reference Search'.
         if self.quickSearchEdit.current_search_type() == BibleSearch.Reference:
@@ -461,14 +464,14 @@
                 books.sort(cmp=locale_compare)
         set_case_insensitive_completer(books, self.quickSearchEdit)
 
-    def onImportClick(self):
+    def on_import_click(self):
         if not hasattr(self, u'import_wizard'):
             self.import_wizard = BibleImportForm(self, self.plugin.manager, self.plugin)
         # If the import was not cancelled then reload.
         if self.import_wizard.exec_():
             self.reload_bibles()
 
-    def onEditClick(self):
+    def on_edit_click(self):
         if self.quickTab.isVisible():
             bible = self.quickVersionComboBox.currentText()
         elif self.advancedTab.isVisible():
@@ -479,7 +482,7 @@
             if self.editBibleForm.exec_():
                 self.reload_bibles()
 
-    def onDeleteClick(self):
+    def on_delete_click(self):
         if self.quickTab.isVisible():
             bible = self.quickVersionComboBox.currentText()
         elif self.advancedTab.isVisible():
@@ -514,16 +517,16 @@
         self.settings.layout_style = self.quickStyleComboBox.currentIndex()
         self.advancedStyleComboBox.setCurrentIndex(self.settings.layout_style)
         self.settings.layoutStyleComboBox.setCurrentIndex(self.settings.layout_style)
-        Settings().setValue(self.settingsSection + u'/verse layout style', self.settings.layout_style)
+        Settings().setValue(self.settings_section + u'/verse layout style', self.settings.layout_style)
 
     def onAdvancedStyleComboBoxChanged(self):
         self.settings.layout_style = self.advancedStyleComboBox.currentIndex()
         self.quickStyleComboBox.setCurrentIndex(self.settings.layout_style)
         self.settings.layoutStyleComboBox.setCurrentIndex(self.settings.layout_style)
-        Settings().setValue(self.settingsSection + u'/verse layout style', self.settings.layout_style)
+        Settings().setValue(self.settings_section + u'/verse layout style', self.settings.layout_style)
 
     def onAdvancedVersionComboBox(self):
-        Settings().setValue(self.settingsSection + u'/advanced bible', self.advancedVersionComboBox.currentText())
+        Settings().setValue(self.settings_section + u'/advanced bible', self.advancedVersionComboBox.currentText())
         self.initialiseAdvancedBible(self.advancedVersionComboBox.currentText(),
             self.advancedBookComboBox.itemData(int(self.advancedBookComboBox.currentIndex())))
 
@@ -628,13 +631,13 @@
         if second_bible:
             self.second_search_results = self.plugin.manager.get_verses(second_bible, versetext, book_ref_id)
         if not self.advancedLockButton.isChecked():
-            self.listView.clear()
-        if self.listView.count() != 0:
+            self.list_view.clear()
+        if self.list_view.count() != 0:
             self.__checkSecondBible(bible, second_bible)
         elif self.search_results:
             self.displayResults(bible, second_bible)
         self.advancedSearchButton.setEnabled(True)
-        self.checkSearchResult()
+        self.check_search_result()
         self.application.set_normal_cursor()
 
     def onQuickSearchButton(self):
@@ -684,13 +687,13 @@
                 self.search_results = new_search_results
                 self.second_search_results = bibles[second_bible].get_verses(text)
         if not self.quickLockButton.isChecked():
-            self.listView.clear()
-        if self.listView.count() != 0 and self.search_results:
+            self.list_view.clear()
+        if self.list_view.count() != 0 and self.search_results:
             self.__checkSecondBible(bible, second_bible)
         elif self.search_results:
             self.displayResults(bible, second_bible)
         self.quickSearchButton.setEnabled(True)
-        self.checkSearchResult()
+        self.check_search_result()
         self.application.set_normal_cursor()
 
     def displayResults(self, bible, second_bible=u''):
@@ -700,8 +703,8 @@
         """
         items = self.buildDisplayResults(bible, second_bible, self.search_results)
         for bible_verse in items:
-            self.listView.addItem(bible_verse)
-        self.listView.selectAll()
+            self.list_view.addItem(bible_verse)
+        self.list_view.selectAll()
         self.search_results = {}
         self.second_search_results = {}
 
@@ -764,7 +767,7 @@
             items.append(bible_verse)
         return items
 
-    def generateSlideData(self, service_item, item=None, xmlVersion=False,
+    def generate_slide_data(self, service_item, item=None, xmlVersion=False,
         remote=False, context=ServiceItemContext.Service):
         """
         Generates and formats the slides for the service item as well as the
@@ -774,7 +777,7 @@
         if item:
             items = item
         else:
-            items = self.listView.selectedItems()
+            items = self.list_view.selectedItems()
         if not items:
             return False
         bible_text = u''
@@ -963,7 +966,10 @@
             return [[string, versetext]]
         return []
 
-    def createItemFromId(self, item_id):
+    def create_item_from_id(self, item_id):
+        """
+        Create a media item from an item id.
+        """
         item = QtGui.QListWidgetItem()
         bible = self.quickVersionComboBox.currentText()
         search_results = self.plugin.manager.get_verses(bible, item_id, False)

=== modified file 'openlp/plugins/custom/customplugin.py'
--- openlp/plugins/custom/customplugin.py	2013-03-17 09:21:18 +0000
+++ openlp/plugins/custom/customplugin.py	2013-03-20 05:48:24 +0000
@@ -64,8 +64,8 @@
         Plugin.__init__(self, u'custom', __default_settings__, CustomMediaItem, CustomTab)
         self.weight = -5
         self.manager = Manager(u'custom', init_schema)
-        self.iconPath = u':/plugins/plugin_custom.png'
-        self.icon = build_icon(self.iconPath)
+        self.icon_path = u':/plugins/plugin_custom.png'
+        self.icon = build_icon(self.icon_path)
 
     def about(self):
         about_text = translate('CustomPlugin', '<strong>Custom Slide Plugin </strong><br />The custom slide plugin '
@@ -104,12 +104,12 @@
         Called to define all translatable texts of the plugin
         """
         ## Name PluginList ##
-        self.textStrings[StringContent.Name] = {
+        self.text_strings[StringContent.Name] = {
             u'singular': translate('CustomPlugin', 'Custom Slide', 'name singular'),
             u'plural': translate('CustomPlugin', 'Custom Slides', 'name plural')
         }
         ## Name for MediaDockManager, SettingsManager ##
-        self.textStrings[StringContent.VisibleName] = {
+        self.text_strings[StringContent.VisibleName] = {
             u'title': translate('CustomPlugin', 'Custom Slides', 'container title')
         }
         # Middle Header Bar
@@ -123,7 +123,7 @@
             u'live': translate('CustomPlugin', 'Send the selected custom slide live.'),
             u'service': translate('CustomPlugin', 'Add the selected custom slide to the service.')
         }
-        self.setPluginUiTextStrings(tooltips)
+        self.set_plugin_ui_text_strings(tooltips)
 
     def finalise(self):
         """

=== modified file 'openlp/plugins/custom/forms/editcustomform.py'
--- openlp/plugins/custom/forms/editcustomform.py	2013-02-19 21:23:56 +0000
+++ openlp/plugins/custom/forms/editcustomform.py	2013-03-20 05:48:24 +0000
@@ -47,13 +47,13 @@
     """
     log.info(u'Custom Editor loaded')
 
-    def __init__(self, mediaitem, parent, manager):
+    def __init__(self, media_item, parent, manager):
         """
         Constructor
         """
         super(EditCustomForm, self).__init__(parent)
         self.manager = manager
-        self.mediaitem = mediaitem
+        self.media_item = media_item
         self.setupUi(self)
         # Create other objects and forms.
         self.edit_slide_form = EditCustomSlideForm(self)
@@ -130,7 +130,7 @@
         self.custom_slide.credits = self.credit_edit.text()
         self.custom_slide.theme_name = self.theme_combo_box.currentText()
         success = self.manager.save_object(self.custom_slide)
-        self.mediaitem.autoSelectId = self.custom_slide.id
+        self.media_item.autoSelectId = self.custom_slide.id
         return success
 
     def on_up_button_clicked(self):

=== modified file 'openlp/plugins/custom/lib/mediaitem.py'
--- openlp/plugins/custom/lib/mediaitem.py	2013-03-18 14:11:58 +0000
+++ openlp/plugins/custom/lib/mediaitem.py	2013-03-20 05:48:24 +0000
@@ -55,26 +55,26 @@
     log.info(u'Custom Media Item loaded')
 
     def __init__(self, parent, plugin):
-        self.IconPath = u'custom/custom'
+        self.icon_path = u'custom/custom'
         MediaManagerItem.__init__(self, parent, plugin)
         self.edit_custom_form = EditCustomForm(self, self.main_window, self.plugin.manager)
-        self.singleServiceItem = False
-        self.quickPreviewAllowed = True
+        self.single_service_item = False
+        self.quick_preview_allowed = True
         self.hasSearch = True
         # Holds information about whether the edit is remotely triggered and
         # which Custom is required.
         self.remoteCustom = -1
         self.manager = plugin.manager
 
-    def addEndHeaderBar(self):
+    def add_end_header_bar(self):
         self.toolbar.addSeparator()
-        self.addSearchToToolBar()
+        self.add_search_to_toolbar()
         # Signals and slots
-        QtCore.QObject.connect(self.searchTextEdit, QtCore.SIGNAL(u'cleared()'), self.onClearTextButtonClick)
-        QtCore.QObject.connect(self.searchTextEdit, QtCore.SIGNAL(u'searchTypeChanged(int)'),
-            self.onSearchTextButtonClicked)
-        Registry().register_function(u'custom_load_list', self.loadList)
-        Registry().register_function(u'custom_preview', self.onPreviewClick)
+        QtCore.QObject.connect(self.search_text_edit, QtCore.SIGNAL(u'cleared()'), self.onClearTextButtonClick)
+        QtCore.QObject.connect(self.search_text_edit, QtCore.SIGNAL(u'searchTypeChanged(int)'),
+            self.on_search_text_button_clicked)
+        Registry().register_function(u'custom_load_list', self.load_list)
+        Registry().register_function(u'custom_preview', self.on_preview_click)
         Registry().register_function(u'custom_create_from_service', self.create_from_service_item)
 
     def config_update(self):
@@ -82,45 +82,45 @@
         Config has been updated so reload values
         """
         log.debug(u'Config loaded')
-        self.add_custom_from_service = Settings().value(self.settingsSection + u'/add custom from service')
+        self.add_custom_from_service = Settings().value(self.settings_section + u'/add custom from service')
 
     def retranslateUi(self):
-        self.searchTextLabel.setText(u'%s:' % UiStrings().Search)
-        self.searchTextButton.setText(UiStrings().Search)
+        self.search_text_label.setText(u'%s:' % UiStrings().Search)
+        self.search_text_button.setText(UiStrings().Search)
 
     def initialise(self):
-        self.searchTextEdit.set_search_types([
+        self.search_text_edit.set_search_types([
             (CustomSearch.Titles, u':/songs/song_search_title.png',
             translate('SongsPlugin.MediaItem', 'Titles'),
             translate('SongsPlugin.MediaItem', 'Search Titles...')),
             (CustomSearch.Themes, u':/slides/slide_theme.png', UiStrings().Themes, UiStrings().SearchThemes)
         ])
-        self.searchTextEdit.set_current_search_type(Settings().value(u'%s/last search type' % self.settingsSection))
-        self.loadList(self.manager.get_all_objects(CustomSlide, order_by_ref=CustomSlide.title))
+        self.search_text_edit.set_current_search_type(Settings().value(u'%s/last search type' % self.settings_section))
+        self.load_list(self.manager.get_all_objects(CustomSlide, order_by_ref=CustomSlide.title))
         self.config_update()
 
-    def loadList(self, custom_slides, target_group=None):
+    def load_list(self, custom_slides, target_group=None):
         # Sort out what custom we want to select after loading the list.
-        self.saveAutoSelectId()
-        self.listView.clear()
+        self.save_auto_select_id()
+        self.list_view.clear()
         custom_slides.sort()
         for custom_slide in custom_slides:
             custom_name = QtGui.QListWidgetItem(custom_slide.title)
             custom_name.setData(QtCore.Qt.UserRole, custom_slide.id)
-            self.listView.addItem(custom_name)
+            self.list_view.addItem(custom_name)
             # Auto-select the custom.
             if custom_slide.id == self.autoSelectId:
-                self.listView.setCurrentItem(custom_name)
+                self.list_view.setCurrentItem(custom_name)
         self.autoSelectId = -1
         # Called to redisplay the custom list screen edith from a search
         # or from the exit of the Custom edit dialog. If remote editing is
         # active trigger it and clean up so it will not update again.
 
-    def onNewClick(self):
+    def on_new_click(self):
         self.edit_custom_form.load_custom(0)
         self.edit_custom_form.exec_()
         self.onClearTextButtonClick()
-        self.onSelectionChange()
+        self.on_selection_change()
 
     def onRemoteEdit(self, custom_id, preview=False):
         """
@@ -133,35 +133,35 @@
         if valid:
             self.edit_custom_form.load_custom(custom_id, preview)
             if self.edit_custom_form.exec_() == QtGui.QDialog.Accepted:
-                self.remoteTriggered = True
+                self.remote_triggered = True
                 self.remoteCustom = custom_id
                 self.autoSelectId = -1
-                self.onSearchTextButtonClicked()
-                item = self.buildServiceItem(remote=True)
-                self.remoteTriggered = None
+                self.on_search_text_button_clicked()
+                item = self.build_service_item(remote=True)
+                self.remote_triggered = None
                 self.remoteCustom = 1
                 if item:
                     return item
         return None
 
-    def onEditClick(self):
+    def on_edit_click(self):
         """
         Edit a custom item
         """
-        if check_item_selected(self.listView, UiStrings().SelectEdit):
-            item = self.listView.currentItem()
+        if check_item_selected(self.list_view, UiStrings().SelectEdit):
+            item = self.list_view.currentItem()
             item_id = item.data(QtCore.Qt.UserRole)
             self.edit_custom_form.load_custom(item_id, False)
             self.edit_custom_form.exec_()
             self.autoSelectId = -1
-            self.onSearchTextButtonClicked()
+            self.on_search_text_button_clicked()
 
-    def onDeleteClick(self):
+    def on_delete_click(self):
         """
         Remove a custom item from the list and database
         """
-        if check_item_selected(self.listView, UiStrings().SelectDelete):
-            items = self.listView.selectedIndexes()
+        if check_item_selected(self.list_view, UiStrings().SelectDelete):
+            items = self.list_view.selectedIndexes()
             if QtGui.QMessageBox.question(self,
                 UiStrings().ConfirmDelete,
                 translate('CustomPlugin.MediaItem',
@@ -170,20 +170,23 @@
                 QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.Yes | QtGui.QMessageBox.No),
                 QtGui.QMessageBox.Yes) == QtGui.QMessageBox.No:
                 return
-            row_list = [item.row() for item in self.listView.selectedIndexes()]
+            row_list = [item.row() for item in self.list_view.selectedIndexes()]
             row_list.sort(reverse=True)
             id_list = [(item.data(QtCore.Qt.UserRole))
-                for item in self.listView.selectedIndexes()]
+                for item in self.list_view.selectedIndexes()]
             for id in id_list:
                 self.plugin.manager.delete_object(CustomSlide, id)
-            self.onSearchTextButtonClicked()
+            self.on_search_text_button_clicked()
 
     def onFocus(self):
-        self.searchTextEdit.setFocus()
+        self.search_text_edit.setFocus()
 
-    def generateSlideData(self, service_item, item=None, xmlVersion=False,
+    def generate_slide_data(self, service_item, item=None, xmlVersion=False,
         remote=False, context=ServiceItemContext.Service):
-        item_id = self._getIdOfItemToGenerate(item, self.remoteCustom)
+        """
+        Generate the slide data. Needs to be implemented by the plugin.
+        """
+        item_id = self._get_id_of_item_to_generate(item, self.remoteCustom)
         service_item.add_capability(ItemCapabilities.CanEdit)
         service_item.add_capability(ItemCapabilities.CanPreview)
         service_item.add_capability(ItemCapabilities.CanLoop)
@@ -202,34 +205,34 @@
         service_item.title = title
         for slide in raw_slides:
             service_item.add_from_text(slide)
-        if Settings().value(self.settingsSection + u'/display footer') or credit:
+        if Settings().value(self.settings_section + u'/display footer') or credit:
             service_item.raw_footer.append(u' '.join([title, credit]))
         else:
             service_item.raw_footer.append(u'')
         return True
 
-    def onSearchTextButtonClicked(self):
+    def on_search_text_button_clicked(self):
         # Save the current search type to the configuration.
-        Settings().setValue(u'%s/last search type' % self.settingsSection, self.searchTextEdit.current_search_type())
+        Settings().setValue(u'%s/last search type' % self.settings_section, self.search_text_edit.current_search_type())
         # Reload the list considering the new search type.
-        search_keywords = self.searchTextEdit.displayText()
+        search_keywords = self.search_text_edit.displayText()
         search_results = []
-        search_type = self.searchTextEdit.current_search_type()
+        search_type = self.search_text_edit.current_search_type()
         if search_type == CustomSearch.Titles:
             log.debug(u'Titles Search')
             search_results = self.plugin.manager.get_all_objects(CustomSlide,
                 CustomSlide.title.like(u'%' + self.whitespace.sub(u' ', search_keywords) + u'%'),
                     order_by_ref=CustomSlide.title)
-            self.loadList(search_results)
+            self.load_list(search_results)
         elif search_type == CustomSearch.Themes:
             log.debug(u'Theme Search')
             search_results = self.plugin.manager.get_all_objects(CustomSlide,
                 CustomSlide.theme_name.like(u'%' + self.whitespace.sub(u' ', search_keywords) + u'%'),
                     order_by_ref=CustomSlide.title)
-            self.loadList(search_results)
-        self.checkSearchResult()
+            self.load_list(search_results)
+        self.check_search_result()
 
-    def onSearchTextEditChanged(self, text):
+    def on_search_text_edit_changed(self, text):
         """
         If search as type enabled invoke the search on each key press.
         If the Title is being searched do not start until 2 characters
@@ -237,15 +240,15 @@
         """
         search_length = 2
         if len(text) > search_length:
-            self.onSearchTextButtonClicked()
+            self.on_search_text_button_clicked()
         elif not text:
             self.onClearTextButtonClick()
 
-    def serviceLoad(self, item):
+    def service_load(self, item):
         """
         Triggered by a song being loaded by the service manager.
         """
-        log.debug(u'serviceLoad')
+        log.debug(u'service_load')
         if self.plugin.status != PluginStatus.Active:
             return
         custom = self.plugin.manager.get_object_filtered(CustomSlide,
@@ -280,7 +283,7 @@
             custom_xml.add_verse_to_lyrics(u'custom', unicode(idx + 1), slide['raw_slide'])
         custom.text = unicode(custom_xml.extract_xml(), u'utf-8')
         self.plugin.manager.save_object(custom)
-        self.onSearchTextButtonClicked()
+        self.on_search_text_button_clicked()
         if item.name.lower() == u'custom':
             Registry().execute(u'service_item_update', u'%s:%s:%s' % (custom.id, item.unique_identifier, False))
 
@@ -288,8 +291,8 @@
         """
         Clear the search text.
         """
-        self.searchTextEdit.clear()
-        self.onSearchTextButtonClicked()
+        self.search_text_edit.clear()
+        self.on_search_text_button_clicked()
 
     def search(self, string, showError):
         search_results = self.manager.get_all_objects(CustomSlide,

=== modified file 'openlp/plugins/images/imageplugin.py'
--- openlp/plugins/images/imageplugin.py	2013-03-18 22:04:09 +0000
+++ openlp/plugins/images/imageplugin.py	2013-03-20 05:48:24 +0000
@@ -51,8 +51,8 @@
         Plugin.__init__(self, u'images', __default_settings__, ImageMediaItem, ImageTab)
         self.manager = Manager(u'images', init_schema)
         self.weight = -7
-        self.iconPath = u':/plugins/plugin_images.png'
-        self.icon = build_icon(self.iconPath)
+        self.icon_path = u':/plugins/plugin_images.png'
+        self.icon = build_icon(self.icon_path)
 
     def about(self):
         about_text = translate('ImagePlugin', '<strong>Image Plugin</strong>'
@@ -77,7 +77,7 @@
         files_from_config = Settings().get_files_from_config(self)
         if files_from_config:
             log.debug(u'Importing images list from old config: %s' % files_from_config)
-            self.mediaItem.save_new_images_list(files_from_config)
+            self.media_item.save_new_images_list(files_from_config)
 
     def upgrade_settings(self, settings):
         """
@@ -89,19 +89,19 @@
         files_from_config = settings.get_files_from_config(self)
         if files_from_config:
             log.debug(u'Importing images list from old config: %s' % files_from_config)
-            self.mediaItem.save_new_images_list(files_from_config)
+            self.media_item.save_new_images_list(files_from_config)
 
     def set_plugin_text_strings(self):
         """
         Called to define all translatable texts of the plugin
         """
         ## Name PluginList ##
-        self.textStrings[StringContent.Name] = {
+        self.text_strings[StringContent.Name] = {
             u'singular': translate('ImagePlugin', 'Image', 'name singular'),
             u'plural': translate('ImagePlugin', 'Images', 'name plural')
         }
         ## Name for MediaDockManager, SettingsManager ##
-        self.textStrings[StringContent.VisibleName] = {u'title': translate('ImagePlugin', 'Images', 'container title')}
+        self.text_strings[StringContent.VisibleName] = {u'title': translate('ImagePlugin', 'Images', 'container title')}
         # Middle Header Bar
         tooltips = {
             u'load': translate('ImagePlugin', 'Load a new image.'),
@@ -113,7 +113,7 @@
             u'live': translate('ImagePlugin', 'Send the selected image live.'),
             u'service': translate('ImagePlugin', 'Add the selected image to the service.')
         }
-        self.setPluginUiTextStrings(tooltips)
+        self.set_plugin_ui_text_strings(tooltips)
 
     def config_update(self):
         """
@@ -121,7 +121,7 @@
         Actual update is triggered by the last part of saving the config.
         """
         log.info(u'Images config_update')
-        background = QtGui.QColor(Settings().value(self.settingsSection + u'/background color'))
+        background = QtGui.QColor(Settings().value(self.settings_section + u'/background color'))
         self.image_manager.update_images_border(ImageSource.ImagePlugin, background)
 
     def _get_image_manager(self):

=== modified file 'openlp/plugins/images/lib/mediaitem.py'
--- openlp/plugins/images/lib/mediaitem.py	2013-03-18 22:04:09 +0000
+++ openlp/plugins/images/lib/mediaitem.py	2013-03-20 05:48:24 +0000
@@ -50,9 +50,9 @@
     log.info(u'Image Media Item loaded')
 
     def __init__(self, parent, plugin):
-        self.IconPath = u'images/image'
+        self.icon_path = u'images/image'
         MediaManagerItem.__init__(self, parent, plugin)
-        self.quickPreviewAllowed = True
+        self.quick_preview_allowed = True
         self.hasSearch = True
         self.manager = plugin.manager
         self.choose_group_form = ChooseGroupForm(self)
@@ -61,13 +61,13 @@
         self.fill_groups_combobox(self.add_group_form.parent_group_combobox)
         Registry().register_function(u'live_theme_changed', self.live_theme_changed)
         # Allow DnD from the desktop
-        self.listView.activateDnD()
+        self.list_view.activateDnD()
 
     def retranslateUi(self):
-        self.onNewPrompt = translate('ImagePlugin.MediaItem',
+        self.on_new_prompt = translate('ImagePlugin.MediaItem',
             'Select Image(s)')
         file_formats = get_images_filter()
-        self.onNewFileMasks = u'%s;;%s (*.*) (*)' % (file_formats, UiStrings().AllFiles)
+        self.on_new_file_masks = u'%s;;%s (*.*) (*)' % (file_formats, UiStrings().AllFiles)
         self.addGroupAction.setText(UiStrings().AddGroup)
         self.addGroupAction.setToolTip(UiStrings().AddGroup)
         self.replaceAction.setText(UiStrings().ReplaceBG)
@@ -75,104 +75,107 @@
         self.resetAction.setText(UiStrings().ResetBG)
         self.resetAction.setToolTip(UiStrings().ResetLiveBG)
 
-    def requiredIcons(self):
-        MediaManagerItem.requiredIcons(self)
-        self.hasFileIcon = True
-        self.hasNewIcon = False
-        self.hasEditIcon = False
-        self.addToServiceItem = True
+    def required_icons(self):
+        """
+        Set which icons the media manager tab should show
+        """
+        MediaManagerItem.required_icons(self)
+        self.has_file_icon = True
+        self.has_new_icon = False
+        self.has_edit_icon = False
+        self.add_to_service_item = True
 
     def initialise(self):
         log.debug(u'initialise')
-        self.listView.clear()
-        self.listView.setIconSize(QtCore.QSize(88, 50))
-        self.listView.setIndentation(self.listView.defaultIndentation)
-        self.listView.allow_internal_dnd = True
-        self.servicePath = os.path.join(AppLocation.get_section_data_path(self.settingsSection), u'thumbnails')
+        self.list_view.clear()
+        self.list_view.setIconSize(QtCore.QSize(88, 50))
+        self.list_view.setIndentation(self.list_view.defaultIndentation)
+        self.list_view.allow_internal_dnd = True
+        self.servicePath = os.path.join(AppLocation.get_section_data_path(self.settings_section), u'thumbnails')
         check_directory_exists(self.servicePath)
         # Load images from the database
         self.loadFullList(
             self.manager.get_all_objects(ImageFilenames, order_by_ref=ImageFilenames.filename), initial_load=True)
 
-    def addListViewToToolBar(self):
+    def add_list_view_to_toolbar(self):
         """
         Creates the main widget for listing items the media item is tracking.
-        This method overloads MediaManagerItem.addListViewToToolBar
+        This method overloads MediaManagerItem.add_list_view_to_toolbar
         """
         # Add the List widget
-        self.listView = TreeWidgetWithDnD(self, self.plugin.name)
-        self.listView.setSelectionMode(QtGui.QAbstractItemView.ExtendedSelection)
-        self.listView.setAlternatingRowColors(True)
-        self.listView.setObjectName(u'%sTreeView' % self.plugin.name)
+        self.list_view = TreeWidgetWithDnD(self, self.plugin.name)
+        self.list_view.setSelectionMode(QtGui.QAbstractItemView.ExtendedSelection)
+        self.list_view.setAlternatingRowColors(True)
+        self.list_view.setObjectName(u'%sTreeView' % self.plugin.name)
         # Add to pageLayout
-        self.pageLayout.addWidget(self.listView)
+        self.page_layout.addWidget(self.list_view)
         # define and add the context menu
-        self.listView.setContextMenuPolicy(QtCore.Qt.CustomContextMenu)
-        if self.hasEditIcon:
-            create_widget_action(self.listView,
-                text=self.plugin.getString(StringContent.Edit)[u'title'],
+        self.list_view.setContextMenuPolicy(QtCore.Qt.CustomContextMenu)
+        if self.has_edit_icon:
+            create_widget_action(self.list_view,
+                text=self.plugin.get_string(StringContent.Edit)[u'title'],
                 icon=u':/general/general_edit.png',
-                triggers=self.onEditClick)
-            create_widget_action(self.listView, separator=True)
-        if self.hasDeleteIcon:
-            create_widget_action(self.listView,
-                text=self.plugin.getString(StringContent.Delete)[u'title'],
+                triggers=self.on_edit_click)
+            create_widget_action(self.list_view, separator=True)
+        if self.has_delete_icon:
+            create_widget_action(self.list_view,
+                text=self.plugin.get_string(StringContent.Delete)[u'title'],
                 icon=u':/general/general_delete.png',
-                shortcuts=[QtCore.Qt.Key_Delete], triggers=self.onDeleteClick)
-            create_widget_action(self.listView, separator=True)
-        create_widget_action(self.listView,
-            text=self.plugin.getString(StringContent.Preview)[u'title'],
+                shortcuts=[QtCore.Qt.Key_Delete], triggers=self.on_delete_click)
+            create_widget_action(self.list_view, separator=True)
+        create_widget_action(self.list_view,
+            text=self.plugin.get_string(StringContent.Preview)[u'title'],
             icon=u':/general/general_preview.png',
             shortcuts=[QtCore.Qt.Key_Enter, QtCore.Qt.Key_Return],
-            triggers=self.onPreviewClick)
-        create_widget_action(self.listView,
-            text=self.plugin.getString(StringContent.Live)[u'title'],
+            triggers=self.on_preview_click)
+        create_widget_action(self.list_view,
+            text=self.plugin.get_string(StringContent.Live)[u'title'],
             icon=u':/general/general_live.png',
             shortcuts=[QtCore.Qt.ShiftModifier | QtCore.Qt.Key_Enter,
             QtCore.Qt.ShiftModifier | QtCore.Qt.Key_Return],
-            triggers=self.onLiveClick)
-        create_widget_action(self.listView,
-            text=self.plugin.getString(StringContent.Service)[u'title'],
+            triggers=self.on_live_click)
+        create_widget_action(self.list_view,
+            text=self.plugin.get_string(StringContent.Service)[u'title'],
             icon=u':/general/general_add.png',
             shortcuts=[QtCore.Qt.Key_Plus, QtCore.Qt.Key_Equal],
-            triggers=self.onAddClick)
-        if self.addToServiceItem:
-            create_widget_action(self.listView, separator=True)
-            create_widget_action(self.listView,
+            triggers=self.on_add_click)
+        if self.add_to_service_item:
+            create_widget_action(self.list_view, separator=True)
+            create_widget_action(self.list_view,
                 text=translate('OpenLP.MediaManagerItem', '&Add to selected Service Item'),
                 icon=u':/general/general_add.png',
-                triggers=self.onAddEditClick)
-        self.addCustomContextActions()
-        # Create the context menu and add all actions from the listView.
+                triggers=self.on_add_edit_click)
+        self.add_custom_context_actions()
+        # Create the context menu and add all actions from the list_view.
         self.menu = QtGui.QMenu()
-        self.menu.addActions(self.listView.actions())
-        self.listView.doubleClicked.connect(self.onDoubleClicked)
-        self.listView.itemSelectionChanged.connect(self.onSelectionChange)
-        self.listView.customContextMenuRequested.connect(self.contextMenu)
-        self.listView.addAction(self.replaceAction)
+        self.menu.addActions(self.list_view.actions())
+        self.list_view.doubleClicked.connect(self.on_double_clicked)
+        self.list_view.itemSelectionChanged.connect(self.on_selection_change)
+        self.list_view.customContextMenuRequested.connect(self.context_menu)
+        self.list_view.addAction(self.replaceAction)
 
-    def addCustomContextActions(self):
+    def add_custom_context_actions(self):
         """
         Add custom actions to the context menu
         """
-        create_widget_action(self.listView, separator=True)
-        create_widget_action(self.listView,
+        create_widget_action(self.list_view, separator=True)
+        create_widget_action(self.list_view,
             text=UiStrings().AddGroup,
             icon=u':/images/image_new_group.png',
             triggers=self.onAddGroupClick)
-        create_widget_action(self.listView,
-            text=self.plugin.getString(StringContent.Load)[u'tooltip'],
+        create_widget_action(self.list_view,
+            text=self.plugin.get_string(StringContent.Load)[u'tooltip'],
             icon=u':/general/general_open.png',
-            triggers=self.onFileClick)
+            triggers=self.on_file_click)
 
-    def addStartHeaderBar(self):
+    def add_start_header_bar(self):
         """
         Add custom buttons to the start of the toolbar
         """
         self.addGroupAction = self.toolbar.add_toolbar_action(u'addGroupAction',
             icon=u':/images/image_new_group.png', triggers=self.onAddGroupClick)
 
-    def addEndHeaderBar(self):
+    def add_end_header_bar(self):
         """
         Add custom buttons to the end of the toolbar
         """
@@ -197,15 +200,15 @@
             self.recursively_delete_group(group)
             self.manager.delete_object(ImageGroups, group.id)
 
-    def onDeleteClick(self):
+    def on_delete_click(self):
         """
         Remove an image item from the list
         """
         # Turn off auto preview triggers.
-        self.listView.blockSignals(True)
-        if check_item_selected(self.listView, translate('ImagePlugin.MediaItem',
+        self.list_view.blockSignals(True)
+        if check_item_selected(self.list_view, translate('ImagePlugin.MediaItem',
             'You must select an image or group to delete.')):
-            item_list = self.listView.selectedItems()
+            item_list = self.list_view.selectedItems()
             self.application.set_busy_cursor()
             self.main_window.display_progress_bar(len(item_list))
             for row_item in item_list:
@@ -214,12 +217,12 @@
                     if isinstance(item_data, ImageFilenames):
                         delete_file(os.path.join(self.servicePath, row_item.text(0)))
                         if item_data.group_id == 0:
-                            self.listView.takeTopLevelItem(self.listView.indexOfTopLevelItem(row_item))
+                            self.list_view.takeTopLevelItem(self.list_view.indexOfTopLevelItem(row_item))
                         else:
                             row_item.parent().removeChild(row_item)
                         self.manager.delete_object(ImageFilenames, row_item.data(0, QtCore.Qt.UserRole).id)
                     elif isinstance(item_data, ImageGroups):
-                        if QtGui.QMessageBox.question(self.listView.parent(),
+                        if QtGui.QMessageBox.question(self.list_view.parent(),
                             translate('ImagePlugin.MediaItem', 'Remove group'),
                             translate('ImagePlugin.MediaItem',
                             'Are you sure you want to remove "%s" and everything in it?') % item_data.group_name,
@@ -228,7 +231,7 @@
                             self.recursively_delete_group(item_data)
                             self.manager.delete_object(ImageGroups, row_item.data(0, QtCore.Qt.UserRole).id)
                             if item_data.parent_id == 0:
-                                self.listView.takeTopLevelItem(self.listView.indexOfTopLevelItem(row_item))
+                                self.list_view.takeTopLevelItem(self.list_view.indexOfTopLevelItem(row_item))
                             else:
                                 row_item.parent().removeChild(row_item)
                             self.fill_groups_combobox(self.choose_group_form.group_combobox)
@@ -236,7 +239,7 @@
                 self.main_window.increment_progress_bar()
             self.main_window.finished_progress_bar()
             self.application.set_normal_cursor()
-        self.listView.blockSignals(False)
+        self.list_view.blockSignals(False)
 
     def add_sub_groups(self, group_list, parent_group_id):
         """
@@ -257,7 +260,7 @@
             group.setData(0, QtCore.Qt.UserRole, image_group)
             group.setIcon(0, folder_icon)
             if parent_group_id == 0:
-                self.listView.addTopLevelItem(group)
+                self.list_view.addTopLevelItem(group)
             else:
                 group_list[parent_group_id].addChild(group)
             group_list[image_group.id] = group
@@ -297,7 +300,7 @@
         """
         return_value = False
         if root_item is None:
-            root_item = self.listView.invisibleRootItem()
+            root_item = self.list_view.invisibleRootItem()
         for i in range(root_item.childCount()):
             child = root_item.child(i)
             if self.expand_group(group_id, child):
@@ -324,7 +327,7 @@
         if not initial_load:
             self.application.set_busy_cursor()
             self.main_window.display_progress_bar(len(images))
-        self.listView.clear()
+        self.list_view.clear()
         # Load the list of groups and add them to the treeView
         group_items = {}
         self.add_sub_groups(group_items, parent_group_id=0)
@@ -350,7 +353,7 @@
             item_name.setToolTip(0, imageFile.filename)
             item_name.setData(0, QtCore.Qt.UserRole, imageFile)
             if imageFile.group_id == 0:
-                self.listView.addTopLevelItem(item_name)
+                self.list_view.addTopLevelItem(item_name)
             else:
                 group_items[imageFile.group_id].addChild(item_name)
             if not initial_load:
@@ -359,7 +362,7 @@
             self.main_window.finished_progress_bar()
         self.application.set_normal_cursor()
 
-    def validateAndLoad(self, files, target_group=None):
+    def validate_and_load(self, files, target_group=None):
         """
         Process a list for files either from the File Dialog or from Drag and Drop.
         This method is overloaded from MediaManagerItem.
@@ -371,11 +374,11 @@
             The QTreeWidgetItem of the group that will be the parent of the added files
         """
         self.application.set_normal_cursor()
-        self.loadList(files, target_group)
+        self.load_list(files, target_group)
         last_dir = os.path.split(unicode(files[0]))[0]
-        Settings().setValue(self.settingsSection + u'/last directory', last_dir)
+        Settings().setValue(self.settings_section + u'/last directory', last_dir)
 
-    def loadList(self, images, target_group=None, initial_load=False):
+    def load_list(self, images, target_group=None, initial_load=False):
         """
         Add new images to the database. This method is called when adding images using the Add button or DnD.
 
@@ -391,7 +394,7 @@
         if target_group is None:
             # Find out if a group must be pre-selected
             preselect_group = None
-            selected_items = self.listView.selectedItems()
+            selected_items = self.list_view.selectedItems()
             if selected_items:
                 selected_item = selected_items[0]
                 if isinstance(selected_item.data(0, QtCore.Qt.UserRole), ImageFilenames):
@@ -485,14 +488,14 @@
         ``target``
             This contains the QTreeWidget that is the target of the DnD action
         """
-        items_to_move = self.listView.selectedItems()
+        items_to_move = self.list_view.selectedItems()
         # Determine group to move images to
         target_group = target
         if target_group is not None and isinstance(target_group.data(0, QtCore.Qt.UserRole), ImageFilenames):
             target_group = target.parent()
         # Move to toplevel
         if target_group is None:
-            target_group = self.listView.invisibleRootItem()
+            target_group = self.list_view.invisibleRootItem()
             target_group.setData(0, QtCore.Qt.UserRole, ImageGroups())
             target_group.data(0, QtCore.Qt.UserRole).id = 0
         # Move images in the treeview
@@ -502,7 +505,7 @@
                 if isinstance(item.parent(), QtGui.QTreeWidgetItem):
                     item.parent().removeChild(item)
                 else:
-                    self.listView.invisibleRootItem().removeChild(item)
+                    self.list_view.invisibleRootItem().removeChild(item)
                 target_group.addChild(item)
                 item.setSelected(True)
                 item_data = item.data(0, QtCore.Qt.UserRole)
@@ -524,20 +527,23 @@
         image_items.sort(cmp=locale_compare, key=lambda item: item.text(0))
         target_group.addChildren(image_items)
 
-    def generateSlideData(self, service_item, item=None, xmlVersion=False,
+    def generate_slide_data(self, service_item, item=None, xmlVersion=False,
         remote=False, context=ServiceItemContext.Service):
-        background = QtGui.QColor(Settings().value(self.settingsSection + u'/background color'))
+        """
+        Generate the slide data. Needs to be implemented by the plugin.
+        """
+        background = QtGui.QColor(Settings().value(self.settings_section + u'/background color'))
         if item:
             items = [item]
         else:
-            items = self.listView.selectedItems()
+            items = self.list_view.selectedItems()
             if not items:
                 return False
         # Determine service item title
         if isinstance(items[0].data(0, QtCore.Qt.UserRole), ImageGroups):
             service_item.title = items[0].text(0)
         else:
-            service_item.title = unicode(self.plugin.nameStrings[u'plural'])
+            service_item.title = unicode(self.plugin.name_strings[u'plural'])
         service_item.add_capability(ItemCapabilities.CanMaintain)
         service_item.add_capability(ItemCapabilities.CanPreview)
         service_item.add_capability(ItemCapabilities.CanLoop)
@@ -605,7 +611,7 @@
         """
         # Find out if a group must be pre-selected
         preselect_group = 0
-        selected_items = self.listView.selectedItems()
+        selected_items = self.list_view.selectedItems()
         if selected_items:
             selected_item = selected_items[0]
             if isinstance(selected_item.data(0, QtCore.Qt.UserRole), ImageFilenames):
@@ -649,10 +655,10 @@
         """
         Called to replace Live backgound with the image selected.
         """
-        if check_item_selected(self.listView,
+        if check_item_selected(self.list_view,
                 translate('ImagePlugin.MediaItem', 'You must select an image to replace the background with.')):
-            background = QtGui.QColor(Settings().value(self.settingsSection + u'/background color'))
-            bitem = self.listView.selectedItems()[0]
+            background = QtGui.QColor(Settings().value(self.settings_section + u'/background color'))
+            bitem = self.list_view.selectedItems()[0]
             if not isinstance(bitem.data(0, QtCore.Qt.UserRole), ImageFilenames):
                 # Only continue when an image is selected
                 return

=== modified file 'openlp/plugins/media/lib/mediaitem.py'
--- openlp/plugins/media/lib/mediaitem.py	2013-03-11 15:23:43 +0000
+++ openlp/plugins/media/lib/mediaitem.py	2013-03-20 05:48:24 +0000
@@ -54,11 +54,11 @@
     log.info(u'%s MediaMediaItem loaded', __name__)
 
     def __init__(self, parent, plugin):
-        self.iconPath = u'images/image'
+        self.icon_path = u'images/image'
         self.background = False
         self.automatic = u''
         MediaManagerItem.__init__(self, parent, plugin)
-        self.singleServiceItem = False
+        self.single_service_item = False
         self.hasSearch = True
         self.media_object = None
         self.display_controller = DisplayController(parent)
@@ -75,10 +75,10 @@
         Registry().register_function(u'mediaitem_media_rebuild', self.rebuild_players)
         Registry().register_function(u'config_screen_changed', self.display_setup)
         # Allow DnD from the desktop
-        self.listView.activateDnD()
+        self.list_view.activateDnD()
 
     def retranslateUi(self):
-        self.onNewPrompt = translate('MediaPlugin.MediaItem', 'Select Media')
+        self.on_new_prompt = translate('MediaPlugin.MediaItem', 'Select Media')
         self.replaceAction.setText(UiStrings().ReplaceBG)
         self.replaceAction.setToolTip(UiStrings().ReplaceLiveBG)
         self.resetAction.setText(UiStrings().ResetBG)
@@ -87,17 +87,20 @@
         self.displayTypeLabel.setText(translate('MediaPlugin.MediaItem', 'Use Player:'))
         self.rebuild_players()
 
-    def requiredIcons(self):
-        MediaManagerItem.requiredIcons(self)
-        self.hasFileIcon = True
-        self.hasNewIcon = False
-        self.hasEditIcon = False
-
-    def addListViewToToolBar(self):
-        MediaManagerItem.addListViewToToolBar(self)
-        self.listView.addAction(self.replaceAction)
-
-    def addEndHeaderBar(self):
+    def required_icons(self):
+        """
+        Set which icons the media manager tab should show
+        """
+        MediaManagerItem.required_icons(self)
+        self.has_file_icon = True
+        self.has_new_icon = False
+        self.has_edit_icon = False
+
+    def add_list_view_to_toolbar(self):
+        MediaManagerItem.add_list_view_to_toolbar(self)
+        self.list_view.addAction(self.replaceAction)
+
+    def add_end_header_bar(self):
         # Replace backgrounds do not work at present so remove functionality.
         self.replaceAction = self.toolbar.add_toolbar_action(u'replaceAction', icon=u':/slides/slide_blank.png',
             triggers=self.onReplaceClick)
@@ -114,7 +117,7 @@
         self.displayTypeLabel.setBuddy(self.displayTypeComboBox)
         self.displayLayout.addRow(self.displayTypeLabel, self.displayTypeComboBox)
         # Add the Media widget to the page layout
-        self.pageLayout.addWidget(self.mediaWidget)
+        self.page_layout.addWidget(self.mediaWidget)
         self.displayTypeComboBox.currentIndexChanged.connect(self.overridePlayerChanged)
 
     def overridePlayerChanged(self, index):
@@ -141,9 +144,9 @@
         """
         Called to replace Live background with the media selected.
         """
-        if check_item_selected(self.listView,
+        if check_item_selected(self.list_view,
                 translate('MediaPlugin.MediaItem', 'You must select a media file to replace the background with.')):
-            item = self.listView.currentItem()
+            item = self.list_view.currentItem()
             filename = item.data(QtCore.Qt.UserRole)
             if os.path.exists(filename):
                 service_item = ServiceItem()
@@ -161,10 +164,13 @@
                     translate('MediaPlugin.MediaItem',
                     'There was a problem replacing your background, the media file "%s" no longer exists.') % filename)
 
-    def generateSlideData(self, service_item, item=None, xmlVersion=False, remote=False,
+    def generate_slide_data(self, service_item, item=None, xmlVersion=False, remote=False,
             context=ServiceItemContext.Live):
+        """
+        Generate the slide data. Needs to be implemented by the plugin.
+        """
         if item is None:
-            item = self.listView.currentItem()
+            item = self.list_view.currentItem()
             if item is None:
                 return False
         filename = item.data(QtCore.Qt.UserRole)
@@ -187,18 +193,18 @@
         service_item.add_capability(ItemCapabilities.CanAutoStartForLive)
         service_item.add_capability(ItemCapabilities.RequiresMedia)
         service_item.add_capability(ItemCapabilities.HasDetailedTitleDisplay)
-        if Settings().value(self.settingsSection + u'/media auto start') == QtCore.Qt.Checked:
+        if Settings().value(self.settings_section + u'/media auto start') == QtCore.Qt.Checked:
             service_item.will_auto_start = True
             # force a non-existent theme
         service_item.theme = -1
         return True
 
     def initialise(self):
-        self.listView.clear()
-        self.listView.setIconSize(QtCore.QSize(88, 50))
-        self.servicePath = os.path.join(AppLocation.get_section_data_path(self.settingsSection), u'thumbnails')
+        self.list_view.clear()
+        self.list_view.setIconSize(QtCore.QSize(88, 50))
+        self.servicePath = os.path.join(AppLocation.get_section_data_path(self.settings_section), u'thumbnails')
         check_directory_exists(self.servicePath)
-        self.loadList(Settings().value(self.settingsSection + u'/media files'))
+        self.load_list(Settings().value(self.settings_section + u'/media files'))
         self.populateDisplayTypes()
 
     def rebuild_players(self):
@@ -207,7 +213,7 @@
         the settings
         """
         self.populateDisplayTypes()
-        self.onNewFileMasks = translate('MediaPlugin.MediaItem', 'Videos (%s);;Audio (%s);;%s (*)') % (
+        self.on_new_file_masks = translate('MediaPlugin.MediaItem', 'Videos (%s);;Audio (%s);;%s (*)') % (
             u' '.join(self.media_controller.video_extensions_list),
             u' '.join(self.media_controller.audio_extensions_list), UiStrings().AllFiles)
 
@@ -240,19 +246,19 @@
             self.mediaWidget.hide()
         self.displayTypeComboBox.blockSignals(False)
 
-    def onDeleteClick(self):
+    def on_delete_click(self):
         """
         Remove a media item from the list.
         """
-        if check_item_selected(self.listView,
+        if check_item_selected(self.list_view,
                 translate('MediaPlugin.MediaItem', 'You must select a media file to delete.')):
-            row_list = [item.row() for item in self.listView.selectedIndexes()]
+            row_list = [item.row() for item in self.list_view.selectedIndexes()]
             row_list.sort(reverse=True)
             for row in row_list:
-                self.listView.takeItem(row)
-            Settings().setValue(self.settingsSection + u'/media files', self.getFileList())
+                self.list_view.takeItem(row)
+            Settings().setValue(self.settings_section + u'/media files', self.get_file_list())
 
-    def loadList(self, media, target_group=None):
+    def load_list(self, media, target_group=None):
         # Sort the media by its filename considering language specific
         # characters.
         media.sort(cmp=locale_compare, key=lambda filename: os.path.split(unicode(filename))[1])
@@ -277,10 +283,10 @@
                 item_name.setIcon(build_icon(DVDICON))
                 item_name.setData(QtCore.Qt.UserRole, track)
             item_name.setToolTip(track)
-            self.listView.addItem(item_name)
+            self.list_view.addItem(item_name)
 
     def getList(self, type=MediaType.Audio):
-        media = Settings().value(self.settingsSection + u'/media files')
+        media = Settings().value(self.settings_section + u'/media files')
         media.sort(cmp=locale_compare, key=lambda filename: os.path.split(unicode(filename))[1])
         ext = []
         if type == MediaType.Audio:
@@ -292,7 +298,7 @@
         return media
 
     def search(self, string, showError):
-        files = Settings().value(self.settingsSection + u'/media files')
+        files = Settings().value(self.settings_section + u'/media files')
         results = []
         string = string.lower()
         for file in files:

=== modified file 'openlp/plugins/media/mediaplugin.py'
--- openlp/plugins/media/mediaplugin.py	2013-02-19 21:23:56 +0000
+++ openlp/plugins/media/mediaplugin.py	2013-03-20 05:48:24 +0000
@@ -40,7 +40,7 @@
 __default_settings__ = {
         u'media/media auto start': QtCore.Qt.Unchecked,
         u'media/media files': []
-    }
+}
 
 
 class MediaPlugin(Plugin):
@@ -49,17 +49,17 @@
     def __init__(self):
         Plugin.__init__(self, u'media', __default_settings__, MediaMediaItem)
         self.weight = -6
-        self.iconPath = u':/plugins/plugin_media.png'
-        self.icon = build_icon(self.iconPath)
+        self.icon_path = u':/plugins/plugin_media.png'
+        self.icon = build_icon(self.icon_path)
         # passed with drag and drop messages
         self.dnd_id = u'Media'
 
-    def createSettingsTab(self, parent):
+    def create_settings_Tab(self, parent):
         """
         Create the settings Tab
         """
-        visible_name = self.getString(StringContent.VisibleName)
-        self.settingsTab = MediaTab(parent, self.name, visible_name[u'title'], self.iconPath)
+        visible_name = self.get_string(StringContent.VisibleName)
+        self.settings_tab = MediaTab(parent, self.name, visible_name[u'title'], self.icon_path)
 
     def about(self):
         about_text = translate('MediaPlugin', '<strong>Media Plugin</strong>'
@@ -71,12 +71,12 @@
         Called to define all translatable texts of the plugin
         """
         ## Name PluginList ##
-        self.textStrings[StringContent.Name] = {
+        self.text_strings[StringContent.Name] = {
             u'singular': translate('MediaPlugin', 'Media', 'name singular'),
             u'plural': translate('MediaPlugin', 'Media', 'name plural')
         }
         ## Name for MediaDockManager, SettingsManager ##
-        self.textStrings[StringContent.VisibleName] = {
+        self.text_strings[StringContent.VisibleName] = {
             u'title': translate('MediaPlugin', 'Media', 'container title')
         }
         # Middle Header Bar
@@ -90,7 +90,7 @@
             u'live': translate('MediaPlugin', 'Send the selected media live.'),
             u'service': translate('MediaPlugin', 'Add the selected media to the service.')
         }
-        self.setPluginUiTextStrings(tooltips)
+        self.set_plugin_ui_text_strings(tooltips)
 
     def finalise(self):
         """
@@ -100,19 +100,19 @@
         self.media_controller.finalise()
         Plugin.finalise(self)
 
-    def getDisplayCss(self):
+    def get_display_css(self):
         """
         Add css style sheets to htmlbuilder
         """
         return self.media_controller.get_media_display_css()
 
-    def getDisplayJavaScript(self):
+    def get_display_javascript(self):
         """
         Add javascript functions to htmlbuilder
         """
         return self.media_controller.get_media_display_javascript()
 
-    def getDisplayHtml(self):
+    def get_display_html(self):
         """
         Add html code to htmlbuilder
         """
@@ -126,7 +126,7 @@
         """
         Plugin.app_startup(self)
         settings = Settings()
-        settings.beginGroup(self.settingsSection)
+        settings.beginGroup(self.settings_section)
         if settings.contains(u'use phonon'):
             log.info(u'Found old Phonon setting')
             players = self.media_controller.mediaPlayers.keys()
@@ -137,7 +137,7 @@
                 if players:
                     new_players = [player for player in players if player != u'phonon']
                 new_players.insert(0, u'phonon')
-                self.media_controller.mediaPlayers[u'phonon'].isActive = True
+                self.media_controller.mediaPlayers[u'phonon'].is_active = True
                 settings.setValue(u'players', u','.join(new_players))
                 self.settingsTab.load()
             settings.remove(u'use phonon')

=== modified file 'openlp/plugins/presentations/lib/mediaitem.py'
--- openlp/plugins/presentations/lib/mediaitem.py	2013-03-18 14:11:58 +0000
+++ openlp/plugins/presentations/lib/mediaitem.py	2013-03-20 05:48:24 +0000
@@ -54,22 +54,22 @@
         Constructor. Setup defaults
         """
         self.controllers = controllers
-        self.IconPath = u'presentations/presentation'
+        self.icon_path = u'presentations/presentation'
         self.Automatic = u''
         MediaManagerItem.__init__(self, parent, plugin)
         self.message_listener = MessageListener(self)
         self.hasSearch = True
-        self.singleServiceItem = False
+        self.single_service_item = False
         Registry().register_function(u'mediaitem_presentation_rebuild', self.populate_display_types)
         Registry().register_function(u'mediaitem_suffixes', self.build_file_mask_string)
         # Allow DnD from the desktop
-        self.listView.activateDnD()
+        self.list_view.activateDnD()
 
     def retranslateUi(self):
         """
         The name of the plugin media displayed in UI
         """
-        self.onNewPrompt = translate('PresentationPlugin.MediaItem', 'Select Presentation(s)')
+        self.on_new_prompt = translate('PresentationPlugin.MediaItem', 'Select Presentation(s)')
         self.Automatic = translate('PresentationPlugin.MediaItem', 'Automatic')
         self.displayTypeLabel.setText(translate('PresentationPlugin.MediaItem', 'Present using:'))
 
@@ -85,18 +85,18 @@
                     if fileType.find(type) == -1:
                         fileType += u'*.%s ' % type
                         self.service_manager.supported_suffixes(type)
-        self.onNewFileMasks = translate('PresentationPlugin.MediaItem', 'Presentations (%s)') % fileType
+        self.on_new_file_masks = translate('PresentationPlugin.MediaItem', 'Presentations (%s)') % fileType
 
-    def requiredIcons(self):
+    def required_icons(self):
         """
         Set which icons the media manager tab should show
         """
-        MediaManagerItem.requiredIcons(self)
-        self.hasFileIcon = True
-        self.hasNewIcon = False
-        self.hasEditIcon = False
+        MediaManagerItem.required_icons(self)
+        self.has_file_icon = True
+        self.has_new_icon = False
+        self.has_edit_icon = False
 
-    def addEndHeaderBar(self):
+    def add_end_header_bar(self):
         """
         Display custom media manager items for presentations
         """
@@ -112,15 +112,15 @@
         self.displayTypeLabel.setBuddy(self.displayTypeComboBox)
         self.displayLayout.addRow(self.displayTypeLabel, self.displayTypeComboBox)
         # Add the Presentation widget to the page layout
-        self.pageLayout.addWidget(self.presentationWidget)
+        self.page_layout.addWidget(self.presentationWidget)
 
     def initialise(self):
         """
         Populate the media manager tab
         """
-        self.listView.setIconSize(QtCore.QSize(88, 50))
-        files = Settings().value(self.settingsSection + u'/presentations files')
-        self.loadList(files, initialLoad=True)
+        self.list_view.setIconSize(QtCore.QSize(88, 50))
+        files = Settings().value(self.settings_section + u'/presentations files')
+        self.load_list(files, initialLoad=True)
         self.populate_display_types()
 
     def populate_display_types(self):
@@ -136,18 +136,18 @@
         if self.displayTypeComboBox.count() > 1:
             self.displayTypeComboBox.insertItem(0, self.Automatic)
             self.displayTypeComboBox.setCurrentIndex(0)
-        if Settings().value(self.settingsSection + u'/override app') == QtCore.Qt.Checked:
+        if Settings().value(self.settings_section + u'/override app') == QtCore.Qt.Checked:
             self.presentationWidget.show()
         else:
             self.presentationWidget.hide()
 
-    def loadList(self, files, target_group=None, initialLoad=False):
+    def load_list(self, files, target_group=None, initialLoad=False):
         """
         Add presentations into the media manager
         This is called both on initial load of the plugin to populate with
         existing files, and when the user adds new files via the media manager
         """
-        currlist = self.getFileList()
+        currlist = self.get_file_list()
         titles = [os.path.split(file)[1] for file in currlist]
         self.application.set_busy_cursor()
         if not initialLoad:
@@ -166,7 +166,7 @@
                 item_name.setIcon(build_icon(ERROR))
                 item_name.setData(QtCore.Qt.UserRole, file)
                 item_name.setToolTip(file)
-                self.listView.addItem(item_name)
+                self.list_view.addItem(item_name)
             else:
                 if titles.count(filename) > 0:
                     if not initialLoad:
@@ -203,17 +203,17 @@
                 item_name.setData(QtCore.Qt.UserRole, file)
                 item_name.setIcon(icon)
                 item_name.setToolTip(file)
-                self.listView.addItem(item_name)
+                self.list_view.addItem(item_name)
         if not initialLoad:
             self.main_window.finished_progress_bar()
         self.application.set_normal_cursor()
 
-    def onDeleteClick(self):
+    def on_delete_click(self):
         """
         Remove a presentation item from the list
         """
-        if check_item_selected(self.listView, UiStrings().SelectDelete):
-            items = self.listView.selectedIndexes()
+        if check_item_selected(self.list_view, UiStrings().SelectDelete):
+            items = self.list_view.selectedIndexes()
             row_list = [item.row() for item in items]
             row_list.sort(reverse=True)
             self.application.set_busy_cursor()
@@ -228,10 +228,10 @@
             self.main_window.finished_progress_bar()
             self.application.set_busy_cursor()
             for row in row_list:
-                self.listView.takeItem(row)
-            Settings().setValue(self.settingsSection + u'/presentations files', self.getFileList())
+                self.list_view.takeItem(row)
+            Settings().setValue(self.settings_section + u'/presentations files', self.get_file_list())
 
-    def generateSlideData(self, service_item, item=None, xmlVersion=False,
+    def generate_slide_data(self, service_item, item=None, xmlVersion=False,
         remote=False, context=ServiceItemContext.Service):
         """
         Load the relevant information for displaying the presentation
@@ -241,7 +241,7 @@
         if item:
             items = [item]
         else:
-            items = self.listView.selectedItems()
+            items = self.list_view.selectedItems()
             if len(items) > 1:
                 return False
         service_item.title = self.displayTypeComboBox.currentText()
@@ -308,7 +308,7 @@
         return None
 
     def search(self, string, showError):
-        files = Settings().value(self.settingsSection + u'/presentations files')
+        files = Settings().value(self.settings_section + u'/presentations files')
         results = []
         string = string.lower()
         for file in files:

=== modified file 'openlp/plugins/presentations/lib/messagelistener.py'
--- openlp/plugins/presentations/lib/messagelistener.py	2013-03-07 11:01:06 +0000
+++ openlp/plugins/presentations/lib/messagelistener.py	2013-03-20 05:48:24 +0000
@@ -288,9 +288,9 @@
     """
     log.info(u'Message Listener loaded')
 
-    def __init__(self, mediaitem):
-        self.controllers = mediaitem.controllers
-        self.mediaitem = mediaitem
+    def __init__(self, media_item):
+        self.controllers = media_item.controllers
+        self.media_item = media_item
         self.preview_handler = Controller(False)
         self.live_handler = Controller(True)
         # messages are sent from core.ui.slidecontroller
@@ -319,8 +319,8 @@
         hide_mode = message[2]
         file = item.get_frame_path()
         self.handler = item.title
-        if self.handler == self.mediaitem.Automatic:
-            self.handler = self.mediaitem.findControllerByType(file)
+        if self.handler == self.media_item.Automatic:
+            self.handler = self.media_item.findControllerByType(file)
             if not self.handler:
                 return
         if is_live:

=== modified file 'openlp/plugins/presentations/lib/presentationcontroller.py'
--- openlp/plugins/presentations/lib/presentationcontroller.py	2013-02-07 08:42:17 +0000
+++ openlp/plugins/presentations/lib/presentationcontroller.py	2013-03-20 05:48:24 +0000
@@ -375,7 +375,7 @@
         self.plugin = plugin
         self.name = name
         self.document_class = document_class
-        self.settings_section = self.plugin.settingsSection
+        self.settings_section = self.plugin.settings_section
         self.available = None
         self.temp_folder = os.path.join(AppLocation.get_section_data_path(self.settings_section), name)
         self.thumbnail_folder = os.path.join(AppLocation.get_section_data_path(self.settings_section), u'thumbnails')

=== modified file 'openlp/plugins/presentations/presentationplugin.py'
--- openlp/plugins/presentations/presentationplugin.py	2013-03-16 11:05:52 +0000
+++ openlp/plugins/presentations/presentationplugin.py	2013-03-20 05:48:24 +0000
@@ -66,15 +66,16 @@
         self.controllers = {}
         Plugin.__init__(self, u'presentations', __default_settings__, __default_settings__)
         self.weight = -8
-        self.iconPath = u':/plugins/plugin_presentations.png'
-        self.icon = build_icon(self.iconPath)
+        self.icon_path = u':/plugins/plugin_presentations.png'
+        self.icon = build_icon(self.icon_path)
 
-    def createSettingsTab(self, parent):
+    def create_settings_Tab(self, parent):
         """
         Create the settings Tab
         """
-        visible_name = self.getString(StringContent.VisibleName)
-        self.settingsTab = PresentationTab(parent, self.name, visible_name[u'title'], self.controllers, self.iconPath)
+        visible_name = self.get_string(StringContent.VisibleName)
+        self.settings_tab = PresentationTab(parent, self.name, visible_name[u'title'], self.controllers,
+                                             self.icon_path)
 
     def initialise(self):
         """
@@ -90,7 +91,7 @@
                 except Exception:
                     log.warn(u'Failed to start controller process')
                     self.controllers[controller].available = False
-        self.mediaItem.build_file_mask_string()
+        self.media_item.build_file_mask_string()
 
     def finalise(self):
         """
@@ -105,26 +106,25 @@
                 controller.kill()
         Plugin.finalise(self)
 
-    def createMediaManagerItem(self):
+    def create_media_manager_item(self):
         """
         Create the Media Manager List
         """
-        self.mediaItem = PresentationMediaItem(
+        self.media_item = PresentationMediaItem(
             self.main_window.media_dock_manager.media_dock, self, self.icon, self.controllers)
 
-    def registerControllers(self, controller):
+    def register_controllers(self, controller):
         """
-        Register each presentation controller (Impress, PPT etc) and
-        store for later use
+        Register each presentation controller (Impress, PPT etc) and store for later use
         """
         self.controllers[controller.name] = controller
 
-    def checkPreConditions(self):
+    def check_pre_conditions(self):
         """
         Check to see if we have any presentation software available
         If Not do not install the plugin.
         """
-        log.debug(u'checkPreConditions')
+        log.debug(u'check_pre_conditions')
         controller_dir = os.path.join(
             AppLocation.get_directory(AppLocation.PluginsDir),
             u'presentations', u'lib')
@@ -141,7 +141,7 @@
         controller_classes = PresentationController.__subclasses__()
         for controller_class in controller_classes:
             controller = controller_class(self)
-            self.registerControllers(controller)
+            self.register_controllers(controller)
         return bool(self.controllers)
 
     def about(self):
@@ -160,12 +160,12 @@
         Called to define all translatable texts of the plugin
         """
         ## Name PluginList ##
-        self.textStrings[StringContent.Name] = {
+        self.text_strings[StringContent.Name] = {
             u'singular': translate('PresentationPlugin', 'Presentation', 'name singular'),
             u'plural': translate('PresentationPlugin', 'Presentations', 'name plural')
         }
         ## Name for MediaDockManager, SettingsManager ##
-        self.textStrings[StringContent.VisibleName] = {
+        self.text_strings[StringContent.VisibleName] = {
             u'title': translate('PresentationPlugin', 'Presentations', 'container title')
         }
         # Middle Header Bar
@@ -179,4 +179,4 @@
             u'live': translate('PresentationPlugin', 'Send the selected presentation live.'),
             u'service': translate('PresentationPlugin', 'Add the selected presentation to the service.')
         }
-        self.setPluginUiTextStrings(tooltips)
+        self.set_plugin_ui_text_strings(tooltips)

=== modified file 'openlp/plugins/remotes/lib/httpserver.py'
--- openlp/plugins/remotes/lib/httpserver.py	2013-03-10 20:19:42 +0000
+++ openlp/plugins/remotes/lib/httpserver.py	2013-03-20 05:48:24 +0000
@@ -171,8 +171,8 @@
         clients. Listen out for socket connections.
         """
         log.debug(u'Start TCP server')
-        port = Settings().value(self.plugin.settingsSection + u'/port')
-        address = Settings().value(self.plugin.settingsSection + u'/ip address')
+        port = Settings().value(self.plugin.settings_section + u'/port')
+        address = Settings().value(self.plugin.settings_section + u'/ip address')
         self.server = QtNetwork.QTcpServer()
         self.server.listen(QtNetwork.QHostAddress(address), port)
         self.server.newConnection.connect(self.new_connection)
@@ -492,7 +492,7 @@
         if action == u'search':
             searches = []
             for plugin in self.plugin_manager.plugins:
-                if plugin.status == PluginStatus.Active and plugin.mediaItem and plugin.mediaItem.hasSearch:
+                if plugin.status == PluginStatus.Active and plugin.media_item and plugin.mediaItem.hasSearch:
                     searches.append([plugin.name, unicode(plugin.textStrings[StringContent.Name][u'plural'])])
             return HttpResponse(json.dumps({u'results': {u'items': searches}}), {u'Content-Type': u'application/json'})
 
@@ -509,8 +509,8 @@
             return HttpResponse(code=u'400 Bad Request')
         text = urllib.unquote(text)
         plugin = self.plugin_manager.get_plugin_by_name(plugin_name)
-        if plugin.status == PluginStatus.Active and plugin.mediaItem and plugin.mediaItem.hasSearch:
-            results = plugin.mediaItem.search(text, False)
+        if plugin.status == PluginStatus.Active and plugin.media_item and plugin.mediaItem.hasSearch:
+            results = plugin.media_item.search(text, False)
         else:
             results = []
         return HttpResponse(json.dumps({u'results': {u'items': results}}), {u'Content-Type': u'application/json'})
@@ -524,8 +524,8 @@
         except KeyError, ValueError:
             return HttpResponse(code=u'400 Bad Request')
         plugin = self.plugin_manager.get_plugin_by_name(plugin_name)
-        if plugin.status == PluginStatus.Active and plugin.mediaItem:
-            plugin.mediaItem.goLive(id, remote=True)
+        if plugin.status == PluginStatus.Active and plugin.media_item:
+            plugin.media_item.go_live(id, remote=True)
         return HttpResponse(code=u'200 OK')
 
     def add_to_service(self, plugin_name):
@@ -537,9 +537,9 @@
         except KeyError, ValueError:
             return HttpResponse(code=u'400 Bad Request')
         plugin = self.plugin_manager.get_plugin_by_name(plugin_name)
-        if plugin.status == PluginStatus.Active and plugin.mediaItem:
-            item_id = plugin.mediaItem.createItemFromId(id)
-            plugin.mediaItem.addToService(item_id, remote=True)
+        if plugin.status == PluginStatus.Active and plugin.media_item:
+            item_id = plugin.media_item.createItemFromId(id)
+            plugin.media_item.add_to_service(item_id, remote=True)
         return HttpResponse(code=u'200 OK')
 
     def send_response(self, response):

=== modified file 'openlp/plugins/remotes/remoteplugin.py'
--- openlp/plugins/remotes/remoteplugin.py	2013-03-17 09:21:18 +0000
+++ openlp/plugins/remotes/remoteplugin.py	2013-03-20 05:48:24 +0000
@@ -49,8 +49,8 @@
         remotes constructor
         """
         Plugin.__init__(self, u'remotes', __default_settings__, settings_tab_class=RemoteTab)
-        self.iconPath = u':/plugins/plugin_remote.png'
-        self.icon = build_icon(self.iconPath)
+        self.icon_path = u':/plugins/plugin_remote.png'
+        self.icon = build_icon(self.icon_path)
         self.weight = -1
         self.server = None
 
@@ -86,12 +86,12 @@
         Called to define all translatable texts of the plugin
         """
         ## Name PluginList ##
-        self.textStrings[StringContent.Name] = {
+        self.text_strings[StringContent.Name] = {
             u'singular': translate('RemotePlugin', 'Remote', 'name singular'),
             u'plural': translate('RemotePlugin', 'Remotes', 'name plural')
         }
         ## Name for MediaDockManager, SettingsManager ##
-        self.textStrings[StringContent.VisibleName] = {
+        self.text_strings[StringContent.VisibleName] = {
             u'title': translate('RemotePlugin', 'Remote', 'container title')
         }
 

=== modified file 'openlp/plugins/songs/forms/editsongform.py'
--- openlp/plugins/songs/forms/editsongform.py	2013-03-18 11:23:29 +0000
+++ openlp/plugins/songs/forms/editsongform.py	2013-03-20 05:48:24 +0000
@@ -59,12 +59,12 @@
     """
     log.info(u'%s EditSongForm loaded', __name__)
 
-    def __init__(self, mediaitem, parent, manager):
+    def __init__(self, media_item, parent, manager):
         """
         Constructor
         """
         super(EditSongForm, self).__init__(parent)
-        self.mediaitem = mediaitem
+        self.media_item = media_item
         self.song = None
         # can this be automated?
         self.width = 400
@@ -320,7 +320,7 @@
         for plugin in self.plugin_manager.plugins:
             if plugin.name == u'media' and plugin.status == PluginStatus.Active:
                 self.from_media_button.setVisible(True)
-                self.media_form.populateFiles(plugin.mediaItem.getList(MediaType.Audio))
+                self.media_form.populateFiles(plugin.media_item.getList(MediaType.Audio))
                 break
 
     def new_song(self):
@@ -714,7 +714,7 @@
         text = self.song_book_combo_box.currentText()
         if item == 0 and text:
             temp_song_book = text
-        self.mediaitem.songMaintenanceForm.exec_(True)
+        self.media_item.songMaintenanceForm.exec_(True)
         self.load_authors()
         self.load_books()
         self.load_topics()
@@ -884,7 +884,7 @@
         self.manager.save_object(self.song)
         audio_files = map(lambda a: a.file_name, self.song.media_files)
         log.debug(audio_files)
-        save_path = os.path.join(AppLocation.get_section_data_path(self.mediaitem.plugin.name), 'audio',
+        save_path = os.path.join(AppLocation.get_section_data_path(self.media_item.plugin.name), 'audio',
             str(self.song.id))
         check_directory_exists(save_path)
         self.song.media_files = []
@@ -914,7 +914,7 @@
                 log.exception(u'Could not remove directory: %s', save_path)
         clean_song(self.manager, self.song)
         self.manager.save_object(self.song)
-        self.mediaitem.autoSelectId = self.song.id
+        self.media_item.autoSelectId = self.song.id
 
     def _get_plugin_manager(self):
         """

=== modified file 'openlp/plugins/songs/forms/songimportform.py'
--- openlp/plugins/songs/forms/songimportform.py	2013-03-14 22:22:18 +0000
+++ openlp/plugins/songs/forms/songimportform.py	2013-03-20 05:48:24 +0000
@@ -245,10 +245,10 @@
             filters += u';;'
         filters += u'%s (*)' % UiStrings().AllFiles
         filenames = QtGui.QFileDialog.getOpenFileNames(self, title,
-            Settings().value(self.plugin.settingsSection + u'/last directory import'), filters)
+            Settings().value(self.plugin.settings_section + u'/last directory import'), filters)
         if filenames:
             listbox.addItems(filenames)
-            Settings().setValue(self.plugin.settingsSection + u'/last directory import',
+            Settings().setValue(self.plugin.settings_section + u'/last directory import',
                 os.path.split(unicode(filenames[0]))[0])
 
     def get_list_of_files(self, listbox):
@@ -364,7 +364,7 @@
         Save the error report to a file.
         """
         filename = QtGui.QFileDialog.getSaveFileName(self,
-            Settings().value(self.plugin.settingsSection + u'/last directory import'))
+            Settings().value(self.plugin.settings_section + u'/last directory import'))
         if not filename:
             return
         report_file = codecs.open(filename, u'w', u'utf-8')

=== modified file 'openlp/plugins/songs/lib/mediaitem.py'
--- openlp/plugins/songs/lib/mediaitem.py	2013-03-18 14:11:58 +0000
+++ openlp/plugins/songs/lib/mediaitem.py	2013-03-20 05:48:24 +0000
@@ -70,17 +70,17 @@
     log.info(u'Song Media Item loaded')
 
     def __init__(self, parent, plugin):
-        self.IconPath = u'songs/song'
+        self.icon_path = u'songs/song'
         MediaManagerItem.__init__(self, parent, plugin)
         self.editSongForm = EditSongForm(self, self.main_window, self.plugin.manager)
         self.openLyrics = OpenLyrics(self.plugin.manager)
-        self.singleServiceItem = False
+        self.single_service_item = False
         self.songMaintenanceForm = SongMaintenanceForm(self.plugin.manager, self)
         # Holds information about whether the edit is remotely triggered and
         # which Song is required.
         self.remoteSong = -1
         self.editItem = None
-        self.quickPreviewAllowed = True
+        self.quick_preview_allowed = True
         self.hasSearch = True
 
     def _updateBackgroundAudio(self, song, item):
@@ -95,47 +95,47 @@
                 weight=i, file_name=dest_file))
         self.plugin.manager.save_object(song, True)
 
-    def addEndHeaderBar(self):
+    def add_end_header_bar(self):
         self.toolbar.addSeparator()
         ## Song Maintenance Button ##
         self.maintenanceAction = self.toolbar.add_toolbar_action('maintenanceAction',
             icon=':/songs/song_maintenance.png',
             triggers=self.onSongMaintenanceClick)
-        self.addSearchToToolBar()
+        self.add_search_to_toolbar()
         # Signals and slots
         Registry().register_function(u'songs_load_list', self.on_song_list_load)
-        Registry().register_function(u'songs_preview', self.onPreviewClick)
-        QtCore.QObject.connect(self.searchTextEdit, QtCore.SIGNAL(u'cleared()'), self.onClearTextButtonClick)
-        QtCore.QObject.connect(self.searchTextEdit, QtCore.SIGNAL(u'searchTypeChanged(int)'),
-            self.onSearchTextButtonClicked)
+        Registry().register_function(u'songs_preview', self.on_preview_click)
+        QtCore.QObject.connect(self.search_text_edit, QtCore.SIGNAL(u'cleared()'), self.onClearTextButtonClick)
+        QtCore.QObject.connect(self.search_text_edit, QtCore.SIGNAL(u'searchTypeChanged(int)'),
+            self.on_search_text_button_clicked)
 
-    def addCustomContextActions(self):
-        create_widget_action(self.listView, separator=True)
-        create_widget_action(self.listView,
+    def add_custom_context_actions(self):
+        create_widget_action(self.list_view, separator=True)
+        create_widget_action(self.list_view,
             text=translate('OpenLP.MediaManagerItem', '&Clone'), icon=u':/general/general_clone.png',
             triggers=self.onCloneClick)
 
     def onFocus(self):
-        self.searchTextEdit.setFocus()
+        self.search_text_edit.setFocus()
 
     def config_update(self):
         """
         IS triggered when the songs config is updated
         """
         log.debug(u'config_updated')
-        self.searchAsYouType = Settings().value(self.settingsSection + u'/search as type')
-        self.updateServiceOnEdit = Settings().value(self.settingsSection + u'/update service on edit')
-        self.addSongFromService = Settings().value(self.settingsSection + u'/add song from service',)
+        self.searchAsYouType = Settings().value(self.settings_section + u'/search as type')
+        self.updateServiceOnEdit = Settings().value(self.settings_section + u'/update service on edit')
+        self.addSongFromService = Settings().value(self.settings_section + u'/add song from service',)
 
     def retranslateUi(self):
-        self.searchTextLabel.setText(u'%s:' % UiStrings().Search)
-        self.searchTextButton.setText(UiStrings().Search)
+        self.search_text_label.setText(u'%s:' % UiStrings().Search)
+        self.search_text_button.setText(UiStrings().Search)
         self.maintenanceAction.setText(SongStrings.SongMaintenance)
         self.maintenanceAction.setToolTip(translate('SongsPlugin.MediaItem',
             'Maintain the lists of authors, topics and books.'))
 
     def initialise(self):
-        self.searchTextEdit.set_search_types([
+        self.search_text_edit.set_search_types([
             (SongSearch.Entire, u':/songs/song_search_all.png',
                 translate('SongsPlugin.MediaItem', 'Entire Song'),
                 translate('SongsPlugin.MediaItem', 'Search Entire Song...')),
@@ -152,16 +152,16 @@
             (SongSearch.Themes, u':/slides/slide_theme.png',
             UiStrings().Themes, UiStrings().SearchThemes)
         ])
-        self.searchTextEdit.set_current_search_type(Settings().value(u'%s/last search type' % self.settingsSection))
+        self.search_text_edit.set_current_search_type(Settings().value(u'%s/last search type' % self.settings_section))
         self.config_update()
 
-    def onSearchTextButtonClicked(self):
+    def on_search_text_button_clicked(self):
         # Save the current search type to the configuration.
-        Settings().setValue(u'%s/last search type' % self.settingsSection, self.searchTextEdit.current_search_type())
+        Settings().setValue(u'%s/last search type' % self.settings_section, self.search_text_edit.current_search_type())
         # Reload the list considering the new search type.
-        search_keywords = unicode(self.searchTextEdit.displayText())
+        search_keywords = unicode(self.search_text_edit.displayText())
         search_results = []
-        search_type = self.searchTextEdit.current_search_type()
+        search_type = self.search_text_edit.current_search_type()
         if search_type == SongSearch.Entire:
             log.debug(u'Entire Song Search')
             search_results = self.searchEntire(search_keywords)
@@ -197,7 +197,7 @@
             search_results = self.plugin.manager.get_all_objects(Song,
                 Song.theme_name.like(u'%' + search_keywords + u'%'))
             self.displayResultsSong(search_results)
-        self.checkSearchResult()
+        self.check_search_result()
 
     def searchEntire(self, search_keywords):
         return self.plugin.manager.get_all_objects(Song,
@@ -215,16 +215,16 @@
         # or from the exit of the Song edit dialog. If remote editing is active
         # Trigger it and clean up so it will not update again.
         # Push edits to the service manager to update items
-        if self.editItem and self.updateServiceOnEdit and not self.remoteTriggered:
-            item = self.buildServiceItem(self.editItem)
+        if self.editItem and self.updateServiceOnEdit and not self.remote_triggered:
+            item = self.build_service_item(self.editItem)
             self.service_manager.replace_service_item(item)
-        self.onSearchTextButtonClicked()
+        self.on_search_text_button_clicked()
         log.debug(u'on_song_list_load - finished')
 
     def displayResultsSong(self, searchresults):
         log.debug(u'display results Song')
-        self.saveAutoSelectId()
-        self.listView.clear()
+        self.save_auto_select_id()
+        self.list_view.clear()
         searchresults.sort(cmp=natcmp, key=lambda song: song.sort_key)
         for song in searchresults:
             # Do not display temporary songs
@@ -235,15 +235,15 @@
             song_detail = u'%s (%s)' % (song_title, create_separated_list(author_list))
             song_name = QtGui.QListWidgetItem(song_detail)
             song_name.setData(QtCore.Qt.UserRole, song.id)
-            self.listView.addItem(song_name)
+            self.list_view.addItem(song_name)
             # Auto-select the item if name has been set
             if song.id == self.autoSelectId:
-                self.listView.setCurrentItem(song_name)
+                self.list_view.setCurrentItem(song_name)
         self.autoSelectId = -1
 
     def displayResultsAuthor(self, searchresults):
         log.debug(u'display results Author')
-        self.listView.clear()
+        self.list_view.clear()
         for author in searchresults:
             for song in author.songs:
                 # Do not display temporary songs
@@ -252,11 +252,11 @@
                 song_detail = u'%s (%s)' % (author.display_name, song.title)
                 song_name = QtGui.QListWidgetItem(song_detail)
                 song_name.setData(QtCore.Qt.UserRole, song.id)
-                self.listView.addItem(song_name)
+                self.list_view.addItem(song_name)
 
     def displayResultsBook(self, searchresults, song_number=False):
         log.debug(u'display results Book')
-        self.listView.clear()
+        self.list_view.clear()
         for book in searchresults:
             songs = sorted(book.songs, key=lambda song:
                 int(re.match(r'[0-9]+', u'0' + song.song_number).group()))
@@ -269,16 +269,16 @@
                 song_detail = u'%s - %s (%s)' % (book.name, song.song_number, song.title)
                 song_name = QtGui.QListWidgetItem(song_detail)
                 song_name.setData(QtCore.Qt.UserRole, song.id)
-                self.listView.addItem(song_name)
+                self.list_view.addItem(song_name)
 
     def onClearTextButtonClick(self):
         """
         Clear the search text.
         """
-        self.searchTextEdit.clear()
-        self.onSearchTextButtonClicked()
+        self.search_text_edit.clear()
+        self.on_search_text_button_clicked()
 
-    def onSearchTextEditChanged(self, text):
+    def on_search_text_edit_changed(self, text):
         """
         If search as type enabled invoke the search on each key press.
         If the Lyrics are being searched do not start till 7 characters
@@ -286,33 +286,33 @@
         """
         if self.searchAsYouType:
             search_length = 1
-            if self.searchTextEdit.current_search_type() == SongSearch.Entire:
+            if self.search_text_edit.current_search_type() == SongSearch.Entire:
                 search_length = 4
-            elif self.searchTextEdit.current_search_type() == SongSearch.Lyrics:
+            elif self.search_text_edit.current_search_type() == SongSearch.Lyrics:
                 search_length = 3
             if len(text) > search_length:
-                self.onSearchTextButtonClicked()
+                self.on_search_text_button_clicked()
             elif not text:
                 self.onClearTextButtonClick()
 
-    def onImportClick(self):
+    def on_import_click(self):
         if not hasattr(self, u'import_wizard'):
             self.import_wizard = SongImportForm(self, self.plugin)
         self.import_wizard.exec_()
         # Run song load as list may have been cancelled but some songs loaded
         Registry().execute(u'songs_load_list')
 
-    def onExportClick(self):
+    def on_export_click(self):
         if not hasattr(self, u'exportWizard'):
             self.exportWizard = SongExportForm(self, self.plugin)
         self.exportWizard.exec_()
 
-    def onNewClick(self):
-        log.debug(u'onNewClick')
+    def on_new_click(self):
+        log.debug(u'on_new_click')
         self.editSongForm.new_song()
         self.editSongForm.exec_()
         self.onClearTextButtonClick()
-        self.onSelectionChange()
+        self.on_selection_change()
         self.autoSelectId = -1
 
     def onSongMaintenanceClick(self):
@@ -333,21 +333,21 @@
                 self.autoSelectId = -1
                 self.on_song_list_load()
                 self.remoteSong = song_id
-                self.remoteTriggered = True
-                item = self.buildServiceItem(remote=True)
+                self.remote_triggered = True
+                item = self.build_service_item(remote=True)
                 self.remoteSong = -1
-                self.remoteTriggered = None
+                self.remote_triggered = None
                 if item:
                     return item
         return None
 
-    def onEditClick(self):
+    def on_edit_click(self):
         """
         Edit a song
         """
-        log.debug(u'onEditClick')
-        if check_item_selected(self.listView, UiStrings().SelectEdit):
-            self.editItem = self.listView.currentItem()
+        log.debug(u'on_edit_click')
+        if check_item_selected(self.list_view, UiStrings().SelectEdit):
+            self.editItem = self.list_view.currentItem()
             item_id = self.editItem.data(QtCore.Qt.UserRole)
             self.editSongForm.load_song(item_id, False)
             self.editSongForm.exec_()
@@ -355,12 +355,12 @@
             self.on_song_list_load()
         self.editItem = None
 
-    def onDeleteClick(self):
+    def on_delete_click(self):
         """
         Remove a song from the list and database
         """
-        if check_item_selected(self.listView, UiStrings().SelectDelete):
-            items = self.listView.selectedIndexes()
+        if check_item_selected(self.list_view, UiStrings().SelectDelete):
+            items = self.list_view.selectedIndexes()
             if QtGui.QMessageBox.question(self,
                 UiStrings().ConfirmDelete,
                 translate('SongsPlugin.MediaItem', 'Are you sure you want to delete the %n selected song(s)?', '',
@@ -388,15 +388,15 @@
                 self.main_window.increment_progress_bar()
             self.main_window.finished_progress_bar()
             self.application.set_normal_cursor()
-            self.onSearchTextButtonClicked()
+            self.on_search_text_button_clicked()
 
     def onCloneClick(self):
         """
         Clone a Song
         """
         log.debug(u'onCloneClick')
-        if check_item_selected(self.listView, UiStrings().SelectEdit):
-            self.editItem = self.listView.currentItem()
+        if check_item_selected(self.list_view, UiStrings().SelectEdit):
+            self.editItem = self.list_view.currentItem()
             item_id = self.editItem.data(QtCore.Qt.UserRole)
             old_song = self.plugin.manager.get_object(Song, item_id)
             song_xml = self.openLyrics.song_to_xml(old_song)
@@ -406,10 +406,13 @@
             self.plugin.manager.save_object(new_song)
         self.on_song_list_load()
 
-    def generateSlideData(self, service_item, item=None, xmlVersion=False,
+    def generate_slide_data(self, service_item, item=None, xmlVersion=False,
                 remote=False, context=ServiceItemContext.Service):
-        log.debug(u'generateSlideData: %s, %s, %s' % (service_item, item, self.remoteSong))
-        item_id = self._getIdOfItemToGenerate(item, self.remoteSong)
+        """
+        Generate the slide data. Needs to be implemented by the plugin.
+        """
+        log.debug(u'generate_slide_data: %s, %s, %s' % (service_item, item, self.remoteSong))
+        item_id = self._get_id_of_item_to_generate(item, self.remoteSong)
         service_item.add_capability(ItemCapabilities.CanEdit)
         service_item.add_capability(ItemCapabilities.CanPreview)
         service_item.add_capability(ItemCapabilities.CanLoop)
@@ -478,11 +481,11 @@
             service_item.background_audio = [m.file_name for m in song.media_files]
         return True
 
-    def serviceLoad(self, item):
+    def service_load(self, item):
         """
         Triggered by a song being loaded by the service manager.
         """
-        log.debug(u'serviceLoad')
+        log.debug(u'service_load')
         if self.plugin.status != PluginStatus.Active or not item.data_string:
             return
         if item.data_string[u'title'].find(u'@') == -1:
@@ -522,7 +525,7 @@
             if item.background_audio:
                 self._updateBackgroundAudio(song, item)
             editId = song.id
-            self.onSearchTextButtonClicked()
+            self.on_search_text_button_clicked()
         elif add_song and not self.addSongFromService:
             # Make sure we temporary import formatting tags.
             song = self.openLyrics.xml_to_song(item.xml_version, True)

=== modified file 'openlp/plugins/songs/songsplugin.py'
--- openlp/plugins/songs/songsplugin.py	2013-03-08 08:14:39 +0000
+++ openlp/plugins/songs/songsplugin.py	2013-03-20 05:48:24 +0000
@@ -82,24 +82,27 @@
         Plugin.__init__(self, u'songs', __default_settings__, SongMediaItem, SongsTab)
         self.manager = Manager(u'songs', init_schema, upgrade_mod=upgrade)
         self.weight = -10
-        self.iconPath = u':/plugins/plugin_songs.png'
-        self.icon = build_icon(self.iconPath)
+        self.icon_path = u':/plugins/plugin_songs.png'
+        self.icon = build_icon(self.icon_path)
 
-    def checkPreConditions(self):
+    def check_pre_conditions(self):
+        """
+        Check the plugin can run.
+        """
         return self.manager.session is not None
 
     def initialise(self):
         log.info(u'Songs Initialising')
         Plugin.initialise(self)
-        self.songImportItem.setVisible(True)
-        self.songExportItem.setVisible(True)
-        self.toolsReindexItem.setVisible(True)
+        self.song_import_item.setVisible(True)
+        self.song_export_item.setVisible(True)
+        self.tools_reindex_item.setVisible(True)
         action_list = ActionList.get_instance()
-        action_list.add_action(self.songImportItem, UiStrings().Import)
-        action_list.add_action(self.songExportItem, UiStrings().Export)
-        action_list.add_action(self.toolsReindexItem, UiStrings().Tools)
+        action_list.add_action(self.song_import_item, UiStrings().Import)
+        action_list.add_action(self.song_export_item, UiStrings().Export)
+        action_list.add_action(self.tools_reindex_item, UiStrings().Tools)
 
-    def addImportMenuItem(self, import_menu):
+    def add_import_menu_item(self, import_menu):
         """
         Give the Songs plugin the opportunity to add items to the
         **Import** menu.
@@ -109,13 +112,13 @@
             use it as their parent.
         """
         # Main song import menu item - will eventually be the only one
-        self.songImportItem = create_action(import_menu, u'songImportItem',
+        self.song_import_item = create_action(import_menu, u'songImportItem',
             text=translate('SongsPlugin', '&Song'),
             tooltip=translate('SongsPlugin', 'Import songs using the import wizard.'),
-            triggers=self.onSongImportItemClicked)
-        import_menu.addAction(self.songImportItem)
+            triggers=self.on_song_import_item_clicked)
+        import_menu.addAction(self.song_import_item)
 
-    def addExportMenuItem(self, export_menu):
+    def add_export_menu_Item(self, export_menu):
         """
         Give the Songs plugin the opportunity to add items to the
         **Export** menu.
@@ -125,13 +128,13 @@
             use it as their parent.
         """
         # Main song import menu item - will eventually be the only one
-        self.songExportItem = create_action(export_menu, u'songExportItem',
+        self.song_export_item = create_action(export_menu, u'songExportItem',
             text=translate('SongsPlugin', '&Song'),
             tooltip=translate('SongsPlugin', 'Exports songs using the export wizard.'),
-            triggers=self.onSongExportItemClicked)
-        export_menu.addAction(self.songExportItem)
+            triggers=self.on_song_export_item_clicked)
+        export_menu.addAction(self.song_export_item)
 
-    def addToolsMenuItem(self, tools_menu):
+    def add_tools_menu_item(self, tools_menu):
         """
         Give the alerts plugin the opportunity to add items to the
         **Tools** menu.
@@ -141,38 +144,38 @@
             use it as their parent.
         """
         log.info(u'add tools menu')
-        self.toolsReindexItem = create_action(tools_menu, u'toolsReindexItem',
+        self.tools_reindex_item = create_action(tools_menu, u'toolsReindexItem',
             text=translate('SongsPlugin', '&Re-index Songs'),
             icon=u':/plugins/plugin_songs.png',
             statustip=translate('SongsPlugin', 'Re-index the songs database to improve searching and ordering.'),
-            visible=False, triggers=self.onToolsReindexItemTriggered)
-        tools_menu.addAction(self.toolsReindexItem)
+            visible=False, triggers=self.on_tools_reindex_item_triggered)
+        tools_menu.addAction(self.tools_reindex_item)
 
-    def onToolsReindexItemTriggered(self):
+    def on_tools_reindex_item_triggered(self):
         """
         Rebuild each song.
         """
         maxSongs = self.manager.get_object_count(Song)
         if maxSongs == 0:
             return
-        progressDialog = QtGui.QProgressDialog(translate('SongsPlugin', 'Reindexing songs...'), UiStrings().Cancel,
+        progress_dialog = QtGui.QProgressDialog(translate('SongsPlugin', 'Reindexing songs...'), UiStrings().Cancel,
             0, maxSongs, self.main_window)
-        progressDialog.setWindowTitle(translate('SongsPlugin', 'Reindexing songs'))
-        progressDialog.setWindowModality(QtCore.Qt.WindowModal)
+        progress_dialog.setWindowTitle(translate('SongsPlugin', 'Reindexing songs'))
+        progress_dialog.setWindowModality(QtCore.Qt.WindowModal)
         songs = self.manager.get_all_objects(Song)
         for number, song in enumerate(songs):
             clean_song(self.manager, song)
-            progressDialog.setValue(number + 1)
+            progress_dialog.setValue(number + 1)
         self.manager.save_objects(songs)
-        self.mediaItem.onSearchTextButtonClicked()
-
-    def onSongImportItemClicked(self):
-        if self.mediaItem:
-            self.mediaItem.onImportClick()
-
-    def onSongExportItemClicked(self):
-        if self.mediaItem:
-            self.mediaItem.onExportClick()
+        self.media_item.on_search_text_button_clicked()
+
+    def on_song_import_item_clicked(self):
+        if self.media_item:
+            self.media_item.on_import_click()
+
+    def on_song_export_item_clicked(self):
+        if self.media_item:
+            self.media_item.on_export_click()
 
     def about(self):
         return translate('SongsPlugin', '<strong>Songs Plugin</strong>'
@@ -207,7 +210,7 @@
     def importSongs(self, format, **kwargs):
         class_ = SongFormat.get(format, u'class')
         importer = class_(self.manager, **kwargs)
-        importer.register(self.mediaItem.import_wizard)
+        importer.register(self.media_item.import_wizard)
         return importer
 
     def set_plugin_text_strings(self):
@@ -215,12 +218,12 @@
         Called to define all translatable texts of the plugin
         """
         ## Name PluginList ##
-        self.textStrings[StringContent.Name] = {
+        self.text_strings[StringContent.Name] = {
             u'singular': translate('SongsPlugin', 'Song', 'name singular'),
             u'plural': translate('SongsPlugin', 'Songs', 'name plural')
         }
         ## Name for MediaDockManager, SettingsManager ##
-        self.textStrings[StringContent.VisibleName] = {
+        self.text_strings[StringContent.VisibleName] = {
             u'title': translate('SongsPlugin', 'Songs', 'container title')
         }
         # Middle Header Bar
@@ -235,7 +238,7 @@
             u'service': translate('SongsPlugin',
                 'Add the selected song to the service.')
         }
-        self.setPluginUiTextStrings(tooltips)
+        self.set_plugin_ui_text_strings(tooltips)
 
     def first_time(self):
         """
@@ -243,7 +246,7 @@
         new songs into the database.
         """
         self.application.process_events()
-        self.onToolsReindexItemTriggered()
+        self.on_tools_reindex_item_triggered()
         self.application.process_events()
         db_dir = unicode(os.path.join(unicode(gettempdir(), get_filesystem_encoding()), u'openlp'))
         if not os.path.exists(db_dir):
@@ -272,7 +275,7 @@
             importer.doImport(progress)
             self.application.process_events()
         progress.setValue(song_count)
-        self.mediaItem.onSearchTextButtonClicked()
+        self.media_item.on_search_text_button_clicked()
 
     def finalise(self):
         """
@@ -282,13 +285,13 @@
         self.new_service_created()
         # Clean up files and connections
         self.manager.finalise()
-        self.songImportItem.setVisible(False)
-        self.songExportItem.setVisible(False)
-        self.toolsReindexItem.setVisible(False)
+        self.song_import_item.setVisible(False)
+        self.song_export_item.setVisible(False)
+        self.tools_reindex_item.setVisible(False)
         action_list = ActionList.get_instance()
-        action_list.remove_action(self.songImportItem, UiStrings().Import)
-        action_list.remove_action(self.songExportItem, UiStrings().Export)
-        action_list.remove_action(self.toolsReindexItem, UiStrings().Tools)
+        action_list.remove_action(self.song_import_item, UiStrings().Import)
+        action_list.remove_action(self.song_export_item, UiStrings().Export)
+        action_list.remove_action(self.tools_reindex_item, UiStrings().Tools)
         Plugin.finalise(self)
 
     def new_service_created(self):

=== modified file 'openlp/plugins/songusage/forms/songusagedetailform.py'
--- openlp/plugins/songusage/forms/songusagedetailform.py	2013-02-16 13:02:20 +0000
+++ openlp/plugins/songusage/forms/songusagedetailform.py	2013-03-20 05:48:24 +0000
@@ -58,9 +58,9 @@
         """
         We need to set up the screen
         """
-        self.from_date_calendar.setSelectedDate(Settings().value(self.plugin.settingsSection + u'/from date'))
-        self.to_date_calendar.setSelectedDate(Settings().value(self.plugin.settingsSection + u'/to date'))
-        self.file_line_edit.setText(Settings().value(self.plugin.settingsSection + u'/last directory export'))
+        self.from_date_calendar.setSelectedDate(Settings().value(self.plugin.settings_section + u'/from date'))
+        self.to_date_calendar.setSelectedDate(Settings().value(self.plugin.settings_section + u'/to date'))
+        self.file_line_edit.setText(Settings().value(self.plugin.settings_section + u'/last directory export'))
 
     def define_output_location(self):
         """
@@ -68,9 +68,9 @@
         """
         path = QtGui.QFileDialog.getExistingDirectory(self,
             translate('SongUsagePlugin.SongUsageDetailForm', 'Output File Location'),
-            Settings().value(self.plugin.settingsSection + u'/last directory export'))
+            Settings().value(self.plugin.settings_section + u'/last directory export'))
         if path:
-            Settings().setValue(self.plugin.settingsSection + u'/last directory export', path)
+            Settings().setValue(self.plugin.settings_section + u'/last directory export', path)
             self.file_line_edit.setText(path)
 
     def accept(self):
@@ -90,8 +90,8 @@
         file_name = translate('SongUsagePlugin.SongUsageDetailForm', 'usage_detail_%s_%s.txt') % (
             self.from_date_calendar.selectedDate().toString(u'ddMMyyyy'),
             self.to_date_calendar.selectedDate().toString(u'ddMMyyyy'))
-        Settings().setValue(self.plugin.settingsSection + u'/from date', self.from_date_calendar.selectedDate())
-        Settings().setValue(self.plugin.settingsSection + u'/to date', self.to_date_calendar.selectedDate())
+        Settings().setValue(self.plugin.settings_section + u'/from date', self.from_date_calendar.selectedDate())
+        Settings().setValue(self.plugin.settings_section + u'/to date', self.to_date_calendar.selectedDate())
         usage = self.plugin.manager.get_all_objects(
             SongUsageItem, and_(
             SongUsageItem.usagedate >= self.from_date_calendar.selectedDate().toPyDate(),

=== modified file 'openlp/plugins/songusage/songusageplugin.py'
--- openlp/plugins/songusage/songusageplugin.py	2013-03-16 11:05:52 +0000
+++ openlp/plugins/songusage/songusageplugin.py	2013-03-20 05:48:24 +0000
@@ -64,14 +64,17 @@
         self.manager = Manager(u'songusage', init_schema, upgrade_mod=upgrade)
         self.weight = -4
         self.icon = build_icon(u':/plugins/plugin_songusage.png')
-        self.activeIcon = build_icon(u':/songusage/song_usage_active.png')
-        self.inactiveIcon = build_icon(u':/songusage/song_usage_inactive.png')
+        self.active_icon = build_icon(u':/songusage/song_usage_active.png')
+        self.inactive_icon = build_icon(u':/songusage/song_usage_inactive.png')
         self.song_usage_active = False
 
-    def checkPreConditions(self):
+    def check_pre_conditions(self):
+        """
+        Check the plugin can run.
+        """
         return self.manager.session is not None
 
-    def addToolsMenuItem(self, tools_menu):
+    def add_tools_menu_item(self, tools_menu):
         """
         Give the SongUsage plugin the opportunity to add items to the
         **Tools** menu.
@@ -124,7 +127,7 @@
         Plugin.initialise(self)
         Registry().register_function(u'slidecontroller_live_started', self.display_song_usage)
         Registry().register_function(u'print_service_started', self.print_song_usage)
-        self.song_usage_active = Settings().value(self.settingsSection + u'/active')
+        self.song_usage_active = Settings().value(self.settings_section + u'/active')
         # Set the button and checkbox state
         self.set_button_state()
         action_list = ActionList.get_instance()
@@ -158,7 +161,7 @@
         the UI when necessary,
         """
         self.song_usage_active = not self.song_usage_active
-        Settings().setValue(self.settingsSection + u'/active', self.song_usage_active)
+        Settings().setValue(self.settings_section + u'/active', self.song_usage_active)
         self.set_button_state()
 
     def set_button_state(self):
@@ -169,12 +172,12 @@
         self.song_usage_active_button.blockSignals(True)
         self.song_usage_status.blockSignals(True)
         if self.song_usage_active:
-            self.song_usage_active_button.setIcon(self.activeIcon)
+            self.song_usage_active_button.setIcon(self.active_icon)
             self.song_usage_status.setChecked(True)
             self.song_usage_active_button.setChecked(True)
             self.song_usage_active_button.setToolTip(translate('SongUsagePlugin', 'Song usage tracking is active.'))
         else:
-            self.song_usage_active_button.setIcon(self.inactiveIcon)
+            self.song_usage_active_button.setIcon(self.inactive_icon)
             self.song_usage_status.setChecked(False)
             self.song_usage_active_button.setChecked(False)
             self.song_usage_active_button.setToolTip(translate('SongUsagePlugin', 'Song usage tracking is inactive.'))
@@ -224,11 +227,11 @@
         Called to define all translatable texts of the plugin
         """
         ## Name PluginList ##
-        self.textStrings[StringContent.Name] = {
+        self.text_strings[StringContent.Name] = {
             u'singular': translate('SongUsagePlugin', 'SongUsage', 'name singular'),
             u'plural': translate('SongUsagePlugin', 'SongUsage', 'name plural')
         }
         ## Name for MediaDockManager, SettingsManager ##
-        self.textStrings[StringContent.VisibleName] = {
+        self.text_strings[StringContent.VisibleName] = {
             u'title': translate('SongUsagePlugin', 'SongUsage', 'container title')
         }

=== modified file 'tests/functional/openlp_core_lib/test_pluginmanager.py'
--- tests/functional/openlp_core_lib/test_pluginmanager.py	2013-03-18 14:35:19 +0000
+++ tests/functional/openlp_core_lib/test_pluginmanager.py	2013-03-20 05:48:24 +0000
@@ -41,9 +41,9 @@
         # WHEN: We run hook_media_manager()
         plugin_manager.hook_media_manager()
 
-        # THEN: The createMediaManagerItem() method should have been called
-        assert mocked_plugin.createMediaManagerItem.call_count == 0, \
-            u'The createMediaManagerItem() method should not have been called.'
+        # THEN: The create_media_manager_item() method should have been called
+        assert mocked_plugin.create_media_manager_item.call_count == 0, \
+            u'The create_media_manager_item() method should not have been called.'
 
     def hook_media_manager_with_active_plugin_test(self):
         """
@@ -58,8 +58,8 @@
         # WHEN: We run hook_media_manager()
         plugin_manager.hook_media_manager()
 
-        # THEN: The createMediaManagerItem() method should have been called
-        mocked_plugin.createMediaManagerItem.assert_called_with()
+        # THEN: The create_media_manager_item() method should have been called
+        mocked_plugin.create_media_manager_item.assert_called_with()
 
     def hook_settings_tabs_with_disabled_plugin_and_no_form_test(self):
         """
@@ -74,9 +74,9 @@
         # WHEN: We run hook_settings_tabs()
         plugin_manager.hook_settings_tabs()
 
-        # THEN: The createSettingsTab() method should have been called
-        assert mocked_plugin.createMediaManagerItem.call_count == 0, \
-            u'The createMediaManagerItem() method should not have been called.'
+        # THEN: The create_settings_Tab() method should have been called
+        assert mocked_plugin.create_media_manager_item.call_count == 0, \
+            u'The create_media_manager_item() method should not have been called.'
 
     def hook_settings_tabs_with_disabled_plugin_and_mocked_form_test(self):
         """
@@ -94,9 +94,9 @@
         # WHEN: We run hook_settings_tabs()
         plugin_manager.hook_settings_tabs()
 
-        # THEN: The createSettingsTab() method should not have been called, but the plugins lists should be the same
-        assert mocked_plugin.createSettingsTab.call_count == 0, \
-            u'The createMediaManagerItem() method should not have been called.'
+        # THEN: The create_settings_Tab() method should not have been called, but the plugins lists should be the same
+        assert mocked_plugin.create_settings_Tab.call_count == 0, \
+            u'The create_media_manager_item() method should not have been called.'
         self.assertEqual(mocked_settings_form.plugin_manager.plugins, plugin_manager.plugins,
             u'The plugins on the settings form should be the same as the plugins in the plugin manager')
 
@@ -116,9 +116,9 @@
         # WHEN: We run hook_settings_tabs()
         plugin_manager.hook_settings_tabs()
 
-        # THEN: The createMediaManagerItem() method should have been called with the mocked settings form
-        assert mocked_plugin.createSettingsTab.call_count == 1, \
-            u'The createMediaManagerItem() method should have been called once.'
+        # THEN: The create_media_manager_item() method should have been called with the mocked settings form
+        assert mocked_plugin.create_settings_Tab.call_count == 1, \
+            u'The create_media_manager_item() method should have been called once.'
         self.assertEqual(mocked_settings_form.plugin_manager.plugins, plugin_manager.plugins,
              u'The plugins on the settings form should be the same as the plugins in the plugin manager')
 
@@ -135,8 +135,8 @@
         # WHEN: We run hook_settings_tabs()
         plugin_manager.hook_settings_tabs()
 
-        # THEN: The createSettingsTab() method should have been called
-        mocked_plugin.createSettingsTab.assert_called_with(self.mocked_settings_form)
+        # THEN: The create_settings_Tab() method should have been called
+        mocked_plugin.create_settings_Tab.assert_called_with(self.mocked_settings_form)
 
     def hook_import_menu_with_disabled_plugin_test(self):
         """
@@ -151,9 +151,9 @@
         # WHEN: We run hook_import_menu()
         plugin_manager.hook_import_menu()
 
-        # THEN: The createMediaManagerItem() method should have been called
-        assert mocked_plugin.addImportMenuItem.call_count == 0, \
-            u'The addImportMenuItem() method should not have been called.'
+        # THEN: The create_media_manager_item() method should have been called
+        assert mocked_plugin.add_import_menu_item.call_count == 0, \
+            u'The add_import_menu_item() method should not have been called.'
 
     def hook_import_menu_with_active_plugin_test(self):
         """
@@ -168,8 +168,8 @@
         # WHEN: We run hook_import_menu()
         plugin_manager.hook_import_menu()
 
-        # THEN: The addImportMenuItem() method should have been called
-        mocked_plugin.addImportMenuItem.assert_called_with(self.mocked_main_window.file_import_menu)
+        # THEN: The add_import_menu_item() method should have been called
+        mocked_plugin.add_import_menu_item.assert_called_with(self.mocked_main_window.file_import_menu)
 
     def hook_export_menu_with_disabled_plugin_test(self):
         """
@@ -184,9 +184,9 @@
         # WHEN: We run hook_export_menu()
         plugin_manager.hook_export_menu()
 
-        # THEN: The addExportMenuItem() method should not have been called
-        assert mocked_plugin.addExportMenuItem.call_count == 0, \
-            u'The addExportMenuItem() method should not have been called.'
+        # THEN: The add_export_menu_Item() method should not have been called
+        assert mocked_plugin.add_export_menu_Item.call_count == 0, \
+            u'The add_export_menu_Item() method should not have been called.'
 
     def hook_export_menu_with_active_plugin_test(self):
         """
@@ -201,8 +201,8 @@
         # WHEN: We run hook_export_menu()
         plugin_manager.hook_export_menu()
 
-        # THEN: The addExportMenuItem() method should have been called
-        mocked_plugin.addExportMenuItem.assert_called_with(self.mocked_main_window.file_export_menu)
+        # THEN: The add_export_menu_Item() method should have been called
+        mocked_plugin.add_export_menu_Item.assert_called_with(self.mocked_main_window.file_export_menu)
 
     def hook_upgrade_plugin_settings_with_disabled_plugin_test(self):
         """
@@ -236,7 +236,7 @@
         # WHEN: We run hook_upgrade_plugin_settings()
         plugin_manager.hook_upgrade_plugin_settings(settings)
 
-        # THEN: The addExportMenuItem() method should have been called
+        # THEN: The add_export_menu_Item() method should have been called
         mocked_plugin.upgrade_settings.assert_called_with(settings)
 
     def hook_tools_menu_with_disabled_plugin_test(self):
@@ -252,9 +252,9 @@
         # WHEN: We run hook_tools_menu()
         plugin_manager.hook_tools_menu()
 
-        # THEN: The addToolsMenuItem() method should have been called
-        assert mocked_plugin.addToolsMenuItem.call_count == 0, \
-            u'The addToolsMenuItem() method should not have been called.'
+        # THEN: The add_tools_menu_item() method should have been called
+        assert mocked_plugin.add_tools_menu_item.call_count == 0, \
+            u'The add_tools_menu_item() method should not have been called.'
 
     def hook_tools_menu_with_active_plugin_test(self):
         """
@@ -269,8 +269,8 @@
         # WHEN: We run hook_tools_menu()
         plugin_manager.hook_tools_menu()
 
-        # THEN: The addToolsMenuItem() method should have been called
-        mocked_plugin.addToolsMenuItem.assert_called_with(self.mocked_main_window.tools_menu)
+        # THEN: The add_tools_menu_item() method should have been called
+        mocked_plugin.add_tools_menu_item.assert_called_with(self.mocked_main_window.tools_menu)
 
     def initialise_plugins_with_disabled_plugin_test(self):
         """
@@ -279,15 +279,15 @@
         # GIVEN: A PluginManager instance and a list with a mocked up plugin whose status is set to Disabled
         mocked_plugin = MagicMock()
         mocked_plugin.status = PluginStatus.Disabled
-        mocked_plugin.isActive.return_value = False
+        mocked_plugin.is_active.return_value = False
         plugin_manager = PluginManager()
         plugin_manager.plugins = [mocked_plugin]
 
         # WHEN: We run initialise_plugins()
         plugin_manager.initialise_plugins()
 
-        # THEN: The isActive() method should have been called, and initialise() method should NOT have been called
-        mocked_plugin.isActive.assert_called_with()
+        # THEN: The is_active() method should have been called, and initialise() method should NOT have been called
+        mocked_plugin.is_active.assert_called_with()
         assert mocked_plugin.initialise.call_count == 0, u'The initialise() method should not have been called.'
 
     def initialise_plugins_with_active_plugin_test(self):
@@ -297,15 +297,15 @@
         # GIVEN: A PluginManager instance and a list with a mocked up plugin whose status is set to Active
         mocked_plugin = MagicMock()
         mocked_plugin.status = PluginStatus.Active
-        mocked_plugin.isActive.return_value = True
+        mocked_plugin.is_active.return_value = True
         plugin_manager = PluginManager()
         plugin_manager.plugins = [mocked_plugin]
 
         # WHEN: We run initialise_plugins()
         plugin_manager.initialise_plugins()
 
-        # THEN: The isActive() and initialise() methods should have been called
-        mocked_plugin.isActive.assert_called_with()
+        # THEN: The is_active() and initialise() methods should have been called
+        mocked_plugin.is_active.assert_called_with()
         mocked_plugin.initialise.assert_called_with()
 
     def finalise_plugins_with_disabled_plugin_test(self):
@@ -315,15 +315,15 @@
         # GIVEN: A PluginManager instance and a list with a mocked up plugin whose status is set to Disabled
         mocked_plugin = MagicMock()
         mocked_plugin.status = PluginStatus.Disabled
-        mocked_plugin.isActive.return_value = False
+        mocked_plugin.is_active.return_value = False
         plugin_manager = PluginManager()
         plugin_manager.plugins = [mocked_plugin]
 
         # WHEN: We run finalise_plugins()
         plugin_manager.finalise_plugins()
 
-        # THEN: The isActive() method should have been called, and initialise() method should NOT have been called
-        mocked_plugin.isActive.assert_called_with()
+        # THEN: The is_active() method should have been called, and initialise() method should NOT have been called
+        mocked_plugin.is_active.assert_called_with()
         assert mocked_plugin.finalise.call_count == 0, u'The finalise() method should not have been called.'
 
     def finalise_plugins_with_active_plugin_test(self):
@@ -333,15 +333,15 @@
         # GIVEN: A PluginManager instance and a list with a mocked up plugin whose status is set to Active
         mocked_plugin = MagicMock()
         mocked_plugin.status = PluginStatus.Active
-        mocked_plugin.isActive.return_value = True
+        mocked_plugin.is_active.return_value = True
         plugin_manager = PluginManager()
         plugin_manager.plugins = [mocked_plugin]
 
         # WHEN: We run finalise_plugins()
         plugin_manager.finalise_plugins()
 
-        # THEN: The isActive() and finalise() methods should have been called
-        mocked_plugin.isActive.assert_called_with()
+        # THEN: The is_active() and finalise() methods should have been called
+        mocked_plugin.is_active.assert_called_with()
         mocked_plugin.finalise.assert_called_with()
 
     def get_plugin_by_name_does_not_exist_test(self):
@@ -357,7 +357,7 @@
         # WHEN: We run finalise_plugins()
         result = plugin_manager.get_plugin_by_name('Missing Plugin')
 
-        # THEN: The isActive() and finalise() methods should have been called
+        # THEN: The is_active() and finalise() methods should have been called
         self.assertIsNone(result, u'The result for get_plugin_by_name should be None')
 
     def get_plugin_by_name_exists_test(self):
@@ -373,7 +373,7 @@
         # WHEN: We run finalise_plugins()
         result = plugin_manager.get_plugin_by_name('Mocked Plugin')
 
-        # THEN: The isActive() and finalise() methods should have been called
+        # THEN: The is_active() and finalise() methods should have been called
         self.assertEqual(result, mocked_plugin, u'The result for get_plugin_by_name should be the mocked plugin')
 
     def new_service_created_with_disabled_plugin_test(self):
@@ -383,7 +383,7 @@
         # GIVEN: A PluginManager instance and a list with a mocked up plugin whose status is set to Disabled
         mocked_plugin = MagicMock()
         mocked_plugin.status = PluginStatus.Disabled
-        mocked_plugin.isActive.return_value = False
+        mocked_plugin.is_active.return_value = False
         plugin_manager = PluginManager()
         plugin_manager.plugins = [mocked_plugin]
 
@@ -391,7 +391,7 @@
         plugin_manager.new_service_created()
 
         # THEN: The isActive() method should have been called, and initialise() method should NOT have been called
-        mocked_plugin.isActive.assert_called_with()
+        mocked_plugin.is_active.assert_called_with()
         assert mocked_plugin.new_service_created.call_count == 0,\
             u'The new_service_created() method should not have been called.'
 
@@ -402,13 +402,13 @@
         # GIVEN: A PluginManager instance and a list with a mocked up plugin whose status is set to Active
         mocked_plugin = MagicMock()
         mocked_plugin.status = PluginStatus.Active
-        mocked_plugin.isActive.return_value = True
+        mocked_plugin.is_active.return_value = True
         plugin_manager = PluginManager()
         plugin_manager.plugins = [mocked_plugin]
 
         # WHEN: We run new_service_created()
         plugin_manager.new_service_created()
 
-        # THEN: The isActive() and finalise() methods should have been called
-        mocked_plugin.isActive.assert_called_with()
+        # THEN: The is_active() and finalise() methods should have been called
+        mocked_plugin.is_active.assert_called_with()
         mocked_plugin.new_service_created.assert_called_with()

=== modified file 'tests/functional/openlp_plugins/images/test_lib.py'
--- tests/functional/openlp_plugins/images/test_lib.py	2013-03-18 22:04:09 +0000
+++ tests/functional/openlp_plugins/images/test_lib.py	2013-03-20 05:48:24 +0000
@@ -27,7 +27,7 @@
         mocked_plugin = MagicMock()
         with patch(u'openlp.plugins.images.lib.mediaitem.ImageMediaItem.__init__') as mocked_init:
             mocked_init.return_value = None
-            self.mediaitem = ImageMediaItem(mocked_parent, mocked_plugin)
+            self.media_item = ImageMediaItem(mocked_parent, mocked_plugin)
 
     def save_new_images_list_empty_list_test(self):
         """
@@ -36,13 +36,13 @@
         # GIVEN: An empty image_list
         image_list = []
         with patch(u'openlp.plugins.images.lib.mediaitem.ImageMediaItem.loadFullList') as mocked_loadFullList:
-            self.mediaitem.manager = MagicMock()
+            self.media_item.manager = MagicMock()
 
             # WHEN: We run save_new_images_list with the empty list
-            self.mediaitem.save_new_images_list(image_list)
+            self.media_item.save_new_images_list(image_list)
 
             # THEN: The save_object() method should not have been called
-            assert self.mediaitem.manager.save_object.call_count == 0, \
+            assert self.media_item.manager.save_object.call_count == 0, \
                 u'The save_object() method should not have been called'
 
     def save_new_images_list_single_image_with_reload_test(self):
@@ -53,10 +53,10 @@
         image_list = [ u'test_image.jpg' ]
         with patch(u'openlp.plugins.images.lib.mediaitem.ImageMediaItem.loadFullList') as mocked_loadFullList:
             ImageFilenames.filename = ''
-            self.mediaitem.manager = MagicMock()
+            self.media_item.manager = MagicMock()
 
             # WHEN: We run save_new_images_list with reload_list=True
-            self.mediaitem.save_new_images_list(image_list, reload_list=True)
+            self.media_item.save_new_images_list(image_list, reload_list=True)
 
             # THEN: loadFullList() should have been called
             assert mocked_loadFullList.call_count == 1, u'loadFullList() should have been called'
@@ -71,10 +71,10 @@
         # GIVEN: A list with 1 image
         image_list = [ u'test_image.jpg' ]
         with patch(u'openlp.plugins.images.lib.mediaitem.ImageMediaItem.loadFullList') as mocked_loadFullList:
-            self.mediaitem.manager = MagicMock()
+            self.media_item.manager = MagicMock()
 
             # WHEN: We run save_new_images_list with reload_list=False
-            self.mediaitem.save_new_images_list(image_list, reload_list=False)
+            self.media_item.save_new_images_list(image_list, reload_list=False)
 
             # THEN: loadFullList() should not have been called
             assert mocked_loadFullList.call_count == 0, u'loadFullList() should not have been called'
@@ -86,13 +86,13 @@
         # GIVEN: A list with 3 images
         image_list = [ u'test_image_1.jpg', u'test_image_2.jpg', u'test_image_3.jpg' ]
         with patch(u'openlp.plugins.images.lib.mediaitem.ImageMediaItem.loadFullList') as mocked_loadFullList:
-            self.mediaitem.manager = MagicMock()
+            self.media_item.manager = MagicMock()
 
             # WHEN: We run save_new_images_list with the list of 3 images
-            self.mediaitem.save_new_images_list(image_list, reload_list=False)
+            self.media_item.save_new_images_list(image_list, reload_list=False)
 
             # THEN: loadFullList() should not have been called
-            assert self.mediaitem.manager.save_object.call_count == 3, \
+            assert self.media_item.manager.save_object.call_count == 3, \
                 u'loadFullList() should have been called three times'
 
     def save_new_images_list_other_objects_in_list_test(self):
@@ -102,11 +102,11 @@
         # GIVEN: A list with images and objects
         image_list = [ u'test_image_1.jpg', None, True, ImageFilenames(), 'test_image_2.jpg' ]
         with patch(u'openlp.plugins.images.lib.mediaitem.ImageMediaItem.loadFullList') as mocked_loadFullList:
-            self.mediaitem.manager = MagicMock()
+            self.media_item.manager = MagicMock()
 
             # WHEN: We run save_new_images_list with the list of images and objects
-            self.mediaitem.save_new_images_list(image_list, reload_list=False)
+            self.media_item.save_new_images_list(image_list, reload_list=False)
 
             # THEN: loadFullList() should not have been called
-            assert self.mediaitem.manager.save_object.call_count == 2, \
+            assert self.media_item.manager.save_object.call_count == 2, \
                 u'loadFullList() should have been called only once'


Follow ups