Subversion Repositories Kolibri OS

Rev

Rev 1951 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
1951 mario79 1
;---------------------------------------------------------------------
2
k_sort_directory:
3
	test	dword [status],16
4
	jnz	still
5
	or	dword [status],16
6
 
2000 mario79 7
	call	get_memory_for_thread_stack
1951 mario79 8
	mov	[thread_stack_5],eax
2000 mario79 9
	mcall	51,1,thread5	; thread_stack_5
1951 mario79 10
	jmp	still
11
;---------------------------------------------------------------------
12
thread5:				; start of bgrd thread
2000 mario79 13
	mcall	9,procinfo_threads,-1
1951 mario79 14
	mov	eax,[ebx+30]
15
	mov	[PID5],eax
2000 mario79 16
	mcall	40,0x27
1951 mario79 17
	mov	eax,[sort_type]
18
	cmp	[sort_type],dword 0
19
	jne	@f
2000 mario79 20
 
1951 mario79 21
	mov	[option_group2],sort0
22
	jmp	.thread5
2000 mario79 23
;---------------------------------------------------------------------
1951 mario79 24
@@:
25
	cmp	[sort_type],dword 2
26
	jne	@f
2000 mario79 27
 
1951 mario79 28
	mov	[option_group2],sort2
29
	jmp	.thread5
2000 mario79 30
;---------------------------------------------------------------------
1951 mario79 31
@@:
32
	cmp	[sort_type],dword 4
33
	jne	@f
2000 mario79 34
 
1951 mario79 35
	mov	[option_group2],sort4
36
	jmp	.thread5
2000 mario79 37
;---------------------------------------------------------------------
1951 mario79 38
@@:
39
	mov	[option_group2],sort6
2000 mario79 40
;-----------------------------------
1951 mario79 41
.thread5:
42
	mov	[sort_type_old],eax
43
	mov	eax,[option_group2]
44
	mov	[option_group2_old],eax
2000 mario79 45
;-----------------------------------
1951 mario79 46
.red:
47
	call	.draw_window
2000 mario79 48
;-----------------------------------
1951 mario79 49
.still:
2000 mario79 50
	mcall	10	; wait here for event
1951 mario79 51
 
2000 mario79 52
	cmp	eax,1	; redraw request ?
53
	je	.red
1951 mario79 54
 
2000 mario79 55
	cmp	eax,2	; key in buffer ?
1951 mario79 56
	je	.key
2000 mario79 57
 
58
	cmp	eax,3	; button in buffer ?
1951 mario79 59
	je	.button
2000 mario79 60
 
1951 mario79 61
	cmp	eax,6	; mouse in buffer ?
62
	je	.mouse
2000 mario79 63
 
1951 mario79 64
	jmp	.still
2000 mario79 65
;---------------------------------------------------------------------
1951 mario79 66
.mouse:
67
	push	dword option_boxes_sort
68
	call	[option_box_mouse]
69
 
70
	cmp	[option_group2],sort0
71
	jne	@f
2000 mario79 72
 
1951 mario79 73
	mov	[sort_type],dword 0
74
	jmp	.still
2000 mario79 75
;---------------------------------------------------------------------
1951 mario79 76
@@:
77
	cmp	[option_group2],sort2
78
	jne	@f
2000 mario79 79
 
1951 mario79 80
	mov	 [sort_type],dword 2
81
	jmp	.still
2000 mario79 82
;---------------------------------------------------------------------
1951 mario79 83
@@:
84
	cmp	[option_group2],sort4
85
	jne	@f
2000 mario79 86
 
1951 mario79 87
	mov	[sort_type],dword 4
88
	jmp	.still
2000 mario79 89
;---------------------------------------------------------------------
1951 mario79 90
@@:
91
	cmp	[option_group2],sort6
92
	jne	@f
2000 mario79 93
 
1951 mario79 94
	mov	[sort_type],dword 6
95
	jmp	.still
2000 mario79 96
;---------------------------------------------------------------------
1951 mario79 97
.key:
98
	mcall
99
	cmp	ah,27
100
	je	.close
2000 mario79 101
 
1951 mario79 102
	cmp	ah,13
