diff options
| author | Ulf Jasper | 2021-02-24 19:26:37 +0100 |
|---|---|---|
| committer | Ulf Jasper | 2021-02-24 19:26:37 +0100 |
| commit | 654cb8e6b7fbdca32f07609cafe906e2470cc73d (patch) | |
| tree | 7e145123f4ea485683a40ac111b83bfd24bb532b | |
| parent | 1f5ed3edc6244a26697ff5584431ff546aeaf9a4 (diff) | |
| download | emacs-654cb8e6b7fbdca32f07609cafe906e2470cc73d.tar.gz emacs-654cb8e6b7fbdca32f07609cafe906e2470cc73d.zip | |
Add options to use feed names from newticker-url-list
* lisp/net/newst-treeview.el
(newsticker-treeview-use-feed-name-from-url-list-in-treeview): New.
(newsticker-treeview-use-feed-name-from-url-list-in-itemview): New.
(newsticker--treeview-item-show): Show feed name from
newsticker-url-list if wanted.
(newsticker--treeview-propertize-tag): Add argument 'tooltip'.
(newsticker--treeview-tree-get-tag): Usefeed name from
newsticker-url-list if wanted. (Fixes third issue in
Bug#41376.)
| -rw-r--r-- | lisp/net/newst-treeview.el | 46 |
1 files changed, 36 insertions, 10 deletions
diff --git a/lisp/net/newst-treeview.el b/lisp/net/newst-treeview.el index 618a791c575..c0b5e34f681 100644 --- a/lisp/net/newst-treeview.el +++ b/lisp/net/newst-treeview.el | |||
| @@ -119,6 +119,18 @@ applies to newsticker only." | |||
| 119 | :type 'boolean | 119 | :type 'boolean |
| 120 | :group 'newsticker-treeview) | 120 | :group 'newsticker-treeview) |
| 121 | 121 | ||
| 122 | (defcustom newsticker-treeview-use-feed-name-from-url-list-in-treeview | ||
| 123 | t | ||
| 124 | "Use the feed names from 'newsticker-url-list' for display in treeview." | ||
| 125 | :type 'boolean | ||
| 126 | :group 'newsticker-treeview) | ||
| 127 | |||
| 128 | (defcustom newsticker-treeview-use-feed-name-from-url-list-in-itemview | ||
| 129 | t | ||
| 130 | "Use feed names from 'newsticker-url-list' in itemview." | ||
| 131 | :type 'boolean | ||
| 132 | :group 'newsticker-treeview) | ||
| 133 | |||
| 122 | (defvar newsticker-groups | 134 | (defvar newsticker-groups |
| 123 | '("Feeds") | 135 | '("Feeds") |
| 124 | "List of feed groups, used in the treeview frontend. | 136 | "List of feed groups, used in the treeview frontend. |
| @@ -738,11 +750,14 @@ for the button." | |||
| 738 | (img (newsticker--image-read feed-name-symbol nil 40))) | 750 | (img (newsticker--image-read feed-name-symbol nil 40))) |
| 739 | (if (and (display-images-p) img) | 751 | (if (and (display-images-p) img) |
| 740 | (newsticker--insert-image img (car item)) | 752 | (newsticker--insert-image img (car item)) |
| 741 | (insert (newsticker--real-feed-name feed-name-symbol)))) | 753 | (insert (if newsticker-treeview-use-feed-name-from-url-list-in-itemview |
| 754 | (symbol-name feed-name-symbol) | ||
| 755 | (newsticker--real-feed-name feed-name-symbol))))) | ||
| 742 | (add-text-properties (point-min) (point) | 756 | (add-text-properties (point-min) (point) |
| 743 | (list 'face 'newsticker-feed-face | 757 | (list 'face 'newsticker-feed-face |
| 744 | 'mouse-face 'highlight | 758 | 'mouse-face 'highlight |
| 745 | 'help-echo "Visit in web browser." | 759 | 'help-echo (concat (newsticker--real-feed-name feed-name-symbol) |
| 760 | "\nClick to visit in web browser.") | ||
| 746 | :nt-link (newsticker--link item) | 761 | :nt-link (newsticker--link item) |
| 747 | 'keymap newsticker--treeview-url-keymap)) | 762 | 'keymap newsticker--treeview-url-keymap)) |
| 748 | (setq pos (point)) | 763 | (setq pos (point)) |
| @@ -933,10 +948,10 @@ Optional arguments CHANGED-WIDGET and EVENT are ignored." | |||
| 933 | (newsticker-treeview-mode))) | 948 | (newsticker-treeview-mode))) |
| 934 | 949 | ||
| 935 | (defun newsticker--treeview-propertize-tag (tag &optional num-new nt-id feed | 950 | (defun newsticker--treeview-propertize-tag (tag &optional num-new nt-id feed |
| 936 | vfeed) | 951 | vfeed tooltip) |
| 937 | "Return propertized copy of string TAG. | 952 | "Return propertized copy of string TAG. |
| 938 | Optional argument NUM-NEW is used for choosing face, other | 953 | Optional argument NUM-NEW is used for choosing face, other |
| 939 | arguments NT-ID, FEED, and VFEED are added as properties." | 954 | arguments NT-ID, FEED, VFEED and TOOLTIP are added as properties." |
| 940 | ;;(message "newsticker--treeview-propertize-tag `%s' %s" feed nt-id) | 955 | ;;(message "newsticker--treeview-propertize-tag `%s' %s" feed nt-id) |
| 941 | (let ((face 'newsticker-treeview-face) | 956 | (let ((face 'newsticker-treeview-face) |
| 942 | (map (make-sparse-keymap))) | 957 | (map (make-sparse-keymap))) |
| @@ -950,14 +965,14 @@ arguments NT-ID, FEED, and VFEED are added as properties." | |||
| 950 | :nt-id nt-id | 965 | :nt-id nt-id |
| 951 | :nt-feed feed | 966 | :nt-feed feed |
| 952 | :nt-vfeed vfeed | 967 | :nt-vfeed vfeed |
| 953 | 'help-echo tag | 968 | 'help-echo tooltip |
| 954 | 'mouse-face 'highlight))) | 969 | 'mouse-face 'highlight))) |
| 955 | 970 | ||
| 956 | (defun newsticker--treeview-tree-get-tag (feed-name vfeed-name | 971 | (defun newsticker--treeview-tree-get-tag (feed-name vfeed-name |
| 957 | &optional nt-id) | 972 | &optional nt-id) |
| 958 | "Return a tag string for either FEED-NAME or, if it is nil, for VFEED-NAME. | 973 | "Return a tag string for either FEED-NAME or, if it is nil, for VFEED-NAME. |
| 959 | Optional argument NT-ID is added to the tag's properties." | 974 | Optional argument NT-ID is added to the tag's properties." |
| 960 | (let (tag (num-new 0)) | 975 | (let (tag tooltip (num-new 0)) |
| 961 | (cond (vfeed-name | 976 | (cond (vfeed-name |
| 962 | (cond ((string= vfeed-name "new") | 977 | (cond ((string= vfeed-name "new") |
| 963 | (setq num-new (newsticker--stat-num-items-total 'new)) | 978 | (setq num-new (newsticker--stat-num-items-total 'new)) |
| @@ -970,18 +985,29 @@ Optional argument NT-ID is added to the tag's properties." | |||
| 970 | (setq tag (format "Obsolete items (%d)" num-new))) | 985 | (setq tag (format "Obsolete items (%d)" num-new))) |
| 971 | ((string= vfeed-name "all") | 986 | ((string= vfeed-name "all") |
| 972 | (setq num-new (newsticker--stat-num-items-total)) | 987 | (setq num-new (newsticker--stat-num-items-total)) |
| 973 | (setq tag (format "All items (%d)" num-new))))) | 988 | (setq tag (format "All items (%d)" num-new)))) |
| 989 | (setq tooltip tag)) | ||
| 974 | (feed-name | 990 | (feed-name |
| 975 | (setq num-new (newsticker--stat-num-items-for-group | 991 | (setq num-new (newsticker--stat-num-items-for-group |
| 976 | (intern feed-name) 'new 'immortal)) | 992 | (intern feed-name) 'new 'immortal)) |
| 977 | (setq tag | 993 | (setq tag |
| 978 | (format "%s (%d)" | 994 | (format "%s (%d)" |
| 979 | (newsticker--real-feed-name (intern feed-name)) | 995 | (if newsticker-treeview-use-feed-name-from-url-list-in-itemview |
| 980 | num-new)))) | 996 | feed-name |
| 997 | (newsticker--real-feed-name (intern feed-name))) | ||
| 998 | num-new)) | ||
| 999 | (setq tooltip | ||
| 1000 | (if (newsticker--group-get-group feed-name) | ||
| 1001 | tag | ||
| 1002 | (format "%s (%d)\n%s" | ||
| 1003 | feed-name | ||
| 1004 | num-new | ||
| 1005 | (newsticker--real-feed-name (intern feed-name))))))) | ||
| 981 | (if tag | 1006 | (if tag |
| 982 | (newsticker--treeview-propertize-tag tag num-new | 1007 | (newsticker--treeview-propertize-tag tag num-new |
| 983 | nt-id | 1008 | nt-id |
| 984 | feed-name vfeed-name)))) | 1009 | feed-name vfeed-name |
| 1010 | tooltip)))) | ||
| 985 | 1011 | ||
| 986 | (defun newsticker--stat-num-items-for-group (feed-name-symbol &rest ages) | 1012 | (defun newsticker--stat-num-items-for-group (feed-name-symbol &rest ages) |
| 987 | "Count number of items in feed FEED-NAME-SYMBOL that have an age matching AGES." | 1013 | "Count number of items in feed FEED-NAME-SYMBOL that have an age matching AGES." |