On 12 Dec 2007, at 9:38 PM, Adam R. Maxwell wrote: > > On Wednesday, December 12, 2007, at 11:58AM, "Christiaan Hofman" > <[EMAIL PROTECTED]> wrote: >> >> On 12 Dec 2007, at 8:39 PM, Adam R. Maxwell wrote: >> >>> >>> On Wednesday, December 12, 2007, at 11:22AM, "Christiaan Hofman" >>> <[EMAIL PROTECTED]> wrote: >>>> >>>> On 12 Dec 2007, at 8:16 PM, Adam R. Maxwell wrote: >>>> >>>>> >>>>> On Wednesday, December 12, 2007, at 09:44AM, "Christiaan Hofman" >>>>> <[EMAIL PROTECTED]> wrote: >>>>>> >>>>>> On 12 Dec 2007, at 6:03 PM, Adam R. Maxwell wrote: >>>>>> >>>>>>> >>>>>>> On Dec 12, 2007, at 5:18 AM, Christiaan Hofman wrote: >>>>>>> >>>>>>>> Now that you've removed makeType:, how should we handle empty >>>>>>>> fields >>>>>>>> in the editor? Right now things are inconsistent, as in some >>>>>>>> places >>>>>>>> empty strings are equivalent to nil, and in other places >>>>>>>> they're >>>>>>>> not. >>>>>>>> For example, adding, removing, and changing a field name still >>>>>>>> assume >>>>>>>> that non-displayed fields are empty and displayed fields are >>>>>>>> not >>>>>>>> empty, which now is wrong. >>>>>>> >>>>>>> Didn't know that; I've never changed a field name or looked at >>>>>>> that >>>>>>> code, so I'm not sure what the implications are. >>>>>>> >>>>>>> The delete should just delete the selected row, I think (and be >>>>>>> disabled for un-deletable rows). I'd use that action regularly >>>>>>> except >>>>>>> that it's so annoying to go through the sheet/popup for each >>>>>>> one...so >>>>>>> I end up leaving RIS imports with a bunch of junk fields. >>>>>>> >>>>>> >>>>>> It's not a question of what field to delete, but what "deleting a >>>>>> field" means? A field displayed in the editor may now already be >>>>>> nil, >>>>>> so deleting it would do nothing. >>>>> >>>>> If I select the Year field for a journal, the "Delete Field" >>>>> option >>>>> should be disabled. Likewise, it should be disabled for required/ >>>>> optional/user-defined default fields. >>>>> >>>>>> The same for add: a field not >>>>>> displayed in the editor may actually be non-nil. In those cases >>>>>> addField: and removeField: do not work properly, because they >>>>>> assume >>>>>> that the field was nil or non-nil respectively. >>>>> >>>>> Under what circumstances do you have a non-nil field that isn't >>>>> displayed in the editor? >>>>> >>>> >>>> that's my question: should we have those or not? My point is >>>> that now >>>> that we don't enforce a relation between (non)-nil fields and >>>> standard fields through makeType, a value of @"" should be >>>> equivalent >>>> to a value of nil. So as custom nil fields are not displayed, also >>>> custom empty fields should not be displayed. Otherwise empty >>>> strings >>>> can be added from switching types, as we don't remove those >>>> anymore. >>> >>> I think we have a terminology issue here; what is the scenario for >>> this? Are you talking about one-off custom fields that are added >>> with the + button, then the user switches types without setting >>> that field to a meaningful value? Those seem to be removed when >>> switching types if the field is empty, and that's expected behavior >>> as far as I'm concerned. >> >> Any case that adds empty strings as a field value, for a field that >> at some point is not a standard field. This could be when the type >> changes. They don't need to be custom fields at the time they're >> created. E.g. a standard type for one field could be an empty string >> and is displayed. When you switch type, it may not be a standard >> field anymore. So should it be displayed? Empty non-standard fields >> are now not removed anymore, as that was happening in makeType. > > If I hit cmd-n for a new @article, then click the + button to add a > custom field called "Test" it's filled in with some default > values. If I switch the type to @book, the Test field is > preserved. All non-book empty fields are gone. If I delete the > content of the Test field and commit the edit, it's still present. > If I switch back to @article, the Test field is gone. So what case > adds empty strings to a field value?
That's because I explicitly have implemented it that way now (see the extra argument to the AddField macro). My question is: should I have done it that way or not? Christiaan ------------------------------------------------------------------------- SF.Net email is sponsored by: Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace _______________________________________________ Bibdesk-develop mailing list Bibdesk-develop@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bibdesk-develop