← Back to team overview

openlp-core team mailing list archive

Re: [Merge] lp:~stewart-e/openlp/verse_order_override into lp:openlp

 

Ok Clone allows one to duplicate a song and is in the SongPlugin.
It is also possible to have "Temporary" songs.  These are songs loaded from the servicemanager but not added to the database in the SongPlugin.  This is for use where you want to import songs form a different machine and not mess up your database.  This is controlled by a "import missing songs from service files".  
The trick here is we want to be able to edit the song and re-save the song.  So what we do is save the song to the database with a "temporary" flag so when you exit OpenLP these songs are removed from the database.

The trigger is loading a service file and the song XML is pushed to the songplugin and the songid returned to allow editing.

In you case we could do the same thing.
- Add song to service
- New menu item (Allow service only updates) - This creates a temporary copy and updates the songid.

After this we have a temporary song.  You may want to add a new serviceitem capability to handle reading the servicefile and reactivating the temporaryness.

This seems cleaner than the other solution as you would be reusing existing functionality.

BTW do not update the file headers.  We will do that later as there are a number of missing people.  If you want to do this then that is a separate merge request.

-- 
https://code.launchpad.net/~stewart-e/openlp/verse_order_override/+merge/184651
Your team OpenLP Core is subscribed to branch lp:openlp.


References