I have done some work to implement the purge feature.
With it you can mark items for later deletion. Later you can purge the feed
to delete all marked items not available on server.
There are some things to be done
1. Find a better way to exclude messages available on server
Now i am storing the source_id from feed server in GSList node->serverItems. Some servers dont provide that.
It would be best to store the item->id, but that is not available during update.
2. Avoid putting liferea in offline mode during purge. Purge and update crash the program :(
3. Some performance issues - you can purge only if feed is selected. This leads to removing items from GUI and DB.
Its slow, and during heavy deleting ( > 1000 items) can break the GUI. Liferea still runs.
Shift + Delete - remove item instantly
Delete - mark item for deletion
1. Mark some items
2. Select their feed and purge it.
3. Dont select another feed or item, just wait for purge to finish.
4. You will see in the taskbar, the number of deleted and excluded messages.
The patch is working as it is. And i am using it.
If someone knows how to fix 2, and improve 1,3 contact me.