vanilla-wow-addons – Blame information for rev 1
?pathlinks?
Rev | Author | Line No. | Line |
---|---|---|---|
1 | office | 1 | -- URL Copy v1.2.10900 by Leuchtturm on Azshara EU |
2 | |||
3 | URLCOPY_TITLE = "URL Copy" |
||
4 | URLCOPY_COLOR = "FFFF55" |
||
5 | URLCopy = {} |
||
6 | |||
7 | URLCopy_AddMessage1_Original = nil |
||
8 | URLCopy_AddMessage2_Original = nil |
||
9 | URLCopy_AddMessage3_Original = nil |
||
10 | URLCopy_AddMessage4_Original = nil |
||
11 | URLCopy_AddMessage5_Original = nil |
||
12 | URLCopy_AddMessage6_Original = nil |
||
13 | URLCopy_AddMessage7_Original = nil |
||
14 | URLCopy_SetItemRef_Original = nil |
||
15 | |||
16 | function URLCopy_OnLoad() |
||
17 | -- UIPanelWindows['URLCopyFrame'] = {area = 'center', pushable = 0}; |
||
18 | URLCopyFrame:RegisterForDrag("LeftButton"); |
||
19 | |||
20 | if DEFAULT_CHAT_FRAME.AddMessage ~= URLCopy_AddMessage1 then |
||
21 | URLCopy_AddMessage1_Original = DEFAULT_CHAT_FRAME.AddMessage |
||
22 | DEFAULT_CHAT_FRAME.AddMessage = URLCopy_AddMessage1 |
||
23 | end |
||
24 | if ChatFrame2 and ChatFrame2.AddMessage ~= URLCopy_AddMessage2 then |
||
25 | URLCopy_AddMessage2_Original = ChatFrame2.AddMessage |
||
26 | ChatFrame2.AddMessage = URLCopy_AddMessage2 |
||
27 | end |
||
28 | if ChatFrame3 and ChatFrame3.AddMessage ~= URLCopy_AddMessage3 then |
||
29 | URLCopy_AddMessage3_Original = ChatFrame3.AddMessage |
||
30 | ChatFrame3.AddMessage = URLCopy_AddMessage3 |
||
31 | end |
||
32 | if ChatFrame4 and ChatFrame4.AddMessage ~= URLCopy_AddMessage4 then |
||
33 | URLCopy_AddMessage4_Original = ChatFrame4.AddMessage |
||
34 | ChatFrame4.AddMessage = URLCopy_AddMessage4 |
||
35 | end |
||
36 | if ChatFrame5 and ChatFrame5.AddMessage ~= URLCopy_AddMessage5 then |
||
37 | URLCopy_AddMessage5_Original = ChatFrame5.AddMessage |
||
38 | ChatFrame5.AddMessage = URLCopy_AddMessage5 |
||
39 | end |
||
40 | if ChatFrame6 and ChatFrame6.AddMessage ~= URLCopy_AddMessage6 then |
||
41 | URLCopy_AddMessage6_Original = ChatFrame6.AddMessage |
||
42 | ChatFrame6.AddMessage = URLCopy_AddMessage6 |
||
43 | end |
||
44 | if ChatFrame7 and ChatFrame7.AddMessage ~= URLCopy_AddMessage7 then |
||
45 | URLCopy_AddMessage7_Original = ChatFrame7.AddMessage |
||
46 | ChatFrame7.AddMessage = URLCopy_AddMessage7 |
||
47 | end |
||
48 | |||
49 | URLCopy_SetItemRef_Original = SetItemRef |
||
50 | SetItemRef = URLCopy_SetItemRef |
||
51 | |||
52 | |||
53 | |||
54 | SlashCmdList["URLCOPYBRACKETS"] = URLCopy_SlashBrackets; |
||
55 | SLASH_URLCOPYBRACKETS1 = "/ucb"; |
||
56 | SlashCmdList["URLCOPYCOLOR"] = URLCopy_SlashColor; |
||
57 | SLASH_URLCOPYCOLOR1 = "/ucc"; |
||
58 | |||
59 | if not URLCopy.Brackets then |
||
60 | URLCopy.Brackets = 1 |
||
61 | end |
||
62 | if not URLCopy.Color then |
||
63 | URLCopy.Color = URLCOPY_COLOR |
||
64 | end |
||
65 | end |
||
66 | |||
67 | function URLCopy_SlashBrackets(arg) |
||
68 | if (arg == "off") then |
||
69 | URLCopy.Brackets = 0 |
||
70 | else |
||
71 | URLCopy.Brackets = 1 |
||
72 | end |
||
73 | end |
||
74 | function URLCopy_SlashColor(arg) |
||
75 | if (arg == "") then |
||
76 | URLCopy.Color = URLCOPY_COLOR |
||
77 | else |
||
78 | URLCopy.Color = arg |
||
79 | end |
||
80 | end |
||
81 | |||
82 | function URLCopy_Toggle() |
||
83 | if(URLCopyFrame:IsVisible()) then |
||
84 | URLCopyFrame:Hide(); |
||
85 | else |
||
86 | URLCopyFrame:Show(); |
||
87 | end |
||
88 | end |
||
89 | |||
90 | function URLCopy_Decompose (chatstring) |
||
91 | if chatstring ~= nil then |
||
92 | chatstring = string.gsub (chatstring, " www%.([_A-Za-z0-9-]+)%.(%S+)%s?", URLCopy_Link("www.%1.%2")) |
||
93 | chatstring = string.gsub (chatstring, " (%a+)://(%S+)%s?", URLCopy_Link("%1://%2")) |
||
94 | chatstring = string.gsub (chatstring, " ([_A-Za-z0-9-%.]+)@([_A-Za-z0-9-]+)(%.+)([_A-Za-z0-9-%.]+)%s?", URLCopy_Link("%1@%2%3%4")) |
||
95 | chatstring = string.gsub (chatstring, " (%d%d?%d?)%.(%d%d?%d?)%.(%d%d?%d?)%.(%d%d?%d?):(%d%d?%d?%d?%d?)%s?", URLCopy_Link("%1.%2.%3.%4:%5")) |
||
96 | chatstring = string.gsub (chatstring, " (%d%d?%d?)%.(%d%d?%d?)%.(%d%d?%d?)%.(%d%d?%d?)%s?", URLCopy_Link("%1.%2.%3.%4")) |
||
97 | |||
98 | chatstring = string.gsub (chatstring, " ([_A-Za-z0-9-]+)%.([_A-Za-z0-9-]+)%.(%S+)%s?", URLCopy_Link("%1.%2.%3")) |
||
99 | chatstring = string.gsub (chatstring, " ([_A-Za-z0-9-]+)%.([_A-Za-z0-9-]+)%.(%S+)%:([_0-9-]+)%s?", URLCopy_Link("%1.%2.%3:%4")) |
||
100 | |||
101 | end |
||
102 | return chatstring |
||
103 | end |
||
104 | |||
105 | function URLCopy_Link (link) |
||
106 | if (URLCopy.Brackets == 1) then |
||
107 | link = " |cff" .. URLCopy.Color .. "|Hurl:" .. link .. "|h[" .. link .. "]|h|r " |
||
108 | else |
||
109 | link = " |cff" .. URLCopy.Color .. "|Hurl:" .. link .. "|h" .. link .. "|h|r " |
||
110 | end |
||
111 | return link |
||
112 | end |
||
113 | |||
114 | function URLCopy_AddMessage1(t, s, ...) |
||
115 | s = URLCopy_Decompose (s) |
||
116 | URLCopy_AddMessage1_Original (t, s, unpack (arg)) |
||
117 | end |
||
118 | |||
119 | function URLCopy_AddMessage2(t, s, ...) |
||
120 | s = URLCopy_Decompose (s) |
||
121 | URLCopy_AddMessage2_Original (t, s, unpack (arg)) |
||
122 | end |
||
123 | |||
124 | function URLCopy_AddMessage3(t, s, ...) |
||
125 | s = URLCopy_Decompose (s) |
||
126 | URLCopy_AddMessage3_Original (t, s, unpack (arg)) |
||
127 | end |
||
128 | |||
129 | function URLCopy_AddMessage4(t, s, ...) |
||
130 | s = URLCopy_Decompose (s) |
||
131 | URLCopy_AddMessage4_Original (t, s, unpack (arg)) |
||
132 | end |
||
133 | |||
134 | function URLCopy_AddMessage5(t, s, ...) |
||
135 | s = URLCopy_Decompose (s) |
||
136 | URLCopy_AddMessage5_Original (t, s, unpack (arg)) |
||
137 | end |
||
138 | |||
139 | function URLCopy_AddMessage6(t, s, ...) |
||
140 | s = URLCopy_Decompose (s) |
||
141 | URLCopy_AddMessage6_Original (t, s, unpack (arg)) |
||
142 | end |
||
143 | |||
144 | function URLCopy_AddMessage7(t, s, ...) |
||
145 | s = URLCopy_Decompose (s) |
||
146 | URLCopy_AddMessage7_Original (t, s, unpack (arg)) |
||
147 | end |
||
148 | |||
149 | function URLCopy_SetItemRef(link, text, button) |
||
150 | if ( strsub(link, 1, 3) == "url" ) then |
||
151 | URLCopy_Toggle(); |
||
152 | URLCopyFrameEditBox:SetText( strsub(link, 5) ); |
||
153 | URLCopyFrameEditBox:HighlightText(); |
||
154 | return; |
||
155 | end |
||
156 | |||
157 | URLCopy_SetItemRef_Original(link, text, button); |
||
158 | end |