* (gnus-summary-gather-references): Abolished.
[elisp/gnus.git-] / lisp / gnus-offline.el
index bc43322..fa7da04 100644 (file)
@@ -1,13 +1,14 @@
 ;;; gnus-offline.el --- To process mail & news at offline environment.
-;;; $Id: gnus-offline.el,v 1.1.2.5.2.21 1998-12-16 13:16:51 ichikawa Exp $
+;;; $Id: gnus-offline.el,v 1.1.2.5.2.25 1999-01-13 06:53:38 ichikawa Exp $
 
 ;;; Copyright (C) 1998 Tatsuya Ichikawa
 ;;;                    Yukihiro Ito
 ;;; Author: Tatsuya Ichikawa <t-ichi@po.shiojiri.ne.jp>
 ;;;         Yukihiro Ito <ito@rs.civil.tohoku.ac.jp>
 ;;;         Hidekazu Nakamura <u90121@uis-inf.co.jp>
+;;;         Tsukamoto Tetsuo <czkmt@remus.dti.ne.jp>
 
-;;; Version: 2.01
+;;; Version: 2.02
 ;;; Keywords: news , mail , offline , gnus
 ;;;
 ;;; SPECIAL THANKS
   :group 'mail
   :group 'news)
 
-(defconst gnus-offline-version-number "2.01")
+(defconst gnus-offline-version-number "2.02")
 (defconst gnus-offline-codename
 ;;  "Beta5"                    ; Beta
 ;;  "This is the time"         ; 2.00
-  "A matter of trust"
-;;  "Modern Woman"
+;;  "A matter of trust"
+  "Modern Woman"
 ;;  "Code of silence"
   )
 
@@ -588,7 +589,7 @@ If value is nil , dialup line is disconnected status.")
   (if (eq gnus-offline-articles-to-fetch 'mail)
       (gnus-offline-restore-mail-group-level))
   (if (eq gnus-offline-news-fetch-method 'nnagent)
-      (or (featurep 'xemacs)
+      (or gnus-agent-expire-all
          (gnus-offline-agent-expire)))
   (if (and (featurep 'xemacs)
           (fboundp 'play-sound-file))
@@ -739,7 +740,11 @@ If value is nil , dialup line is disconnected status.")
                     (substitute-key-definition
                      'gnus-agent-toggle-plugged 'gnus-offline-toggle-plugged
                      gnus-agent-group-mode-map)
-                    (local-set-key "\C-coe" 'gnus-offline-agent-expire)))))
+                    (local-set-key "\C-coe" 'gnus-offline-agent-expire)))
+              (or (featurep 'xemacs)
+                  (define-key gnus-group-mode-map 
+                    (if (eq system-type 'windows-nt) [S-mouse-2] [mouse-3])
+                    'gnus-offline-popup-menu))))
   (if (eq gnus-offline-news-fetch-method 'nnagent)
       (add-hook 'gnus-summary-mode-hook
                '(lambda ()
@@ -760,6 +765,7 @@ If value is nil , dialup line is disconnected status.")
 ;;
 (defun gnus-offline-define-menu-on-miee ()
   "*Set and change menu bar on MIEE menu."
+  (let ((menu
   (if (featurep 'meadow)
       (easy-menu-change
        nil
@@ -802,7 +808,9 @@ If value is nil , dialup line is disconnected status.")
        ["Set interval time" gnus-offline-set-interval-time t]
        "----"
        ["Hang up Line." gnus-offline-set-unplugged-state gnus-offline-connected]
-       )))))
+       ))))))
+  (and (featurep 'xemacs)
+       (easy-menu-add menu))))
 ;;
 ;; define menu without miee.
 ;;
@@ -835,6 +843,20 @@ If value is nil , dialup line is disconnected status.")
        ["Hang up Line." gnus-offline-set-unplugged-state gnus-offline-connected])))
   (and (featurep 'xemacs)
        (easy-menu-add gnus-offline-menu-on-agent)))
+;;
+;; Popup menu within the group buffer (under Emacs).
+;;
+(defun gnus-offline-popup-menu (event)
+  "Popup menu for Gnus offline."
+  (interactive "e")
+  (let* ((menu (if (boundp 'miee-popup-menu)
+                  (or (assoc 'keymap
+                             (assoc 'Miee (assoc 'menu-bar global-map)))
+                      miee-popup-menu)
+                gnus-offline-menu-on-agent))
+        (pop (x-popup-menu t menu))
+        (func (and pop (lookup-key menu (apply 'vector pop)))))
+    (and pop func (funcall func))))
 \f
 ;;
 ;; Timer Function