On , August 7 2001 09:45:48, Doug Alcorn wrote:
[...]
>     '(bbdb-display-list
>             '((net         . t)
>               (phone       . t)
>               (address     . (multi-line full))
>               (attribution . (one-line))
>               (pilot-id    . (full))
>               (timestamp   . nil)
>               (t           . (multi-line))))

This gets confusing when I also want to specify the order
(e.g. for maintaining the original BBDB behavior), so I
wonder whether the following would be also ok for you,
although it again separates _order_ and _omitting_.

An alist specifying the field order and omitted fields per
display layout, instead of specifying it by field.
E.g. elements of the list have the format
     (LAYOUT OMIT-LIST [ORDER-LIST])
where 
OMIT-LIST is a list of fields to omit, t for omitting all
          fields or nil for omitting none
ORDER-LIST might be omitted for default order or is is a
           list of fields defining a order requested by the
           user.  A field value of t is a place holder for
           _all remaining fields_. 

ORDER-LIST takes precedence over OMIT-LIST,
i.e. with t as OMIT-LIST, fields still get 
shown if they appear in ORDER-LIST.
If the requested layout does not appear in the alist,
then use the default order and display all fields. 

E.g. to have just phones, mail-alias, net and notes displayed
in one-line layout and for multi-line layout net, phones,
addresses and the remaining fields, excluding creation-date
and timestamp, while the last should be excluded also from
full display.
           
(setq bbdb-display-layout-alist
      '((one-line     t
                      (phones mail-alias net notes))
        (multi-line   (creation-date timestamp)
                      (net phones addresses t))
        (full         '(timestamp))))

vs.

(setq bbdb-display-layout-alist
      '((phones        . one-line)
        (mail-alias    . one-line)
        (notes         . one-line)
        (net           . (one-line multi-line)
        (phones        . multi-line)
        (addresses     . multi-line)
        (creation-date . (multi-line full))
        (timestamp     . nil)
        (t             . multi-line))

IMHO it is more easier to understand, maintain and think in
display layouts, than in fields, but let's hear what you
think about it?

bbdb-elided-display plugs into this nicely by
having 
(setq bbdb-display-layout-alist
      '((one-line     t
                      (phones mail-alias net notes))
        (multi-line   (creation-date timestamp)
                      (net phones addresses t))
        (full         '(timestamp))))

Bye
Robert.



_______________________________________________
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/bbdb-info
BBDB Home Page: http://bbdb.sourceforge.net/

Reply via email to