103
	je	.kok
2000 mario79 104
 
1951 mario79 105
	cmp	ah,177 ;down
106
	je	.fdn
2000 mario79 107
 
1951 mario79 108
	cmp	ah,178 ;up
109
	jne	.still
2000 mario79 110
 
1951 mario79 111
	cmp	[sort_type],0
112
	je	.still
113
 
114
	sub	[sort_type],2
115
	jmp	.flagcont
2000 mario79 116
;---------------------------------------------------------------------
1951 mario79 117
.fdn:
118
	cmp	[sort_type],6
119
	je	.still
2000 mario79 120
 
1951 mario79 121
	add	[sort_type],2
122
 
123
.flagcont:
124
	cmp	[sort_type],dword 0
125
	jne	@f
2000 mario79 126
 
1951 mario79 127
	mov	[option_group2],sort0
128
	call	.draw_opt_boxes
129
	jmp	.still
2000 mario79 130
;---------------------------------------------------------------------
1951 mario79 131
@@:
132
	cmp	[sort_type],dword 2
133
	jne	@f
2000 mario79 134
 
1951 mario79 135
	mov	[option_group2],sort2
136
	call	.draw_opt_boxes
137
	jmp	.still
2000 mario79 138
;---------------------------------------------------------------------
1951 mario79 139
@@:
140
	cmp	[sort_type],dword 4
141
	jne	@f
2000 mario79 142
 
1951 mario79 143
	mov	[option_group2],sort4
144
	call	.draw_opt_boxes
145
	jmp	.still
2000 mario79 146
;---------------------------------------------------------------------
1951 mario79 147
@@:
148
	cmp	[sort_type],dword 6
149
	jne	.still	;@f
2000 mario79 150
 
1951 mario79 151
	mov	[option_group2],sort6
152
	call	.draw_opt_boxes
153
	jmp	.still
2000 mario79 154
;---------------------------------------------------------------------
1951 mario79 155
.button:			 ; button
2000 mario79 156
	mcall	17 		; get id
1951 mario79 157
	cmp	ah,1			; button id=1 ?
158
	jne	.noclose
2000 mario79 159
;-------------------------------
1951 mario79 160
.close:
161
	mov	eax,[sort_type_old]
162
	mov	[sort_type],eax
163
	mov	eax,[option_group2_old]
164
	mov	[option_group2],eax
165
.close_1:
166
	xor	dword [status],16
167
	xor	eax,eax
168
	mov	[PID5],eax
169
	mcall	68,13,[thread_stack_5]
2000 mario79 170
	mcall	-1 		; close this program
171
;---------------------------------------------------------------------
1951 mario79 172
.noclose:
173
.kok:
174
	mov	eax,[load_directory_pointer]
175
	cmp	[eax+4],dword 0
176
	je	.close_1
2000 mario79 177
 
1951 mario79 178
	call	load_directory.copy_dir_path
179
	call	load_directory.sort
180
	mov	[sort_directory_flag],byte 1
181
	jmp	.close_1
2000 mario79 182
;---------------------------------------------------------------------
1951 mario79 183
;	 *********************************************
2000 mario79 184
;	 ******** WINDOW DEFINITIONS AND DRAW ********
1951 mario79 185
;	 *********************************************
186
.draw_window:
187
	mcall	12,1
188
	xor	eax,eax			 ; function 0 : define and draw window
2000 mario79 189
	xor	esi,esi
190
	mcall	,<100,300>,<100,110>,0x13909090,,labelt5
191
	mcall	8,<120,40>,<50,20>,4,0xdddddd
192
	mcall	4,<46,28>,0xffffff,sorttext,sorttext.size
193
	xor	ecx,ecx
194
	mcall	,<135,57>,,ok_btn,ok_btn.size
1951 mario79 195
	call	.draw_opt_boxes
196
;	mcall	47,0x80000,[PID5],<200, 5>,0xffffff
197
	mcall	12,2
198
	ret
199
;---------------------------------------------------------------------
200
.draw_opt_boxes:
201
	push	dword option_boxes_sort
202
	call	[option_box_draw]
2000 mario79 203
	ret
204
;---------------------------------------------------------------------