From 2e7ea44dcbe9d2357993f0adb1892777d4ace845 Mon Sep 17 00:00:00 2001 From: John Benediktsson Date: Sun, 17 Apr 2011 13:42:34 -0700 Subject: [PATCH] mail-ui: Implement a close-if-not-listener (so gadget. works fine). --- mail-ui/mail-ui.factor | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/mail-ui/mail-ui.factor b/mail-ui/mail-ui.factor index 00399c01..3fcca3da 100644 --- a/mail-ui/mail-ui.factor +++ b/mail-ui/mail-ui.factor @@ -5,7 +5,7 @@ USING: accessors arrays colors.constants kernel sequences smtp splitting ui ui.commands ui.gadgets ui.gadgets.borders ui.gadgets.buttons ui.gadgets.editors ui.gadgets.labels ui.gadgets.scrollers ui.gadgets.tracks ui.gestures ui.pens.solid -; +ui.tools.listener ; IN: mail-ui @@ -49,15 +49,18 @@ M: mail-gadget focusable-child* to>> ; : ( mail -- gadget ) body>> COLOR: gray >>boundary ; +: close-if-not-listener ( gadget -- ) + dup find-listener [ drop ] [ close-window ] if ; + : com-send ( mail -- ) over to>> editor-string " " split harvest >>to over subject>> editor-string >>subject over body>> editor-string >>body - send-email close-window ; + send-email close-if-not-listener ; : com-cancel ( mail -- ) - close-window ; + close-if-not-listener ; mail-gadget "toolbar" f { { f com-send }