commit-womb
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Commit-womb] addressbook ChangeLog addressbook.el


From: Jose E. Marchesi
Subject: [Commit-womb] addressbook ChangeLog addressbook.el
Date: Sun, 06 May 2007 18:06:40 +0000

CVSROOT:        /cvsroot/womb
Module name:    addressbook
Changes by:     Jose E. Marchesi <jemarch>      07/05/06 18:06:40

Modified files:
        .              : ChangeLog addressbook.el 

Log message:
        Custom properties support

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/addressbook/ChangeLog?cvsroot=womb&r1=1.5&r2=1.6
http://cvs.savannah.gnu.org/viewcvs/addressbook/addressbook.el?cvsroot=womb&r1=1.4&r2=1.5

Patches:
Index: ChangeLog
===================================================================
RCS file: /cvsroot/womb/addressbook/ChangeLog,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- ChangeLog   5 May 2007 23:45:42 -0000       1.5
+++ ChangeLog   6 May 2007 18:06:39 -0000       1.6
@@ -1,3 +1,9 @@
+2007-05-06  Jose E. Marchesi  <address@hidden>
+
+       * addressbook.el: `addrbook-custom-properties' removed.
+       (addrbook-build-custom-property-group): New function.
+       (addrbook-set-custom-properties): New function.
+
 2007-05-05  Xavier Maillard  <address@hidden>
 
        * addressbook.el: Do not require 'cl at run-time.

Index: addressbook.el
===================================================================
RCS file: /cvsroot/womb/addressbook/addressbook.el,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- addressbook.el      5 May 2007 23:45:42 -0000       1.4
+++ addressbook.el      6 May 2007 18:06:39 -0000       1.5
@@ -5,7 +5,7 @@
 ;; Maintainer: Jose E. Marchesi
 ;; Keywords: contacts, applications
 
-;; $Id: addressbook.el,v 1.4 2007/05/05 23:45:42 jemarch Exp $
+;; $Id: addressbook.el,v 1.5 2007/05/06 18:06:39 jemarch Exp $
 
 ;; This file is NOT part of GNU Emacs.
 
@@ -62,11 +62,6 @@
   :type 'file
   :group 'addrbook)
 
-(defcustom addrbook-custom-properties nil
-  "User-defined properties"
-  :type 'sexp
-  :group 'addrbook)
-
 (defcustom addrbook-display-images t
   "Display images in the addressbook"
   :type 'boolean
@@ -598,6 +593,24 @@
       ;; Delete the attribute
       (addrbook-set-card addrbook-current-card (vcard-delete-indexed-attribute 
card attr-index)))))
 
+(defun addrbook-build-custom-property-group ()
+  "Return an empty custom property group"
+  (list 'custom-properties
+        "Custom Properties"
+        nil
+        ?c))
+
+(defun addrbook-set-custom-properties (props-data)
+  (let (custom-group
+        prop)
+    (dolist (prop props-data)
+      (setcar prop (concat "x-emacs-" (car prop))))
+    (when (not (addrbook-get-group 'custom-properties))
+      (setq addrbook-properties
+            (append addrbook-properties (list 
(addrbook-build-custom-property-group)))))
+    (setq custom-group (addrbook-get-group 'custom-properties))
+    (setcar (nthcdr 2 custom-group) props-data)))
+  
 
 ;;;; Display functions
 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]