Rev 4428 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 4428 | Rev 4698 | ||
---|---|---|---|
Line 1... | Line 1... | ||
1 | //Leency 2008-2014 |
1 | //Leency 2008-2014 |
Line 2... | Line 2... | ||
2 | 2 | ||
3 | byte copy_to[4096]; |
3 | byte copy_to[4096]; |
- | 4 | byte cut_active=0; |
|
- | 5 | byte id_add_to_copy=0; |
|
4 | byte cut_active=0; |
6 | byte add_to_copy_active=0; |
Line -... | Line 7... | ||
- | 7 | enum {NOCUT, CUT, COPY_PASTE_END}; |
|
- | 8 | ||
- | 9 | struct path_str { |
|
- | 10 | char Item[4096]; |
|
- | 11 | }; |
|
- | 12 | ||
5 | enum {NOCUT, CUT, COPY_PASTE_END}; |
13 | #define MAX_HISTORY_NUM 10 |
Line -... | Line 14... | ||
- | 14 | ||
- | 15 | Clipboard clipboard; |
|
- | 16 | ||
- | 17 | struct Copy_Path { |
|
- | 18 | dword size; |
|
- | 19 | dword type; |
|
- | 20 | path_str copy_list[MAX_HISTORY_NUM]; |
|
- | 21 | }; |
|
- | 22 | ||
- | 23 | Copy_Path copy_path; |
|
- | 24 | ||
- | 25 | void add_to_copy(dword pcth) |
|
- | 26 | { |
|
- | 27 | add_to_copy_active=1; |
|
- | 28 | strlcpy(#copy_path.copy_list[id_add_to_copy].Item, pcth); |
|
Line 6... | Line 29... | ||
6 | 29 | id_add_to_copy++; |
|
7 | Clipboard clipboard; |
30 | } |
8 | - | ||
9 | 31 | ||
10 | void Copy(dword pcth, char cut) |
- | |
11 | { |
32 | |
12 | clipboard.data.size = sizeof(buffer_data); |
33 | void Copy(dword pcth, char cut) |
13 | clipboard.data.type = 0; |
34 | { |
14 | clipboard.data.encoding = 1; |
35 | copy_path.type = 3; |
Line 15... | Line 36... | ||
15 | strcpy(#clipboard.data.buffer_data, pcth); |
36 | copy_path.size = sizeof(copy_path); |
16 | clipboard.SetSlotData(sizeof(buffer_data), #clipboard.data); |
37 | clipboard.SetSlotData(sizeof(copy_path), #copy_path); |
Line 34... | Line 55... | ||
34 | 55 | ||
35 | void Paste() |
56 | void Paste() |
36 | { |
57 | { |
37 | char copy_rezult; |
58 | char copy_rezult; |
- | 59 | byte copy_from[4096]; |
|
Line -... | Line 60... | ||
- | 60 | int tst; |
|
- | 61 | ||
38 | byte copy_from[4096]; |
62 | for (j = 0; j < MAX_HISTORY_NUM; j++) { |
39 | - | ||
- | 63 | tst = j*4096; |
|
40 | strcpy(#copy_from, clipboard.GetSlotData(clipboard.GetSlotCount()-1)+12); |
64 | strlcpy(#copy_from, clipboard.GetSlotData(clipboard.GetSlotCount()-1)+8+tst, 4096); |
41 | 65 | debug(#copy_from); |
|
42 | if (!copy_from) ExitProcess(); |
66 | if (!copy_from) ExitProcess(); |
43 | strcpy(#copy_to, #path); |
67 | strcpy(#copy_to, #path); |
44 | strcat(#copy_to, #copy_from+strrchr(#copy_from,'/')); |
68 | strcat(#copy_to, #copy_from+strrchr(#copy_from,'/')); |
Line 55... | Line 79... | ||
55 | } |
79 | } |
56 | if (copy_rezult = copyf(#copy_from,#copy_to)) |
80 | if (copy_rezult = copyf(#copy_from,#copy_to)) |
57 | { |
81 | { |
58 | Write_Error(copy_rezult); |
82 | Write_Error(copy_rezult); |
59 | } |
83 | } |
- | 84 | } |
|
- | 85 | if (copy_rezult = copyf(#copy_from,#copy_to)) |
|
- | 86 | { |
|
- | 87 | Write_Error(copy_rezult); |
|
- | 88 | } |
|
60 | else if (cut_active) |
89 | else if (cut_active) |
61 | { |
90 | { |
62 | strcpy(#file_path, #copy_from); |
91 | strcpy(#file_path, #copy_from); |
63 | Del_File(true); |
92 | Del_File(true); |
64 | cut_active=false; |
93 | cut_active=false; |
65 | } |
94 | } |
- | 95 | for (j = 0; j < MAX_HISTORY_NUM; j++) strcpy(#copy_path.copy_list[j].Item, 0); |
|
66 | action_buf = COPY_PASTE_END; |
96 | action_buf = COPY_PASTE_END; |
- | 97 | add_to_copy_active=0; |
|
- | 98 | id_add_to_copy=0; |
|
67 | ActivateWindow(GetProcessSlot(Form.ID)); |
99 | ActivateWindow(GetProcessSlot(Form.ID)); |
68 | ExitProcess(); |
100 | ExitProcess(); |
69 | } |
101 | }>> |