Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | GUI changes to reflect new chat data types |
---|---|
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
a1fda02aed6b25580b1207a3c4c0ece6 |
User & Date: | bernd 2019-06-21 20:33:51.618 |
Context
2019-06-24
| ||
11:23 | add font-display auto check-in: bbae73269d user: bernd tags: trunk | |
2019-06-21
| ||
20:33 | GUI changes to reflect new chat data types check-in: a1fda02aed user: bernd tags: trunk | |
12:43 | More fixes for chat structure check-in: 557d941bc0 user: bernd tags: trunk | |
Changes
Changes to gui.fs.
︙ | ︙ | |||
497 498 499 500 501 502 503 | data $@ group-name >o to text$ o> data cell+ $@ drop cell+ >o groups:id$ groups:member[] o> [: chat-keys $+[]! ;] $[]map gui-msgs <event :>chat-connects ?query-task event> next-slide ;] swap click[] ; | | | 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 | data $@ group-name >o to text$ o> data cell+ $@ drop cell+ >o groups:id$ groups:member[] o> [: chat-keys $+[]! ;] $[]map gui-msgs <event :>chat-connects ?query-task event> next-slide ;] swap click[] ; : show-group ( group-o -- ) dup { g -- } cell+ $@ drop cell+ >o {{ glue*l chat-bg-col# slide-frame dup .button1 {{ {{ \large blackish \regular \sans g $@ }}text 25%b glue*l }}glue }}h name-tab {{ |
︙ | ︙ | |||
776 777 778 779 780 781 782 | ELSE dpy-w @ s>f font-size# f2* f- THEN p-format ELSE 2drop THEN ; : display-posting ( addr u -- ) posting-vp >o dispose-childs free-thumbs 0 to active-w o> project:branch$ $@ { d: branch } dvcs:new-posting-log >o | | | 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 | ELSE dpy-w @ s>f font-size# f2* f- THEN p-format ELSE 2drop THEN ; : display-posting ( addr u -- ) posting-vp >o dispose-childs free-thumbs 0 to active-w o> project:branch$ $@ { d: branch } dvcs:new-posting-log >o >group msg-log@ 2dup { log u } bounds ?DO I $@ msg:display \ this will only set the URLs cell +LOOP glue*lll }}glue posting-vp dup .act 0= IF vp[] THEN .child+ log free dvcs-log:urls[] ['] display-file $[]map dvcs:dispose-dvcs-log o> ; |
︙ | ︙ | |||
913 914 915 916 917 918 919 | ; wmsg-class to msg:re :noname ( addr u -- ) obj-red [: ." [" 85type ." ]:" ;] $tmp }}text msg-box .child+ text-color! ; wmsg-class to msg:id :noname { sig u' addr u -- } u' 64'+ u = u sigsize# = and IF | < | | < | 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 | ; wmsg-class to msg:re :noname ( addr u -- ) obj-red [: ." [" 85type ." ]:" ;] $tmp }}text msg-box .child+ text-color! ; wmsg-class to msg:id :noname { sig u' addr u -- } u' 64'+ u = u sigsize# = and IF addr u startdate@ 64dup date>i >r 64#1 64+ date>i' r> \ 2dup = IF ." [otrified] " addr u startdate@ .ticks THEN U+DO I msg-group-o .msg:log[] $[]@ 2dup dup sigpksize# - /string key| msg:id$ str= IF dup u - /string addr u str= IF I [: ." [OTRifying] #" u. forth:cr ;] do-debug I [: ." OTRify #" u. ;] $tmp \italic }}text 25%bv \regular light-blue text-color! "otrify" name! msg-box .child+ sig u' I msg-group-o .msg:log[] $[]@ replace-sig \ !!Schedule message saving!! ELSE I [: ." [OTRified] #" u. forth:cr ;] do-debug THEN ELSE I [: ." [OTRifignore] #" u. forth:cr ;] do-debug 2drop THEN LOOP THEN ; wmsg-class is msg:otrify :noname ( addr u type -- ) obj-red [: case 0 >r msg:image# of ." img[" 85type endof msg:thumbnail# of ." thumb[" 85type endof msg:patch# of ." patch[" 85type endof |
︙ | ︙ | |||
982 983 984 985 986 987 988 | : (gui-msgs) ( gaddr u -- ) reset-time 64#0 to last-tick last-bubble-pk $free 0 to msg-par 0 to msg-box msgs-box .dispose-childs glue*lll }}glue msgs-box .child+ | | | | 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 | : (gui-msgs) ( gaddr u -- ) reset-time 64#0 to last-tick last-bubble-pk $free 0 to msg-par 0 to msg-box msgs-box .dispose-childs glue*lll }}glue msgs-box .child+ 2dup load-msg msg-log@ 2dup { log u } dup gui-msgs# cells - 0 max /string bounds ?DO I $@ { d: msgt } msgt ['] wmsg-display wmsg-o .catch IF <err> ." invalid entry" <default> 2drop THEN cell +LOOP log free throw msgs-box >o resized vp-bottom o> |
︙ | ︙ |
Changes to msg.fs.
︙ | ︙ | |||
223 224 225 226 227 228 229 | 0 >o $A $A [: reconnect( ." prepare reconnection" cr ) ?msg-context >o silent-last# ! o> ['] chat-rqd-nat ['] chat-rqd-nonat ind-addr @ select rqd! ;] addr-connect 2dup d0= IF 2drop ELSE avalanche-to THEN o> ; event: :>avalanche ( addr u o group -- ) avalanche( ." Avalanche to: " dup hex. cr ) | | | | | 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 | 0 >o $A $A [: reconnect( ." prepare reconnection" cr ) ?msg-context >o silent-last# ! o> ['] chat-rqd-nat ['] chat-rqd-nonat ind-addr @ select rqd! ;] addr-connect 2dup d0= IF 2drop ELSE avalanche-to THEN o> ; event: :>avalanche ( addr u o group -- ) avalanche( ." Avalanche to: " dup hex. cr ) to msg-group-o .avalanche-msg ; event: :>chat-reconnect ( addr u $chat o group -- ) to msg-group-o .reconnect-chat ; event: :>msg-nestsig ( $addr o group -- ) to msg-group-o >o { w^ m } m $@ do-msg-nestsig m $free o> ctrl L inskey ; \ coordinates 6 sfloats buffer: coord" 90e coord" sfloat+ sf! : coord@ ( -- addr u ) coord" 6 sfloats ; |
︙ | ︙ | |||
296 297 298 299 300 301 302 | Forward msg:last? Forward msg:last : push-msg ( addr u o:parent -- ) up@ receiver-task <> IF avalanche-msg ELSE wait-task @ ?dup-IF | | | | 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 | Forward msg:last? Forward msg:last : push-msg ( addr u o:parent -- ) up@ receiver-task <> IF avalanche-msg ELSE wait-task @ ?dup-IF <event >r e$, o elit, msg-group-o elit, :>avalanche r> event> ELSE 2drop THEN THEN ; : show-msg ( addr u -- ) parent dup IF .wait-task @ dup up@ <> and THEN ?dup-IF >r r@ <hide> <event $make elit, o elit, msg-group-o elit, :>msg-nestsig r> event> ELSE do-msg-nestsig THEN ; : date>i ( date -- i ) msg-group-o .msg:log[] $search[]date msg-group-o .msg:log[] $[]# 1- umin ; : date>i' ( date -- i ) msg-group-o .msg:log[] $search[]date msg-group-o .msg:log[] $[]# umin ; |
︙ | ︙ | |||
657 658 659 660 661 662 663 | +unique-con +chat-control wait-task @ ?dup-IF <hide> THEN o> ; +net2o: msg-leave ( $:group -- ) \g leave a chat group $> >group parent msg-group-o .msg:peers[] del$cell ; +net2o: msg-reconnect ( $:pubkey+addr -- ) \g rewire distribution tree $> $make | | | 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 | +unique-con +chat-control wait-task @ ?dup-IF <hide> THEN o> ; +net2o: msg-leave ( $:group -- ) \g leave a chat group $> >group parent msg-group-o .msg:peers[] del$cell ; +net2o: msg-reconnect ( $:pubkey+addr -- ) \g rewire distribution tree $> $make <event last-msg 2@ e$, elit, o elit, msg-group-o elit, :>chat-reconnect parent .wait-task @ ?query-task over select event> ; +net2o: msg-last? ( start end n -- ) 64>n msg:last? ; +net2o: msg-last ( $:[tick0,msgs,..tickn] n -- ) 64>n msg:last ; net2o' nestsig net2o: msg-nestsig ( $:cmd+sig -- ) \g check sig+nest $> nest-sig ?dup-0=-IF handle-msg |
︙ | ︙ |