Subversion Repositories Kolibri OS

Rev

Rev 5854 | Rev 5875 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 5854 Rev 5874
Line 23... Line 23...
23
; Set system language
23
; Set system language
24
	mov	word[param],0
24
	mov	word[param],0
25
	invoke	ini.get_str, sz_ini, sz_system, sz_language, param, 2, 0
25
	invoke	ini.get_str, sz_ini, sz_system, sz_language, param, 2, 0
26
	mov	ax, [param]
26
	mov	ax, [param]
27
	or	ax, 0x2020	; convert to lowercase
27
	or	ax, 0x2020	; convert to lowercase
28
	mov	ecx,8
28
	mov	ecx,10
29
	mov	edi,langMarks
29
	mov	edi,langMarks
30
	repnz scasw
30
	repnz scasw
31
	jnz	@f
31
	jnz	@f
32
	neg	ecx
32
	neg	ecx
33
	add	ecx,8
33
	add	ecx,10
34
	mcall	21,5
34
	mcall	21,5
35
@@:
35
@@:
Line 36... Line -...
36
 
-
 
37
; Set keyboard layout
-
 
38
	mov	word[param],0
-
 
39
	invoke	ini.get_str, sz_ini, sz_system, sz_keyboard, param, 2, 0
-
 
40
	mov	ax, [param]
-
 
41
	or	ax, 0x2020
-
 
42
	mov	ecx,8
-
 
43
	mov	edi,langMarks
-
 
44
	repnz scasw
-
 
45
	jnz	@f
-
 
46
	neg	ecx
-
 
47
	add	ecx,7
-
 
48
	mov	[keyboard],ecx
-
 
49
	call	_keyboard
-
 
50
@@:
-
 
51
 
36
 
52
; Set font smoothing
37
; Set font smoothing
53
	mov	dword[param],0
38
	mov	dword[param],0
54
	invoke	ini.get_str, sz_ini, sz_system, sz_fontSmooth, param, 4, 0
39
	invoke	ini.get_str, sz_ini, sz_system, sz_fontSmooth, param, 4, 0
55
	xor	ecx,ecx
40
	xor	ecx,ecx
Line 79... Line 64...
79
	inc	[speaker_mute]
64
	inc	[speaker_mute]
80
@@:
65
@@:
81
	call	_speaker_mute
66
	call	_speaker_mute
82
.skipSpeaker:
67
.skipSpeaker:
Line -... Line 68...
-
 
68
 
-
 
69
; Set font size
-
 
70
	invoke	ini.get_int, sz_ini, sz_system, sz_fontSize, 9
-
 
71
	mov	ecx,eax
-
 
72
	mcall	48,12
83
 
73
 
84
; Set mouse speed
74
; Set mouse speed
85
	invoke	ini.get_int, sz_ini, sz_mouse, sz_speed, 1
75
	invoke	ini.get_int, sz_ini, sz_mouse, sz_speed, 1
86
	mov	edx,eax
76
	mov	edx,eax
Line 129... Line 119...
129
	jnz	close
119
	jnz	close
Line 130... Line 120...
130
 
120
 
131
	cmp	[param],dword 'BOOT'
121
	cmp	[param],dword 'BOOT'
132
	jz	BootSettings
122
	jz	BootSettings
133
	pop	eax
-
 
134
; get current settings
-
 
135
	mcall	26,2,9
-
 
136
	dec	eax
-
 
Line -... Line 123...
-
 
123
	pop	eax
137
	mov	[keyboard],eax
124
 
138
 
125
; get current settings
139
	mcall	26,5
126
	mcall	26,5
Line 140... Line 127...
140
	dec	eax
127
	dec	eax
Line 150... Line 137...
150
	mov	[speaker_mute],eax
137
	mov	[speaker_mute],eax
Line 151... Line 138...
151
 
138
 
152
	mcall	48,9
139
	mcall	48,9
Line -... Line 140...
-
 
140
	mov	[fontSmoothing],eax
-
 
141
 
-
 
142
	mcall	48,11
