Here's a hack that worked for me and which may do the trick until the feature is implemented. I'm sure there are more elegant ways of handling this, and it will only work if you are running from source (which is the case for Linux, but not for a normal Windows install).<br><br>In the file openlp/core/ui/printserviceform.py<br><br>1. Add a reference to the sqlite3 module as follows:<br><br>import cgi<br>import datetime<br>import os<br>import sqlite3<br><br>2. Find the method _addPreviewItem and insert the bold text at the top of the method<br><br>def addPreviewItem(self, body, item, index):<br><br> sdb_path = os.path.join(AppLocation.get_data_path(), u'songs/songs.sqlite')<br> newcon=sqlite3.connect(sdb_path)<br> newcur=newcon.cursor()<br> if item.edit_id == None:<br> newfulltitle=item.get_display_title()<br> else:<br> selq="SELECT song_number, song_books.name from songs,song_books where song_books.id=song_book_id and songs.id=" + str(item.edit_id)<br> newcur.execute(selq)<br> newdata=newcur.fetchone()<br> if newdata == None:<br> newfulltitle=item.get_display_title()<br> else:<br> newfulltitle=newdata[0] + " " + newdata[1] + " " +item.get_display_title()<br><br>3. The variable newfulltitle now contains the number of your song, followed by the name of the songbook and then the title. Below the code which you have added you should find the following (you need to replace the reference to item.get_display_title() with that variable newfulltitle as shown below:<br><br> div = self.addElement(u'div', classId=u'item', parent=body)<br> # Add the title of the service item.<br> item_title = self.addElement(u'h2', parent=div, classId=u'itemTitle')<br> self.addElement(u'img', parent=item_title,attribute=(u'src', item.icon))<br> self._addElement(u'span',u'&nbsp;' + cgi.escape(newfulltitle), item_title)<br><br>Good luck! Perhaps back up your code first - I'm a minister not a python guru :)<br><br>Michael<br>