]> gitweb.factorcode.org Git - factor.git/commitdiff
gopher.ui: don't require a protocol for gopher urls
authorJohn Benediktsson <mrjbq7@gmail.com>
Mon, 1 Aug 2022 05:19:53 +0000 (22:19 -0700)
committerJohn Benediktsson <mrjbq7@gmail.com>
Mon, 1 Aug 2022 05:19:53 +0000 (22:19 -0700)
extra/gopher/ui/ui.factor

index cadf254ab987a90a81cdc14f38eceeebe7a70d39..edcc48fe6f9fc7b47f0131c57a22b9848d05f6ef 100644 (file)
@@ -28,8 +28,11 @@ M: gopher-gadget model-changed
     [ value>> present ]
     [ url-field>> editor>> set-editor-string ] bi* ;
 
+: ?gopher-url ( obj -- url )
+    present dup "://" subseq-index? [ "gopher://" prepend ] unless >url ;
+
 : show-gopher ( url gopher-gadget -- )
-    [ [ >url ] [ f ] if* ] dip
+    [ [ ?gopher-url ] [ f ] if* ] dip
     over [ protocol>> "gopher" = ] [ t ] if* [
         [
             2dup control-value =
@@ -40,7 +43,7 @@ M: gopher-gadget model-changed
     ] [ drop open-url ] if ;
 
 : <url-field> ( gopher-gadget -- field )
-    '[ >url _ show-gopher ] <action-field>
+    '[ _ show-gopher ] <action-field>
         "Gopher URL" >>default-text
         white-interior ;