Subversion Repositories Kolibri OS

Rev

Rev 7548 | Rev 9531 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
341 heavyiron 1
;   RDsave для Kolibri (0.6.5.0 и старше)
4213 heavyiron 2
;   Save RAM-disk to hard or floppy drive
1606 mario79 3
;---------------------------------------------------------------------
205 heavyiron 4
;   Mario79 2005
341 heavyiron 5
;   Heavyiron 12.02.2007
1070 Lrz 6
;        11.05.2009 - для работы нужна системная библиотека box_lib.obj
4213 heavyiron 7
;   Mario79   08.09.2010 - select path with OpenDialog,keys 1,2,3,4 for select options
8
;   Heavyiron 01.12.2013 - new logic
341 heavyiron 9
;---------------------------------------------------------------------
205 heavyiron 10
appname equ 'RDsave '
4319 heavyiron 11
version equ '1.43'
4810 eAndrew 12
debug	equ no
3634 fedesco 13
 
4810 eAndrew 14
use32	     ; включить 32-битный режим ассемблера
4213 heavyiron 15
org 0x0      ; адресация с нуля
205 heavyiron 16
 
4810 eAndrew 17
db 'MENUET01'	 ; 8-байтный идентификатор MenuetOS
18
dd 0x01 	 ; версия заголовка (всегда 1)
19
dd START	 ; адрес первой команды
20
dd IM_END	 ; размер программы
21
dd I_END	 ; количество памяти
22
dd stacktop	 ; адрес вершины стека
23
dd PARAMS	 ; адрес буфера для параметров
4213 heavyiron 24
dd cur_dir_path
205 heavyiron 25
 
4213 heavyiron 26
 
27
include 'lang.inc'
28
include '../../../macros.inc'
29
if debug eq yes
30
include '../../../debug.inc'
31
end if
32
include '../../../proc32.inc'
33
include '../../../dll.inc'
1111 Lrz 34
include '../../../develop/libraries/box_lib/load_lib.mac'
1373 IgorA 35
include '../../../develop/libraries/box_lib/trunk/box_lib.mac'
4213 heavyiron 36
include 'str.inc'
1070 Lrz 37
 
4810 eAndrew 38
	@use_library
341 heavyiron 39
;---------------------------------------------------------------------
40
;---  НАЧАЛО ПРОГРАММЫ  ----------------------------------------------
41
;---------------------------------------------------------------------
1070 Lrz 42
align 4
43
START:
4213 heavyiron 44
;---------------------------------------------------------------------
4810 eAndrew 45
	mcall  68,11
1606 mario79 46
 
47
load_libraries l_libs_start,end_l_libs
4810 eAndrew 48
	inc	eax
49
	test	eax,eax
50
	jz	close
1606 mario79 51
 
4810 eAndrew 52
	stdcall dll.Init,[init_lib]
205 heavyiron 53
 
4810 eAndrew 54
	invoke	ini_get_int,ini_file,asettings,aautoclose,0
55
	mov	[autoclose],eax
56
	invoke	ini_get_str,ini_file,apath,apath,fname_buf,4096,path
57
	stdcall _lstrcpy,ini_path,fname_buf
58
	stdcall _lstrcpy,filename_area,start_temp_file_name
4213 heavyiron 59
 
4810 eAndrew 60
	mov   eax,PARAMS
61
	cmp   byte[eax], 0
62
	je    no_params
63
	cmp   byte[eax], 'h'
64
	je    @f
65
	cmp   byte[eax], 'H'
66
	jne   .no_h
1606 mario79 67
@@:
4810 eAndrew 68
	mov   [hidden],1
69
	jmp   no_params
4213 heavyiron 70
.no_h:
4810 eAndrew 71
	mov   [param],1
72
	stdcall _lstrcpy,fname_buf,eax
73
	mov   ah,2
74
	jmp   noclose
1228 Lrz 75
 
4270 heavyiron 76
;---------------------------------------------------------------------
4213 heavyiron 77
no_params:
4810 eAndrew 78
	stdcall _lstrcpy,check_dir,ini_path
