BibEdit: safety features, refactoring, bugfixes
- One cache per user per record. No more cache hijackings. Future diff and merge will be easier to implement.
- BibEdit deletes unneeded caches e.g., when a user leaves an unchanged record.
- "Freshness checks" - detect if DB record has been updated during the lifetime of the cache. Check when getting or submitting record. Propose various solutions to the user.
- Detect and handle if cache file disappears unexpectedly.
- Detect and handle if cache file is updated outside the active editor (by BibEdit in other window, or other tool e.g., BibMerge).
- Confirmation dialogs when submitting a record, deleting a record or cancelling editing
- Whenever possible, warn user if he/she leaves unsubmitted changes behind.
- Submit is now disabled if record is unchanged, but activates and turns green when record gets edited.
- Fixed bug which made it possible to edit protected fields.
- Hotkeys are now properly ignored in situations where they would be inappropriate.
- Hash management somewhat simplified, by not trying to accomodate hashes invented by the user.
- Heavy refactoring...
- Many small bug fixes.