There's already a cancel button for the first part. There's no undelete, but it wouldn't be to hard to implement: Just make a second set of QofContainers to hold deleted objects until the end of the session and provide a dialog to list them and allow them to be returned to the primary container.
The normal undo-redo stacks common in other programs would be a bit more complex but the technique is well known, it's just really tedious to implement. Where the problem gets quite a bit more interesting (read: complex and difficult with decisions about depth and granularity) is when the undo stack reaches back into already committed transactions. Do you save a copies of each object for every keystroke or treat an edited transaction like a deleted one? How do you handle an import of many transactions, some new and some matched-and-updated? That's just the beginning, GnuCash is complicated. It could easily turn into several years work for a skilled software engineer; definitely not a job for a hacker. Regards, John Ralls > On Jul 26, 2020, at 7:59 PM, Bruce Irving via gnucash-devel > <gnucash-devel@gnucash.org> wrote: > > While I'm not a professional, there is a point about undo that I would like > to see - sooner than later: I start to edit a transaction but, before I > commit it (press enter or move to another transaction). I realize that I > didn't want to do that and would like to cancel my edit, restoring the > transaction to what it was. > > And, I have accidentally deleted a transaction on more than one occasion. It > would be great if I could restore that transaction rather than completely > re-enter it, hoping I remembered what was in it - I don't! > Bruce > Preach the Gospel wherever you go. > If necessary, use words. > > Hi Jean, > > Am 26.07.20 um 19:57 schrieb jean laroche: >> I'm curious about something: >> If you're a GC dev, contributing code to the project, what's the >> feature(s) you'd like to see added to GC? >> I'm only contributing a bit, but I'll offer my 3 top wishes: >> - Undo/(redo) >> - Multi-transaction (bulk) editing >> - Multi-account (bulk) editing > > All three are violations of strict accounting rules. We often talk about > "In the times of ink and paper", not graphite (pencils). Some > governments require the immutabiity of once written records. > > So I see at least a better auditing system as a requirement before your > suggestions. The current logging would need a review. It should cover > all changes, not only simple transactions. ISTR business actions and > structural changes are not recorded. > >> I'm curious specifically about devs because they typically have a >> different perspective on the project than users have. >> Jean > > About the future I almost agree with Johns suggestions. > > Regards > Frank > > _______________________________________________ > gnucash-devel mailing list > gnucash-devel@gnucash.org > https://lists.gnucash.org/mailman/listinfo/gnucash-devel _______________________________________________ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel