;; 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:
(require 'riece-options)
(require 'riece-menu) ;riece-menu-items
+(require 'easymenu)
(autoload 'browse-url "browse-url")
(defvar browse-url-browser-function)
(defvar riece-urls nil
"A list of URL which appears in Riece buffers.")
-(defvar riece-url-enabled nil)
-
(defconst riece-url-description
"Collect URL in IRC buffers.")
(defun riece-command-browse-url (&optional url)
(interactive
- (list (completing-read "Open URL: " (mapcar #'list riece-urls))))
+ (list (completing-read (riece-mcat "Open URL: ")
+ (mapcar #'list riece-urls))))
(browse-url url))
(defun riece-url-create-menu (menu)
(if (memq 'riece-menu riece-addons)
'(riece-menu))))
+(defun riece-url-command-mode-hook ()
+ (easy-menu-add-item
+ nil (list (car riece-menu-items))
+ (list (if (featurep 'xemacs)
+ "Open URL..."
+ (riece-mcat "Open URL..."))
+ :filter 'riece-url-create-menu)))
+
(defun riece-url-insinuate ()
(add-hook 'riece-after-insert-functions 'riece-url-scan-region)
(if (memq 'riece-menu riece-addons)
(add-hook 'riece-command-mode-hook
- (lambda ()
- (easy-menu-add-item
- nil (list (car riece-menu-items))
- '("Open URL..." :filter riece-url-create-menu)))
+ 'riece-url-command-mode-hook
t)))
+(defun riece-url-uninstall ()
+ (easy-menu-remove-item
+ nil (list (car riece-menu-items))
+ (if (featurep 'xemacs)
+ "Open URL..."
+ (riece-mcat "Open URL...")))
+ (remove-hook 'riece-after-insert-functions 'riece-url-scan-region)
+ (remove-hook 'riece-command-mode-hook
+ 'riece-url-command-mode-hook))
+
(defun riece-url-enable ()
- (define-key riece-dialogue-mode-map "U" 'riece-command-browse-url)
- (setq riece-url-enabled t))
+ (define-key riece-dialogue-mode-map "U" 'riece-command-browse-url))
(defun riece-url-disable ()
- (define-key riece-dialogue-mode-map "U" nil)
- (setq riece-url-enabled nil))
+ (define-key riece-dialogue-mode-map "U" nil))
(provide 'riece-url)