Try to support different type of AVATAR property.
- Support [[file:dir/filename.png]] link - Support empty value - Support default value
This commit is contained in:
parent
507e48cbd1
commit
00560d5f4f
1 changed files with 15 additions and 4 deletions
|
@ -898,13 +898,24 @@ address."
|
||||||
(setq pom (or pom (point)))
|
(setq pom (or pom (point)))
|
||||||
(catch 'icon
|
(catch 'icon
|
||||||
;; Use `org-contacts-icon-property'
|
;; Use `org-contacts-icon-property'
|
||||||
(let ((image-data (org-entry-get pom org-contacts-icon-property)))
|
(let ((image-path (let ((avatar (org-entry-get pom org-contacts-icon-property))
|
||||||
(when image-data
|
(link-matcher-regexp "\\[\\[\\([^]]*\\)\\]\\(\\[\\(.*\\)\\]\\)?\\]"))
|
||||||
|
(cond
|
||||||
|
;; [[file:dir/filename.png]]
|
||||||
|
((string-match-p "\\[\\[.*\\]\\]" avatar)
|
||||||
|
(when (string-match link-matcher-regexp avatar)
|
||||||
|
(expand-file-name (substring (match-string-no-properties 1 avatar) 5 nil)
|
||||||
|
(file-name-directory (first org-contacts-files)))))
|
||||||
|
;; "" (empty string)
|
||||||
|
((string-empty-p avatar) nil)
|
||||||
|
(t (expand-file-name avatar (file-name-directory (first org-contacts-files))))))))
|
||||||
|
(when image-path
|
||||||
(throw 'icon
|
(throw 'icon
|
||||||
(if (fboundp 'gnus-rescale-image)
|
(if (fboundp 'gnus-rescale-image)
|
||||||
(gnus-rescale-image (create-image image-data)
|
;; FIXME `gnus-rescale-image' does not support rescale `create-image' spec.
|
||||||
|
(gnus-rescale-image (create-image image-path)
|
||||||
(cons org-contacts-icon-size org-contacts-icon-size))
|
(cons org-contacts-icon-size org-contacts-icon-size))
|
||||||
(create-image image-data)))))
|
(create-image image-path)))))
|
||||||
;; Next, try Gravatar
|
;; Next, try Gravatar
|
||||||
(when org-contacts-icon-use-gravatar
|
(when org-contacts-icon-use-gravatar
|
||||||
(let* ((gravatar-size org-contacts-icon-size)
|
(let* ((gravatar-size org-contacts-icon-size)
|
||||||
|
|
Loading…
Reference in a new issue