Hot Angles: Little code cleaning

git-svn-id: svn://kolibrios.org@7460 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
theonlymirage 2018-10-14 03:49:17 +00:00
parent f0f9d26273
commit 5b0655cd78
3 changed files with 12 additions and 131 deletions

View File

@ -128,18 +128,16 @@ key: ; Keypress event handler
mov eax, 2 ; The key is returned in ah. The key must be
mcall ; read and cleared from the system queue.
;push eax
invoke edit_box_key, editLU
invoke edit_box_key, editLD
invoke edit_box_key, editRU
invoke edit_box_key, editRD
invoke edit_box_key, editRadius
;pop eax
cmp eax, 1
je event_wait ;.end ;@f
je event_wait
cmp word[hkSymbol], 0
jne event_wait ;.end ;@f
jne event_wait
cmp al, 0
jne .next
mov byte[hkSymbol], ah
@ -167,13 +165,7 @@ key: ; Keypress event handler
;è ñîõðàíÿåì åãî
mov dword[keystr.size], ecx
; cmp ecx, 3
; jbe @f
; mcall -1
; @@:
pop esi ecx eax
jmp red
.next:
;cmp al, 2
@ -187,7 +179,6 @@ key: ; Keypress event handler
;mov byte[hkSymbol], 2
;jmp red
@@:
;.end:
jmp event_wait ; Just read the key, ignore it and jump to event_wait.
button: ; Buttonpress event handler
@ -342,12 +333,11 @@ applyButton:
add ecx, dword[hkSize] ;ðàçìåð èìåíè àêòèâàöèîííîé êíîïêè
add ecx, dword[keystr.size] ;ðàçìåð ñêàíêîäà àêòèâàöèîííîé êíîïêè
inc ecx ; åù¸ 1 áàéò äëÿ õðàíåíèÿ ðàçìåðà ýëåìåíòîâ
;mov ecx, 85
cmp dword[keystr.size], 3
jbe @f
;cmp dword[keystr.size], 3
;jbe @f
;mcall -1
@@:
;@@:
;åñëè çàäàíû ïóñòûå ñòðîêè, òî ìû àâòîìàòè÷åñêè äîáàâëÿåì çíàê ìèíóñ, çíà÷èò ðàçìåð +1 áàéò
cmp dword[editLU.size], 0
@ -373,10 +363,6 @@ applyButton:
mov dword[createFile.data_adr], eax ;ñîõðàíÿåì àäðåñ áóôåðà â ñòðóêòóðó
;çàïîëíèì áóôåð ñîäåðæèìîãî:
;cmp byte[mode], 0
;jne @f
;@@:
push ebx ;ñîõðàíÿåì âûáðàííûé ðåæèì
mov bl, byte[mode]
mov byte[eax], bl
@ -1859,7 +1845,6 @@ dd 0,0
akmenuitem_delete db 'kmenuitem_delete',0
akmenuitem_draw db 'kmenuitem_draw',0
;mouse_dd dd ?
sc system_colors
mouse_dd rd 1

View File

