HACONFIG: Visual patch by Leency, correction of typos in texts

git-svn-id: svn://kolibrios.org@7448 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
theonlymirage 2018-10-10 18:01:49 +00:00
parent 6c5bb4c9b4
commit 95a6512006
2 changed files with 35 additions and 58 deletions

View File

@ -69,14 +69,11 @@ START:
or eax, eax or eax, eax
jnz exit jnz exit
;invoke init_checkbox, ch1
mov eax,40 ;óñòàíîâèòü ìàñêó äëÿ îæèäàåìûõ ñîáûòèé mov eax,40 ;óñòàíîâèòü ìàñêó äëÿ îæèäàåìûõ ñîáûòèé
mov ebx,0x27 ;ñèñòåìà áóäåò ðåàãèðîâàòü òîëüêî íà ñîîáùåíèå î ïåðåðèñîâêå, íàæàòà êíîïêà, îïðåäåë¸ííàÿ ðàíåå, ñîáûòèå îò ìûøè (÷òî-òî ñëó÷èëîñü - íàæàòèå íà êíîïêó ìûøè èëè ïåðåìåùåíèå; ñáðàñûâàåòñÿ ïðè ïðî÷òåíèè) mov ebx,0x27 ;ñèñòåìà áóäåò ðåàãèðîâàòü òîëüêî íà ñîîáùåíèå î ïåðåðèñîâêå, íàæàòà êíîïêà, îïðåäåë¸ííàÿ ðàíåå, ñîáûòèå îò ìûøè (÷òî-òî ñëó÷èëîñü - íàæàòèå íà êíîïêó ìûøè èëè ïåðåìåùåíèå; ñáðàñûâàåòñÿ ïðè ïðî÷òåíèè)
mcall mcall
load_libraries l_libs_start,load_lib_end ;çàãðóçêà áèáëèîòåê(è) load_libraries l_libs_start,load_lib_end ;çàãðóçêà áèáëèîòåê(è)
;mcall 48,3,sc,sizeof.system_colors ;ïîëó÷èòü ñèñòåìíûå öâåòà
stdcall [OpenDialog_Init],OpenDialog_data ;ïîäãîòîâêà äèàëîãà stdcall [OpenDialog_Init],OpenDialog_data ;ïîäãîòîâêà äèàëîãà
;mode menu ;mode menu
@ -117,7 +114,6 @@ event_wait:
invoke edit_box_mouse, editLD invoke edit_box_mouse, editLD
invoke edit_box_mouse, editRU invoke edit_box_mouse, editRU
invoke edit_box_mouse, editRD invoke edit_box_mouse, editRD
;invoke check_box_mouse, ch1 ;ïðîâåðêà ÷åê áîêñà
;stdcall [kmainmenu_dispatch_cursorevent], [modeMenu] ;ïðîâåðêà ìûøè äëÿ êîìáîáîêñà ;stdcall [kmainmenu_dispatch_cursorevent], [modeMenu] ;ïðîâåðêà ìûøè äëÿ êîìáîáîêñà
jmp event_wait jmp event_wait
@ -315,11 +311,6 @@ applyButton:
mov byte[eax], bl mov byte[eax], bl
pop ebx pop ebx
;; mov byte[eax], 48;'0' ;110; 'n' ;ïî óìîë÷àíèþ ôëàã ñíÿò
;; cmp word[ch1.flags], 110b ;ch_flag_en and ch_flag_middle ;âûñòàâëåí checkBox èëè íåò?
;; jne applyButton.no
;; mov byte[eax], 49;'1' ;121 ;èíà÷å êëàä¸ì 'y'
;;.no:
inc eax inc eax
call addPerenos call addPerenos
@ -406,10 +397,7 @@ finishHotAnglesApp:
cmp eax, 0 cmp eax, 0
jne finishHotAnglesApp.next ;åñëè íå ñîâïàëî, òî ïåðåõîäèì íà ñëåäóþùèé ñëîò jne finishHotAnglesApp.next ;åñëè íå ñîâïàëî, òî ïåðåõîäèì íà ñëåäóþùèé ñëîò
;push eax ebx ecx
mcall 18, 2, ecx ;èíà÷å çàâåðøàåì ñëîò mcall 18, 2, ecx ;èíà÷å çàâåðøàåì ñëîò
;pop ecx ebx eax
.next: .next:
inc ecx inc ecx
cmp ecx, dword[slotMax] cmp ecx, dword[slotMax]
@ -437,10 +425,6 @@ startAppData:
.rezerv dd 0, 0 .rezerv dd 0, 0
.full_name db '/rd/1/' .full_name db '/rd/1/'
.file_name db '@HOTANGLES', 0 .file_name db '@HOTANGLES', 0
;db 0
;.name: dd HotAnglesAppName
;HotAnglesAppName db '@HOTANGLES', 0
UpdateEditsSizes: UpdateEditsSizes:
push eax push eax
@ -493,18 +477,6 @@ loadConfig:
mov byte[mode], 49 ;'1' èíà÷å ïî óìîë÷àíèþ âêëþ÷¸í êëàññè÷åñêèé ðåæèì ðàáîòû mov byte[mode], 49 ;'1' èíà÷å ïî óìîë÷àíèþ âêëþ÷¸í êëàññè÷åñêèé ðåæèì ðàáîòû
.modeEnd: .modeEnd:
pop ebx pop ebx
;; cmp byte[eax], 49;'1' ;121 ;'y' ;âûñòàâëÿåì checkBox - ïàðàìåòð àêòèâíîñòè ïðèëîæåíèÿ
;; jne @f ;loadConfig.no
;;.yes:
;; mov word[ch1.flags], 110b ;ch_flag_en and ch_flag_middle
;; jmp loadConfig.chEnd
;;@@:
;; cmp byte[eax], 50;'2' ;âòîðîé ðåæèì àêòèâèðîâàí
;; je loadConfig.yes
;;.no:
;; mov word[ch1.flags], 100b ;ch_flag_middle
;;.chEnd:
;jmp loadConfig.end ;êîìàíäà äëÿ óäîáñòâà îòëàäêè è ïîèñêà îøèáîê ;jmp loadConfig.end ;êîìàíäà äëÿ óäîáñòâà îòëàäêè è ïîèñêà îøèáîê
;êîïèðóåì ñîäåðæèìîå ñòðîê â áóôåð ;êîïèðóåì ñîäåðæèìîå ñòðîê â áóôåð
@ -723,8 +695,6 @@ draw_window:
invoke edit_box_draw, editLD invoke edit_box_draw, editLD
invoke edit_box_draw, editRU invoke edit_box_draw, editRU
invoke edit_box_draw, editRD invoke edit_box_draw, editRD
;invoke check_box_draw, ch1 ;ðèñîâàíèå ÷åêáîêñîâ
;ðèñóåì êíîïêó ;ðèñóåì êíîïêó
mov ebx, (WindowsWidth-80-Otstup)*65536 + 80 ;êîîðäèíàòà X, øèðèíà êíîïêè mov ebx, (WindowsWidth-80-Otstup)*65536 + 80 ;êîîðäèíàòà X, øèðèíà êíîïêè
@ -736,12 +706,12 @@ draw_window:
mov ebx, (WindowsWidth-80-Otstup+25-buttonTextXoffset) * 65536 + 166 ;êîîðäèíàòû òåêñòà (x, y) mov ebx, (WindowsWidth-80-Otstup+25-buttonTextXoffset) * 65536 + 166 ;êîîðäèíàòû òåêñòà (x, y)
mov ecx, 0xFFFFFF ;áåëûé öâåò òåêñòà mov ecx, 0xFFFFFF ;áåëûé öâåò òåêñòà
mov edx, buttonText mov edx, buttonText
mov esi, buttonTextSize ;5 ;ðàçìåð òåêñòà â ñèìâîëàõ mov esi, buttonTextSize ;ðàçìåð òåêñòà â ñèìâîëàõ
mcall 4 mcall 4
;ðèñóåì åù¸ 4 êíîïêè äëÿ äèàëîãîâîãî îêíà âûáîðà ôàéëà ;ðèñóåì åù¸ 4 êíîïêè äëÿ äèàëîãîâîãî îêíà âûáîðà ôàéëà
;íîìåðà 4,5,6 è 7 ;íîìåðà 4,5,6 è 7
buttonH = 14 ;20 buttonH = 14
buttonW = 30 buttonW = 30
;ëåâûé âåðõíèé óãîë ;ëåâûé âåðõíèé óãîë
mov ebx, Otstup*65536 + buttonW ;êîîðäèíàòà X, øèðèíà êíîïêè mov ebx, Otstup*65536 + buttonW ;êîîðäèíàòà X, øèðèíà êíîïêè
@ -784,7 +754,6 @@ draw_window:
mov ebx, (WindowsWidth-Otstup-buttonW+deltaCommonTextX) * 65536 + (120 + deltaCommonTextY) mov ebx, (WindowsWidth-Otstup-buttonW+deltaCommonTextX) * 65536 + (120 + deltaCommonTextY)
mcall 4 mcall 4
;delete mode button, if it exist ;delete mode button, if it exist
mov edx, 0x80000008 mov edx, 0x80000008
mcall 8 mcall 8
@ -795,17 +764,24 @@ draw_window:
buttonModeHeight = 20 buttonModeHeight = 20
buttonModeTextXoffset = 5 buttonModeTextXoffset = 5
mov ebx, buttonModeX*65536 + buttonModeWidth ;X + Width mov ebx, buttonModeX*65536 + buttonModeWidth ;X + Width
mov ecx, buttonModeY*65536 + buttonModeHeight ;Y + Height mov ecx, buttonModeY*65536 + buttonModeHeight ;Y + Height
mov edx, 0x00000008 ;button id mov edx, 0x00000008 ;button id
mov esi, 0x00AABBCC ;color button mov esi, 0x00FFFFFF ;color button
mcall 8 mcall 8
mov ebx, (buttonModeX+2+buttonModeWidth-20)*65536 + (20-2) ;X + Width
mov ecx, (buttonModeY+1)*65536 + buttonModeHeight-2 ;Y + Height
mov edx, 0xAABBCC
mcall 13
;draw text for button Mode ;draw text for button Mode
mov ebx, (buttonModeX+buttonModeTextXoffset) * 65536 + (buttonModeY+6) ;(x, y) mov ebx, (buttonModeX+buttonModeTextXoffset) * 65536 + (buttonModeY+6) ;(x, y)
mov ecx, 0xFFFFFF mov ecx, 0x000000
call setTextModeMenu call setTextModeMenu
mov esi, valueModeMenuSize mov esi, valueModeMenuSize
mcall 4 mcall 4
mov ebx, (buttonModeX+buttonModeWidth-12) * 65536 + (buttonModeY+6)
mov ecx, 0x80FFFFFF
mov edx, symbolDownArrow
mcall 4
call draw_super_text call draw_super_text
@ -870,12 +846,6 @@ import box_lib,\
option_box_draw, 'option_box_draw',\ option_box_draw, 'option_box_draw',\
option_box_mouse, 'option_box_mouse' option_box_mouse, 'option_box_mouse'
;DATA äàííûå check_box èñïîëüçóåò ñèñòåìíûå öâåòà
;êîîðäèíàòû (x,y) = (30, 160) ðàçìåð ÷åêáîêñà 12, öâåò òåêñòà 0x224466
;ch1 check_box2 30 shl 16 + 12, 160 shl 16 + 12, 6, 0xFFFFFFFF, 0xAABBCC, 0x224466, ch_text, 110b ; ch_flag_en and ch_flag_middle
commonButtonText db '...', 0 ;òåêñò äëÿ êíîïîê âûçîâà OpenDial commonButtonText db '...', 0 ;òåêñò äëÿ êíîïîê âûçîâà OpenDial
commonButtonTextSize = 3 commonButtonTextSize = 3
@ -906,6 +876,13 @@ valueModeMenu1 db '
valueModeMenu2 db '०¨¬ £®àï祩 ª« ¢¨è¨ ',0 valueModeMenu2 db '०¨¬ £®àï祩 ª« ¢¨è¨ ',0
valueModeMenu3 db '०¨¬ ¦¥áâ  ¯® ª« ¢¨è¥  ªâ¨¢ æ¨¨',0 valueModeMenu3 db '०¨¬ ¦¥áâ  ¯® ª« ¢¨è¥  ªâ¨¢ æ¨¨',0
head_f_i:
head_f_l db '‘¨á⥬­ ï ®è¨¡ª ',0
err_message_found_lib0 db '<27>¥ ­ ©¤¥­  ¡¨¡«¨®â¥ª  ',39,'proc_lib.obj',39,0
err_message_import0 db 'Žè¨¡ª  ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ ',39,'proc_lib.obj',39,0
err_message_found_lib1 db '<27>¥ ­ ©¤¥­  ¡¨¡«¨®â¥ª  ',39,'kmenu.obj',39,0
err_message_import1 db 'Žè¨¡ª  ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ ',39,'kmenu',39,0
else ;èíà÷å àíãëèéñêèé òåêñò else ;èíà÷å àíãëèéñêèé òåêñò
text db "This is a Hot Angles Configurator. " text db "This is a Hot Angles Configurator. "
@ -933,6 +910,13 @@ valueModeMenu1 db 'classic mode ',0
valueModeMenu2 db 'hot key mode ',0 valueModeMenu2 db 'hot key mode ',0
valueModeMenu3 db 'activation key gesture mode ',0 valueModeMenu3 db 'activation key gesture mode ',0
head_f_i:
head_f_l db 'System error',0
err_message_found_lib0 db 'Could not find library ',39,'proc_lib.obj',39,0
err_message_import0 db 'Error importing library ',39,'proc_lib.obj',39,0
err_message_found_lib1 db 'Could not find library ',39,'kmenu.obj',39,0
err_message_import1 db 'Error importing library ',39,'kmenu',39,0
end if end if
@ -969,7 +953,6 @@ draw_super_text:
pop esi edi edx ecx ebx eax pop esi edi edx ecx ebx eax
ret ret
;![
editID db 0 editID db 0
initEBX: initEBX:
cmp byte[editID], 4 cmp byte[editID], 4
@ -1064,7 +1047,7 @@ but_open_dlg:
popad popad
ret ret
ûííûå äëÿ äèàëîãà îòêðûòèÿ ôàéëîâ àííûå äëÿ äèàëîãà îòêðûòèÿ ôàéëîâ
align 4 align 4
OpenDialog_data: OpenDialog_data:
.type dd 0 ;0 - îòêðûòü, 1 - ñîõðàíèòü, 2 - âûáðàòü äèðåêòîðèþ .type dd 0 ;0 - îòêðûòü, 1 - ñîõðàíèòü, 2 - âûáðàòü äèðåêòîðèþ
@ -1113,23 +1096,18 @@ dd 0,0
aOpenDialog_Init db 'OpenDialog_init',0 aOpenDialog_Init db 'OpenDialog_init',0
aOpenDialog_Start db 'OpenDialog_start',0 aOpenDialog_Start db 'OpenDialog_start',0
head_f_i:
head_f_l db 'Ñèñòåìíàÿ îøèáêà',0
err_message_found_lib0 db 'Íå íàéäåíà áèáëèîòåêà ',39,'proc_lib.obj',39,0
err_message_import0 db 'Îøèáêà ïðè èìïîðòå áèáëèîòåêè ',39,'proc_lib.obj',39,0
err_message_found_lib1 db 'Íå íàéäåíà áèáëèîòåêà ',39,'kmenu.obj',39,0 ;'<27>¥ ­ ©¤¥­  ¡¨¡«¨®â¥ª  '
err_message_import1 db 'Îøèáêà ïðè èìïîðòå áèáëèîòåêè ',39,'kmenu',39,0 ;'Žè¨¡ª  ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ '
system_dir0 db '/sys/lib/' system_dir0 db '/sys/lib/'
lib0_name db 'proc_lib.obj',0 lib0_name db 'proc_lib.obj',0
lib1_name db 'kmenu.obj',0 lib1_name db 'kmenu.obj',0
symbolDownArrow db 25,0
;library structures ;library structures
l_libs_start: l_libs_start:
lib0 l_libs lib0_name, sys_path, file_name, system_dir0, err_message_found_lib0, head_f_l, proclib_import,err_message_import0, head_f_i lib0 l_libs lib0_name, sys_path, file_name, system_dir0, err_message_found_lib0, head_f_l, proclib_import,err_message_import0, head_f_i
lib1 l_libs lib1_name, sys_path, file_name, system_dir0, err_message_found_lib1, head_f_l, import_libkmenu,err_message_import1,head_f_i lib1 l_libs lib1_name, sys_path, file_name, system_dir0, err_message_found_lib1, head_f_l, import_libkmenu,err_message_import1,head_f_i
load_lib_end: load_lib_end:
;!]
edMaxSize = 510 ;òåïåðü ñ íîâûì êîìïîíåíòîì ìîæíî è 511 óêàçàòü edMaxSize = 510 ;òåïåðü ñ íîâûì êîìïîíåíòîì ìîæíî è 511 óêàçàòü
edMax = 0 ;max, size, pos edMax = 0 ;max, size, pos
@ -1188,7 +1166,7 @@ dataBuffer:
.size2: rd 1 .size2: rd 1
.size3: rd 1 .size3: rd 1
.size4: rd 1 .size4: rd 1
;255+255+2 ;255+255+2 = 512
;äâà çàïàñíûõ áàéòà íåîáõîäèìû äëÿ òîãî ÷òî áû íå ïåïåðåïèñàòü ñëåäóþùèåé áàéòû, â êîíöå áóôåðà 0 ;äâà çàïàñíûõ áàéòà íåîáõîäèìû äëÿ òîãî ÷òî áû íå ïåïåðåïèñàòü ñëåäóþùèåé áàéòû, â êîíöå áóôåðà 0
dataBufferEnd: dataBufferEnd:

View File

@ -37,10 +37,9 @@ MIN -
В классическом режиме угол активируется путём наведения курсора. Всё происходит автоматически. Вы наводите мышь в заданный угол рабочего стола, и запускается приложение, связанное с этим углом. В классическом режиме угол активируется путём наведения курсора. Всё происходит автоматически. Вы наводите мышь в заданный угол рабочего стола, и запускается приложение, связанное с этим углом.
Этот режим активируется символом '1' в начале конфигурационного файла. Этот режим активируется символом '1' в начале конфигурационного файла.
Начиная с версии 0.3.5 утилита @HOTANGLES поддерживает второй режим работы - активацию углов по горячей клавише. Эта функциональность тестируется, поэтому настроить её через конфигуратор нельзя. Начиная с версии 0.3.5 утилита @HOTANGLES поддерживает второй режим работы - активацию углов по горячей клавише. Активируется режим символом '2' в начале конфигурационного файла. Изменить клавишу активации нельзя, по умолчанию это символ тильда '~' или '`'. В этом режиме для активации угла требуется зажать клавишу тильда и, одновременно с этим, навести курсор в нужный угол рабочего стола.
Активируется режим символом '2' в начале конфигурационного файла. Изменить клавишу активации нельзя, по умолчанию это символ тильда '~' или '`'. В этом режиме для активации угла требуется зажать клавишу тильда и, одновременно с этим, навести курсор в нужный угол рабочего стола.
Начиная с версии 0.3.6 поддерживается третий режим работы - активация жестом при зажатой активационной клавише. Этот режим находится в тестировании. Клавиша активации - тильда '~'. Изменить клавишу нельзя. В этом режиме для активации угла необходимо зажать клавишу тильда и сместить курсор на расстояние 10 пикселей в сторону нужного угла. Спорные направления (вертикально вверх или вниз и горизонтально влево или вправо) игнорируются. Режим предполагает использование из центра экрана, из угла эрана можно вызвать только противоположный ему по диагонали угол. Этот режим в файле конфигурации отмечается символом '3'. Начиная с версии 0.3.6 поддерживается третий режим работы - активация жестом при зажатой активационной клавише. Этот режим находится в тестировании. Клавиша активации - тильда '~'. Изменить клавишу нельзя. В этом режиме для активации угла необходимо зажать клавишу тильда и сместить курсор на расстояние 10 пикселей в сторону нужного угла. Спорные направления (вертикально вверх или вниз и горизонтально влево или вправо) игнорируются. Режим предполагает использование из центра экрана, из угла экрана можно вызвать только противоположный ему по диагонали угол. Этот режим в файле конфигурации отмечается символом '3'.
'n' и '0' в начале конфигурационного файла отключают утилиту. Начиная с версии 0.3.6 в конфигураторе HACONFIG есть возможность выбрать любой из этих 4 режимов работы Hot Angles. 'n' и '0' в начале конфигурационного файла отключают утилиту. Начиная с версии 0.3.6 в конфигураторе HACONFIG есть возможность выбрать любой из этих 4 режимов работы Hot Angles.