Rev 5894 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 5894 | Rev 5931 | ||
---|---|---|---|
Line 12... | Line 12... | ||
12 | dword selected_offset2; |
12 | dword selected_offset2; |
13 | byte copy_t[4096]; |
13 | byte copy_t[4096]; |
14 | dword buff_data; |
14 | dword buff_data; |
15 | int ind = 0; |
15 | int ind = 0; |
16 | /* |
16 | |
17 | if (selected_count) |
17 | if (selected_count) |
18 | { |
18 | { |
19 | buff_data = malloc(selected_count*4096+10); |
19 | buff_data = malloc(selected_count*4096+10); |
20 | ESDWORD[buff_data] = selected_count*4096+10; |
20 | ESDWORD[buff_data] = selected_count*4096+10; |
21 | ESDWORD[buff_data+4] = 3; |
21 | ESDWORD[buff_data+4] = 3; |
22 | ESINT[buff_data+8] = selected_count; |
22 | ESINT[buff_data+8] = selected_count; |
Line 42... | Line 42... | ||
42 | clipboard.SetSlotData(4106, buff_data); |
42 | clipboard.SetSlotData(4106, buff_data); |
43 | } |
43 | } |
44 | cut_active = cut; |
44 | cut_active = cut; |
45 | free(buff_data); |
45 | free(buff_data); |
46 | */ |
46 | } |
47 | _copy_path_ = strdup(#file_path); |
- | |
48 | cut_active = cut; |
- | |
49 | } |
- | |
50 | 47 | ||
Line 51... | Line 48... | ||
51 | 48 | ||
52 | void Paste() { |
49 | void Paste() { |
Line 62... | Line 59... | ||
62 | dword buf; |
59 | dword buf; |
63 | dword tmp; |
60 | dword tmp; |
64 | file_count_copy = 0; |
61 | file_count_copy = 0; |
65 | copy_bar.value = 0; |
62 | copy_bar.value = 0; |
66 | if(_copy_path_) |
63 | |
67 | { |
- | |
68 | DisplayOperationForm(); |
64 | buf = clipboard.GetSlotData(clipboard.GetSlotCount()-1); |
69 | IF(!TEMP) TEMP = malloc(4096); |
- | |
70 | buf = _copy_path_; |
- | |
71 | while(DSBYTE[buf]) |
- | |
72 | { |
- | |
73 | IF(DSBYTE[buf]=='/')tmp = buf; |
- | |
74 | buf++; |
- | |
75 | } |
- | |
76 | tmp++; |
- | |
77 | sprintf(TEMP,"%s%s",#path,tmp); |
- | |
78 | IF(cut_active) fs.move(_copy_path_,TEMP); |
- | |
79 | ELSE fs.copy(_copy_path_,TEMP); |
- | |
80 | free(_copy_path_); |
- | |
81 | DialogExit(); |
- | |
82 | } |
- | |
83 | _copy_path_ = 0; |
- | |
84 | /* |
- | |
85 | buf = clipboard.GetSlotData(clipboard.GetSlotCount()-1); |
- | |
86 | if (DSDWORD[buf+4] != 3) return; |
65 | if (DSDWORD[buf+4] != 3) return; |
87 | cnt = ESINT[buf+8]; |
66 | cnt = ESINT[buf+8]; |
88 | for (j = 0; j < cnt; j++) { |
67 | |
89 | strlcpy(#copy_from, j*4096+buf+10, 4096); |
- | |
90 | GetFileInfo(#copy_from, #file_info_count); |
- | |
91 | if ( file_info_count.isfolder ) DirFileCount(#copy_from); |
- | |
92 | else file_count_copy++; |
- | |
93 | } |
- | |
94 | copy_bar.max = file_count_copy; |
- | |
95 | - | ||
Line 96... | Line -... | ||
96 | if (cut_active) operation_flag = MOVE_FLAG; |
- | |
97 | else operation_flag = COPY_FLAG; |
- | |
98 | - | ||
99 | DisplayOperationForm(); |
- | |
100 | for (j = 0; j < cnt; j++) { |
68 | for (j = 0; j < cnt; j++) { |
101 | strlcpy(#copy_from, j*4096+buf+10, 4096); |
69 | strlcpy(#copy_from, j*4096+buf+10, 4096); |
102 | if (!copy_from) DialogExit(); |
70 | if (!copy_from) DialogExit(); |
103 | strcpy(#copy_to, #path); |
71 | strcpy(#copy_to, #path); |
104 | strcat(#copy_to, #copy_from+strrchr(#copy_from,'/')); |
72 | strcat(#copy_to, #copy_from+strrchr(#copy_from,'/')); |
105 | if (!strcmp(#copy_from,#copy_to)) |
- | |
106 | { |
- | |
107 | strcpy(#copy_to, #path); |
- | |
108 | strcat(#copy_to, "new_"); |
- | |
109 | strcat(#copy_to, #copy_from+strrchr(#copy_from,'/')); |
- | |
110 | } |
- | |
111 | if (strstr(#copy_to, #copy_from)) |
73 | if (strstr(#copy_to, #copy_from)) |
112 | { |
74 | { |
- | 75 | cut_active=false; |
|
113 | notify("Copy directory into itself is a bad idea..."); |
76 | notify("Copy directory into itself is a bad idea..."); |
114 | DialogExit(); |
77 | DialogExit(); |
115 | } |
78 | } |
116 | - | ||
117 | if (copy_rezult = copyf(#copy_from,#copy_to)) |
79 | IF (cut_active) fs.move(#copy_from, #copy_to); |
118 | { |
- | |
119 | Write_Error(copy_rezult); |
80 | ELSE fs.copy(#copy_from, #copy_to); |
120 | } |
81 | } |
121 | else if (cut_active) |
- | |
122 | { |
- | |
123 | //strcpy(#file_path, #copy_from); |
- | |
124 | Del_File2(#copy_from, 0); |
- | |
Line 125... | Line -... | ||
125 | - | ||
126 | } |
- | |
127 | }*/ |
82 | |
128 | cut_active=false; |
83 | cut_active=false; |
129 | if (info_after_copy) notify(INFO_AFTER_COPY); |
84 | if (info_after_copy) notify(INFO_AFTER_COPY); |
130 | 85 | DialogExit(); |
|
131 | }>> |
86 | }> |