Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 279 → Rev 280

/programs/develop/tinypad/trunk/tp-key.asm
155,10 → 155,12
;-----------------------------------------------------------------------------
func key.ctrl_s ;///// ENTER SAVE FILENAME ///////////////////////////////////
;-----------------------------------------------------------------------------
cmp [cur_editor.FilePath],'/'
jne key.shift_ctrl_s
cmp [cur_editor.Modified],0 ;! [modified],0
je .exit
cmp [f_info.length],0
je key.shift_ctrl_s
;cmp [f_info.length],0
;je key.shift_ctrl_s
call save_file
call drawwindow
.exit:
537,11 → 539,23
 
call delete_selection
 
mov eax,[copy_size]
call editor_realloc_lines
 
mov eax,[cur_editor.Lines]
mov ebx,[cur_editor.Lines.Size]
add ebx,[copy_size]
mov [cur_editor.Lines.Size],ebx
call mem.ReAlloc
mov [cur_editor.Lines],eax
 
mov ecx,[cur_editor.Caret.Y] ;! ecx,[pos.y]
call get_line_offset
pushd [esi] esi
mov ecx,[cur_editor.Caret.X] ;! ecx,[pos.x]
call line_add_spaces
add [esp],eax ;!!!
add esi,eax ;!!!
mov ecx,[copy_size]
sub ecx,4
mov edi,[cur_editor.Lines] ;! AREA_TEMP2
570,6 → 584,7
mov ebx,[cur_editor.Caret.X] ;! ebx,[pos.x]
add eax,ebx
mov [edi-4],ax
mov byte[edi-4+2],0x0001
sub eax,ebx
call .check_columns
add edi,ebx
579,7 → 594,7
lodsd
and eax,0x0000FFFF
stosd
or dword[edi-4],0x00010000
mov byte[edi-4+2],0x0001
pop ecx
loop @b
 
656,6 → 671,9
;-----------------------------------------------------------------------------
func key.ctrl_d ;///// INSERT SEPARATOR //////////////////////////////////////
;-----------------------------------------------------------------------------
mov eax,94
call editor_realloc_lines
 
mov ecx,[cur_editor.Caret.Y] ;! ecx,[pos.y]
call get_line_offset
mov ebx,esi
702,14 → 720,27
call get_line_offset
mov edi,esi
lodsd
and eax,0x0000FFFF
add esi,eax
push eax
 
dec [cur_editor.Lines.Count] ;! [lines]
mov ecx,[temp_buf] ;! AREA_TEMP2
;mov ecx,[temp_buf] ;! AREA_TEMP2
mov ecx,[cur_editor.Lines]
add ecx,[ecx-4]
sub ecx,esi
shr ecx,2 ;// fixed (was 4)
cld
rep movsd
 
pop eax
add eax,4
neg eax
call editor_realloc_lines
 
m2m [cur_editor.SelStart.X],[cur_editor.Caret.X]
m2m [cur_editor.SelStart.Y],[cur_editor.Caret.Y]
 
call check_inv_all
mov [cur_editor.Modified],1 ;! [modified],1
 
1129,6 → 1160,16
@@: m2m [cur_editor.SelStart.X],[cur_editor.Caret.X] ;! [sel.x],[pos.x]
m2m [cur_editor.SelStart.Y],[cur_editor.Caret.Y] ;! [sel.y],[pos.y]
 
mov ecx,[cur_editor.Lines.Count]
call get_line_offset
movzx eax,word[esi]
lea esi,[esi+eax+4]
mov eax,[cur_editor.Lines]
add eax,[eax-4]
sub esi,eax
lea eax,[esi+4096]
call editor_realloc_lines
 
mov [cur_editor.Modified],1 ;! [modified],1
.exit.2:
call check_inv_all
1223,6 → 1264,9
push eax ' '
sub eax,ecx
.direct:
push eax
call editor_realloc_lines
pop eax
mov ecx,[cur_editor.Caret.Y] ;! ecx,[pos.y]
call get_line_offset
and dword[esi],not 0x00020000
1238,6 → 1282,11
sub edx,eax
cmp ecx,edx
jl @f
push eax
mov eax,10
call editor_realloc_lines
add esi,eax
pop eax
pushad; esi ecx eax
mov ecx,[cur_editor.Lines] ;! AREA_TEMP2-10+1
add ecx,[ecx-4]
1247,7 → 1296,7
; lea eax,[esi+4]
; add eax,[esi]
movzx eax,word[esi]
lea eax,word[esi+eax+4]
lea eax,[esi+eax+4]
sub ecx,eax
lea esi,[edi-10] ;! AREA_TEMP2-10
std
1298,6 → 1347,9
;-----------------------------------------------------------------------------
call delete_selection
 
mov eax,14
call editor_realloc_lines
 
mov ecx,[cur_editor.Caret.Y] ;! ecx,[pos.y]
call get_line_offset
 
1489,3 → 1541,21
call create_tab
@@: ret
endf
 
;-----------------------------------------------------------------------------
func key.shift_f9 ;///// SET DEFAULT TAB /////////////////////////////////////
;-----------------------------------------------------------------------------
mov eax,[tab_bar.Current.Ptr]
cmp eax,[tab_bar.Default.Ptr]
jne @f
xor eax,eax
@@: mov [tab_bar.Default.Ptr],eax
mov ebp,[tab_bar.Current.Ptr]
call make_tab_visible
cmp [tab_bar.Style],2
jbe @f
call align_editor_in_tab
call draw_editor
@@: call draw_tabctl
ret
endf