Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 1623 → Rev 1624

/programs/develop/tinypad/trunk/build_en.bat
1,4 → 1,5
@echo lang fix en >lang.inc
@fasm tinypad.asm tinypad
@kpack tinypad
@erase lang.inc
@pause
/programs/develop/tinypad/trunk/build_et.bat
1,4 → 1,5
@echo lang fix et >lang.inc
@fasm tinypad.asm tinypad
@kpack tinypad
@erase lang.inc
@pause
/programs/develop/tinypad/trunk/build_ru.bat
1,4 → 1,5
@echo lang fix ru >lang.inc
@fasm tinypad.asm tinypad
@kpack tinypad
@erase lang.inc
@pause
/programs/develop/tinypad/trunk/data/tp-idata.inc
114,3 → 114,50
sz ini_options_smart_tab,'smart_tab',0
sz ini_options_optim_save,'optim_save',0
sz ini_options_line_nums,'line_nums',0
;-----------------------------------------------------------------------------
OpenDialog_data:
.type dd 0
.procinfo dd p_info ;+4
.com_area_name dd communication_area_name ;+8
.com_area dd 0 ;+12
.opendir_pach dd temp_dir_pach ;+16
.dir_default_pach dd communication_area_default_pach ;+20
.start_path dd open_dialog_path ;+24
.draw_window dd draw_window_for_OD ;+28
.status dd 0 ;+32
.openfile_pach dd fname_Info ;+36
.filename_area dd filename_area ;+40
.filter_area dd Filter
.x:
.x_size dw 420 ;+48 ; Window X size
.x_start dw 10 ;+50 ; Window X position
.y:
.y_size dw 320 ;+52 ; Window y size
.y_start dw 10 ;+54 ; Window Y position
 
communication_area_name:
db 'FFFFFFFF_open_dialog',0
open_dialog_path:
db '/sys/File Managers/opendial',0
communication_area_default_pach:
db '/sys',0
 
Filter:
dd Filter.end - Filter
.1:
db 'TXT',0
db 'ASM',0
db 'INC',0
db 'INI',0
db 'LOG',0
db 'DAT',0
db 'INF',0
db 'BAT',0
db 'SH',0
 
.end:
db 0
 
open_dialog db 0
;-----------------------------------------------------------------------------
 
/programs/develop/tinypad/trunk/data/tp-locale.inc
305,5 → 305,5
en,<'SYSFUNCS.TXT',0>,\
et,<'SYSFUNCET.TXT',0>
 
sz s_example,'EXAMPLE.ASM'
sz s_example,'/sys/example.asm'
sz s_still ,'still'
/programs/develop/tinypad/trunk/history.txt
1,6 → 1,10
 
HISTORY:
 
4.0.6 (26/09/2010, Marat Zakiyanov aka Mario79, aka Mario)
new features:
- Select file path with OpenDialog for Load and Save.
 
4.0.5 (Rus, mike.dld)
bug-fixes:
- new tab is created when opening a file from Tinypad's home folder
/programs/develop/tinypad/trunk/tinypad.asm
34,7 → 34,7
 
header '01',1,@CODE,TINYPAD_END,STATIC_MEM_END,MAIN_STACK,@PARAMS,ini_path
 
APP_VERSION equ 'SVN (4.0.5)'
APP_VERSION equ 'SVN (4.0.6)'
 
TRUE = 1
FALSE = 0
182,6 → 182,23
mov al,[tabs_pos]
mov [tab_bar.Style],al
 
;---------------------------------------------------------------------
mov edi,filename_area
mov esi,s_example+5
call copy_str_1
 
mov esi,tb_opensave.text
mov edi,fname_Info
call copy_str_1
xor eax,eax
mov [edi],al
;---------------------------------------------------------------------
;OpenDialog initialisation
push dword OpenDialog_data
call [OpenDialog_Init]
;---------------------------------------------------------------------
 
 
mcall 66,1,1
mcall 40,00100111b
red:
193,6 → 210,8
call draw_statusbar ; write current position & number of strings
 
.skip_write:
cmp [open_dialog],1
je .open_dialog
mcall 10 ; wait here until event
cmp [main_closed],0
jne key.alt_x
206,8 → 225,87
jz mouse
 
jmp still.skip_write
;---------------------------------------------------------------------
.open_dialog:
pusha
 
call btn.bot.cancel
 
mov esi,tb_opensave.text
mov edi,[OpenDialog_data.openfile_pach]
movzx ecx,[tb_opensave.length]
mov edx,[OpenDialog_data.filename_area]
mov ebx,[OpenDialog_data.opendir_pach]
call copy_str_2
movzx eax,byte [bot_mode2]
mov [OpenDialog_data.type],eax
popa
; invoke OpenDialog
push dword OpenDialog_data
call [OpenDialog_Start]
 
cmp [OpenDialog_data.status],1
jne .3
 
pusha
mov edi,tb_opensave.text
mov esi,[OpenDialog_data.openfile_pach]
call copy_str_1
sub edi,tb_opensave.text
dec edi
mov eax,edi
mov [tb_opensave.length],al
popa
cmp [bot_mode2],0
je .2
call save_file
jmp .3
.2:
call load_file
.3:
mov [open_dialog],0
jmp red
;-----------------------------------------------------------------------------
draw_window_for_OD:
call drawwindow
call draw_statusbar
ret
;-----------------------------------------------------------------------------
copy_str_2:
cld
push esi ecx
rep movsb ; edi openfile_pach
xor eax,eax
mov [edi],al
pop ecx esi
mov edi,ebx
rep movsb ; edi opendir_pach
mov [edi],al
mov esi,edi
std
@@:
lodsb
cmp al,byte '/'
jne @b
inc esi
xor eax,eax
mov [esi],al
inc esi
mov edi,edx ; edi filename_area
call copy_str_1
ret
;-----------------------------------------------------------------------------
copy_str_1:
xor eax,eax
cld
@@:
lodsb
stosb
test eax,eax
jnz @b
ret
;-----------------------------------------------------------------------------
proc get_event ctx ;//////////////////////////////////////////////////////////
;-----------------------------------------------------------------------------
mcall 10
525,7 → 623,8
library \
libini,'libini.obj',\
libio,'libio.obj',\
libgfx,'libgfx.obj'
libgfx,'libgfx.obj',\
proc_lib,'proc_lib.obj'
 
import libini, \
ini.get_str ,'ini_get_str',\
567,6 → 666,10
gfx.rectangle ,'gfx_rectangle',\
gfx.rectangle.ex,'gfx_rectangle_ex'
 
import proc_lib, \
OpenDialog_Init ,'OpenDialog_init',\
OpenDialog_Start ,'OpenDialog_start'
 
TINYPAD_END: ; end of file
 
;-----------------------------------------------------------------------------
587,6 → 690,16
 
ini_path rb PATHL
 
;---------------------------------------------------------------------
temp_dir_pach:
rb 4096
;---------------------------------------------------------------------
fname_Info:
rb 4096 ; filename
;---------------------------------------------------------------------
filename_area:
rb 256
;---------------------------------------------------------------------
rb 1024*4
MAIN_STACK:
rb 1024*4
/programs/develop/tinypad/trunk/tp-dialog.asm
29,7 → 29,7
popad
ret 4*3
endp
 
;-----------------------------------------------------------------------------
finddlg_handler:
cmp al,1
je .draw
126,71 → 126,74
mov [focused_tb],eax
call .draw
@@: ret
 
;-----------------------------------------------------------------------------
osdlg_handler:
cmp al,1
je .draw
cmp al,2
je .key
cmp al,3
je botdlg.button
mov [open_dialog],1
ret
 
.draw:
mov ebx,[bot_ofs]
add ebx,(1+3)*65536+6
mcall 4,,[sc.work_text],s_2filename,s_2filename.size
mov ebx,[p_info.client_box.width]
shl ebx,16
mov ecx,[bot_ofs]
shl ecx,16
add ecx,(2+18)*65536+15
; cmp al,1
; je .draw
; cmp al,2
; je .key
; cmp al,3
; je botdlg.button
; ret
 
push 20002
cmp [bot_mode2],0
jne .draw.lp1
add ebx,-(2+6*(s_2open.size+2))*65536+6*(s_2open.size+2)
push s_2open s_2open.size
jmp @f
.draw.lp1:
add ebx,-(2+6*(s_2save.size+2))*65536+6*(s_2save.size+2)
push s_2save s_2save.size
; .draw:
; mov ebx,[bot_ofs]
; add ebx,(1+3)*65536+6
; mcall 4,,[sc.work_text],s_2filename,s_2filename.size
; mov ebx,[p_info.client_box.width]
; shl ebx,16
; mov ecx,[bot_ofs]
; shl ecx,16
; add ecx,(2+18)*65536+15
;
; push 20002
; cmp [bot_mode2],0
; jne .draw.lp1
; add ebx,-(2+6*(s_2open.size+2))*65536+6*(s_2open.size+2)
; push s_2open s_2open.size
; jmp @f
; .draw.lp1:
; add ebx,-(2+6*(s_2save.size+2))*65536+6*(s_2save.size+2)
; push s_2save s_2save.size
 
