vanilla-wow-addons – Blame information for rev 1

Subversion Repositories:
Rev:
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