Subversion Repositories Kolibri OS

Rev

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

Rev 5512 Rev 5513
Line 17... Line 17...
17
 
17
 
18
void Copy(dword pcth, char cut)
18
void Copy(dword pcth, char cut)
19
{
19
{
20
        dword selected_offset2;
20
    dword selected_offset2;
21
        byte copy_t[4096];
-
 
22
        int cont = 0;
21
    byte copy_t[4096];
23
        dword buff_data;
22
    dword buff_data;
Line 24... Line -...
24
        int ind = 0;
-
 
25
        
-
 
26
        for (i=0; i
-
 
27
        {
-
 
28
                selected_offset2 = file_mas[i]*304 + buf+32 + 7;
-
 
29
                if (ESBYTE[selected_offset2]) cont++;
23
    int ind = 0;
30
        }
24
      
31
		if (!cont)
25
    if (selected_count)
32
		{
26
	{
33
            buff_data = malloc(4106);
27
        buff_data = malloc(selected_count*4096+10);
34
            ESDWORD[buff_data] = 4106;
-
 
35
            ESDWORD[buff_data+4] = 3;
-
 
36
            ESINT[buff_data+8] = 1;
-
 
37
            strlcpy(buff_data+10, #file_path, 4096);;
-
 
38
			clipboard.SetSlotData(4106, buff_data);
-
 
39
	    }
-
 
40
		else
-
 
41
		{
-
 
42
            buff_data = malloc(cont*4096+10);
-
 
43
            ESDWORD[buff_data] = cont*4096+10;
28
        ESDWORD[buff_data] = selected_count*4096+10;
44
            ESDWORD[buff_data+4] = 3;
29
        ESDWORD[buff_data+4] = 3;
45
            ESINT[buff_data+8] = cont;
30
        ESINT[buff_data+8] = selected_count;
46
            for (i=0; i
31
        for (i=0; i
47
            {
32
        {
48
                    selected_offset2 = file_mas[i]*304 + buf+32 + 7;
33
            selected_offset2 = file_mas[i]*304 + buf+32 + 7;
49
                    if (ESBYTE[selected_offset2]) {
34
            if (ESBYTE[selected_offset2]) {
50
                            strcpy(#copy_t, #path);
-
 
51
                            strcat(#copy_t, file_mas[i]*304+buf+72);
35
                strcpy(#copy_t, #path);
52
                            
36
                strcat(#copy_t, file_mas[i]*304+buf+72);                         
53
                            strlcpy(ind*4096+buff_data+10, #copy_t, 4096);;
37
                strlcpy(ind*4096+buff_data+10, #copy_t, 4096);;
54
                            ind++;
38
                ind++;
55
                    }
39
            }
-
 
40
        }
-
 
41
		clipboard.SetSlotData(selected_count*4096+10, buff_data);
-
 
42
	}
-
 
43
	else
-
 
44
	{
-
 
45
		buff_data = malloc(4106);
-
 
46
        ESDWORD[buff_data] = 4106;
-
 
47
        ESDWORD[buff_data+4] = 3;
-
 
48
        ESINT[buff_data+8] = 1;
56
            }
49
        strlcpy(buff_data+10, #file_path, 4096);;
57
			clipboard.SetSlotData(cont*4096+10, buff_data);
50
		clipboard.SetSlotData(4106, buff_data);
58
		}
51
	}
59
	cut_active = cut;
52
	cut_active = cut;