't_edit': fix exit with program

git-svn-id: svn://kolibrios.org@4991 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
IgorA 2014-07-02 16:45:48 +00:00
parent 664313ede7
commit 32feac7b9b
3 changed files with 82 additions and 88 deletions

View File

@ -35,41 +35,69 @@ ted_on_init_synt_err:
align 4 align 4
ted_but_new_file: ted_but_new_file:
push eax ebx push eax ebx
stdcall [ted_can_save], tedit0 stdcall [ted_can_save], tedit0
cmp al,1 cmp al,1
jne @f jne @f
stdcall [mb_create],msgbox_2,thread ;message: save changes in file? stdcall [mb_create],msgbox_2,thread ;message: save changes in file?
;mov eax,5 stdcall [mb_setfunctions],msgbox_2N_funct
;mov ebx,50 jmp .ret_f
;int 0x40 @@:
stdcall [mb_setfunctions],msgbox_2_funct call On_NewFile
jmp .ret_f .ret_f:
@@: pop ebx eax
call On_NewFile ret
.ret_f:
pop ebx eax
ret
align 4 align 4
On_NewFile: On_NewFile:
stdcall [ted_clear], tedit0,1 stdcall [ted_clear], tedit0,1
call draw_but_toolbar call draw_but_toolbar
stdcall [ted_draw], tedit0 stdcall [ted_draw], tedit0
ret ret
align 4 align 4
On_SaveAndNewFile: On_SaveAndNewFile:
push edi push edi
mov edi, tedit0 mov edi, tedit0
call ted_but_save_file call ted_but_save_file
cmp ted_err_save,0 cmp ted_err_save,0
jne @f jne @f
call On_NewFile call On_NewFile
@@: @@:
pop edi pop edi
ret ret
align 4
On_SaveAndOpenFile:
push edi
mov edi, tedit0
call ted_but_save_file
cmp ted_err_save,0
jne @f
call ted_but_open_file.no_msg
@@:
pop edi
ret
align 4
On_SaveAndExit:
push edi
mov edi, tedit0
call ted_but_save_file
cmp ted_err_save,0
jne @f
mov dword[exit_code],1
@@:
pop edi
ret
align 4
On_Exit:
mov dword[exit_code],1
ret
;description: ;description:
; äã­ªæ¨ï ®âªàëâ¨ï ä ©«  ¡¥§ ®ª­  á®®¡é¥­¨ï ; äã­ªæ¨ï ®âªàëâ¨ï ä ©«  ¡¥§ ®ª­  á®®¡é¥­¨ï
@ -90,8 +118,8 @@ ted_but_open_file:
stdcall [ted_can_save], tedit0 stdcall [ted_can_save], tedit0
cmp al,1 cmp al,1
jne @f jne @f
stdcall [mb_create],msgbox_5,thread ;message: save changes in file? stdcall [mb_create],msgbox_2,thread ;message: save changes in file?
stdcall [mb_setfunctions],msgbox_5_funct stdcall [mb_setfunctions],msgbox_2O_funct
jmp .ret_f jmp .ret_f
.no_msg: ;¬¥âª  ¤«ï ¢ë§®¢  ä㭪樨 ç¥à¥§ ª­®¯ªã ¢ á®®¡é¥­¨¨ msgbox_5 .no_msg: ;¬¥âª  ¤«ï ¢ë§®¢  ä㭪樨 ç¥à¥§ ª­®¯ªã ¢ á®®¡é¥­¨¨ msgbox_5
pushad pushad

View File

