Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 813 → Rev 814

/programs/fs/kfar/trunk/viewer.inc
1,5 → 1,7
virtual at 0
viewer_data:
.hPlugin dd ?
.hFile dd ?
.buf_start dq ?
.cur_pos dq ?
.filesize dq ?
6,15 → 8,14
.buf_pos dd ?
.buf_size dd ?
.col dq ?
.hPlugin dd ?
.hFile dd ?
.hWorkFile dd ?
.encoding db ?
.bEofReached db ?
.flags db ? ; & 1: hex mode
; & 2: unwrap
; & 4: big-endian unicode
.bEofReached db ?
rb 1
align 200h
.filename rb 1024
.hostname rb 1024
.buf rb 16384
154,6 → 155,7
mov [ebp+viewer_data.hWorkFile], eax
test eax, eax
jnz .retry
..openerr_in_screen:
push ContinueBtn
push 1
push aCannotOpenFile_ptr
212,6 → 214,9
@@:
mov [ebp+viewer_data.encoding], encodings.unicode
.nounicode:
viewer_OnRedraw:
or [cursor_x], -1
or [cursor_y], -1
call viewer_set_keybar
call viewer_draw_text
ret
418,63 → 423,35
xor edx, edx
call get_console_ptr
mov ah, [view_status_color]
lea esi, [ebp+viewer_data.filename]
mov dl, 3
mov ecx, [cur_width]
sub ecx, 44
cmp ecx, 20
jae .5
jae @f
mov cl, 20
.5:
lodsb
cmp al, '/'
jnz @f
dec edx
jz .6
@@:
stosw
loop .5
.6:
dec ecx
stosw
push esi
@@:
inc esi
cmp byte [esi-1], 0
jnz @b
sub esi, [esp]
dec esi
cmp ecx, esi
jae .7
mov al, '.'
stosw
stosw
stosw
sub ecx, 3
sub esi, ecx
add [esp], esi
.7:
pop esi
@@:
lodsb
test al, al
jz @f
dec ecx
stosw
jmp @b
@@:
mov al, ' '
add ecx, 8
call viewedit_draw_filename
add ecx, 11
rep stosw
movzx esi, [ebp+viewer_data.encoding]
lea esi, [encodings.names+esi*8]
mov cl, 8
push edi esi
dec edi
dec edi
std
add esi, 8
@@:
dec esi
cmp byte [esi], ' '
jz @b
@@:
lodsb
stosw
loop @b
cmp esi, [esp]
jae @b
cld
pop esi edi
mov al, ' '
mov cl, 8
mov cl, 13
rep stosw
std
push edi
700,7 → 677,7
push edx
mov eax, ecx
xor edx, edx
div [tabsize]
div [viewer_tabsize]
mov ecx, edx
pop edx
jmp .1
716,7 → 693,7
push edx
push ecx
mov eax, ecx
mov ecx, [tabsize]
mov ecx, [viewer_tabsize]
xor edx, edx
div ecx
pop eax
1001,6 → 978,54
adc dword [scrpos+4], 0
ret
 
viewedit_draw_filename:
lea esi, [ebp+viewer_data.filename]
xor edx, edx
cmp [ebp+viewer_data.hPlugin], edx
mov dl, 3
jz .5
mov dl, 1
.5:
lodsb
cmp al, '/'
jnz @f
dec edx
jz .6
@@:
stosw
loop .5
.6:
dec ecx
stosw
push esi
@@:
inc esi
cmp byte [esi-1], 0
jnz @b
sub esi, [esp]
dec esi
cmp ecx, esi
jae .7
mov al, '.'
stosw
stosw
stosw
sub ecx, 3
sub esi, ecx
add [esp], esi
.7:
pop esi
@@:
lodsb
test al, al
jz @f
dec ecx
stosw
jmp @b
@@:
mov al, ' '
ret
 
viewer_seek_to_current:
mov eax, dword [ebp+viewer_data.cur_pos]
mov edx, dword [ebp+viewer_data.cur_pos+4]
1213,7 → 1238,7
.tab:
push ecx
mov eax, ecx
mov ecx, [tabsize]
mov ecx, [viewer_tabsize]
xor edx, edx
div ecx
sub ecx, edx
1232,8 → 1257,11
jnz .2
dec [ebp+viewer_data.buf_pos]
.2:
clc
.ret:
pushf
call viewer_set_curpos
popf
ret
 
viewer_prev_newline:
1363,11 → 1391,6
movsw
jmp draw_keybar
 
viewer_OnRedraw:
call viewer_set_keybar
call viewer_draw_text
ret
 
viewer_OnExit:
mov edx, [ebp+viewer_data.hPlugin]
test edx, edx
1383,6 → 1406,7
ret
 
viewer_IsHandleUsed:
editor_IsHandleUsed:
cmp edx, [ebp+viewer_data.hPlugin]
jnz @f
cmp ebx, [ebp+viewer_data.hFile]
1579,6 → 1603,25
stosd
stosb
end if
jmp viewedit_getname
editor_getname:
if lang eq ru
mov eax, '¥¤ '
stosd
mov eax, 'ªâ®à'
stosd
mov eax, ' '
stosd
stosb
else
mov eax, 'Edit'
stosd
mov eax, ' '
stosd
stosd
stosb
end if
viewedit_getname:
sub ecx, 13
cmp [ebp+viewer_data.hPlugin], 0
jz .native