Tinypad: update tab/window title and highlighting mode after file save

git-svn-id: svn://kolibrios.org@827 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
Mihail Semenyako (mike.dld)
2008-07-18 04:52:49 +00:00
parent 4def1db832
commit a3f173ceb4
3 changed files with 52 additions and 37 deletions

View File

@@ -50,6 +50,8 @@ proc save_file ;//////////////////////////////////////////////////////////////
jnz .exit.2
.exit:
mov ebp,cur_editor
call update_tab_filename
mov [cur_editor.Modified],0
clc
ret
@@ -204,23 +206,7 @@ proc load_file ;//////////////////////////////////////////////////////////////
@@: inc [do_not_draw]
call create_tab
dec [do_not_draw]
.lp1: push ecx esi edi
mov esi,tb_opensave.text
lea edi,[ebp+TABITEM.Editor.FilePath]
movzx ecx,[tb_opensave.length]
cld
rep movsb
mov byte[edi],0
lea edi,[ebp+TABITEM.Editor.FilePath]
movzx ecx,[tb_opensave.length]
inc ecx
@@: dec ecx
jz @f
cmp byte[edi+ecx-1],'/'
jne @b
@@: mov [ebp+TABITEM.Editor.FileName],ecx
call flush_cur_tab
pop edi esi ecx
.lp1: call update_tab_filename
call load_from_memory
stdcall mem.Free,[f_info70+16]
@@ -232,22 +218,6 @@ proc load_file ;//////////////////////////////////////////////////////////////
mov [cur_editor.SelStart.X],eax
mov [cur_editor.SelStart.Y],eax
mov [cur_editor.Modified],al
mov [cur_editor.AsmMode],al
lea ebx,[cur_editor.FilePath]
mov eax,ebx
call strlen
mov ecx,dword[ebx+eax-3]
or ecx,0x202020
cmp ecx,'asm'
jne @f
inc [cur_editor.AsmMode]
jmp .nocol
@@: cmp ecx,'inc'
jne .nocol
inc [cur_editor.AsmMode]
.nocol:
call update_caption
clc
ret
@@ -335,3 +305,45 @@ proc load_from_memory ;///////////////////////////////////////////////////////
rep stosb
jmp .next_char
endp
;-----------------------------------------------------------------------------
proc update_tab_filename ;////////////////////////////////////////////////////
;-----------------------------------------------------------------------------
; EBP = TABITEM*
;-----------------------------------------------------------------------------
push ecx esi edi
inc [do_not_draw]
mov esi,tb_opensave.text
lea edi,[ebp+TABITEM.Editor.FilePath]
movzx ecx,[tb_opensave.length]
cld
rep movsb
mov byte[edi],0
lea edi,[ebp+TABITEM.Editor.FilePath]
movzx ecx,[tb_opensave.length]
inc ecx
@@: dec ecx
jz @f
cmp byte[edi+ecx-1],'/'
jne @b
@@: mov [ebp+TABITEM.Editor.FileName],ecx
call flush_cur_tab
call update_caption
dec [do_not_draw]
mov [cur_editor.AsmMode],0
movzx ecx,[tb_opensave.length]
mov ecx,dword[ecx+tb_opensave.text-3]
or ecx,0x202020
cmp ecx,'asm'
jne @f
inc [cur_editor.AsmMode]
jmp .exit
@@: cmp ecx,'inc'
jne .exit
inc [cur_editor.AsmMode]
.exit:
pop edi esi ecx
ret
endp