@ -2,6 +2,8 @@ fn_col_option dd def_col_file
fn_syntax_dir db 'info/',0 fn_syntax_dir db 'info/',0
def_col_file db 'default.syn',0 def_col_file db 'default.syn',0
exit_code dd 0 ;¯¥à¥¬¥­­ ï ¨á¯®«ì§ã¥¬ ï ¤«ï ¢ë室  ¨§ ¯à®£à ¬¬ë
;§­ ç¥­¨ï § ¤ ¢ ¥¬ë¥ ¯® 㬮«ç ­¨î, ¡¥§ ini ä ©«  ;§­ ç¥­¨ï § ¤ ¢ ¥¬ë¥ ¯® 㬮«ç ­¨î, ¡¥§ ini ä ©« 
ini_def_window_t equ 10 ini_def_window_t equ 10
ini_def_window_l equ 10 ini_def_window_l equ 10
@ -68,10 +70,6 @@ import_box_lib:
scrollbar_hor_mouse dd aScrollbar_hor_mouse scrollbar_hor_mouse dd aScrollbar_hor_mouse
;version_scrollbar dd aVersion_scrollbar ;version_scrollbar dd aVersion_scrollbar
;dinamic_button_draw dd aDbutton_draw
;dinamic_button_mouse dd aDbutton_mouse
;version_dbutton dd aVersion_dbutton
menu_bar_draw dd aMenu_bar_draw menu_bar_draw dd aMenu_bar_draw
menu_bar_mouse dd aMenu_bar_mouse menu_bar_mouse dd aMenu_bar_mouse
;version_menu_bar dd aVersion_menu_bar ;version_menu_bar dd aVersion_menu_bar
@ -140,10 +138,6 @@ dd 0,0
aScrollbar_hor_mouse db 'scrollbar_h_mouse',0 aScrollbar_hor_mouse db 'scrollbar_h_mouse',0
;aVersion_scrollbar db 'version_scrollbar',0 ;aVersion_scrollbar db 'version_scrollbar',0
;aDbutton_draw db 'dbutton_draw',0
;aDbutton_mouse db 'dbutton_mouse',0
;aVersion_dbutton db 'version_dbutton',0
aMenu_bar_draw db 'menu_bar_draw',0 aMenu_bar_draw db 'menu_bar_draw',0
aMenu_bar_mouse db 'menu_bar_mouse',0 aMenu_bar_mouse db 'menu_bar_mouse',0
;aVersion_menu_bar db 'version_menu_bar',0 ;aVersion_menu_bar db 'version_menu_bar',0
@ -494,7 +488,7 @@ tree_file_struct:
if lang eq ru if lang eq ru
hed db '’¥ªáâ®¢ë© à¥¤ ªâ®à 28.11.13',0 ;¯®¤¯¨áì ®ª­  hed db '’¥ªáâ®¢ë© à¥¤ ªâ®à 02.07.14',0 ;¯®¤¯¨áì ®ª­ 
menu_text_area: menu_text_area:
db '” ©«',0 db '” ©«',0
@ -522,7 +516,6 @@ msgbox_2:
db '<27>¥ á®åà ­ïâì',0 db '<27>¥ á®åà ­ïâì',0
db 'Žâ¬¥­ ',0 db 'Žâ¬¥­ ',0
db 0 db 0
msgbox_3: msgbox_3:
db 1,0 db 1,0
db '‚­¨¬ ­¨¥',0 db '‚­¨¬ ­¨¥',0
@ -533,7 +526,6 @@ msgbox_3:
db ')',0 db ')',0
db '‡ ªàëâì',0 db '‡ ªàëâì',0
db 0 db 0
msgbox_4: msgbox_4:
db 1,0 db 1,0
db '‚­¨¬ ­¨¥',0 db '‚­¨¬ ­¨¥',0
@ -544,15 +536,6 @@ msgbox_4:
db ')',0 db ')',0
db '‡ ªàëâì',0 db '‡ ªàëâì',0
db 0 db 0
msgbox_5:
db 3,0
db '‚­¨¬ ­¨¥',0
db '‘®åà ­¨âì ¨§¬¥­¥­¨ï ¢ ä ©«¥?',0
db '<27>¥ á®åà ­ïâì',0
db 'Žâ¬¥­ ',0
db 0
msgbox_6: msgbox_6:
db 1,0 db 1,0
db '‚­¨¬ ­¨¥',0 db '‚­¨¬ ­¨¥',0
@ -571,14 +554,6 @@ msgbox_7:
'¨«¨ ¨§¬¥­¨âì § ¯à®á ¨ ¯®¢â®à¨âì ¯®¨áª.',0 '¨«¨ ¨§¬¥­¨âì § ¯à®á ¨ ¯®¢â®à¨âì ¯®¨áª.',0
db '‡ ªàëâì',0 db '‡ ªàëâì',0
db 0 db 0
msgbox_8:
db 3,0
db '‚­¨¬ ­¨¥',0
db '„«ï ¢ë室  § ¢¥àè¨â¥ à ¡®âã á ä ©«®¬.',13,\
'<27>®¯à®¡ã©â¥ á®åà ­¨âì ¨§¬¥­¥­¨ï ¢ ä ©«¥',13,\
'¨«¨ ­ ç âì ­®¢ë© ¯ãá⮩.',0
db 'Žâ¬¥­ ',0
db 0
msgbox_9: msgbox_9:
db 3,0 db 3,0
db '‚­¨¬ ­¨¥',0 db '‚­¨¬ ­¨¥',0
@ -597,7 +572,7 @@ txtFormatApply db '
else else
hed db 'Text editor 28.11.13',0 hed db 'Text editor 02.07.14',0
menu_text_area: menu_text_area:
db 'File',0 db 'File',0
@ -625,7 +600,6 @@ msgbox_2:
db 'Discard',0 db 'Discard',0
db 'Cancel',0 db 'Cancel',0
db 0 db 0
msgbox_3: msgbox_3:
db 1,0 db 1,0
db 'Warning',0 db 'Warning',0
@ -636,7 +610,6 @@ msgbox_3:
db ')',0 db ')',0
db 'Close',0 db 'Close',0
db 0 db 0
msgbox_4: msgbox_4:
db 1,0 db 1,0
db 'Warning',0 db 'Warning',0
@ -647,15 +620,6 @@ msgbox_4:
db ')',0 db ')',0
db 'Close',0 db 'Close',0
db 0 db 0
msgbox_5:
db 3,0
db 'Warning',0
db 'Save changes to the file?',0
db 'Discard',0
db 'Cancel',0
db 0
msgbox_6: msgbox_6:
db 1,0 db 1,0
db 'Warning',0 db 'Warning',0
@ -674,14 +638,6 @@ msgbox_7:
'or change the query and search again.',0 'or change the query and search again.',0
db 'Close',0 db 'Close',0
db 0 db 0
msgbox_8:
db 3,0
db 'Warning',0
db 'To quit, quit the file.',13,\
'Try to keep changes to a file',13,\
'or start a new blank file.',0
db 'Cancel',0
db 0
msgbox_9: msgbox_9:
db 3,0 db 3,0
db 'Warning',0 db 'Warning',0
@ -701,13 +657,18 @@ txtFormatApply db 'Apply',0
end if end if
;ä㭪樨 ¤«ï ª­®¯®ª ¢ á®®¡é¥­¨ïå ;ä㭪樨 ¤«ï ª­®¯®ª ¢ á®®¡é¥­¨ïå
msgbox_2_funct: msgbox_2N_funct:
dd On_SaveAndNewFile dd On_SaveAndNewFile
dd On_NewFile dd On_NewFile
dd 0 dd 0
msgbox_5_funct: msgbox_2O_funct:
dd ted_but_open_file.no_msg dd On_SaveAndOpenFile
dd 0 dd ted_but_open_file.no_msg
dd 0
msgbox_2E_funct:
dd On_SaveAndExit
dd On_Exit
dd 0
KM_SHIFT equ 0x00010000 KM_SHIFT equ 0x00010000
KM_CTRL equ 0x00020000 KM_CTRL equ 0x00020000