@ -250,7 +250,7 @@ run_command:
cmp ecx, 0
jne @f
mov eax, apps.path1 ;dword[newData.lu]
mov eax, apps.path1
cmp byte[eax], 0 ;если по адресу пусто (или лежал символ '-'), то адрес 0
je .set0
mov dword[struct70.path_adr], eax
@ -260,7 +260,7 @@ run_command:
@@:
cmp ecx, 1
jne @f
mov eax, apps.path2 ;dword[newData.ld]
mov eax, apps.path2
cmp byte[eax], 0 ;если по адресу пусто (или лежал символ '-'), то адрес 0
je .set0
mov dword[struct70.path_adr], eax
@ -270,7 +270,7 @@ run_command:
@@:
cmp ecx, 2
jne @f
mov eax, apps.path3 ;dword[newData.ru]
mov eax, apps.path3
cmp byte[eax], 0 ;если по адресу пусто (или лежал символ '-'), то адрес 0
je .set0
mov dword[struct70.path_adr], eax
@ -280,7 +280,7 @@ run_command:
@@:
cmp ecx, 3
jne .set0 ;.end_set_path
mov eax, apps.path4 ;dword[newData.rd]
mov eax, apps.path4
cmp byte[eax], 0 ;если по адресу пусто (или лежал символ '-'), то адрес 0
je .set0
mov dword[struct70.path_adr], eax
@ -475,7 +475,7 @@ loadConfig:
call readPath
call gotoStartString
;call checkAdr ;ïðîâåðèì ñòðîêè íà '-' è ïóñòîòó è âûñòàâèì áèòîâóþ ìàñêó
;ïðîâåðèì ñòðîêè íà '-'
call checkPathAdr
pop edi esi
@ -485,8 +485,6 @@ loadConfig:
call gotoStartString
;считываем сканкод активационной клавиши
;call readKey
;call gotoEndString
push esi edi ecx
mov esi, keystr
mov edi, keystr
@ -532,54 +530,6 @@ loadConfig:
ret
;readKey:
;÷èòàåì êëàâèøó è âûõîäèì
; cmp dword[eax], 'Ctrl'
; jne .notCtrl
; mov byte[keyActivate], 3
; jmp .end
;.notCtrl:
; cmp dword[eax], 'Shif'
; jne .notShift
; mov byte[keyActivate], 2
; jmp .end
;.notShift:
; cmp dword[eax], 'Spac'
; jne .notSpace
; mov byte[keyActivate], 32
; jmp .end
;.notSpace:
; cmp word[eax], 'Al'
; jne .notAlt
; mov byte[keyActivate], 1
; jmp .end
;.notAlt:
;óáåäèìñÿ, ÷òî òàì 1 ñèìâîë, à íå ñòðîêà
; cmp byte[eax+1], 10
; je .oneSymb
; cmp byte[eax+1], 0
; je .oneSymb
; cmp byte[eax+1], 13
; je .oneSymb
; jmp .default ;â ëþáîì äðóãîì ñëó÷àå îøèáêà êîíôèãà - âûõîä
;.oneSymb:
;ïðîâåðÿåì, ÷òî ñèìâîë ðàçðåø¸ííûé !!! äîäåëàòü
;äîáàâëÿåì ñèìâîë êàê åñòü
; push ebx
; ;xor ebx, ebx
; mov bl, byte[eax]
; mov byte[keyActivate], bl
; pop ebx
; jmp .end
;.default:
; mcall -1
; ;mov byte[keyActivate], 2
;.end:
; ret
checkPathAdr:
push eax ebx
xor eax, eax
@ -615,59 +565,6 @@ checkPathAdr:
pop ebx eax
ret
checkAdr:
push eax ebx
xor eax, eax
mov ebx, apps.path1
cmp byte[ebx], '-'
jne @f
inc eax
@@:
mov ebx, apps.path2
cmp byte[ebx], '-'
jne @f
add eax, 2
@@:
mov ebx, apps.path3
cmp byte[ebx], '-'
jne @f
add eax, 4
@@:
mov ebx, apps.path4
cmp byte[ebx], '-'
jne @f
add eax, 8
@@:
mov ebx, apps.param1
cmp byte[ebx], '-'
jne @f
add eax, 16
@@:
mov ebx, apps.param2
cmp byte[ebx], '-'
jne @f
add eax, 32
@@:
mov ebx, apps.param3
cmp byte[ebx], '-'
jne @f
add eax, 64
@@:
mov ebx, apps.param4
cmp byte[ebx], '-'
jne @f
add eax, 128
@@:
mov byte[apps.bits], al
pop ebx eax
ret
;преобразование строки в целое число
strToInteger: ;вход: esi - указатель на строку с десятичной записью числа, выход: eсx - число
push eax ebx edx edi
@ -971,7 +868,6 @@ mode: rb 1 ;
keystr: rb 4 ;строка со значением сканкода активационной клавиши
radstr: rb 5 ;строка со значением радиуса
apps:
.bits: rb 1
.path1: rb 512
.path2: rb 512
.path3: rb 512

View File

@ -74,10 +74,10 @@ http://websvn.kolibrios.org/dl.php?repname=Kolibri+OS&path=%2Fprograms%2Fother%2
Известные недоработки, которые будут исправлены в следующих версиях:
[+] отсутствие русского языка;
[-] используется маленький шрифт текста;
[-] нет возможности запуска приложения с параметрами;
[+] нет возможности запуска приложения с параметрами;
[+] знак минус не влияет на попытку запуска в конкретном углу;
[+] пустое поле в конфигураторе и пустая строка в конфигурационном файле неверно обрабатываются;
[-] повреждение файла конфигурации после многократного вкл./выкл. опции Hot Angles;
[+] повреждение файла конфигурации после многократного вкл./выкл. опции Hot Angles;
[+] режим явной команды клавишей активации: зажимаем горячую клавишу (например, shift), наводим курсор в угол - происходит реакция;
[+] режим жеста/направления: зажимаем активирующую клавишу, после этого приложение анализирует мышь, в зависимости от направления движения мыши (от начальных координат в момент активации опции) выбирается активируемый угол - происходит реакция;
[+] добавить диалог выбора пути OpenDialog в конфигураторе;