Rev 6791 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 6791 | Rev 7038 | ||
---|---|---|---|
Line 3... | Line 3... | ||
3 | byte cut_active=0; |
3 | byte cut_active=0; |
4 | 4 | ||
Line 5... | Line 5... | ||
5 | enum {NOCUT, CUT}; |
5 | enum {NOCUT, CUT}; |
Line 6... | Line -... | ||
6 | - | ||
7 | Clipboard clipboard; |
- | |
8 | 6 | ||
9 | void setElementSelectedFlag(dword n, int state) { |
7 | void setElementSelectedFlag(dword n, int state) { |
10 | dword selected_offset = file_mas[n]*304 + buf+32 + 7; |
8 | dword selected_offset = file_mas[n]*304 + buf+32 + 7; |
11 | ESBYTE[selected_offset] = state; |
9 | ESBYTE[selected_offset] = state; |
12 | if (n==0) && (strncmp(file_mas[n]*304+buf+72,"..",2)==0) ESBYTE[selected_offset] = false; //do not selec ".." directory |
10 | if (n==0) && (strncmp(file_mas[n]*304+buf+72,"..",2)==0) ESBYTE[selected_offset] = false; //do not selec ".." directory |
Line 51... | Line 49... | ||
51 | copy_buf_offset += strlen(copy_buf_offset) + 1; |
49 | copy_buf_offset += strlen(copy_buf_offset) + 1; |
52 | } |
50 | } |
53 | } |
51 | } |
54 | if (selected_count==1) setElementSelectedFlag(files.cur_y, false); |
52 | if (selected_count==1) setElementSelectedFlag(files.cur_y, false); |
55 | clipboard.SetSlotData(size_buf, buff_data); |
53 | Clipboard__SetSlotData(size_buf, buff_data); |
56 | cut_active = cut; |
54 | cut_active = cut; |
57 | free(buff_data); |
55 | free(buff_data); |
58 | } |
56 | } |
59 | 57 | ||
Line 60... | Line 58... | ||
60 | void Paste() { |
58 | void Paste() { |
Line 71... | Line 69... | ||
71 | dword path_offset; |
69 | dword path_offset; |
72 | file_count_copy = 0; |
70 | file_count_copy = 0; |
73 | copy_bar.value = 0; |
71 | copy_bar.value = 0; |
74 | 72 | ||
Line 75... | Line 73... | ||
75 | buf = clipboard.GetSlotData(clipboard.GetSlotCount()-1); |
73 | buf = Clipboard__GetSlotData(Clipboard__GetSlotCount()-1); |
76 | if (DSDWORD[buf+4] != 3) return; |
74 | if (DSDWORD[buf+4] != 3) return; |
77 | paste_elements_count = ESINT[buf+8]; |
75 | paste_elements_count = ESINT[buf+8]; |
78 | path_offset = buf + 10; |
76 | path_offset = buf + 10; |
79 | //calculate copy files count for progress bar |
77 | //calculate copy files count for progress bar |
80 | for (j = 0; j < paste_elements_count; j++) { |
78 | for (j = 0; j < paste_elements_count; j++) { |