Subversion Repositories Kolibri OS

Rev

Rev 7878 | Rev 8947 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 7878 Rev 8861
1
#define WIN_DIALOG_W 380
1
#define WIN_DIALOG_W 380
2
#define WIN_DIALOG_H 100
2
#define WIN_DIALOG_H 100
3
#define PR_LEFT 14
3
#define PR_LEFT 14
4
#define PR_TOP  32
4
#define PR_TOP  32
5
#define PR_W  WIN_DIALOG_W-PR_LEFT-PR_LEFT
5
#define PR_W  WIN_DIALOG_W-PR_LEFT-PR_LEFT
6
#define PR_H  18
6
#define PR_H  18
7
 
7
 
8
proc_info Dialog_Form;
8
proc_info Dialog_Form;
9
progress_bar copy_bar = {0,PR_LEFT,PR_TOP,PR_W,PR_H,0,0,1,0xFFFFFF,0x00FF00,0x555555};
9
progress_bar copy_bar = {0,PR_LEFT,PR_TOP,PR_W,PR_H,0,0,1,0xFFFFFF,0x00FF00,0x555555};
10
 
10
 
11
enum {
11
enum {
12
	REDRAW_FLAG,
12
	REDRAW_FLAG,
13
	COPY_FLAG, 
13
	COPY_FLAG, 
14
	MOVE_FLAG, 
14
	MOVE_FLAG, 
15
	DELETE_FLAG, 
15
	DELETE_FLAG, 
16
	OPERATION_END
16
	OPERATION_END
17
};
17
};
18
 
18
 
19
void DisplayOperationForm(int operation_flag)
19
void DisplayOperationForm(int operation_flag)
20
{
20
{
21
	dword title;
21
	dword title;
22
	if (operation_flag==COPY_FLAG) {
22
	if (operation_flag==COPY_FLAG) {
23
		title = T_COPY_WINDOW_TITLE;
23
		title = T_COPY_WINDOW_TITLE;
24
		copy_bar.progress_color = 0x00FF00;
24
		copy_bar.progress_color = 0x00FF00;
25
		copy_bar.value = 0; 
25
		copy_bar.value = 0; 
26
		copy_bar.max = 0;
26
		copy_bar.max = 0;
27
	}
27
	}
28
	else if (operation_flag==MOVE_FLAG) {
28
	else if (operation_flag==MOVE_FLAG) {
29
		title = T_MOVE_WINDOW_TITLE;
29
		title = T_MOVE_WINDOW_TITLE;
30
		copy_bar.progress_color = 0x00FF00;
30
		copy_bar.progress_color = 0x00FF00;
31
		copy_bar.value = 0; 
31
		copy_bar.value = 0; 
32
		copy_bar.max = 0;
32
		copy_bar.max = 0;
33
	}
33
	}
34
	else if (operation_flag==DELETE_FLAG) {
34
	else if (operation_flag==DELETE_FLAG) {
35
		title = T_DELETE_WINDOW_TITLE;
35
		title = T_DELETE_WINDOW_TITLE;
36
		copy_bar.progress_color = 0xF17A65;
36
		copy_bar.progress_color = 0xF17A65;
37
		copy_bar.value = 0; 
37
		copy_bar.value = 0; 
38
		copy_bar.max = 0;
38
		copy_bar.max = 0;
39
	}
39
	}
40
	copy_bar.frame_color = sc.work_graph;
40
	copy_bar.frame_color = sc.work_graph;
41
	switch(CheckEvent())
41
	switch(CheckEvent())
42
	{
42
	{
43
		 case evButton:
43
		 case evButton:
44
			notify(T_CANCEL_PASTE);
44
			DialogExit();
45
			DialogExit();
-
 
46
			break;
45
			break;
47
			
46
			
48
		case evReDraw:
47
		case evReDraw:
49
			DefineAndDrawWindow(Form.left+Form.width-200, Form.top+90, WIN_DIALOG_W+9,
48
			DefineAndDrawWindow(Form.left+Form.width-200, Form.top+90, WIN_DIALOG_W+9,
50
				skin_height+WIN_DIALOG_H, 0x34, sc.work, title, 0);
49
				skin_height+WIN_DIALOG_H, 0x34, sc.work, title, 0);
51
			GetProcessInfo(#Dialog_Form, SelfInfo);
50
			GetProcessInfo(#Dialog_Form, SelfInfo);
52
			DrawCaptButton(WIN_DIALOG_W-PR_LEFT-101, PR_TOP+PR_H+6, 100,26, 2, 
51
			DrawCaptButton(WIN_DIALOG_W-PR_LEFT-101, PR_TOP+PR_H+6, 100,26, 2, 
53
				sc.button, sc.button_text, T_ABORT_WINDOW_BUTTON);
52
				sc.button, sc.button_text, T_ABORT_WINDOW_BUTTON);
54
 
53
 
55
			DrawRectangle3D(PR_LEFT-1, PR_TOP-1, PR_W+1, PR_H+1, sc.work_dark, sc.work_light);
54
			DrawRectangle3D(PR_LEFT-1, PR_TOP-1, PR_W+1, PR_H+1, sc.work_dark, sc.work_light);
56
	}
55
	}
57
}
56
}
58
 
57
 
59
void DialogExit() {
58
void DialogExit() {
60
	action_buf = OPERATION_END;
59
	action_buf = OPERATION_END;
61
	ActivateWindow(GetProcessSlot(Form.ID));
60
	ActivateWindow(GetProcessSlot(Form.ID));
62
	ExitProcess();
61
	ExitProcess();
63
}
62
}
64
 
63
 
65
void Operation_Draw_Progress(dword filename) {
64
void Operation_Draw_Progress(dword filename) {
66
	if (Dialog_Form.cwidth==0)
65
	if (Dialog_Form.cwidth==0)
67
	{
66
	{
68
		copy_bar.value++;
67
		copy_bar.value++;
69
		return;
68
		return;
70
	}
69
	}
71
	DisplayOperationForm(REDRAW_FLAG);
70
	DisplayOperationForm(REDRAW_FLAG);
72
	DrawBar(PR_LEFT, PR_TOP-20, WIN_DIALOG_W-PR_LEFT, 15, sc.work);
71
	DrawBar(PR_LEFT, PR_TOP-20, WIN_DIALOG_W-PR_LEFT, 15, sc.work);
73
	WriteText(PR_LEFT, PR_TOP-20, 0x90, sc.work_text, filename);
72
	WriteText(PR_LEFT, PR_TOP-20, 0x90, sc.work_text, filename);
74
 
73
 
75
	progressbar_draw stdcall (#copy_bar);
74
	progressbar_draw stdcall (#copy_bar);
76
	progressbar_progress stdcall (#copy_bar);
75
	progressbar_progress stdcall (#copy_bar);
77
 
76
 
78
	WriteTextWithBg(PR_LEFT, PR_TOP+PR_H+5, 0xD0, sc.work_text, 
77
	WriteTextWithBg(PR_LEFT, PR_TOP+PR_H+5, 0xD0, sc.work_text, 
79
		sprintf(#param, "%i/%i", copy_bar.value, copy_bar.max), sc.work);
78
		sprintf(#param, "%i/%i", copy_bar.value, copy_bar.max), sc.work);
80
}
79
}