← Back to team overview

openlp-core team mailing list archive

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

 

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

    Requested reviews:
    OpenLP Core (openlp-core)


Add About text to Plugin list.
Text can be amended but it is a start.
Plugin list now is no longer editable!
-- 
https://code.launchpad.net/~trb143/openlp/audit/+merge/12737
Your team OpenLP Core is subscribed to branch lp:openlp.
=== modified file 'openlp/core/lib/plugin.py'
--- openlp/core/lib/plugin.py	2009-09-29 17:05:34 +0000
+++ openlp/core/lib/plugin.py	2009-10-01 17:05:18 +0000
@@ -149,6 +149,14 @@
         """
         return True
 
+    def can_be_disabled(self):
+        """
+        Indicates whether the plugin can be disabled by the plugin list.
+
+        Returns True or False.
+        """
+        return False
+
     def get_media_manager_item(self):
         """
         Construct a MediaManagerItem object with all the buttons and things

=== modified file 'openlp/core/ui/plugindialoglistform.py'
--- openlp/core/ui/plugindialoglistform.py	2009-09-21 17:56:36 +0000
+++ openlp/core/ui/plugindialoglistform.py	2009-10-01 17:05:18 +0000
@@ -48,6 +48,8 @@
         QtCore.QObject.connect(self.ButtonBox,
             QtCore.SIGNAL(u'accepted()'), PluginForm.close)
         QtCore.QMetaObject.connectSlotsByName(PluginForm)
+        QtCore.QObject.connect(self.PluginViewList,
+           QtCore.SIGNAL(u'itemDoubleClicked(QTableWidgetItem*)'), self.displayAbout)
 
     def retranslateUi(self, PluginForm):
         PluginForm.setWindowTitle(translate(u'PluginForm', u'Plugin list'))
@@ -62,15 +64,16 @@
         """
         Load the plugin details into the screen
         """
-        #self.PluginViewList.clear()
         self.PluginViewList.setRowCount(0)
         for plugin in self.parent.plugin_manager.plugins:
             row = self.PluginViewList.rowCount()
             self.PluginViewList.setRowCount(row + 1)
             item1 = QtGui.QTableWidgetItem(plugin.name)
+            item1.setFlags(QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled)
             item1.setTextAlignment(QtCore.Qt.AlignVCenter)
             item2 = QtGui.QTableWidgetItem(plugin.version)
             item2.setTextAlignment(QtCore.Qt.AlignVCenter)
+            item2.setFlags(QtCore.Qt.ItemIsSelectable)
             if plugin.status == PluginStatus.Active:
                 item3 = QtGui.QTableWidgetItem(
                     translate(u'PluginForm', u'Active'))
@@ -78,8 +81,21 @@
                 item3 = QtGui.QTableWidgetItem(
                     translate(u'PluginForm', u'Inactive'))
             item3.setTextAlignment(QtCore.Qt.AlignVCenter)
+            item3.setFlags(QtCore.Qt.ItemIsSelectable)
             self.PluginViewList.setItem(row, 0, item1)
             self.PluginViewList.setItem(row, 1, item2)
             self.PluginViewList.setItem(row, 2, item3)
             self.PluginViewList.setRowHeight(row, 15)
 
+    def displayAbout(self, item):
+        if item is None:
+            return False
+        row = self.PluginViewList.row(item)
+        text = self.parent.plugin_manager.plugins[row].about()
+        if text is not None:
+            ret = QtGui.QMessageBox.information(self,
+                translate(u'PluginList', u'Plugin Information'),
+                translate(u'PluginList', text),
+                QtGui.QMessageBox.StandardButtons(
+                    QtGui.QMessageBox.Ok),
+                QtGui.QMessageBox.Ok)

=== modified file 'openlp/core/ui/servicemanager.py'
--- openlp/core/ui/servicemanager.py	2009-09-25 23:06:54 +0000
+++ openlp/core/ui/servicemanager.py	2009-10-01 17:05:18 +0000
@@ -35,7 +35,7 @@
 class ServiceManagerList(QtGui.QTreeWidget):
 
     def __init__(self,parent=None,name=None):
-        QtGui.QListView.__init__(self,parent)
+        QtGui.QTreeWidget.__init__(self,parent)
         self.parent = parent
 
     def keyPressEvent(self, event):
@@ -402,7 +402,7 @@
         name = filename.split(os.path.sep)
         self.serviceName = name[-1]
         self.parent.serviceChanged(True, self.serviceName)
-        
+
     def onQuickSaveService(self):
         self.onSaveService(True)
 

=== modified file 'openlp/plugins/audit/auditplugin.py'
--- openlp/plugins/audit/auditplugin.py	2009-09-29 17:05:34 +0000
+++ openlp/plugins/audit/auditplugin.py	2009-10-01 17:05:18 +0000
@@ -185,3 +185,6 @@
 
     def onAuditReport(self):
         self.auditdetailform.exec_()
+
+    def about(self):
+        return u'<b>Audit Plugin</b> <br>This plugin records the use of songs and when they have been used during a live service'

