Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 4621 → Rev 4622

/programs/network/ircc/gui.inc
1,6 → 1,6
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
;; Copyright (C) KolibriOS team 2004-2013. All rights reserved. ;;
;; Copyright (C) KolibriOS team 2004-2014. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;; Written by hidnplayr@kolibrios.org ;;
95,12 → 95,23
mov [textbox_width], eax
 
; recalculate text line breaks (because height/width might have changed..)
mov edi, [window_active]
; meanwhile, recalculate line number of current line
mov esi, [edi + window.text_print]
mov al, byte[esi]
push eax
mov byte[esi], 0
push esi
 
mov esi, [edi + window.text_start]
call text_insert_newlines
mov [edi + window.text_lines], edx
mov [edi + window.text_scanned], esi
mov [edi + window.text_line_print], edx
 
pop esi
pop eax
mov byte[esi], al
 
; and redraw the textbox (and scrollbar if needed)
mov [scroll2.all_redraw], 1
call draw_channel_text
/programs/network/ircc/ircc.asm
13,7 → 13,7
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
version equ '0.18'
version equ '0.19'
 
; connection status
STATUS_DISCONNECTED = 0
436,7 → 436,7
has_left_channel db ' has left ', 0
joins_channel db ' has joined ', 0
is_now_known_as db ' is now known as ', 0
has_quit_irc db ' has quit IRC', 10, 0
has_quit_irc db ' has quit IRC.', 10, 0
 
sets_mode db ' sets mode ', 0
str_kicked db ' is kicked from ', 0
/programs/network/ircc/serverparser.inc
47,20 → 47,37
 
server_commands:
 
dd '001 ', cmd_justprint
dd '002 ', cmd_justprint
dd '003 ', cmd_justprint
dd '004 ', cmd_justprint
dd '005 ', cmd_justprint
 
dd '250 ', cmd_justprint
dd '251 ', cmd_justprint
dd '252 ', cmd_justprint
dd '253 ', cmd_justprint
dd '254 ', cmd_justprint
dd '255 ', cmd_justprint
 
dd '265 ', cmd_justprint
dd '266 ', cmd_justprint
 
dd '322 ', cmd_322 ; RPL_LIST
dd '323 ', cmd_323 ; RPL_LISTEND
dd '324 ', cmd_324 ;;;;
dd '328 ', cmd_328 ; RPL_CHANNEL_URL
dd '329 ', cmd_329
dd '324 ', cmd_justprint
dd '328 ', cmd_justprint ; RPL_CHANNEL_URL
dd '329 ', cmd_justprint
dd '332 ', cmd_topic
dd '333 ', cmd_333 ; nickname and time of topic
dd '353 ', cmd_353 ; name reply
dd '366 ', cmd_366 ; end of names list
dd '372 ', cmd_372 ; motd
dd '375 ', cmd_375 ; start of motd
dd '376 ', cmd_376 ; end of motd
dd '421 ', cmd_421 ; unknown command
dd '433 ', cmd_433 ; nickname already in use
dd '372 ', cmd_justprint ; motd
dd '375 ', cmd_justprint ; start of motd
dd '376 ', cmd_justprint ; end of motd
dd '421 ', cmd_justprint ; unknown command
dd '433 ', cmd_justprint ; nickname already in use
 
dd 'join', cmd_join
dd 'kick', cmd_kick
dd 'mode', cmd_mode
151,27 → 168,27
 
 
 
cmd_324:
cmd_329:
cmd_328:
cmd_421:
cmd_372:
cmd_375:
cmd_376:
cmd_433:
cmd_justprint:
 
add esi, 4
jmp cmd_notice.loop
call skip_parameter
call print_text2
mov esi, str_newline
call print_text2
 
ret
 
 
cmd_notice:
 
if TIMESTAMP
call print_timestamp
end if
 
cmp byte[servercommand], ':'
jne .gogogo
 
mov byte [esi-1], 0
if TIMESTAMP
call print_timestamp
end if
 
push esi
mov esi, str_1
call print_text2
184,25 → 201,10
 
.gogogo:
add esi, 6
call skip_parameter
call skip_parameter
call print_text2
 
.loop:
inc esi
cmp byte [esi], 0
je .fail
cmp byte [esi], ' '
jne .loop
 
.loop2:
inc esi
cmp byte [esi], 0
je .fail
cmp byte [esi], ' '
je .loop2
cmp byte [esi], ':'
je .loop2
 
.fail:
call print_text2
mov esi, str_newline
call print_text2
 
827,11 → 829,12
cmp byte [esi+4], ' '
jne .fail
add esi, 5 ; skip 'MODE '
push esi
call window_find
test ebx, ebx
jz .fail
jz .user
mov [esp], esi
mov [window_print], ebx
push esi
 
if TIMESTAMP
call print_timestamp
853,10 → 856,34
mov esi, str_newline
call print_text2
 
;;; TODO: change username if needed
; TODO: keep track of user modes in username list
 
.fail:
ret
 
 
.user:
if TIMESTAMP
call print_timestamp
end if
 
mov esi, mode_header
call print_text2
 
mov eax, [esp]
mov dl, ' '
call print_text
 
mov esi, sets_mode
call print_text2
 
pop esi
call skip_parameter
call print_text2
 
mov esi, str_newline
call print_text2
 
ret
 
 
942,7 → 969,7
cmd_333:
 
add esi, 4 ; skip '333 '
call skip_parameter ;;;;
call skip_parameter
call window_open
 
if TIMESTAMP
956,9 → 983,6
mov esi, str_setby
call print_text2
 
; pop esi
; call print_text2
 
pop eax
mov dl, '!'
call print_text
/programs/network/ircc/textbox.inc
201,6 → 201,20
mov [edi + window.text_print], esi
.noscroll:
 
; Update and draw scrollbar when nescessary
mov edx, [edi + window.text_lines]
cmp edx, [textbox_height]
jbe .scroll_done
 
mov [scroll2.max_area], edx
mov eax, [edi + window.text_line_print]
mov [scroll2.position], eax
 
push dword scroll2 ; redraw scrollbar
call [scrollbar_draw]
mov [scroll2.all_redraw], 0 ; next time, dont redraw it completely
.scroll_done:
 
; Calculate start offset coordinates (align text to bottom)
mov ebx, [textbox_height]
sub ebx, [edi + window.text_lines]
262,7 → 276,6
or ecx, 0x40000000
.no_colors:
 
.draw:
mov esi, 1
mcall 4 ; draw text
add ebx, FONT_WIDTH shl 16
283,21 → 296,6
jnz .drawloop
.end_of_text:
 
; Update and draw scrollbar when nescessary
mov edi, [window_active]
mov edx, [edi + window.text_lines]
cmp edx, [textbox_height]
jbe .scroll_done
 
mov [scroll2.max_area], edx
mov eax, [edi + window.text_line_print]
mov [scroll2.position], eax
 
push dword scroll2 ; redraw scrollbar
call [scrollbar_draw]
mov [scroll2.all_redraw], 0 ; next time, dont redraw it completely
.scroll_done:
 
ret