79
	call	check_path
80
	test	eax,eax
81
	jz	path_ok
82
	cmp	eax,6
83
	je	path_ok
4213 heavyiron 84
;---------------------------------------------------------------------
85
if debug eq yes
86
dps 'read_folder_error'
87
newline
88
end if
89
;---------------------------------------------------------------------
4290 heavyiron 90
default_path:
4810 eAndrew 91
	stdcall _lstrcpy,fname_buf,communication_area_default_path
92
	mov	[hidden],0
4213 heavyiron 93
 
94
;OpenDialog     initialisation
4810 eAndrew 95
	push	dword OpenDialog_data
96
	call	[OpenDialog_Init]
4213 heavyiron 97
 
1606 mario79 98
; prepare for PathShow
4810 eAndrew 99
	push	dword PathShow_data_1
100
	call	[PathShow_prepare]
4290 heavyiron 101
 
4810 eAndrew 102
	mcall	40,0x00000027
4290 heavyiron 103
 
4810 eAndrew 104
	call	draw_window
105
	mov	ah,3
106
	jmp	noclose
4213 heavyiron 107
;---------------------------------------------------------------------
108
path_ok:
109
;OpenDialog     initialisation
4810 eAndrew 110
	push	dword OpenDialog_data
111
	call	[OpenDialog_Init]
1606 mario79 112
 
4213 heavyiron 113
; prepare for PathShow
4810 eAndrew 114
	push	dword PathShow_data_1
115
	call	[PathShow_prepare]
205 heavyiron 116
 
4810 eAndrew 117
	mcall	40,0x00000027
4213 heavyiron 118
 
4810 eAndrew 119
	cmp	[hidden],1
120
	jne	red
121
	mov	ah,2
122
	jmp	noclose
4213 heavyiron 123
red:
4810 eAndrew 124
	call	draw_window
341 heavyiron 125
;---------------------------------------------------------------------
126
still:
4810 eAndrew 127
	mcall 10
205 heavyiron 128
 
4810 eAndrew 129
	dec	eax	 ; перерисовать окно?
130
	jz	red	 ; если да - на метку red
131
	dec	eax
132
	jz	key
133
	dec	eax
134
	jz	button
135
	jmp	still
1606 mario79 136
;---------------------------------------------------------------------
341 heavyiron 137
button:
4810 eAndrew 138
	mcall	17	; получить идентификатор нажатой кнопки
139
	cmp	ah,1		 ; кнопка с id=1("закрыть")?
140
	jne	noclose
1070 Lrz 141
close:
4810 eAndrew 142
	mcall	-1	    ; функция -1: завершить программу
143
 
4213 heavyiron 144
;---------------------------------------------------------------------
145
key:
4810 eAndrew 146
	mcall	2
147
	cmp	ah,0x1b
148
	je	close
149
	cmp	ah,0x0D
150
	jne	@f
151
	mov	ah,2
152
	jmp	noclose
4213 heavyiron 153
@@:
4810 eAndrew 154
	cmp	ah,9h
155
	jne	still
4213 heavyiron 156
;---------------------------------------------------------------------
341 heavyiron 157
noclose:
4810 eAndrew 158
	mov	ecx,fname_buf
159
	push  16
160
	mov   ebx,1
161
	cmp   byte[ecx+1],'f'
162
	je    @f
163
	cmp   byte[ecx+1],'F'
164
	jne   not_fdd
4213 heavyiron 165
@@:
4810 eAndrew 166
	cmp   byte[ecx+4],'1'
167
	jne   @f
168
	cmp   ah,2
169
	je    doit
4213 heavyiron 170
@@:
4810 eAndrew 171
	inc   ebx
172
	cmp   ah,2
173
	je    doit
4213 heavyiron 174
not_fdd:
4810 eAndrew 175
	push  18
176
	mov   ebx,6	; 18.6 = save to specified folder
177
	cmp   ah,2
178
	je    doit
1606 mario79 179
 
180
; invoke OpenDialog
4810 eAndrew 181
	push	dword OpenDialog_data
182
	call	[OpenDialog_Start]
183
	cmp	[OpenDialog_data.status],1
184
	jne	still
1606 mario79 185
 
186
; prepare for PathShow
4810 eAndrew 187
	push	dword PathShow_data_1
188
	call	[PathShow_prepare]
189
	call	draw_window
190
	mov	ah,2
191
	jmp	noclose
1606 mario79 192
 
4213 heavyiron 193
doit:
4810 eAndrew 194
	cmp	[param],0
195
	jne	 @f
196
	call	save_ini
4270 heavyiron 197
@@:
4810 eAndrew 198
	cmp	byte[ecx+1],'r'
199
	je	@f
200
	cmp	byte[ecx+1],'R'
5142 Heavyiron 201
	je	@f
202
        cmp     byte[ecx],'/'
203
	je	not_rd
4270 heavyiron 204
@@:
4810 eAndrew 205
	mov	edx,rdError
206
	call	print_err
207
	jmp	still
4290 heavyiron 208
not_rd:
4810 eAndrew 209
	cmp	 [hidden],0
210
	jne	 @f
211
	pusha
212
	stdcall  _lstrcpy,msg,label2
213
	mov	 eax,[sc.work_text]
214
	or	 eax,0xc0000088
215
	mov	 [color],eax
216
	call	print_msg
217
	popa
4270 heavyiron 218
@@:
4810 eAndrew 219
	pop	eax
220
	mcall
221
	call	check_for_error
222
	jmp	still
1606 mario79 223
 
224
;---------------------------------------------------------------------
4810 eAndrew 225
check_for_error:		      ;Обработчик ошибок
226
	test	eax,eax
227
	jz	print_ok
228
	cmp	ebx,6
229
	je	@f
230
	mov	edx,error11
231
	jmp	print_err
232
@@:
233
	cmp	eax, 11
234
	ja	.unknown
235
	mov	edx, [errors+eax*4]
236
	stdcall _lstrcpy,msg,error
237
	stdcall _lstrcat,msg,edx
238
	mov	edx,msg
239
	jmp	print_err
4213 heavyiron 240
.unknown:
4810 eAndrew 241
	mov	edx, aUnknownError
4290 heavyiron 242
 
4213 heavyiron 243
print_err:
4810 eAndrew 244
	stdcall _lstrlen,ini_path
245
	pusha
246
	invoke	ini_set_str,ini_file,apath,apath,ini_path,eax
247
	popa
248
	stdcall _lstrcpy,msg,edx
249
	cmp	[hidden],1
250
	je	@f
251
	cmp	[param],1
252
	je	@f
253
	mov	 ecx,[sc.work_text]
254
	or	 ecx,0xc0880000
255
	mov	 [color],ecx
256
	call	print_msg
257
	ret
4270 heavyiron 258
@@:
4810 eAndrew 259
	stdcall _lstrcpy, ntf_msg, ntf_start
260
	stdcall _lstrcat, ntf_msg, edx
261
	stdcall _lstrcat, ntf_msg, ntf_end_e
262
	mov	dword [is_notify + 8], ntf_msg
263
	mcall	70, is_notify
264
	mov	[param],0
265
	mov	[hidden],0
266
	stdcall _lstrcpy,fname_buf,ini_path
267
	jmp	no_params
4290 heavyiron 268
 
4213 heavyiron 269
print_ok:
4810 eAndrew 270
	cmp	 [hidden],1
271
	je	 @f
272
	cmp	 [param],1
273
	je	 @f
274
	stdcall  _lstrcpy,msg,ok
275
	mov	 ecx,[sc.work_text]
276
	or	 ecx,0xc0008800
277
	mov	 [color],ecx
278
	call	 print_msg
279
	mcall	 5,100
280
	cmp	 [autoclose],1
281
	je	 close
282
	ret
4319 heavyiron 283
@@:
4810 eAndrew 284
	stdcall  _lstrcpy,msg,ok
285
	stdcall  _lstrcat,msg,fname_buf
286
	stdcall _lstrcpy, ntf_msg, ntf_start
287
	stdcall _lstrcat, ntf_msg, msg
288
	stdcall _lstrcat, ntf_msg, ntf_end_o
4811 eAndrew 289
	mov	 edx,ntf_msg
4810 eAndrew 290
	mov	 dword [is_notify + 8], edx
291
	mcall	 70, is_notify
292
	mcall	 5,100
293
	jmp	 close
4319 heavyiron 294
;---------------------------------------------------------------------
295
print_msg:
4810 eAndrew 296
	mcall	13,<5,380>,<96,10>,[sc.work]
297
	stdcall _lstrlen,msg
298
	lea	eax,[eax+eax*2]
299
	add	eax,eax
300
	mov	ebx,390
301
	sub	ebx,eax
302
	shl	ebx,15
303
	add	ebx,96
304
	mcall	4, ,[color],msg, ,[sc.work]
305
	ret
1606 mario79 306
;---------------------------------------------------------------------
4213 heavyiron 307
draw_PathShow:
4810 eAndrew 308
	pusha
309
	mcall	13,<15,280>,<32,16>,0xffffff
310
	push	dword PathShow_data_1
311
	call	[PathShow_draw]
312
	popa
313
	ret
1606 mario79 314
;---------------------------------------------------------------------
4213 heavyiron 315
save_ini:
4810 eAndrew 316
	pusha
317
	stdcall _lstrlen,fname_buf
318
	invoke	ini_set_str,ini_file,apath,apath,fname_buf,eax
319
	invoke	ini_set_int,ini_file,asettings,aautoclose,[autoclose]
320
	popa
321
	ret
341 heavyiron 322
;---------------------------------------------------------------------
4213 heavyiron 323
check_path:
4810 eAndrew 324
stdcall _lstrlen,check_dir
325
	add	eax,check_dir
4213 heavyiron 326
@@:
4810 eAndrew 327
	dec	eax
328
	cmp	byte [eax],'/'
329
	jne	@b
330
	mov	byte [eax+1],0
4213 heavyiron 331
 
4810 eAndrew 332
	mcall	70,read_folder
333
	ret
1606 mario79 334
;---------------------------------------------------------------------
4213 heavyiron 335
;---  Draw window  ---------------------------------------------------
341 heavyiron 336
;---------------------------------------------------------------------
205 heavyiron 337
draw_window:
5142 Heavyiron 338
	mcall  48,3,sc,sizeof.system_colors
4810 eAndrew 339
	mcall	12,1
205 heavyiron 340
 
4810 eAndrew 341
	mov	edx,[sc.work]
342
	or	edx,0x34000000
343
	mcall	0,<200,400>,<200,130>, , ,title
205 heavyiron 344
 
4213 heavyiron 345
;buttons
4810 eAndrew 346
	mcall	8,<198,70>,<68,20>,1,[sc.work_button]
347
	inc	edx
348
	mcall	 ,<125,70>,
349
	inc	edx
350
	mcall	 ,<300,75>,<30,20>
1070 Lrz 351
 
4213 heavyiron 352
;labels
4810 eAndrew 353
	mov	ecx,[sc.work_button_text]
354
	or	ecx,0x80000000
355
	mcall	4,<134,75>, ,save
356
	mcall	 ,<215,75>, ,cancel
357
	mcall	 ,<315,36>, ,select
205 heavyiron 358
 
7548 leency 359
	m2m	dword [frame_data.font_backgr_color],[sc.work]
360
	m2m dword [frame_data.font_color],[sc.work_text]
361
	m2m dword [frame_data.ext_fr_col],[sc.work_graph]
7786 leency 362
	m2m dword [frame_data.int_fr_col],[sc.work_light]
7548 leency 363
 
4810 eAndrew 364
	push	dword frame_data
365
	call	[Frame_draw]
205 heavyiron 366
 
4810 eAndrew 367
	call	draw_PathShow
368
	call	print_msg
205 heavyiron 369
 
4810 eAndrew 370
	mcall	12,2
371
	ret
372
 
341 heavyiron 373
;---------------------------------------------------------------------
4213 heavyiron 374
;---  Data  ----------------------------------------------------------
1606 mario79 375
;---------------------------------------------------------------------
205 heavyiron 376
if lang eq ru
4810 eAndrew 377
save		db 'Сохранить',0
378
cancel		db 'Отмена',0
379
select		db 'Изменить',0
380
label1		db ' Образ будет сохранен в: ',0
381
label2		db 'Сохранение образа...',0
382
ok		db 'RAM-диск сохранен успешно ',0
383
error1		db 'не определена база и/или раздел жёсткого диска',0
384
error2		db 'функция не поддерживается для данной файловой системы',0
385
error3		db 'неизвестная файловая система',0
386
error4		db 'странно... Ошибка 4',0
387
error5		db 'несуществующий путь',0
388
error6		db 'файл закончился',0
389
error7		db 'указатель вне памяти приложения',0
390
error8		db 'диск заполнен',0
391
error9		db 'файловая структура разрушена',0
392
error10 	db 'доступ запрещён',0
393
error11 	db 'Ошибка устройства',0
394
aUnknownError	db 'Неизвестная ошибка',0
395
rdError 	db 'Нельзя сохранять образ в самого себя',0
396
error		db 'Ошибка: ',0
1606 mario79 397
;---------------------------------------------------------------------
605 kaitz 398
else if lang eq et
4810 eAndrew 399
save		db 'Salvesta',0
400
cancel		db 'Cancel',0
401
select		db ' Valige',0
402
label1		db ' RAM-drive will be saved as: ',0
403
label2		db 'Saving in progress...',0
404
ok		db 'RAM-ketas salvestatud edukalt ',0
405
error1		db 'hard disk base and/or partition not defined',0
406
error2		db 'the file system does not support this function',0
407
error3		db 'tundmatu failis№steem',0
408
error4		db 'strange... Error 4',0
409
error5		db 'vigane teekond',0
410
error6		db 'end of file',0
411
error7		db 'pointer is outside of application memory',0
412
error8		db 'ketas tфis',0
413
error9		db 'FAT tabel vigane',0
414
error10 	db 'juurdepффs keelatud',0
415
error11 	db 'Seadme viga',0
416
aUnknownError	db 'Tundmatu viga',0
417
rdError 	db "You can't save image on itself",0
418
error		db 'Viga: ',0
1606 mario79 419
;---------------------------------------------------------------------
3634 fedesco 420
else if lang eq it
4810 eAndrew 421
save		db '  Salva',0
422
cancel		db 'Cancel',0
423
select		db 'Seleziona',0
424
label1		db ' RAM-drive will be saved as: ',0
425
label2		db 'Saving in progress...',0
426
ok		db 'Il RAM-drivet e stato salvato ',0
427
error1		db 'hard disk base and/or partition not defined',0
428
error2		db 'the file system does not support this function',0
429
error3		db 'filesystem sconosciuto',0
430
error4		db 'strange... Error 4',0
431
error5		db 'percorso non valido',0
432
error6		db 'end of file',0
433
error7		db 'pointer is outside of application memory',0
434
error8		db 'disco pieno',0
435
error9		db 'tabella FAT corrotta',0
436
error10 	db 'accesso negato',0
437
error11 	db 'Errore di device',0
438
aUnknownError	db 'Errore sconosciuto',0
439
rdError 	db "You can't save image on itself",0
440
error		db 'Errore: ',0
3634 fedesco 441
;---------------------------------------------------------------------
205 heavyiron 442
else
4810 eAndrew 443
save		db '  Save',0
444
cancel		db 'Cancel',0
445
select		db ' Select',0
446
label1		db ' RAM-drive will be saved as: ',0
447
label2		db 'Saving in progress...',0
448
ok		db 'RAM-drive was saved successfully ',0
449
error1		db 'hard disk base and/or partition not defined',0
450
error2		db 'the file system does not support this function',0
451
error3		db 'unknown file system',0
452
error4		db 'strange... Error 4',0
453
error5		db 'incorrect path',0
454
error6		db 'end of file',0
455
error7		db 'pointer is outside of application memory',0
456
error8		db 'disk is full',0
457
error9		db 'file structure is destroyed',0
458
error10 	db 'access denied',0
459
error11 	db 'Device error',0
460
aUnknownError	db 'Unknown error',0
461
rdError 	db "You can't save image on itself",0
462
error		db 'Error: ',0
205 heavyiron 463
end if
4213 heavyiron 464
;---------------------------------------------------------------------
4810 eAndrew 465
ntf_start	db '"RDSave\n', 0
466
ntf_end_o	db '" -tO', 0
467
ntf_end_e	db '" -tE', 0
468
;---------------------------------------------------------------------
4213 heavyiron 469
errors:
4810 eAndrew 470
	dd	ok
471
	dd	error1
472
	dd	error2
473
	dd	error3
474
	dd	error4
475
	dd	error5
476
	dd	error6
477
	dd	error7
478
	dd	error8
479
	dd	error9
480
	dd	error10
481
	dd	error11
4213 heavyiron 482
;---------------------------------------------------------------------
4270 heavyiron 483
 
4810 eAndrew 484
title	db appname,version,0
4270 heavyiron 485
 
4213 heavyiron 486
;Lib_DATA
1070 Lrz 487
;Всегда соблюдать последовательность в имени.
4810 eAndrew 488
system_dir_Boxlib	db '/sys/lib/box_lib.obj',0
489
system_dir_ProcLib	db '/sys/lib/proc_lib.obj',0
490
system_dir_libini	db '/sys/lib/libini.obj',0
4213 heavyiron 491
;---------------------------------------------------------------------
1070 Lrz 492
head_f_i:
4810 eAndrew 493
head_f_l	db 'System error',0
1606 mario79 494
 
4810 eAndrew 495
err_message_found_lib1	db 'box_lib.obj - Not found!',0
496
err_message_found_lib2	db 'proc_lib.obj - Not found!',0
497
err_message_found_lib3	db 'libini.obj - Not found!',0
1606 mario79 498
 
4810 eAndrew 499
err_message_import1	db 'box_lib.obj - Wrong import!',0
500
err_message_import2	db 'proc_lib.obj - Wrong import!',0
501
err_message_import3	db 'libini.obj - Wrong import!',0
1606 mario79 502
;---------------------------------------------------------------------
503
l_libs_start:
504
 
505
library01  l_libs system_dir_Boxlib+9, cur_dir_path, library_path, system_dir_Boxlib, \
506
err_message_found_lib1, head_f_l, Box_lib_import, err_message_import1, head_f_i
507
 
508
library02  l_libs system_dir_ProcLib+9, cur_dir_path, library_path, system_dir_ProcLib, \
509
err_message_found_lib2, head_f_l, ProcLib_import, err_message_import2, head_f_i
510
 
4213 heavyiron 511
library03  l_libs system_dir_libini+9, cur_dir_path, library_path, system_dir_libini, \
512
err_message_found_lib3, head_f_l, libini_import, err_message_import3, head_f_i
513
 
1606 mario79 514
end_l_libs:
515
;---------------------------------------------------------------------
516
OpenDialog_data:
4810 eAndrew 517
.type			dd 1	; Save
518
.procinfo		dd procinfo	;+4
519
.com_area_name		dd communication_area_name	;+8
520
.com_area		dd 0	;+12
521
.opendir_path		dd temp_dir_path	;+16
522
.dir_default_path	dd communication_area_default_path	;+20
523
.start_path		dd open_dialog_path	;+24
524
.draw_window		dd draw_window	;+28
525
.status 		dd 0	;+32
526
.openfile_pach		dd fname_buf	;+36
527
.filename_area		dd filename_area	;+40
528
.filter_area		dd Filter
1606 mario79 529
.x:
4810 eAndrew 530
.x_size 		dw 420 ;+48 ; Window X size
531
.x_start		dw 200 ;+50 ; Window X position
1606 mario79 532
.y:
4810 eAndrew 533
.y_size 		dw 320 ;+52 ; Window y size
534
.y_start		dw 120 ;+54 ; Window Y position
1606 mario79 535
 
536
communication_area_name:
4810 eAndrew 537
	db 'FFFFFFFF_open_dialog',0
1606 mario79 538
open_dialog_path:
1702 Lrz 539
if __nightbuild eq yes
540
    db '/sys/MANAGERS/opendial',0
541
else
542
    db '/sys/File Managers/opendial',0
543
end if
4213 heavyiron 544
communication_area_default_path:
4810 eAndrew 545
	db '/',0
1606 mario79 546
 
547
Filter:
4810 eAndrew 548
dd	Filter.end - Filter
1606 mario79 549
.1:
4810 eAndrew 550
db	'IMG',0
551
db	'IMA',0
1606 mario79 552
.end:
4810 eAndrew 553
db	0
1606 mario79 554
 
4810 eAndrew 555
start_temp_file_name:	db 'kolibri.img',0
1606 mario79 556
 
557
;---------------------------------------------------------------------
1070 Lrz 558
align 4
1606 mario79 559
ProcLib_import:
4810 eAndrew 560
OpenDialog_Init 	dd aOpenDialog_Init
561
OpenDialog_Start	dd aOpenDialog_Start
562
	dd	0
563
	dd	0
564
aOpenDialog_Init	db 'OpenDialog_init',0
565
aOpenDialog_Start	db 'OpenDialog_start',0
1606 mario79 566
;---------------------------------------------------------------------
4213 heavyiron 567
PathShow_data_1:
4810 eAndrew 568
.type			dd 0	;+0
569
.start_y		dw 36	;+4
570
.start_x		dw 20	;+6
571
.font_size_x		dw 6	;+8     ; 6 - for font 0, 8 - for font 1
572
.area_size_x		dw 270	;+10
573
.font_number		dd 0	;+12    ; 0 - monospace, 1 - variable
574
.background_flag	dd 0	;+16
575
.font_color		dd 0	;+20
576
.background_color	dd 0	;+24
577
.text_pointer		dd fname_buf	;+28
578
.work_area_pointer	dd text_work_area	;+32
579
.temp_text_length	dd 0	;+36
4213 heavyiron 580
;---------------------------------------------------------------------
1606 mario79 581
align 4
3634 fedesco 582
Box_lib_import:
4213 heavyiron 583
;edit_box_draw           dd aEdit_box_draw
584
;edit_box_key            dd aEdit_box_key
585
;edit_box_mouse          dd aEdit_box_mouse
586
;version_ed              dd aVersion_ed
485 heavyiron 587
 
4810 eAndrew 588
PathShow_prepare	dd sz_PathShow_prepare
589
PathShow_draw		dd sz_PathShow_draw
590
Frame_draw		dd sz_Frame_draw
591
			dd 0
592
			dd 0
1070 Lrz 593
 
4213 heavyiron 594
;aEdit_box_draw          db 'edit_box',0
595
;aEdit_box_key           db 'edit_box_key',0
596
;aEdit_box_mouse         db 'edit_box_mouse',0
597
;aVersion_ed             db 'version_ed',0
1070 Lrz 598
 
4810 eAndrew 599
sz_PathShow_prepare	db 'PathShow_prepare',0
600
sz_PathShow_draw	db 'PathShow_draw',0
1070 Lrz 601
 
4810 eAndrew 602
sz_Frame_draw		db 'frame_draw',0
4213 heavyiron 603
;szVersion_frame        db 'version_frame',0
604
;---------------------------------------------------------------------
605
frame_data:
4810 eAndrew 606
.type			dd 0 ;+0
4213 heavyiron 607
.x:
4810 eAndrew 608
.x_size 		dw 374 ;+4
609
.x_start		dw 8 ;+6
4213 heavyiron 610
.y:
4810 eAndrew 611
.y_size 		dw 45 ;+8
612
.y_start		dw 17 ;+10
613
.ext_fr_col		dd 0x888888 ;+12
614
.int_fr_col		dd 0xffffff ;+16
615
.draw_text_flag 	dd 1 ;+20
616
.text_pointer		dd label1 ;+24
617
.text_position		dd 0 ;+28
618
.font_number		dd 0 ;+32
619
.font_size_y		dd 9 ;+36
620
.font_color		dd 0x0 ;+40
621
.font_backgr_color	dd 0xdddddd ;+44
4213 heavyiron 622
;---------------------------------------------------------------------
623
align 4
624
libini_import:
625
init_lib     dd a_init
626
ini_get_str  dd aini_get_str
627
ini_get_int  dd aini_get_int
628
ini_set_str  dd aini_set_str
629
ini_set_int  dd aini_set_int
4810 eAndrew 630
	     dd 0
631
	     dd 0
632
a_init	     db 'lib_init',0
4213 heavyiron 633
aini_get_str db 'ini_get_str',0
634
aini_get_int db 'ini_get_int',0
635
aini_set_str db 'ini_set_str',0
636
aini_set_int db 'ini_set_int',0
637
;---------------------------------------------------------------------
1070 Lrz 638
 
4213 heavyiron 639
apath db 'path',0
640
asettings db 'settings',0
641
aautoclose db 'autoclose',0
4810 eAndrew 642
path	db '/hd2/1/kolibri.img',0
4213 heavyiron 643
ini_file db  '/sys/settings/rdsave.ini',0
644
;ini_file db  '/sys/rdsave.ini',0
645
;---------------------------------------------------------------------
646
is_notify:
4810 eAndrew 647
    dd	  7, 0, ok, 0, 0
648
    db	  "/rd/1/@notify", 0
649
 
4213 heavyiron 650
read_folder:
4810 eAndrew 651
.subfunction	dd 1
652
.start		dd 0
653
.flags		dd 0
654
.size		dd 1
655
.return 	dd folder_data
656
		db 0
657
.name:		dd check_dir
1070 Lrz 658
 
4213 heavyiron 659
param dd 0
660
hidden dd 0
661
;---------------------------------------------------------------------
662
IM_END:
663
;---------------------------------------------------------------------
664
align 4
665
PARAMS:
666
       rb 256
667
ini_path:
4810 eAndrew 668
	rb 4096
4213 heavyiron 669
check_dir:
4810 eAndrew 670
	rb 4096
1606 mario79 671
 
4213 heavyiron 672
sc     system_colors
1606 mario79 673
 
4213 heavyiron 674
autoclose rd 1
1606 mario79 675
 
4810 eAndrew 676
color	rd 1
4319 heavyiron 677
 
678
msg:
4810 eAndrew 679
	rb 1024
4290 heavyiron 680
 
4810 eAndrew 681
ntf_msg:
682
	rb 1024
683
 
4213 heavyiron 684
folder_data:
4810 eAndrew 685
	rb 304*32+32 ; 9 Kb
1606 mario79 686
;---------------------------------------------------------------------
687
cur_dir_path:
4810 eAndrew 688
	rb 4096
1606 mario79 689
;---------------------------------------------------------------------
690
library_path:
4810 eAndrew 691
	rb 4096
1606 mario79 692
;---------------------------------------------------------------------
4213 heavyiron 693
temp_dir_path:
4810 eAndrew 694
	rb 4096
1606 mario79 695
;---------------------------------------------------------------------
696
fname_buf:
4810 eAndrew 697
	rb 4096
1606 mario79 698
;---------------------------------------------------------------------
699
procinfo:
4810 eAndrew 700
	rb 1024
1606 mario79 701
;---------------------------------------------------------------------
702
filename_area:
4810 eAndrew 703
	rb 256
1606 mario79 704
;---------------------------------------------------------------------
705
text_work_area:
4810 eAndrew 706
	rb 1024
1606 mario79 707
;---------------------------------------------------------------------
4213 heavyiron 708
align 32
4810 eAndrew 709
	rb 4096
1606 mario79 710
stacktop:
4319 heavyiron 711
I_END: