aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorUlf Jasper2008-10-31 20:19:17 +0000
committerUlf Jasper2008-10-31 20:19:17 +0000
commitc9aafaaf7ed16fcde026a915d021fa8950062d42 (patch)
tree213a302e182b37f1db56d09d78ca6316edac9b15
parentaad81014a9d9e3e6fc0960e8e3825c839a0a4123 (diff)
downloademacs-c9aafaaf7ed16fcde026a915d021fa8950062d42.tar.gz
emacs-c9aafaaf7ed16fcde026a915d021fa8950062d42.zip
newsticker fixes: cachefile, layout changes.
-rw-r--r--lisp/ChangeLog23
-rw-r--r--lisp/net/newst-backend.el9
-rw-r--r--lisp/net/newst-treeview.el51
3 files changed, 57 insertions, 26 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index d7d6729bf49..c02d9848906 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,26 @@
12008-10-31 Ulf Jasper <ulf@web.de>
2
3
42008-10-31 Ulf Jasper <ulf.jasper@web.de>
5
6 * net/newst-backend.el (newsticker--cache-update): Fixed no-save
7 case.
8
9 * net/newst-treeview.el (newsticker--treeview-list-update-faces)
10 (newsticker--treeview-list-update, newsticker--treeview-item-show)
11 (newsticker--treeview-tree-update)
12 (newsticker--treeview-tree-update-highlight)
13 (newsticker-treeview-update)
14 (newsticker-treeview-next-item, newsticker-treeview-prev-item)
15 (newsticker-treeview-next-new-or-immortal-item)
16 (newsticker-treeview-prev-new-or-immortal-item)
17 (newsticker-treeview-next-feed, newsticker-treeview-prev-feed)
18 (newsticker-treeview-tree-click): Watch for layout changes.
19 (newsticker--treeview-set-current-node): Cleanup.
20 (newsticker--treeview-restore-layout): Renamed from
21 newsticker--treeview-restore-buffers.
22 (newsticker--treeview-mark-item): Update cache file.
23
12008-10-31 Ulf Jasper <ulf.jasper@web.de> 242008-10-31 Ulf Jasper <ulf.jasper@web.de>
2 25
3 * calendar/icalendar.el (icalendar--uid-count): New. 26 * calendar/icalendar.el (icalendar--uid-count): New.
diff --git a/lisp/net/newst-backend.el b/lisp/net/newst-backend.el
index f0174c588b8..9359fb2dc77 100644
--- a/lisp/net/newst-backend.el
+++ b/lisp/net/newst-backend.el
@@ -7,7 +7,7 @@
7;; Filename: newst-backend.el 7;; Filename: newst-backend.el
8;; URL: http://www.nongnu.org/newsticker 8;; URL: http://www.nongnu.org/newsticker
9;; Keywords: News, RSS, Atom 9;; Keywords: News, RSS, Atom
10;; Time-stamp: "7. Juli 2008, 19:20:10 (ulf)" 10;; Time-stamp: "31. Oktober 2008, 21:07:17 (ulf)"
11 11
12;; ====================================================================== 12;; ======================================================================
13 13
@@ -2105,14 +2105,15 @@ well."
2105 "Update newsticker cache file. 2105 "Update newsticker cache file.
2106If optional argument SAVE is not nil the cache file is saved to disk." 2106If optional argument SAVE is not nil the cache file is saved to disk."
2107 (save-excursion 2107 (save-excursion
2108 (let ((coding-system-for-write 'utf-8)) 2108 (let ((coding-system-for-write 'utf-8)
2109 (with-temp-buffer 2109 (buf (find-file-noselect newsticker-cache-filename)))
2110 (when buf
2111 (set-buffer buf)
2110 (setq buffer-undo-list t) 2112 (setq buffer-undo-list t)
2111 (erase-buffer) 2113 (erase-buffer)
2112 (insert ";; -*- coding: utf-8 -*-\n") 2114 (insert ";; -*- coding: utf-8 -*-\n")
2113 (insert (prin1-to-string newsticker--cache)) 2115 (insert (prin1-to-string newsticker--cache))
2114 (when save 2116 (when save
2115 (set-visited-file-name newsticker-cache-filename)
2116 (save-buffer)))))) 2117 (save-buffer))))))
2117 2118
2118(defun newsticker--cache-get-feed (feed) 2119(defun newsticker--cache-get-feed (feed)
diff --git a/lisp/net/newst-treeview.el b/lisp/net/newst-treeview.el
index 4fd886e1d44..0df89b8b299 100644
--- a/lisp/net/newst-treeview.el
+++ b/lisp/net/newst-treeview.el
@@ -7,7 +7,7 @@
7;; URL: http://www.nongnu.org/newsticker 7;; URL: http://www.nongnu.org/newsticker
8;; Created: 2007 8;; Created: 2007
9;; Keywords: News, RSS, Atom 9;; Keywords: News, RSS, Atom
10;; Time-stamp: "13. Oktober 2008, 20:34:41 (ulf)" 10;; Time-stamp: "31. Oktober 2008, 20:44:46 (ulf)"
11 11
12;; ====================================================================== 12;; ======================================================================
13 13
@@ -575,7 +575,8 @@ The sort function is chosen according to the value of
575 (forward-line 1) 575 (forward-line 1)
576 (beginning-of-line))))) ;; FIXME!? 576 (beginning-of-line))))) ;; FIXME!?
577 (when pos-sel 577 (when pos-sel
578 (set-window-point (newsticker--treeview-list-window) pos-sel)))) 578 (if (window-live-p (newsticker--treeview-list-window))
579 (set-window-point (newsticker--treeview-list-window) pos-sel)))))
579 580
580(defun newsticker--treeview-list-clear-highlight () 581(defun newsticker--treeview-list-clear-highlight ()
581 "Clear the highlight in the treeview list buffer." 582 "Clear the highlight in the treeview list buffer."
@@ -608,8 +609,9 @@ The sort function is chosen according to the value of
608 "Update the faces and highlight in the treeview list buffer. 609 "Update the faces and highlight in the treeview list buffer.
609If CLEAR-BUFFER is non-nil the list buffer is completely erased." 610If CLEAR-BUFFER is non-nil the list buffer is completely erased."
610 (save-excursion 611 (save-excursion
611 (set-window-buffer (newsticker--treeview-list-window) 612 (if (window-live-p (newsticker--treeview-list-window))
612 (newsticker--treeview-list-buffer)) 613 (set-window-buffer (newsticker--treeview-list-window)
614 (newsticker--treeview-list-buffer)))
613 (set-buffer (newsticker--treeview-list-buffer)) 615 (set-buffer (newsticker--treeview-list-buffer))
614 (if clear-buffer 616 (if clear-buffer
615 (let ((inhibit-read-only t)) 617 (let ((inhibit-read-only t))
@@ -779,13 +781,15 @@ for the button."
779 (let ((newsticker-treeview-automatically-mark-displayed-items-as-old nil)) 781 (let ((newsticker-treeview-automatically-mark-displayed-items-as-old nil))
780 (newsticker-treeview-mark-item-old t) 782 (newsticker-treeview-mark-item-old t)
781 (newsticker--treeview-list-update-faces))) 783 (newsticker--treeview-list-update-faces)))
782 (set-window-point (newsticker--treeview-item-window) 1)) 784 (if (window-live-p (newsticker--treeview-item-window))
785 (set-window-point (newsticker--treeview-item-window) 1)))
783 786
784(defun newsticker--treeview-item-update () 787(defun newsticker--treeview-item-update ()
785 "Update the treeview item buffer and window." 788 "Update the treeview item buffer and window."
786 (save-excursion 789 (save-excursion
787 (set-window-buffer (newsticker--treeview-item-window) 790 (if (window-live-p (newsticker--treeview-item-window))
788 (newsticker--treeview-item-buffer)) 791 (set-window-buffer (newsticker--treeview-item-window)
792 (newsticker--treeview-item-buffer)))
789 (set-buffer (newsticker--treeview-item-buffer)) 793 (set-buffer (newsticker--treeview-item-buffer))
790 (let ((inhibit-read-only t)) 794 (let ((inhibit-read-only t))
791 (erase-buffer)) 795 (erase-buffer))
@@ -864,8 +868,9 @@ Optional arguments CHANGED-WIDGET and EVENT are ignored."
864(defun newsticker--treeview-tree-update () 868(defun newsticker--treeview-tree-update ()
865 "Update treeview tree buffer and window." 869 "Update treeview tree buffer and window."
866 (save-excursion 870 (save-excursion
867 (set-window-buffer (newsticker--treeview-tree-window) 871 (if (window-live-p (newsticker--treeview-tree-window))
868 (newsticker--treeview-tree-buffer)) 872 (set-window-buffer (newsticker--treeview-tree-window)
873 (newsticker--treeview-tree-buffer)))
869 (set-buffer (newsticker--treeview-tree-buffer)) 874 (set-buffer (newsticker--treeview-tree-buffer))
870 (kill-all-local-variables) 875 (kill-all-local-variables)
871 (let ((inhibit-read-only t)) 876 (let ((inhibit-read-only t))
@@ -1046,7 +1051,8 @@ Arguments IGNORE are ignored."
1046 (save-excursion (beginning-of-line) (point)) 1051 (save-excursion (beginning-of-line) (point))
1047 (save-excursion (end-of-line) (1+ (point))) 1052 (save-excursion (end-of-line) (1+ (point)))
1048 (current-buffer))) 1053 (current-buffer)))
1049 (set-window-point (newsticker--treeview-tree-window) pos)))) 1054 (if (window-live-p (newsticker--treeview-tree-window))
1055 (set-window-point (newsticker--treeview-tree-window) pos)))))
1050 1056
1051;; ====================================================================== 1057;; ======================================================================
1052;;; Toolbar 1058;;; Toolbar
@@ -1198,7 +1204,8 @@ Arguments IGNORE are ignored."
1198 (newsticker--treeview-item-update)) 1204 (newsticker--treeview-item-update))
1199 1205
1200(defun newsticker-treeview-update () 1206(defun newsticker-treeview-update ()
1201 "Update all treeview buffers and windows." 1207 "Update all treeview buffers and windows.
1208Note: does not update the layout."
1202 (interactive) 1209 (interactive)
1203 (newsticker--cache-update) 1210 (newsticker--cache-update)
1204 (newsticker--group-manage-orphan-feeds) 1211 (newsticker--group-manage-orphan-feeds)
@@ -1267,6 +1274,7 @@ Arguments IGNORE are ignored."
1267(defun newsticker-treeview-show-item () 1274(defun newsticker-treeview-show-item ()
1268 "Show current item." 1275 "Show current item."
1269 (interactive) 1276 (interactive)
1277 (newsticker--treeview-restore-layout)
1270 (newsticker--treeview-list-update-highlight) 1278 (newsticker--treeview-list-update-highlight)
1271 (save-excursion 1279 (save-excursion
1272 (set-buffer (newsticker--treeview-list-buffer)) 1280 (set-buffer (newsticker--treeview-list-buffer))
@@ -1281,7 +1289,7 @@ Arguments IGNORE are ignored."
1281(defun newsticker-treeview-next-item () 1289(defun newsticker-treeview-next-item ()
1282 "Move to next item." 1290 "Move to next item."
1283 (interactive) 1291 (interactive)
1284 (newsticker--treeview-restore-buffers) 1292 (newsticker--treeview-restore-layout)
1285 (save-current-buffer 1293 (save-current-buffer
1286 (set-buffer (newsticker--treeview-list-buffer)) 1294 (set-buffer (newsticker--treeview-list-buffer))
1287 (if (newsticker--treeview-list-highlight-start) 1295 (if (newsticker--treeview-list-highlight-start)
@@ -1293,7 +1301,7 @@ Arguments IGNORE are ignored."
1293(defun newsticker-treeview-prev-item () 1301(defun newsticker-treeview-prev-item ()
1294 "Move to previous item." 1302 "Move to previous item."
1295 (interactive) 1303 (interactive)
1296 (newsticker--treeview-restore-buffers) 1304 (newsticker--treeview-restore-layout)
1297 (save-current-buffer 1305 (save-current-buffer
1298 (set-buffer (newsticker--treeview-list-buffer)) 1306 (set-buffer (newsticker--treeview-list-buffer))
1299 (forward-line -1)) 1307 (forward-line -1))
@@ -1302,7 +1310,7 @@ Arguments IGNORE are ignored."
1302(defun newsticker-treeview-next-new-or-immortal-item () 1310(defun newsticker-treeview-next-new-or-immortal-item ()
1303 "Move to next new or immortal item." 1311 "Move to next new or immortal item."
1304 (interactive) 1312 (interactive)
1305 (newsticker--treeview-restore-buffers) 1313 (newsticker--treeview-restore-layout)
1306 (newsticker--treeview-list-clear-highlight) 1314 (newsticker--treeview-list-clear-highlight)
1307 (catch 'found 1315 (catch 'found
1308 (let ((index (newsticker-treeview-next-item))) 1316 (let ((index (newsticker-treeview-next-item)))
@@ -1321,7 +1329,7 @@ Arguments IGNORE are ignored."
1321(defun newsticker-treeview-prev-new-or-immortal-item () 1329(defun newsticker-treeview-prev-new-or-immortal-item ()
1322 "Move to previous new or immortal item." 1330 "Move to previous new or immortal item."
1323 (interactive) 1331 (interactive)
1324 (newsticker--treeview-restore-buffers) 1332 (newsticker--treeview-restore-layout)
1325 (newsticker--treeview-list-clear-highlight) 1333 (newsticker--treeview-list-clear-highlight)
1326 (catch 'found 1334 (catch 'found
1327 (let ((index (newsticker-treeview-next-item))) 1335 (let ((index (newsticker-treeview-next-item)))
@@ -1368,7 +1376,8 @@ Move to next item unless DONT-PROCEED is non-nil."
1368 (when item 1376 (when item
1369 (setcar (nthcdr 4 item) new-age) 1377 (setcar (nthcdr 4 item) new-age)
1370 ;; clean up ticker FIXME 1378 ;; clean up ticker FIXME
1371 )) 1379 )
1380 (newsticker--cache-update))
1372 1381
1373(defun newsticker-treeview-mark-list-items-old () 1382(defun newsticker-treeview-mark-list-items-old ()
1374 "Mark all listed items as old." 1383 "Mark all listed items as old."
@@ -1409,9 +1418,6 @@ Move to next item unless DONT-PROCEED is non-nil."
1409 (widget-get node :nt-id)) 1418 (widget-get node :nt-id))
1410 (setq newsticker--treeview-current-feed (widget-get node :nt-feed)) 1419 (setq newsticker--treeview-current-feed (widget-get node :nt-feed))
1411 (setq newsticker--treeview-current-vfeed (widget-get node :nt-vfeed)) 1420 (setq newsticker--treeview-current-vfeed (widget-get node :nt-vfeed))
1412 ;;(message "newsticker--treeview-set-current-node %s/%s" (widget-get node :tag)
1413 ;; (widget-get node :nt-id))
1414 ;; node)
1415 (newsticker--treeview-tree-update-highlight))) 1421 (newsticker--treeview-tree-update-highlight)))
1416 1422
1417(defun newsticker--treeview-get-first-child (node) 1423(defun newsticker--treeview-get-first-child (node)
@@ -1516,7 +1522,7 @@ is activated."
1516(defun newsticker-treeview-next-feed () 1522(defun newsticker-treeview-next-feed ()
1517 "Move to next feed." 1523 "Move to next feed."
1518 (interactive) 1524 (interactive)
1519 (newsticker--treeview-restore-buffers) 1525 (newsticker--treeview-restore-layout)
1520 (let ((cur (newsticker--treeview-get-current-node))) 1526 (let ((cur (newsticker--treeview-get-current-node)))
1521 ;;(message "newsticker-treeview-next-feed from %s" 1527 ;;(message "newsticker-treeview-next-feed from %s"
1522 ;; (widget-get cur :tag)) 1528 ;; (widget-get cur :tag))
@@ -1532,7 +1538,7 @@ is activated."
1532(defun newsticker-treeview-prev-feed () 1538(defun newsticker-treeview-prev-feed ()
1533 "Move to previous feed." 1539 "Move to previous feed."
1534 (interactive) 1540 (interactive)
1535 (newsticker--treeview-restore-buffers) 1541 (newsticker--treeview-restore-layout)
1536 (let ((cur (newsticker--treeview-get-current-node))) 1542 (let ((cur (newsticker--treeview-get-current-node)))
1537 (message "newsticker-treeview-prev-feed from %s" 1543 (message "newsticker-treeview-prev-feed from %s"
1538 (widget-get cur :tag)) 1544 (widget-get cur :tag))
@@ -1893,6 +1899,7 @@ Remove obsolete feeds as well."
1893(defun newsticker-treeview-tree-click (event) 1899(defun newsticker-treeview-tree-click (event)
1894 "Handle click EVENT on a tag in the newsticker tree." 1900 "Handle click EVENT on a tag in the newsticker tree."
1895 (interactive "e") 1901 (interactive "e")
1902 (newsticker--treeview-restore-layout)
1896 (save-excursion 1903 (save-excursion
1897 (switch-to-buffer (window-buffer (posn-window (event-end event)))) 1904 (switch-to-buffer (window-buffer (posn-window (event-end event))))
1898 (newsticker-treeview-tree-do-click (posn-point (event-end event))))) 1905 (newsticker-treeview-tree-do-click (posn-point (event-end event)))))
@@ -1919,7 +1926,7 @@ POS gives the position where EVENT occurred."
1919 (newsticker--treeview-set-current-node w)))))) 1926 (newsticker--treeview-set-current-node w))))))
1920 (newsticker--treeview-tree-update-highlight)) 1927 (newsticker--treeview-tree-update-highlight))
1921 1928
1922(defun newsticker--treeview-restore-buffers () 1929(defun newsticker--treeview-restore-layout ()
1923 "Restore treeview buffers." 1930 "Restore treeview buffers."
1924 (catch 'error 1931 (catch 'error
1925 (dotimes (i 3) 1932 (dotimes (i 3)