forked from KolibriOS/kolibrios
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:
parent
4def1db832
commit
a3f173ceb4
@ -8,6 +8,7 @@ HISTORY:
|
|||||||
- show "save file" dialog for new files or files from Tinypad's home folder
|
- show "save file" dialog for new files or files from Tinypad's home folder
|
||||||
- line is redrawn after lining up a single char and then deleting it
|
- line is redrawn after lining up a single char and then deleting it
|
||||||
(pressing Del twice) [#1]
|
(pressing Del twice) [#1]
|
||||||
|
- update tab/window title and highlighting mode after file save
|
||||||
new features:
|
new features:
|
||||||
- prompt to save modified file before closing (+fixes)
|
- prompt to save modified file before closing (+fixes)
|
||||||
- button to close current tab (+fixes)
|
- button to close current tab (+fixes)
|
||||||
|
@ -2,9 +2,9 @@
|
|||||||
; project name: TINYPAD
|
; project name: TINYPAD
|
||||||
; compiler: flat assembler 1.67.21
|
; compiler: flat assembler 1.67.21
|
||||||
; memory to compile: 3.0/9.0 MBytes (without/with size optimizations)
|
; memory to compile: 3.0/9.0 MBytes (without/with size optimizations)
|
||||||
; version: 4.0.5
|
; version: SVN (4.0.5)
|
||||||
; last update: 2007-09-18 (Sep 18, 2007)
|
; last update: 2008-07-18 (Jul 18, 2008)
|
||||||
; minimal kernel: revision #270 (svn://kolibrios.org/kernel/trunk)
|
; minimal kernel: revision #823 (svn://kolibrios.org/kernel/trunk)
|
||||||
;-----------------------------------------------------------------------------
|
;-----------------------------------------------------------------------------
|
||||||
; originally by: Ville Michael Turjanmaa >> villemt@aton.co.jyu.fi
|
; originally by: Ville Michael Turjanmaa >> villemt@aton.co.jyu.fi
|
||||||
; maintained by: Mike Semenyako >> mike.dld@gmail.com
|
; maintained by: Mike Semenyako >> mike.dld@gmail.com
|
||||||
@ -34,7 +34,7 @@ include 'tinypad.inc'
|
|||||||
|
|
||||||
header '01',1,@CODE,TINYPAD_END,STATIC_MEM_END,MAIN_STACK,@PARAMS,self_path
|
header '01',1,@CODE,TINYPAD_END,STATIC_MEM_END,MAIN_STACK,@PARAMS,self_path
|
||||||
|
|
||||||
APP_VERSION equ '4.0.5'
|
APP_VERSION equ 'SVN (4.0.5)'
|
||||||
|
|
||||||
TRUE = 1
|
TRUE = 1
|
||||||
FALSE = 0
|
FALSE = 0
|
||||||
@ -449,6 +449,8 @@ include 'external/dll.inc'
|
|||||||
section @DATA ;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
section @DATA ;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||||
;-----------------------------------------------------------------------------
|
;-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
;include_debug_strings
|
||||||
|
|
||||||
include 'data/tp-idata.inc'
|
include 'data/tp-idata.inc'
|
||||||
|
|
||||||
;-----------------------------------------------------------------------------
|
;-----------------------------------------------------------------------------
|
||||||
|
@ -50,6 +50,8 @@ proc save_file ;//////////////////////////////////////////////////////////////
|
|||||||
jnz .exit.2
|
jnz .exit.2
|
||||||
|
|
||||||
.exit:
|
.exit:
|
||||||
|
mov ebp,cur_editor
|
||||||
|
call update_tab_filename
|
||||||
mov [cur_editor.Modified],0
|
mov [cur_editor.Modified],0
|
||||||
clc
|
clc
|
||||||
ret
|
ret
|
||||||
@ -204,23 +206,7 @@ proc load_file ;//////////////////////////////////////////////////////////////
|
|||||||
@@: inc [do_not_draw]
|
@@: inc [do_not_draw]
|
||||||
call create_tab
|
call create_tab
|
||||||
dec [do_not_draw]
|
dec [do_not_draw]
|
||||||
.lp1: push ecx esi edi
|
.lp1: call update_tab_filename
|
||||||
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
|
|
||||||
call load_from_memory
|
call load_from_memory
|
||||||
stdcall mem.Free,[f_info70+16]
|
stdcall mem.Free,[f_info70+16]
|
||||||
|
|
||||||
@ -232,22 +218,6 @@ proc load_file ;//////////////////////////////////////////////////////////////
|
|||||||
mov [cur_editor.SelStart.X],eax
|
mov [cur_editor.SelStart.X],eax
|
||||||
mov [cur_editor.SelStart.Y],eax
|
mov [cur_editor.SelStart.Y],eax
|
||||||
mov [cur_editor.Modified],al
|
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
|
clc
|
||||||
ret
|
ret
|
||||||
@ -335,3 +305,45 @@ proc load_from_memory ;///////////////////////////////////////////////////////
|
|||||||
rep stosb
|
rep stosb
|
||||||
jmp .next_char
|
jmp .next_char
|
||||||
endp
|
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
|
||||||
|
Loading…
Reference in New Issue
Block a user