Neil Williams <[EMAIL PROTECTED]> writes: > On Tuesday 19 July 2005 9:04 pm, David Hampton wrote: >> + /* >> + * *** THIS DIALOG IS NOT HIG COMPLIANT. *** >> + * >> + * According to the HIG, the secondary context should include >> + * context about the number of changes that will be lost (either in >> + * time or a count). While it is possible to simply provide the >> + * time since the last save, that doesn't appear too usefule. If >> + * the user has had Gnucash open for hours in the background, but >> + * only made a change in the last few minutes, then telling them >> + * they will lose hours work of work is wring. The QOF code needs >> + * to be modified to provide better timing information. The best >> + * case scenario would be if QOF could provide a timestamp of the >> + * oldest unsaved change. >> + */ > > The SQL backend uses qof_instance_get_last_update but this dialog would > require iterating over every instance in the book, one type at a time prior > to displaying the dialog, then sorting the timespecs (and this when the user > is waiting for the app to close!) > > The alternative method would involve keeping tabs on all instances and > sorting > the various update times but then that structure would need to be stored > outside the library anyway (couldn't be a static). > > Do other applications interpret "Time Period" in the above manner?
I think that iterating through all the instances in the book is way too much overhead. Iterating through each class would be okay, as there are a limited number of classes. However, I think that just saying something like "You last saved your data at [timestamp]. If you quit now without saving then you will lose all changes you've made in [delta]." Obviously this is only required if changes have been made. This requires fixing the register code so that opening the register does not automagically dirty the book. > The HIG only specifies: > "The secondary text provides the user with some context about the number of > changes that might be unsaved." > > IMHO, "some context" does not mean "number of seconds since the last change, > anywhere in a 2Mb book". The iterations themselves could delay the display of > the dialog. I don't see how this is a job for the QOF library. > > How many people really do leave GnuCash running in the background? Lots! Don't make assumptions about how people use the app; you'll always be wrong. Whenever you find yourself thinking "user's wont do that" you'll undoubtedly get hit with tons of bug reports when users "do that". :-/ > http://developer.gnome.org/projects/gup/hig/1.0/windows.html#alerts-confirmation > > The example itself only shows a simple time period, no hint that this has to > be the time period since the last modification or the last save. -derek -- Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory Member, MIT Student Information Processing Board (SIPB) URL: http://web.mit.edu/warlord/ PP-ASEL-IA N1NWH [EMAIL PROTECTED] PGP key available _______________________________________________ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel