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

Proposed by Tim Bentley
Status: Merged
Merged at revision: not available
Proposed branch: lp:~trb143/openlp/bugfixes
Merge into: lp:openlp
Diff against target: None lines
To merge this branch: bzr merge lp:~trb143/openlp/bugfixes
Reviewer Review Type Date Requested Status
Jon Tibble (community) Approve
Review via email: mp+12122@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Tim Bentley (trb143) wrote :

Fix up Audit state handing
Allow file to be changed
Fix up file writing

lp:~trb143/openlp/bugfixes updated
555. By Jon Tibble

Fix service loading on Windows

Revision history for this message
Jon Tibble (meths) wrote :

Looks good

review: Approve
lp:~trb143/openlp/bugfixes updated
556. By Tim Bentley

Audit Fixes

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'openlp/core/lib/eventreceiver.py'
--- openlp/core/lib/eventreceiver.py 2009-09-16 18:37:25 +0000
+++ openlp/core/lib/eventreceiver.py 2009-09-19 19:31:18 +0000
@@ -80,6 +80,9 @@
8080
81 ``audit_live``81 ``audit_live``
82 Sends live song audit requests to the audit component82 Sends live song audit requests to the audit component
83
84 ``audit_changed``
85 Audit information may have changed
83 """86 """
84 global log87 global log
85 log = logging.getLogger(u'EventReceiver')88 log = logging.getLogger(u'EventReceiver')
8689
=== modified file 'openlp/plugins/audit/auditplugin.py'
--- openlp/plugins/audit/auditplugin.py 2009-09-18 10:47:57 +0000
+++ openlp/plugins/audit/auditplugin.py 2009-09-19 19:45:15 +0000
@@ -27,7 +27,7 @@
27from PyQt4 import QtCore, QtGui27from PyQt4 import QtCore, QtGui
28from datetime import date28from datetime import date
2929
30from openlp.core.lib import Plugin, Receiver, translate30from openlp.core.lib import Plugin, Receiver, translate, str_to_bool
31from openlp.plugins.audit.lib import AuditTab31from openlp.plugins.audit.lib import AuditTab
3232
33class AuditPlugin(Plugin):33class AuditPlugin(Plugin):
@@ -95,17 +95,49 @@
95 log.info(u'Plugin Initialising')95 log.info(u'Plugin Initialising')
96 QtCore.QObject.connect(Receiver.get_receiver(),96 QtCore.QObject.connect(Receiver.get_receiver(),
97 QtCore.SIGNAL(u'audit_live'), self.onReceiveAudit)97 QtCore.SIGNAL(u'audit_live'), self.onReceiveAudit)
98 self.auditFile = open(u'openlp.aud', 'a')98 QtCore.QObject.connect(Receiver.get_receiver(),
99 self.auditActive = False99 QtCore.SIGNAL(u'audit_changed'), self.onUpdateAudit)
100 self.auditFileName = self.config.get_config(u'audit file', u'')
101 self.auditActive = str_to_bool(self.config.get_config(u'audit active', False))
102 if self.auditFileName == u'':
103 self.auditActive = False
104 self.ToolsAuditItem.setEnabled(False)
105 self.auditFile = None
106 else:
107 self.auditFile = open(self.auditFileName, u'a')
108 self.ToolsAuditItem.setChecked(self.auditActive)
100109
101 def toggleAuditState(self):110 def toggleAuditState(self):
102 self.auditActive = not self.auditActive111 self.auditActive = not self.auditActive
112 self.config.set_config(u'audit active', self.auditActive)
103113
104 def onReceiveAudit(self, auditData):114 def onReceiveAudit(self, auditData):
115 """
116 Audit a live song from SlideController
117 """
105 if self.auditActive:118 if self.auditActive:
106 self.auditFile.write(u'%s,%s\n' % (date.today(), auditData))119 for author in auditData[1]:
120 self.auditFile.write(u'\"%s\",\"%s\",\"%s\",\"%s\"\n' % (date.today(), auditData[0], author, auditData[2]))
107 self.auditFile.flush()121 self.auditFile.flush()
108122
123 def onUpdateAudit(self):
124 """
125 Someone may have changed to audit details
126 Sort out the file and the auditing state
127 """
128 self.auditFileNameNew = self.config.get_config(u'audit file', u'')
129 self.auditActive = str_to_bool(self.config.get_config(u'audit active', False))
130 if self.auditFileNameNew == u'':
131 self.auditActive = False
132 self.ToolsAuditItem.setChecked(self.auditActive)
133 self.ToolsAuditItem.setEnabled(False)
134 return
135 self.ToolsAuditItem.setEnabled(True)
136 if self.auditFileNameNew != self.auditFileName:
137 if self.auditFile is not None:
138 self.auditFile.close()
139 self.auditFile = open(self.auditFileNameNew, u'a')
140
109 def finalise(self):141 def finalise(self):
110 log.debug(u'Finalise')142 log.debug(u'Finalise')
111 if self.auditFile is not None:143 if self.auditFile is not None:
112144
=== modified file 'openlp/plugins/audit/lib/audittab.py'
--- openlp/plugins/audit/lib/audittab.py 2009-09-16 18:37:25 +0000
+++ openlp/plugins/audit/lib/audittab.py 2009-09-19 19:31:18 +0000
@@ -35,25 +35,30 @@
3535
36 def setupUi(self):36 def setupUi(self):
37 self.setObjectName(u'AuditTab')37 self.setObjectName(u'AuditTab')
38 self.AuditLayout = QtGui.QFormLayout(self)
39 self.AuditLayout.setObjectName(u'AuditLayout')
40 self.AuditModeGroupBox = QtGui.QGroupBox(self)38 self.AuditModeGroupBox = QtGui.QGroupBox(self)
41 self.AuditModeGroupBox.setObjectName(u'AuditModeGroupBox')39 self.AuditModeGroupBox.setObjectName(u'AuditModeGroupBox')
42 self.AuditModeLayout = QtGui.QVBoxLayout(self.AuditModeGroupBox)40 self.verticalLayout = QtGui.QVBoxLayout(self.AuditModeGroupBox)
43 self.AuditModeLayout.setSpacing(8)41 self.verticalLayout.setObjectName("verticalLayout")
44 self.AuditModeLayout.setMargin(8)42 self.horizontalLayout = QtGui.QHBoxLayout()
45 self.AuditModeLayout.setObjectName(u'AuditModeLayout')43 self.horizontalLayout.setObjectName("horizontalLayout")
46 self.AuditPortSpinBox = QtGui.QSpinBox(self.AuditModeGroupBox)44 self.AuditFileName = QtGui.QLineEdit(self)
47 self.AuditPortSpinBox.setObjectName(u'AuditPortSpinBox')45 self.AuditFileName.setObjectName("AuditFileName")
48 self.AuditPortSpinBox.setMaximum(32767)46 self.horizontalLayout.addWidget(self.AuditFileName)
49 self.AuditModeLayout.addWidget(self.AuditPortSpinBox)47 icon1 = QtGui.QIcon()
50 self.AuditActive = QtGui.QCheckBox(self.AuditModeGroupBox)48 icon1.addPixmap(QtGui.QPixmap(u':/imports/import_load.png'), QtGui.QIcon.Normal, QtGui.QIcon.Off)
51 self.AuditActive.setObjectName(u'AuditPortSpinBox')49 self.AuditFileButton = QtGui.QPushButton(self)
52 self.AuditModeLayout.addWidget(self.AuditActive)50 self.AuditFileButton.setObjectName("AuditFileButton")
53 self.WarningLabel = QtGui.QLabel(self.AuditModeGroupBox)51 self.AuditFileButton.setIcon(icon1)
54 self.WarningLabel.setObjectName(u'WarningLabel')52 self.horizontalLayout.addWidget(self.AuditFileButton)
55 self.AuditModeLayout.addWidget(self.WarningLabel)53 self.verticalLayout.addLayout(self.horizontalLayout)
56 self.AuditLayout.setWidget(0, QtGui.QFormLayout.LabelRole, self.AuditModeGroupBox)54 self.AuditActive = QtGui.QCheckBox(self)
55 self.AuditActive.setObjectName("AuditActive")
56 self.verticalLayout.addWidget(self.AuditActive)
57 self.WarningLabel = QtGui.QLabel(self)
58 self.WarningLabel.setObjectName("WarningLabel")
59 self.verticalLayout.addWidget(self.WarningLabel)
60 QtCore.QObject.connect(self.AuditFileButton,
61 QtCore.SIGNAL(u'pressed()'), self.onAuditFileButtonClicked)
5762
58 def retranslateUi(self):63 def retranslateUi(self):
59 self.AuditModeGroupBox.setTitle(translate(u'AuditTab', u'Audit File'))64 self.AuditModeGroupBox.setTitle(translate(u'AuditTab', u'Audit File'))
@@ -61,10 +66,16 @@
61 self.WarningLabel.setText(translate(u'AuditTab', u'A restart is needed for this change to become effective'))66 self.WarningLabel.setText(translate(u'AuditTab', u'A restart is needed for this change to become effective'))
6267
63 def load(self):68 def load(self):
64 self.AuditPortSpinBox.setValue(int(self.config.get_config(u'Audit port', 4316)))69 self.AuditFileName.setText(self.config.get_config(u'Audit file', u''))
65 self.AuditActive.setChecked(int(self.config.get_config(u'startup', 0)))70 self.AuditActive.setChecked(int(self.config.get_config(u'startup', 0)))
6671
72 def onAuditFileButtonClicked(self):
73 filename = QtGui.QFileDialog.getOpenFileName(self, u'Audit File',self.AuditFileName.text())
74 if filename != u'':
75 filename = unicode(filename)
76 self.AuditFileName.setText(filename)
77
67 def save(self):78 def save(self):
68 self.config.set_config(u'Audit port', unicode(self.AuditPortSpinBox.value()))79 self.config.set_config(u'Audit file', unicode(self.AuditFileName.text()))
69 self.config.set_config(u'startup', unicode(self.AuditActive.checkState()))80 self.config.set_config(u'startup', unicode(self.AuditActive.checkState()))
7081 Receiver().send_message(u'audit_changed')
7182
=== modified file 'resources/images/openlp-2.qrc'
--- resources/images/openlp-2.qrc 2009-09-16 04:59:38 +0000
+++ resources/images/openlp-2.qrc 2009-09-19 17:56:26 +0000
@@ -49,10 +49,6 @@
49 <file>import_remove.png</file>49 <file>import_remove.png</file>
50 <file>import_load.png</file>50 <file>import_load.png</file>
51 </qresource>51 </qresource>
52 <qresource prefix="audit" >
53 <file>audit_start.png</file>
54 <file>audit_stop.png</file>
55 </qresource>
56 <qresource prefix="exports" >52 <qresource prefix="exports" >
57 <file>export_selectall.png</file>53 <file>export_selectall.png</file>
58 <file>export_remove.png</file>54 <file>export_remove.png</file>