153
	mov	[fontSmoothing],eax
143
	mov	[fontSize],eax
Line 154... Line 144...
154
 
144
 
155
	call	loadtxt
145
	call	loadtxt
156
 
146
 
157
draw_infotext:
147
draw_infotext:
158
	mov	eax,[syslang]
148
	mov	eax,[syslang]
159
	mov	edi,[text]
149
	mov	edi,[text]
160
	lea	esi,[eax*8+langs]
150
	lea	esi,[eax*8+langs]
161
	add	edi,28
-
 
162
	movsd
-
 
163
	movsd
-
 
164
 
-
 
165
	mov	eax,[keyboard]
-
 
166
	add	edi,LLL-8
-
 
167
	lea	esi,[eax*8+langs]
151
	add	edi,28
Line 168... Line 152...
168
	movsd
152
	movsd
169
	movsd
153
	movsd
170
	add	edi,LLL-8
154
	add	edi,LLL-8
Line 190... Line 174...
190
	mov	ecx,'    '
174
	mov	ecx,'    '
191
@@:
175
@@:
192
	mov	[edi+LLL*3],ebx
176
	mov	[edi+LLL*3],ebx
193
	mov	[edi+LLL*3+4],ecx
177
	mov	[edi+LLL*3+4],ecx
Line -... Line 178...
-
 
178
 
-
 
179
	mov	eax,[fontSize]
-
 
180
	mov	bl, 10
-
 
181
	div	bl
-
 
182
	add	ax, '00'
-
 
183
	mov	[edi+LLL*4],ax
194
 
184
 
195
draw_window:
185
draw_window:
196
	mcall	12,1
186
	mcall	12,1
197
	mov	ecx,50*65536+32*(4+stringsAmount)
187
	mov	ecx,50*65536+32*(4+stringsAmount)
198
	mcall	0,<50,700>,,0xB4111199,0,title
188
	mcall	0,<50,700>,,0xB4111199,0,title
Line 270... Line 260...
270
	pop	eax
260
	pop	eax
271
	mcall	-1
261
	mcall	-1
272
language1:
262
language1:
273
	dec	[syslang]
263
	dec	[syslang]
274
	jns	@f
264
	jns	@f
275
	mov	[syslang],7
265
	mov	[syslang],9
276
	jmp	@f
266
	jmp	@f
277
language2:
267
language2:
278
	inc	[syslang]
268
	inc	[syslang]
279
	cmp	[syslang],8
269
	cmp	[syslang],10
280
	jnz	@f
270
	jc	@f
281
	mov	[syslang],0
271
	mov	[syslang],0
282
@@:
272
@@:
283
	jmp	loadtxt
273
	jmp	loadtxt
284
layout1:
-
 
285
	dec	[keyboard]
-
 
286
	jns	@f
-
 
287
	mov	[keyboard],7
-
 
288
	ret
-
 
289
layout2:
-
 
290
	inc	[keyboard]
-
 
291
	cmp	[keyboard],8
-
 
292
	jnz	@f
-
 
293
	mov	[keyboard],0
-
 
294
	ret
-
 
295
LBA1:
274
LBA1:
296
	btr	[lba_read],0
275
	btr	[lba_read],0
297
	ret
276
	ret
298
LBA2:
277
LBA2:
299
	bts	[lba_read],0
278
	bts	[lba_read],0
Line 317... Line 296...
317
	ret
296
	ret
318
font2:
297
font2:
319
	cmp	[fontSmoothing],2
298
	cmp	[fontSmoothing],2
320
	jz	@f
299
	jz	@f
321
	inc	[fontSmoothing]
300
	inc	[fontSmoothing]
-
 
301
	ret
-
 
302
fontSize1:
-
 
303
	cmp	[fontSize],10
-
 
304
	jc	@f
-
 
305
	dec	[fontSize]
322
@@:
306
@@:
323
	ret
307
	ret
-
 
308
fontSize2:
-
 
309
	inc	[fontSize]
-
 
310
	ret
324
apply_all:
311
apply_all:
325
	call	fontApply
