* riece-mcat.el (riece-mcat-update): Create a mcat-file if it does
[elisp/riece.git] / lisp / riece-rdcc.el
index 201fd69..3c109ae 100644 (file)
@@ -18,8 +18,8 @@
 
 ;; You should have received a copy of the GNU General Public License
 ;; along with GNU Emacs; see the file COPYING.  If not, write to the
-;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-;; Boston, MA 02111-1307, USA.
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
 
 ;;; Commentary:
 
@@ -102,8 +102,6 @@ end
 (defvar riece-rdcc-temp-file nil)
 (defvar riece-rdcc-received-size nil)
 
-(defvar riece-rdcc-enabled nil)
-
 (defconst riece-rdcc-description
   "DCC file sending protocol support (written in Ruby.)")
 
@@ -305,7 +303,7 @@ end
 
 (defun riece-handle-dcc-request (prefix target message)
   (let ((case-fold-search t))
-    (when (and riece-rdcc-enabled
+    (when (and (get 'riece-rdcc 'riece-addon-enabled)
               (string-match
                "SEND \\(\\([^ ]+\\)\\|\"\\(.+\\)\"\\) \\([^ ]+\\) \\([^ ]+\\) \\([^ ]+\\)"
                message))
@@ -355,15 +353,18 @@ end
   (add-to-list 'riece-ctcp-additional-clientinfo "DCC")
   (add-hook 'riece-ctcp-dcc-request-hook 'riece-handle-dcc-request))
 
+(defun riece-rdcc-uninstall ()
+  (setq riece-ctcp-additional-clientinfo
+       (delete "DCC" riece-ctcp-additional-clientinfo))
+  (remove-hook 'riece-ctcp-dcc-request-hook 'riece-handle-dcc-request))
+
 (defun riece-rdcc-enable ()
   (define-key riece-dialogue-mode-map "\C-ds" 'riece-command-dcc-send)
-  (define-key riece-dialogue-mode-map "\C-dr" 'riece-command-dcc-receive)
-  (setq riece-rdcc-enabled t))
+  (define-key riece-dialogue-mode-map "\C-dr" 'riece-command-dcc-receive))
 
 (defun riece-rdcc-disable ()
   (define-key riece-dialogue-mode-map "\C-ds" nil)
-  (define-key riece-dialogue-mode-map "\C-dr" nil)
-  (setq riece-rdcc-enabled nil))
+  (define-key riece-dialogue-mode-map "\C-dr" nil))
 
 (provide 'riece-rdcc)