View File

@ -229,6 +229,8 @@ red_win:
align 4 align 4
still: still:
mcall 10 mcall 10
cmp dword[exit_code],1
je button.exit
cmp al,1 ;¨§¬¥­¨«®áì ¯®«®¦¥­¨¥ ®ª­  cmp al,1 ;¨§¬¥­¨«®áì ¯®«®¦¥­¨¥ ®ª­ 
jz red_win jz red_win
@ -482,10 +484,13 @@ button:
cmp ah,1 cmp ah,1
jne still jne still
.exit: .exit:
cmp dword[exit_code],1
je @f
stdcall [ted_can_save], tedit0 stdcall [ted_can_save], tedit0
cmp al,1 cmp al,1
jne @f jne @f
stdcall [mb_create],msgbox_8,thread ;message: save changes in file? stdcall [mb_create],msgbox_2,thread ;message: save changes in file?
stdcall [mb_setfunctions],msgbox_2E_funct
jmp still jmp still
@@: @@:
stdcall mem.Free,[bmp_icon] stdcall mem.Free,[bmp_icon]
@ -502,9 +507,9 @@ PathShow_data_1:
.type dd 0 ;+0 .type dd 0 ;+0
.start_y dw 9 ;+4 .start_y dw 9 ;+4
.start_x dw 222 ;+6 .start_x dw 222 ;+6
.font_size_x dw 6 ;+8 ; 6 - for font 0, 8 - for font 1 .font_size_x dw 6 ;+8 ; 6 - for font 0, 8 - for font 1
.area_size_x dw 200 ;+10 .area_size_x dw 200 ;+10
.font_number dd 0 ;+12 ; 0 - monospace, 1 - variable .font_number dd 0 ;+12 ; 0 - monospace, 1 - variable
.background_flag dd 1 ;+16 .background_flag dd 1 ;+16
.font_color dd 0x0 ;+20 .font_color dd 0x0 ;+20
.background_color dd 0xffffff ;+24 .background_color dd 0xffffff ;+24