-
 
326
	call	_syslang
-
 
327
	call	_lba_read
312
	call	_lba_read
328
	call	_pci_acc
313
	call	_pci_acc
329
	call	_speaker_mute
314
	call	_speaker_mute
330
	call	_keyboard
315
	call	fontApply
331
	ret
316
	call	fontSizeApply
332
_syslang:
317
_syslang:
333
	mov	ecx,[syslang]
318
	mov	ecx,[syslang]
334
	inc	ecx
319
	inc	ecx
335
	mcall	21,5
320
	mcall	21,5
336
	ret
321
	ret
Line 341... Line 326...
341
	mcall	21,12,[pci_acc]
326
	mcall	21,12,[pci_acc]
342
	ret
327
	ret
343
fontApply:
328
fontApply:
344
	mcall	48,10,[fontSmoothing]
329
	mcall	48,10,[fontSmoothing]
345
	ret
330
	ret
-
 
331
fontSizeApply:
-
 
332
	mcall	48,12,[fontSize]
-
 
333
	ret
346
_speaker_mute:
334
_speaker_mute:
347
	mcall	18,8,1
335
	mcall	18,8,1
348
	cmp	[speaker_mute],eax
336
	cmp	[speaker_mute],eax
349
	je	@b
337
	jz	@f
350
	inc	ecx
338
	inc	ecx
351
	mcall	18
339
	mcall	18
352
_keyboard:
340
@@:
353
	mov	ebp,[keyboard]
-
 
354
	mov	edx,[ebp*4+keymapTab]
-
 
355
	mcall	21,2,1
-
 
356
	inc	ecx
-
 
357
	mov	edx,[ebp*4+shiftKeymapTab]
-
 
358
	mcall	21
-
 
359
	inc	ecx
-
 
360
	mov	edx,[ebp*4+altKeymapTab]
-
 
361
	mcall	21
-
 
362
	mov	edx,ebp
-
 
363
	inc	edx
-
 
364
	mov	cl, 9
-
 
365
	mcall	21
-
 
366
	ret
341
	ret
367
;---------------------------------------------------------------
342
;---------------------------------------------------------------
368
loadtxt:
343
loadtxt:
369
	cmp	[syslang],3
344
	cmp	[syslang],3
370
	jz	.ru
345
	jz	.ru
Line 408... Line 383...
408
	mov	eax,[syslang]
383
	mov	eax,[syslang]
409
	mov	ax, [eax*2+langMarks]
384
	mov	ax, [eax*2+langMarks]
410
	mov	[param],eax
385
	mov	[param],eax
411
	invoke	ini.set_str, sz_ini, sz_system, sz_language, param, 2
386
	invoke	ini.set_str, sz_ini, sz_system, sz_language, param, 2
Line 412... Line 387...
412
 
387
 
413
; keyboard layout
-
 
414
	mov	eax,[keyboard]
-
 
415
	mov	ax, [eax*2+langMarks]
-
 
416
	mov	[param],eax
388
; font size
Line 417... Line 389...
417
	invoke	ini.set_str, sz_ini, sz_system, sz_keyboard, param, 2
389
	invoke	ini.set_int, sz_ini, sz_system, sz_fontSize, [fontSize]
418
 
390
 
419
; font smoothing
391
; font smoothing
420
	mov	dword[param],'off'
392
	mov	dword[param],'off'
Line 458... Line 430...
458
	dd saveAll
430
	dd saveAll
459
	dd apply_all
431
	dd apply_all
460
	dd language1
432
	dd language1
461
	dd language2
433
	dd language2
462
	dd _syslang
434
	dd _syslang
463
	dd layout1
-
 
464
	dd layout2
-
 
465
	dd _keyboard
-
 
466
	dd LBA1
435
	dd LBA1
467
	dd LBA2
436
	dd LBA2
468
	dd _lba_read
437
	dd _lba_read
469
	dd PCI1
438
	dd PCI1
470
	dd PCI2
439
	dd PCI2
