From a3f173ceb4fa68d1dda61164f2ef52ce10a6c568 Mon Sep 17 00:00:00 2001 From: "Mihail Semenyako (mike.dld)" Date: Fri, 18 Jul 2008 04:52:49 +0000 Subject: [PATCH] Tinypad: update tab/window title and highlighting mode after file save git-svn-id: svn://kolibrios.org@827 a494cfbc-eb01-0410-851d-a64ba20cac60 --- programs/develop/tinypad/trunk/history.txt | 1 + programs/develop/tinypad/trunk/tinypad.asm | 10 +-- programs/develop/tinypad/trunk/tp-files.asm | 78 ++++++++++++--------- 3 files changed, 52 insertions(+), 37 deletions(-) diff --git a/programs/develop/tinypad/trunk/history.txt b/programs/develop/tinypad/trunk/history.txt index 75748bc172..f8cc636926 100644 --- a/programs/develop/tinypad/trunk/history.txt +++ b/programs/develop/tinypad/trunk/history.txt @@ -8,6 +8,7 @@ HISTORY: - 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 (pressing Del twice) [#1] + - update tab/window title and highlighting mode after file save new features: - prompt to save modified file before closing (+fixes) - button to close current tab (+fixes) diff --git a/programs/develop/tinypad/trunk/tinypad.asm b/programs/develop/tinypad/trunk/tinypad.asm index d3be4c938d..bc6d1f733d 100644 --- a/programs/develop/tinypad/trunk/tinypad.asm +++ b/programs/develop/tinypad/trunk/tinypad.asm @@ -2,9 +2,9 @@ ; project name: TINYPAD ; compiler: flat assembler 1.67.21 ; memory to compile: 3.0/9.0 MBytes (without/with size optimizations) -; version: 4.0.5 -; last update: 2007-09-18 (Sep 18, 2007) -; minimal kernel: revision #270 (svn://kolibrios.org/kernel/trunk) +; version: SVN (4.0.5) +; last update: 2008-07-18 (Jul 18, 2008) +; minimal kernel: revision #823 (svn://kolibrios.org/kernel/trunk) ;----------------------------------------------------------------------------- ; originally by: Ville Michael Turjanmaa >> villemt@aton.co.jyu.fi ; 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 -APP_VERSION equ '4.0.5' +APP_VERSION equ 'SVN (4.0.5)' TRUE = 1 FALSE = 0 @@ -449,6 +449,8 @@ include 'external/dll.inc' section @DATA ;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ;----------------------------------------------------------------------------- +;include_debug_strings + include 'data/tp-idata.inc' ;----------------------------------------------------------------------------- diff --git a/programs/develop/tinypad/trunk/tp-files.asm b/programs/develop/tinypad/trunk/tp-files.asm index e58b25fe46..70b213fa7e 100644 --- a/programs/develop/tinypad/trunk/tp-files.asm +++ b/programs/develop/tinypad/trunk/tp-files.asm @@ -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