=== modified file 'openlp/plugins/bibles/bibleplugin.py'
--- openlp/plugins/bibles/bibleplugin.py	2009-09-29 17:05:34 +0000
+++ openlp/plugins/bibles/bibleplugin.py	2009-10-01 17:05:18 +0000
@@ -70,3 +70,5 @@
     def onBibleNewClick(self):
         self.media_item.onBibleNewClick()
 
+    def about(self):
+        return u'<b>Bible Plugin</b> <br>This plugin allows bible verse from different sources to be displayed on the screen during the service.<br><br>This is a core plugin and cannot be made inactive</b>'

=== modified file 'openlp/plugins/custom/customplugin.py'
--- openlp/plugins/custom/customplugin.py	2009-09-29 17:05:34 +0000
+++ openlp/plugins/custom/customplugin.py	2009-10-01 17:05:18 +0000
@@ -56,3 +56,6 @@
         # Create the CustomManagerItem object
         self.media_item = CustomMediaItem(self, self.icon, u'Custom Slides')
         return self.media_item
+
+    def about(self):
+        return u'<b>Custom Plugin</b> <br>This plugin allows slides to be displayed on the screen in the same way songs are. The difference between this plugin and songs is this plugin provides greater freedom.<br><br>This is a core plugin and cannot be made inactive</b>'

=== modified file 'openlp/plugins/images/imageplugin.py'
--- openlp/plugins/images/imageplugin.py	2009-09-29 02:54:32 +0000
+++ openlp/plugins/images/imageplugin.py	2009-10-01 17:05:18 +0000
@@ -47,3 +47,6 @@
         # Create the MediaManagerItem object
         self.media_item = ImageMediaItem(self, self.icon, u'Images')
         return self.media_item
+
+    def about(self):
+        return u'<b>Image Plugin</b><br>Allows images of all types to be displayed. If a number of images are selected together and presented on the live controller it is possible to turn them into a timed loop.<br> From the plugin if the <i>Override background</i> is chosen and an image is selected any somgs which are rendered will use the selected image from the background instead of the one provied by the theme.<br>'

=== modified file 'openlp/plugins/media/mediaplugin.py'
--- openlp/plugins/media/mediaplugin.py	2009-09-29 02:54:32 +0000
+++ openlp/plugins/media/mediaplugin.py	2009-10-01 17:05:18 +0000
@@ -44,3 +44,6 @@
         # Create the MediaManagerItem object
         self.media_item = MediaMediaItem(self, self.icon, u'Media')
         return self.media_item
+
+    def about(self):
+        return u'<b>Media Plugin</b> <br> One day this may provide access to video and audio clips'

=== modified file 'openlp/plugins/presentations/presentationplugin.py'
--- openlp/plugins/presentations/presentationplugin.py	2009-09-30 19:26:51 +0000
+++ openlp/plugins/presentations/presentationplugin.py	2009-10-01 17:05:18 +0000
@@ -97,7 +97,12 @@
     def finalise(self):
         log.debug(u'Finalise')
         #Ask each controller to tidy up
+        for controller in self.controllers:
+            self.controllers[controller].kill()
         for key in self.controllers:
             controller = self.controllers[key]
             if controller.enabled:
                 controller.kill()
+
+    def about(self):
+        return u'<b>Presentation Plugin</b> <br> Delivers the ability to show presentations using a number of different programs. The choice of available presentaion programs is available in a drop down.'

=== modified file 'openlp/plugins/remotes/remoteplugin.py'
--- openlp/plugins/remotes/remoteplugin.py	2009-09-28 20:45:04 +0000
+++ openlp/plugins/remotes/remoteplugin.py	2009-10-01 17:05:18 +0000
@@ -21,7 +21,7 @@
 
 from PyQt4 import QtNetwork, QtCore
 
-from openlp.core.lib import Plugin, Receiver
+from openlp.core.lib import Plugin, Receiver, translate
 from openlp.plugins.remotes.lib import RemoteTab
 
 class RemotesPlugin(Plugin):
@@ -35,6 +35,9 @@
         Plugin.__init__(self, u'Remotes', u'1.9.0', plugin_helpers)
         self.weight = -1
 
+    def can_be_disabled(self):
+        return True
+
     def check_pre_conditions(self):
         """
         Check to see if remotes is required
@@ -52,6 +55,12 @@
         QtCore.QObject.connect(self.server,
             QtCore.SIGNAL(u'readyRead()'), self.readData)
 
+    def finalise(self):
+        pass
+
+    def about(self):
+        return u'<b>Remote Plugin</b> <br>This plugin provides the ability to send messages to a running version of openlp on a different computer.<br> The Primary use for this would be to send alerts from a creche'
+
     def get_settings_tab(self):
         """
         Create the settings Tab

=== modified file 'openlp/plugins/songs/songsplugin.py'
--- openlp/plugins/songs/songsplugin.py	2009-09-29 02:54:32 +0000
+++ openlp/plugins/songs/songsplugin.py	2009-10-01 17:05:18 +0000
@@ -159,3 +159,6 @@
 
     def onExportOpenSongItemClicked(self):
         self.opensong_export_form.show()
+
+    def about(self):
+        return u'<b>Song Plugin</b> <br>This plugin allows Songs to be managed and displayed.<br><br>This is a core plugin and cannot be made inactive</b>'


Follow ups