[Gnucash-changes] Spruce up the delete window dialog to make it
more HIG compliant.
warlord at MIT.EDU
Wed Jul 20 10:59:20 EDT 2005
Neil Williams <linux at codehelp.co.uk> 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
> 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". :-/
> 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 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
warlord at MIT.EDU PGP key available
More information about the gnucash-devel