[beirc-cvs] CVS update: beirc/receivers.lisp
Max-Gerd Retzlaff
mretzlaff at common-lisp.net
Sun Oct 2 04:18:26 UTC 2005
Update of /project/beirc/cvsroot/beirc
In directory common-lisp.net:/tmp/cvs-serv17920
Modified Files:
receivers.lisp
Log Message:
Modifies the switch-to-pane :AFTER method of beirc so that it doesn't make
the tab-layout unusable for other programs in the same image. It tests
first whether the tab-layout-pane is actually the pane of the current
beirc *application-frame*.
It's a bit unpleasant that this method will be called for *all*
tab-layout-panes in the same image, perhaps there will be a way to hook
such things into the tab-layout-pane by means of the WITH-TAB-LAYOUT form.
(This patch is actually 8 days old, see http://paste.lisp.org/display/11924 .)
Date: Sun Oct 2 06:18:25 2005
Author: mretzlaff
Index: beirc/receivers.lisp
diff -u beirc/receivers.lisp:1.9 beirc/receivers.lisp:1.10
--- beirc/receivers.lisp:1.9 Fri Sep 30 15:46:18 2005
+++ beirc/receivers.lisp Sun Oct 2 06:18:24 2005
@@ -239,12 +239,16 @@
(t +black+)))))
(defmethod switch-to-pane :after ((pane sheet) (parent (eql 'tab-layout-pane)))
- (let ((receiver (receiver-from-tab-pane
- (find-in-tab-panes-list pane 'tab-layout-pane))))
- (unless (null receiver)
- (setf (unseen-messages receiver) 0)
- (setf (messages-directed-to-me receiver) 0)
- (update-drawing-options receiver))))
+ (let ((my-tab-layout-pane (find-pane-named *application-frame* 'query)))
+ (when (eq (sheet-parent (sheet-parent pane)) ;; Is this the desired tab-layout?
+ my-tab-layout-pane)
+
+ (let ((receiver (receiver-from-tab-pane
+ (find-in-tab-panes-list pane my-tab-layout-pane))))
+ (unless (null receiver)
+ (setf (unseen-messages receiver) 0)
+ (setf (messages-directed-to-me receiver) 0)
+ (update-drawing-options receiver))))))
(defun raise-receiver (receiver)
(setf (unseen-messages receiver) 0)
More information about the Beirc-cvs
mailing list