@@: call define_3d_button
sub ebx,(6*(s_2cancel.size+2)+3)*65536
mov bx,6*(s_2cancel.size+2)
push 20001 s_2cancel s_2cancel.size
call define_3d_button
; @@: call define_3d_button
; sub ebx,(6*(s_2cancel.size+2)+3)*65536
; mov bx,6*(s_2cancel.size+2)
; push 20001 s_2cancel s_2cancel.size
; call define_3d_button
 
cmp [bot_mode2], 2 ; exit-save dialog
jne @f
; cmp [bot_mode2], 2 ; exit-save dialog
; jne @f
 
sub ebx,(6*(s_2save_no.size+2)+3)*65536
mov bx,6*(s_2save_no.size+2)
push 20007 s_2save_no s_2save_no.size
call define_3d_button
; sub ebx,(6*(s_2save_no.size+2)+3)*65536
; mov bx,6*(s_2save_no.size+2)
; push 20007 s_2save_no s_2save_no.size
; call define_3d_button
 
@@: mov ebp,tb_opensave
mov eax,[p_info.client_box.width]
sub eax,6*(s_2filename.size+1)+1
add eax,6*(s_2filename.size+1)*65536
mov dword[tbox.width],eax
add ecx,-18*65536+1
mov dword[tbox.height],ecx
call textbox.draw
; @@: mov ebp,tb_opensave
; mov eax,[p_info.client_box.width]
; sub eax,6*(s_2filename.size+1)+1
; add eax,6*(s_2filename.size+1)*65536
; mov dword[tbox.width],eax
; add ecx,-18*65536+1
; mov dword[tbox.height],ecx
; call textbox.draw
 
ret
; ret
 
.key:
cmp ebx,KEY_ESCAPE
je btn.bot.cancel
cmp ebx,KEY_RETURN
je btn.bot.opensave
cmp ebx,KEY_NUMRETURN
je btn.bot.opensave
call textbox.key
ret
 
; .key:
; cmp ebx,KEY_ESCAPE
; je btn.bot.cancel
; cmp ebx,KEY_RETURN
; je btn.bot.opensave
; cmp ebx,KEY_NUMRETURN
; je btn.bot.opensave
; call textbox.key
; ret
;-----------------------------------------------------------------------------
gotodlg_handler:
cmp al,1
je .draw
251,11 → 254,11
je btn.bot.opensave
call textbox.key
ret
 
;-----------------------------------------------------------------------------
cur_part dd ?
cur_color dd ?
cur_colors rd 10
 
;-----------------------------------------------------------------------------
optsdlg_handler:
cmp al,1
je .draw
579,7 → 582,7
 
.mouse.exit:
ret
 
;-----------------------------------------------------------------------------
botdlg.button:
mov esi,accel_table2_botdlg
.acc: cmp ebx,[esi]
590,7 → 593,7
cmp byte[esi],0
jne .acc
ret
 
;-----------------------------------------------------------------------------
btn.bot.cancel:
xor eax,eax
mov [bot_mode],al
599,7 → 602,7
mov [s_status],eax
call drawwindow
ret
 
;-----------------------------------------------------------------------------
btn.bot.opensave:
cmp [bot_mode2],0
je .lp1
616,7 → 619,7
mov [bot_dlg_height],eax
call drawwindow
ret
 
;-----------------------------------------------------------------------------
btn.bot.no:
xor eax,eax
mov [bot_mode],al
630,7 → 633,7
ret
@@: call key.ctrl_f4.close
ret
 
;-----------------------------------------------------------------------------
btn.bot.find:
movzx ecx,[tb_find.length]
mov [s_search.size],ecx
683,7 → 686,7
call key.f3
call drawwindow
ret
 
;-----------------------------------------------------------------------------
btn.bot.appearance:
@@: xor eax,eax
mov [bot_mode],al
695,9 → 698,9
stdcall save_settings
call drawwindow
ret
 
;-----------------------------------------------------------------------------
tabpos_round db 4,3,1,2
 
;-----------------------------------------------------------------------------
btn.bot.tabpos:
movzx eax,[tabs_pos]
mov al,[tabpos_round+eax-1]
704,3 → 707,4
mov [tabs_pos],al
@@: call optsdlg_handler.draw_tabpos
ret
;-----------------------------------------------------------------------------