On Tue, Oct 10, 2006 at 08:43:35AM -0500, Gregory Alexander wrote: > Alright, I got the patch updated. I like the idea of using the unset > value. I was just unfarmiliar with the value structure holding code.
Ok, I've committed this to trunk as 15009, with some slight tweaks. > I will note that there will be minor migration problems from old > versions, since values that are currently 0 will display as 0, and > values that are currently unset will display as blank. This shouldn't > really break anyone, but it might be a little confusing. I don't think that's a huge deal. It's not incorrect behavior, just inconvenient. > On 10/3/06, Chris Shoemaker <[EMAIL PROTECTED]> wrote: > >On Mon, Oct 02, 2006 at 08:26:07PM -0500, Gregory Alexander wrote: > >If the error value was the only way to convey "unset" I could see > >adding a code for it, but I'm thinking it's better to handle it > >at the budget-level. E.g. > > > ... > > > >and then just "unset" the value if an error code is passed to > >gnc_budget_set_account_period_value(): > > > > Not that simple, because error values are not the same as blank > values. I still handle errors as errors, but also will display unset > as unset. I'm not sure the api should actually store gnc_numerics with errors, so I don't know if the difference is that important, but I basically left this as you had it. > >> User interface changes: > >> > >> 1.) Budget values of 0/1 are now displayed when editing as $0.00 (as > >> appropriate) instead of being left blank. > > > >okay, good. Now, zero is a legit budget value. > > > >> 2.) If the user removes all text when editing a budget value entry, it > >> will be initialized to GNC_ERROR_UNSET. > > > >With code above, any error code will do, and will actually _unset_ the > >value. > > Agreed. That code works better. > > >> 3.) GNC_ERROR_UNSET is displayed when editing as a blank budget value. > > > >?? It should be just blank, right? > > Isn't that what I said? Sorry, I didn't parse it. > >> 4.) cleanup/debug: Other errors display as "error" when editing. > > > >That's a good idea. > > I preserved this behavior, while implementing using a "NULL" budget value. > > >> 5.) In the existing budget report, entries with a value of > >> GNC_ERROR_UNSET display as "." instead of a currency value. Other > >> errors continue to display as a single "$" (as appropriate.) > > > >I'd prefer that the report display and editor display were more > >similar, like just "" and "error", but I might change my mind if I > >actually saw it. > > The problem is that as the tables get larger, and larger portions are > blank, it gets hard to track the columns, especially since we use > "boxless" tables. Hmm, it looks ok, so I'll leave it as ".". > >> What I haven't been able to figure out is how to have new budget > >> entries default to GNC_ERROR_UNSET instead of 0. I think changing the > >> default to GNC_ERROR_UNSET would be the correct behavior, although > >> again, this is open to discussion. > > > >Well, I think the default should be "unset" as per above, and I think > >it's just automatic. Nothing's there until it's set. > > Yup, works great. However, this is what introduces the weird upgrade > behavior. Thanks for the patch! -chris _______________________________________________ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel