Subversion Repositories Kolibri OS

Rev

Rev 3840 | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3840 Rev 5951
1
;-------------------------------------------------------------
1
;-------------------------------------------------------------
2
create_directory:
2
create_directory:
3
    call clear_file_buffer
3
    call clear_file_buffer
4
    mov edi, edit1
4
    mov edi, edit1
5
    mov ed_size, dword 0 
5
    mov ed_size, dword 0 
6
    mov ed_pos, dword 0
6
    mov ed_pos, dword 0
7
default_box
7
default_box
8
    mov [create_dir_name],byte 0
8
    mov [create_dir_name],byte 0
9
    mcall 66, 1, 0
9
    mcall 66, 1, 0
10
    jmp  .red
10
    jmp  .red
11
.red_1:
11
.red_1:
12
    call  draw_window
12
    call  draw_window
13
.red:
13
.red:
14
    call  draw_create_dir
14
    call  draw_create_dir
15
.still:
15
.still:
16
    mcall 10
16
    mcall 10
17
    cmp  eax,1
17
    cmp  eax,1
18
    je	 .red_1
18
    je	 .red_1
19
    cmp  eax,2
19
    cmp  eax,2
20
    je	 .key_create
20
    je	 .key_create
21
    cmp  eax,3
21
    cmp  eax,3
22
    je	 .button_create
22
    je	 .button_create
23
	mouse_edit_box create_editboxes
23
	mouse_edit_box create_editboxes
24
	jmp .still
24
	jmp .still
25
;-------------------------------------------------------------
25
;-------------------------------------------------------------
26
.button_create:
26
.button_create:
27
    mov eax,17
27
    mov eax,17
28
	mcall
28
	mcall
29
    test ah,ah
29
    test ah,ah
30
    jz	.still
30
    jz	.still
31
    cmp  ah,160
31
    cmp  ah,160
32
    je	.exit_with_create
32
    je	.exit_with_create
33
    cmp  ah,161
33
    cmp  ah,161
34
    je	.exit_without_create
34
    je	.exit_without_create
35
    cmp   ah,1
35
    cmp   ah,1
36
    jne   .still
36
    jne   .still
37
    mcall -1
37
    mcall -1
38
.exit_with_create:
38
.exit_with_create:
39
    call  create_directory_1
39
    call  create_directory_1
40
    cmp   [select_panel_counter],0
40
    cmp   [select_panel_counter],0
41
    jne   @f
41
    jne   @f
42
    call proc_read_left_folder
42
    call proc_read_left_folder
43
    jmp  .exit_without_create
43
    jmp  .exit_without_create
44
@@:
44
@@:
45
    call proc_read_right_folder
45
    call proc_read_right_folder
46
.exit_without_create:
46
.exit_without_create:
47
    mcall 66, 1, 1
47
    mcall 66, 1, 1
48
    jmp  red
48
    jmp  red
49
;-------------------------------------------------------------
49
;-------------------------------------------------------------
50
.key_create:
50
.key_create:
51
    mov eax,2
51
    mov eax,2
52
	mcall
52
	mcall
53
    cmp ah,13
53
    cmp ah,13
54
    je	.exit_with_create
54
    je	.exit_with_create
55
    cmp ah,27
55
    cmp ah,27
56
    je	.exit_without_create
56
    je	.exit_without_create
57
    key_edit_box create_editboxes
57
    key_edit_box create_editboxes
58
    jmp .still
58
    jmp .still
59
;-------------------------------------------------------------
59
;-------------------------------------------------------------
60
draw_create_dir:
60
draw_create_dir:
61
    mov  ecx,[window_high]
61
    mov  ecx,[window_high]
62
    mov  ebx,[window_width]
62
    mov  ebx,[window_width]
63
    shr  ecx,1
63
    shr  ecx,1
64
    shr  ebx,1
64
    shr  ebx,1
65
    sub  ecx,30
65
    sub  ecx,30
66
    sub  ebx,87
66
    sub  ebx,87
67
    shl  ecx,16
67
    shl  ecx,16
68
    shl  ebx,16
68
    shl  ebx,16
69
    mov   cx,60
69
    mov   cx,60
70
    mov   bx,174
70
    mov   bx,174
71
    mcall 13, , ,0x6060ff ;0xff
71
    mcall 13, , ,0x6060ff ;0xff
72
    pusha
72
    pusha
73
    shr ebx,16
73
    shr ebx,16
74
    add  ebx,10
74
    add  ebx,10
75
    shr ecx,16
75
    shr ecx,16
76
    add ecx,17
76
    add ecx,17
77
    mov eax,create_editboxes
77
    mov eax,create_editboxes
78
    mov dword [eax+4],ebx
78
    mov dword [eax+4],ebx
79
    mov dword [eax+8],ecx
79
    mov dword [eax+8],ecx
80
	draw_edit_box create_editboxes
80
	draw_edit_box create_editboxes
81
	popa
81
	popa
82
	pusha
82
	pusha
83
	add   ebx,70 shl 16
83
	add   ebx,70 shl 16
84
	add   ecx,37 shl 16
84
	add   ecx,37 shl 16
85
    mov   cx,15
85
    mov   cx,15
86
    mov   bx,40
86
    mov   bx,40
87
    mov   esi,0xffffff
87
    mov   esi,0xffffff
88
    mov   edx,0x40000000+160
88
    mov   edx,0x40000000+160
89
    mov   eax,8
89
    mov   eax,8
90
	mcall
90
	mcall
91
    add   ebx,50 shl 16
91
    add   ebx,50 shl 16
92
    inc   edx
92
    inc   edx
93
	mcall
93
	mcall
94
    popa
94
    popa
95
 
95
 
96
    push  ebx ecx
96
    push  ebx ecx
97
    add   ebx,70 shl 16
97
    add   ebx,70 shl 16
98
    add   ecx,37 shl 16
98
    add   ecx,37 shl 16
99
    mov   bx,40
99
    mov   bx,40
100
    mov   cx,15
100
    mov   cx,15
101
    mov   edx,0
101
    mov   edx,0
102
    push  ebx ecx
102
    push  ebx ecx
103
    sub   ecx,1 shl 16
103
    sub   ecx,1 shl 16
104
    sub   ebx,1 shl 16
104
    sub   ebx,1 shl 16
105
    mov   bx,42
105
    mov   bx,42
106
    mov   cx,17
106
    mov   cx,17
107
	mcall
107
	mcall
108
    add   ebx,50 shl 16
108
    add   ebx,50 shl 16
109
	mcall
109
	mcall
110
    pop   ecx ebx
110
    pop   ecx ebx
111
    mov   edx,0xff7700
111
    mov   edx,0xff7700
112
	mcall
112
	mcall
113
    mov   edx,0xaa00
113
    mov   edx,0xaa00
114
    add   ebx,50 shl 16
114
    add   ebx,50 shl 16
115
	mcall
115
	mcall
116
    pop   ecx ebx
116
    pop   ecx ebx
117
 
117
 
118
    shr   ecx,16
118
    shr   ecx,16
119
    mov   bx,cx
119
    mov   bx,cx
120
    add   ebx,30 shl 16+5
120
    add   ebx,30 shl 16+1
121
    mcall 4, ,0x90ffffff,create_dir  ;[confirmation_type]
121
    mcall 4, ,0x90ffffff,create_dir  ;[confirmation_type]
122
    add   ebx,48 shl 16+36
122
    add   ebx,48 shl 16+36
123
    mov   edx,type_yes
123
    mov   edx,type_yes
124
	mcall
124
	mcall
125
    add   ebx,56 shl 16
125
    add   ebx,56 shl 16
126
    mov   edx,type_no
126
    mov   edx,type_no
127
	mcall
127
	mcall
128
	ret
128
	ret
129
;-------------------------------------------------------------
129
;-------------------------------------------------------------
130
create_directory_1:
130
create_directory_1:
131
    mov   edx,create_dir_name
131
    mov   edx,create_dir_name
132
    cmp   [select_panel_counter],0
132
    cmp   [select_panel_counter],0
133
    jne   @f
133
    jne   @f
134
    mov   esi,read_folder_name
134
    mov   esi,read_folder_name
135
    jmp   .start
135
    jmp   .start
136
@@:
136
@@:
137
    mov   esi,read_folder_1_name
137
    mov   esi,read_folder_1_name
138
.start:
138
.start:
139
    mov   edi,file_name
139
    mov   edi,file_name
140
    xor   eax,eax
140
    xor   eax,eax
141
@@:
141
@@:
142
    cld
142
    cld
143
    lodsb
143
    lodsb
144
    stosb
144
    stosb
145
    test  eax,eax
145
    test  eax,eax
146
    jnz   @b
146
    jnz   @b
147
    mov   [edi-1], byte '/'
147
    mov   [edi-1], byte '/'
148
    mov   esi,edx
148
    mov   esi,edx
149
    mov   [error_pointer], edx	;start_file_data.name
149
    mov   [error_pointer], edx	;start_file_data.name
150
@@:
150
@@:
151
    cld
151
    cld
152
    lodsb
152
    lodsb
153
    stosb
153
    stosb
154
    test  eax,eax
154
    test  eax,eax
155
    jnz   @b
155
    jnz   @b
156
    call  create_directory_f70
156
    call  create_directory_f70
157
    cmp   eax,0
157
    cmp   eax,0
158
    je	  @f
158
    je	  @f
159
;    mov  ebx,0
159
;    mov  ebx,0
160
;    sub  ebx,eax
160
;    sub  ebx,eax
161
;    mov  eax,ebx
161
;    mov  eax,ebx
162
    call start_error_window_thread
162
    call start_error_window_thread
163
@@:
163
@@:
164
;    call create_directory_f70
164
;    call create_directory_f70
165
    ret
165
    ret
166
;-------------------------------------------------------------
166
;-------------------------------------------------------------
167
clear_file_buffer:
167
clear_file_buffer:
168
    xor  eax,eax
168
    xor  eax,eax
169
    mov edi,create_dir_name
169
    mov edi,create_dir_name
170
    mov ecx,256/4
170
    mov ecx,256/4
171
    cld
171
    cld
172
    rep stosd
172
    rep stosd
173
    ret
173
    ret
174
;-------------------------------------------------------------
174
;-------------------------------------------------------------