[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