Line 473... Line 442...
473
	dd SPEAKER2
442
	dd SPEAKER2
474
	dd _speaker_mute
443
	dd _speaker_mute
475
	dd font1
444
	dd font1
476
	dd font2
445
	dd font2
477
	dd fontApply
446
	dd fontApply
478
keymapTab:
-
 
479
	dd en_keymap
-
 
480
	dd fi_keymap
447
	dd fontSize1
481
	dd ge_keymap
-
 
482
	dd ru_keymap
-
 
483
	dd fr_keymap
448
	dd fontSize2
484
	dd et_keymap
-
 
485
	dd be_keymap
-
 
486
	dd it_keymap
-
 
487
shiftKeymapTab:
-
 
488
	dd en_keymap_shift
-
 
489
	dd fi_keymap_shift
-
 
490
	dd ge_keymap_shift
-
 
491
	dd ru_keymap_shift
-
 
492
	dd fr_keymap_shift
-
 
493
	dd et_keymap_shift
-
 
494
	dd be_keymap_shift
-
 
495
	dd it_keymap_shift
-
 
496
altKeymapTab:
-
 
497
	dd alt_general
-
 
498
	dd alt_general
-
 
499
	dd alt_general
-
 
500
	dd alt_general
-
 
501
	dd fr_keymap_alt_gr
-
 
502
	dd alt_general
449
	dd fontSizeApply
503
	dd be_keymap_alt_gr
-
 
504
	dd it_keymap_alt_gr
-
 
Line 505... Line 450...
505
 
450
 
506
syslang 	dd 0
-
 
507
keyboard	dd 0
451
syslang 	dd 0
508
lba_read	dd 0
452
lba_read	dd 0
509
pci_acc 	dd 0
453
pci_acc 	dd 0
510
speaker_mute	dd 0
454
speaker_mute	dd 0
-
 
455
fontSmoothing	dd 0
Line 511... Line 456...
511
fontSmoothing	dd 0
456
fontSize	dd 0
512
 
457
 
513
@IMPORT:
458
@IMPORT:
514
library libini, 'libini.obj'
459
library libini, 'libini.obj'
Line 521... Line 466...
521
title	db "System settings",0
466
title	db "System settings",0
522
sz_ini	db "/sys/settings/system.ini",0
467
sz_ini	db "/sys/settings/system.ini",0
Line 523... Line 468...
523
 
468
 
524
sz_system	db "system",0
469
sz_system	db "system",0
525
sz_language	db "language",0
470
sz_language	db "language",0
526
sz_keyboard	db "keyboard",0
471
sz_fontSize	db "font height",0
527
sz_fontSmooth	db "font smoothing",0
472
sz_fontSmooth	db "font smoothing",0
Line 528... Line 473...
528
sz_speaker	db "speaker mute",0
473
sz_speaker	db "speaker mute",0
529
 
474
 
Line 539... Line 484...
539
stringsAmount = 6
484
stringsAmount = 6
Line 540... Line 485...
540
 
485
 
541
align 4
486
align 4
542
text	dd 0
487
text	dd 0
543
langs:
488
langs:
-
 
489
db 'ENGLISH FINNISH GERMAN  RUSSIAN FRENCH  '
544
db 'ENGLISH FINNISH GERMAN  RUSSIAN FRENCH  ESTONIANBELGIAN ITALIAN '
490
db 'ESTONIANUKRAINE ITALIAN BELGIAN SPANISH '
545
langMarks:
491
langMarks:
Line 546... Line 492...
546
db	'enfiderufretesit'
492
db	'enfiderufretukitbesp'
547
 
493
 
548
textrus:
-
 
549
db 'Ÿ§ëª á¨áâ¥¬ë              :              <  >  à¨¬¥­¨âì'
494
textrus:
550
db ' áª« ¤ª  ª« ¢¨ âãàë      :              <  >  à¨¬¥­¨âì'
495
db 'Ÿ§ëª á¨áâ¥¬ë              :              <  >  à¨¬¥­¨âì'
551
db '‚ª«îç¨âì LBA              :              -  +  à¨¬¥­¨âì'
496
db '‚ª«îç¨âì LBA              :              -  +  à¨¬¥­¨âì'
552
db '„®áâ㯠ª 設¥ PCI         :              -  +  à¨¬¥­¨âì'
497
db '„®áâ㯠ª 設¥ PCI         :              -  +  à¨¬¥­¨âì'
-
 
498
db '‚몫îç¨âì SPEAKER         :              -  +  à¨¬¥­¨âì'
Line 553... Line 499...
553
db '‚몫îç¨âì SPEAKER         :              -  +  à¨¬¥­¨âì'
499
db '‘£« ¦¨¢ ­¨¥ èà¨ä⮢       :              -  +  à¨¬¥­¨âì'
554
db '‘£« ¦¨¢ ­¨¥ èà¨ä⮢       :              -  +  à¨¬¥­¨âì'
500
db '‚ëá®â  èà¨ä⮢            :              -  +  à¨¬¥­¨âì'
Line 555... Line 501...
555
 
501
 
556
db '‚ˆŒ€ˆ…:                                  à¨¬¥­¨âì ¢á¥'
502
db '‚ˆŒ€ˆ…:                                  à¨¬¥­¨âì ¢á¥'
557
db '… ‡€“„œ’… ‘Ž•€ˆ’œ €‘’Ž‰Šˆ            ‘®åà ­¨âì ¢á¥'
-
 
558
 
503
db '… ‡€“„œ’… ‘Ž•€ˆ’œ €‘’Ž‰Šˆ            ‘®åà ­¨âì ¢á¥'
559
texteng:
504
 
560
db 'System language           :              <  >    Apply  '
505
texteng:
561
db 'Keyboard layout           :              <  >    Apply  '
506
db 'System language           :              <  >    Apply  '
-
 
507
db 'Allow LBA access          :              -  +    Apply  '
Line 562... Line 508...
562
db 'Allow LBA access          :              -  +    Apply  '
508
db 'Allow PCI access          :              -  +    Apply  '
563
db 'Allow PCI access          :              -  +    Apply  '
509
db 'Disable SPEAKER           :              -  +    Apply  '
Line 564... Line 510...
564
db 'Disable SPEAKER           :              -  +    Apply  '
510
db 'Font smoothing            :              -  +    Apply  '
565
db 'Font smoothing            :              -  +    Apply  '
511
db 'Font height               :              -  +    Apply  '
566
 
-
 
567
db 'NOTE:                                        Apply all  '
512
 
568
db 'SAVE YOUR SETTINGS BEFORE QUITING KOLIBRI    Save all   '
513
db 'NOTE:                                        Apply all  '
569
 
514
db 'SAVE YOUR SETTINGS BEFORE QUITING KOLIBRI    Save all   '
570
textet:
515
 
-
 
516
textet:
Line 571... Line 517...
571
db 'Süsteemi keel             :              <  >   Kinnita '
517
db 'Süsteemi keel             :              <  >   Kinnita '
572
db 'Klaviatuuri paigutus      :              <  >   Kinnita '
518
db 'LBA lugemine lubatud      :              -  +   Kinnita '
Line 573... Line -...
573
db 'LBA lugemine lubatud      :              -  +   Kinnita '
-
 
574
db 'PCI juurdepääs programm.  :              -  +   Kinnita '
519
db 'PCI juurdepääs programm.  :              -  +   Kinnita '
575
db 'Disable SPEAKER           :              -  +   Kinnita '
520
db 'Disable SPEAKER           :              -  +   Kinnita '
576
db 'Font smoothing            :              -  +   Kinnita '
521
db 'Font smoothing            :              -  +   Kinnita '
577
 
522
db 'Font height               :              -  +   Kinnita '
578
db 'MÄRKUS:                                    Kinnita kõik '
523
 
579
db 'SALVESTA SEADED ENNE KOLIBRIST VÄLJUMIST   Salvesta kõik'
524
db 'MÄRKUS:                                    Kinnita kõik '