Function: newsticker--treeview-list-add-item

newsticker--treeview-list-add-item is a byte-compiled function defined in newst-treeview.el.gz.

Signature

(newsticker--treeview-list-add-item ITEM FEED &optional SHOW-FEED)

Documentation

Add news ITEM for FEED to newsticker treeview list window.

If string SHOW-FEED is non-nil it is shown in the item string.

Source Code

;; Defined in /usr/src/emacs/lisp/net/newst-treeview.el.gz
;; ======================================================================
;;; List window
;; ======================================================================
(defun newsticker--treeview-list-add-item (item feed &optional show-feed)
  "Add news ITEM for FEED to newsticker treeview list window.
If string SHOW-FEED is non-nil it is shown in the item string."
  (setq newsticker--treeview-list-show-feed show-feed)
  (with-current-buffer (newsticker--treeview-list-buffer)
    (let* ((inhibit-read-only t)
           pos1 pos2)
      (goto-char (point-max))
      (setq pos1 (point-marker))
      (insert " ")
      (insert (propertize " " 'display '(space :align-to 2)))
      (insert (if show-feed
                  (concat
                   (substring
                    (format "%-10s" (newsticker--real-feed-name
                                     feed))
                    0 10)
                   (propertize " " 'display '(space :align-to 12)))
                ""))
      (insert (format-time-string newsticker-treeview-date-format
                                  (newsticker--time item)))
      (insert (propertize " " 'display
                          (list 'space :align-to (if show-feed 28 18))))
      (setq pos2 (point-marker))
      (insert (newsticker--title item))
      (insert "\n")
      (newsticker--treeview-render-text pos2 (point-marker))
      (goto-char pos2)
      (while (search-forward "\n" nil t)
        (replace-match " "))
      (let ((map (make-sparse-keymap)))
        (dolist (key'([mouse-1] [mouse-3]))
          (define-key map key #'newsticker-treeview-tree-click))
        (define-key map "\n" #'newsticker-treeview-show-item)
        (define-key map "\C-m" #'newsticker-treeview-show-item)
        (add-text-properties pos1 (point-max)
                             (list :nt-item item
                                   :nt-feed feed
                                   :nt-link (newsticker--link item)
                                   'mouse-face 'highlight
                                   'keymap map
                                   'help-echo (buffer-substring pos2
                                                                (point-max)))))
      (insert "\n"))))