vanilla-wow-addons – Blame information for rev 1

Subversion Repositories:
Rev:
Rev Author Line No. Line
1 office 1 --## BY: Arina, 60 Warrior on Deathwing EU English.
2 --## Use With Caution! ;)
3  
4 CS_ADDONORGANIZER_ADDONS_DISPLAYED = 22;
5 CS_ADDONORGANIZER_ADDONSLINE_HEIGHT = 16;
6 CS_AddOnOrganizer_Profiles = {};
7 CS_ADDONORGANIZER_VERSIONNUMBER = "1.1011";
8 BINDING_HEADER_CS_ADDONORGANIZER_SEP = "CS AddOnOrganizer";
9 BINDING_NAME_CS_ADDONORGANIZER_CONFIG = "Show / Hide";
10  
11 local id;
12 local CS_AddOnOrganizer_AddOnList = {};
13  
14 function CS_AddOnOrganizer_OnLoad()
15 this:RegisterEvent("PLAYER_LOGIN");
16 this:RegisterEvent("PLAYER_LOGOUT");
17  
18 tinsert(UISpecialFrames,"CS_AddOnOrganizer_List");
19  
20  
21 SLASH_CS_ADDONORGANIZER1 = "/aoo";
22 SlashCmdList["CS_ADDONORGANIZER"] = function(msg)
23 CS_AddOnOrganizer_ListShowHide();
24 end
25  
26 end
27  
28 function CS_AddOnOrganizer_OnEvent(event)
29 if(event == "PLAYER_LOGIN")then
30 DEFAULT_CHAT_FRAME:AddMessage("|CFFFFFFFFCS_AddOnOrganizer|r |CFF00FF00Loaded|r");
31 --CS_AddOnOrganizer_Profiles = {[1] = {"Default (Only CS_AddOnOrganizer)","CS_AddOnOrganizer",},};
32 end
33 end
34  
35 function CS_AddOnOrganizer_ListShowHide()
36  
37 if (CS_AddOnOrganizer_List:IsVisible()) then
38 HideUIPanel(CS_AddOnOrganizer_List_Profiles);
39 HideUIPanel(CS_AddOnOrganizer_List);
40 else
41 CS_AddOnOrganizer_List_Title:SetText ("CS_AddOnOrganizer v."..CS_ADDONORGANIZER_VERSIONNUMBER);
42 ShowUIPanel(CS_AddOnOrganizer_List);
43 CS_AddOnOrganizer_GetList();
44 CS_AddOnOrganizer_List_Update();
45 end
46 end
47  
48 function CS_AddOnOrganizer_GetList()
49 local i;
50 for i=1, GetNumAddOns(), 1 do
51 local name, title, notes, enabled, loadable, reason, security = GetAddOnInfo(i);
52 CS_AddOnOrganizer_AddOnList[i] = enabled;
53 end
54 end
55  
56  
57 function CS_AddOnOrganizer_List_Update()
58 local numaddons = GetNumAddOns();
59 local i;
60 CS_AddOnOrganizer_List_AddOnCount:SetText("AddOns: |CFFFFFFFF"..numaddons.."|r");
61 CS_AddOnOrganizer_List_CountMiddle:SetWidth(CS_AddOnOrganizer_List_AddOnCount:GetWidth());
62  
63 FauxScrollFrame_Update(CS_AddOnOrganizer_List_Scroll, numaddons, CS_ADDONORGANIZER_ADDONS_DISPLAYED, CS_ADDONORGANIZER_ADDONSLINE_HEIGHT, nil, nil, nil, CS_AddOnOrganizer_List_HighlightFrame, 293, 316 )
64  
65 for i=1, CS_ADDONORGANIZER_ADDONS_DISPLAYED, 1 do
66 local addonIndex = i + FauxScrollFrame_GetOffset(CS_AddOnOrganizer_List_Scroll);
67  
68 if ( addonIndex <= numaddons ) then
69 local addonLogTitle = getglobal("CS_AddOnOrganizer_List_Title"..i);
70 local addonTitleTag = getglobal("CS_AddOnOrganizer_List_Title"..i.."Tag");
71 local name, title, notes, enabled, loadable, reason, security = GetAddOnInfo(addonIndex);
72  
73 addonLogTitle:SetText(title);
74 addonLogTitle:SetNormalTexture("");
75  
76 local color = {r=0.7,g=0.7,b=0.7};
77 if(enabled and loadable)then
78 color = {r=1.0,g=1.0,b=0.5};
79 elseif(enabled and not loadable)then
80 color = {r=1.0,g=0.0,b=0.0};
81 end
82  
83 if(CS_AddOnOrganizer_AddOnList[addonIndex] == 1) then
84 addonTitleTag:SetText("Enabled");
85 if(enabled)then
86 addonTitleTag:SetTextColor(1.0,0.7,0.0);
87 else
88 addonTitleTag:SetTextColor(0.0,1.0,0.0);
89 end
90 else
91 addonTitleTag:SetText("Disabled");
92 if(not enabled)then
93 addonTitleTag:SetTextColor(1.0,0.7,0.0);
94 else
95 addonTitleTag:SetTextColor(1.0,0.0,0.0);
96 end
97 end
98  
99 addonLogTitle:SetTextColor(color.r, color.g, color.b);
100 addonLogTitle.r = color.r;
101 addonLogTitle.g = color.g;
102 addonLogTitle.b = color.b;
103 addonLogTitle:Show();
104 end
105 end
106 end
107  
108 function CS_AddOnOrganizer_TitleButton_OnClick()
109 local AddOnID = this:GetID() + FauxScrollFrame_GetOffset(CS_AddOnOrganizer_List_Scroll);
110 local buttonID = this:GetID();
111 local addonTitleTag = getglobal("CS_AddOnOrganizer_List_Title"..buttonID.."Tag");
112 local name, title, notes, enabled, loadable, reason, security = GetAddOnInfo(AddOnID);
113  
114 if(CS_AddOnOrganizer_AddOnList[AddOnID] == 1) then
115 addonTitleTag:SetText("Disabled");
116 if(not enabled)then
117 addonTitleTag:SetTextColor(1.0,0.7,0.0);
118 else
119 addonTitleTag:SetTextColor(1.0,0.0,0.0);
120 end
121 CS_AddOnOrganizer_AddOnList[AddOnID] = 0;
122 else
123 addonTitleTag:SetText("Enabled");
124 if(enabled)then
125 addonTitleTag:SetTextColor(1.0,0.7,0.0);
126 else
127 addonTitleTag:SetTextColor(0.0,1.0,0.0);
128 end
129 CS_AddOnOrganizer_AddOnList[AddOnID] = 1;
130 end
131 end
132  
133 function CS_AddOnOrganizer_TitleButton_OnEnter()
134 local buttonID = this:GetID() + FauxScrollFrame_GetOffset(CS_AddOnOrganizer_List_Scroll);
135 local name, title, notes, enabled, loadable, reason, security = GetAddOnInfo(buttonID);
136 local dependencies = GetAddOnDependencies(buttonID);
137 local loadondemand = IsAddOnLoadOnDemand(buttonID);
138  
139 --DEFAULT_CHAT_FRAME:AddMessage(buttonID);
140 if (title == nil) then
141 title = "No Title";
142 end
143 if (dependencies == nil) then
144 dependencies = "No Dependencies";
145 end
146 if(notes == nil) then
147 notes = "No Notes";
148 end
149 if(loadondemand) then
150 loadondemand = "|CFF00FF00True|r";
151 else
152 loadondemand = "|CFFFF0000False|r";
153 end
154  
155 if(loadable ~= nil)then
156 GameTooltip_AddNewbieTip(name, 1.0, 1.0, 1.0, title.."\n"..notes.."\n|CFFFFFFFFAddon is Loadable:|r|CFF00FF00True|r\n".."|CFFFFFFFFLoadOnDemand:|r "..loadondemand.."\n|CFFFFFFFFDependencies:|r "..dependencies, 1);
157 elseif(reason == "DISABLED") then
158 GameTooltip_AddNewbieTip(name, 1.0, 1.0, 1.0, title.."\n"..notes.."\n|CFFFFFFFFAddon is Loadable:|r |CFFFF0000False|r\n|CFFFFFFFFReason:|r |CFFFF0000"..reason.."|r\n|CFFFFFFFFYou might still enable this addon.|r\n".."|CFFFFFFFFLoadOnDemand:|r "..loadondemand.."\n|CFFFFFFFFDependencies:|r "..dependencies, 1);
159 else
160 GameTooltip_AddNewbieTip(name, 1.0, 1.0, 1.0, title.."\n"..notes.."\n|CFFFFFFFFAddon is Loadable:|r|CFFFF0000 False|r\n|CFFFFFFFFReason:|r |CFFFF0000"..reason.."|r\n".."|CFFFFFFFFLoadOnDemand:|r "..loadondemand.."\n|CFFFFFFFFDependencies:|r "..dependencies, 1);
161 end
162 end
163  
164 function CS_AddOnOrganizer_AcceptButton_OnClick()
165 local i;
166 local numaddons = GetNumAddOns();
167 local IsChanges = 0;
168 local SaveIndex = 1;
169 for i=1, numaddons, 1 do
170 local name, title, notes, enabled, loadable, reason, security = GetAddOnInfo(i);
171 if(CS_AddOnOrganizer_AddOnList[i] ~= enabled) then
172 if (CS_AddOnOrganizer_AddOnList[i] == 1) then
173 EnableAddOn(i);
174 else
175 DisableAddOn(i);
176 end
177 IsChanges = 1;
178 end
179 end
180 CS_AddOnOrganizer_ListShowHide();
181 if(IsChanges == 1)then
182 ReloadUI();
183 end
184 end
185  
186 function CS_AddOnOrganizer_ReloadUIButton()
187 ReloadUI();
188 end
189  
190 function CS_AddOnOrganizer_EnableAll()
191 local i;
192 local numaddons = GetNumAddOns();
193 for i=1, numaddons, 1 do
194 CS_AddOnOrganizer_AddOnList[i] = 1;
195 if( i <= CS_ADDONORGANIZER_ADDONS_DISPLAYED)then
196 local addonTitleTag = getglobal("CS_AddOnOrganizer_List_Title"..i.."Tag");
197 local name, title, notes, enabled, loadable, reason, security = GetAddOnInfo(i);
198 addonTitleTag:SetText("Enabled");
199 if(enabled)then
200 addonTitleTag:SetTextColor(1.0,0.7,0.0);
201 else
202 addonTitleTag:SetTextColor(0.0,1.0,0.0);
203 end
204 end
205 end
206 end
207  
208 function CS_AddOnOrganizer_DisableAll()
209 local i;
210 local numaddons = GetNumAddOns();
211 for i=1, numaddons, 1 do
212 CS_AddOnOrganizer_AddOnList[i] = 0;
213 if( i <= CS_ADDONORGANIZER_ADDONS_DISPLAYED)then
214 local addonTitleTag = getglobal("CS_AddOnOrganizer_List_Title"..i.."Tag");
215 local name, title, notes, enabled, loadable, reason, security = GetAddOnInfo(i);
216  
217 addonTitleTag:SetText("Disabled");
218 if(not enabled)then
219 addonTitleTag:SetTextColor(1.0,0.7,0.0);
220 else
221 addonTitleTag:SetTextColor(1.0,0.0,0.0);
222 end
223 end
224 end
225 end
226  
227 function CS_AddOnOrganizer_ProfilesShowHide()
228 if (CS_AddOnOrganizer_List_Profiles:IsVisible()) then
229 HideUIPanel(CS_AddOnOrganizer_List_Profiles);
230 else
231 ShowUIPanel(CS_AddOnOrganizer_List_Profiles);
232 end
233 end
234  
235 function CS_AddOnOrganizer_Profiles_ProfilesDropDown_OnLoad()
236 UIDropDownMenu_SetWidth(220);
237 UIDropDownMenu_Initialize(this,CS_AddOnOrganizer_InitializeDropDown);
238 --DEFAULT_CHAT_FRAME:AddMessage(table.getn(CS_AddOnOrganizer_Profiles));
239  
240 end
241  
242 function CS_AddOnOrganizer_InitializeDropDown()
243 local info;
244 for i=1,table.getn(CS_AddOnOrganizer_Profiles) do
245 info = {};
246 info.text = CS_AddOnOrganizer_Profiles[i][1];
247 info.func = CS_AddOnOrganizer_LoadProfile;
248 UIDropDownMenu_AddButton(info);
249 end
250 end
251  
252 function CS_AddOnOrganizer_LoadProfile()
253 UIDropDownMenu_SetSelectedID(ProfilesDropDown, this:GetID());
254 CS_AddOnOrganizer_DisableAll();
255 local i;
256 local numaddons = GetNumAddOns();
257 id = this:GetID();
258 for j=2,table.getn(CS_AddOnOrganizer_Profiles[this:GetID()]) do
259 local loadname = CS_AddOnOrganizer_Profiles[this:GetID()][j];
260 for i=1, numaddons, 1 do
261 local name, title, notes, enabled, loadable, reason, security = GetAddOnInfo(i);
262 local addonTitleTag = getglobal("CS_AddOnOrganizer_List_Title"..i.."Tag");
263 if (name == loadname) then
264 CS_AddOnOrganizer_AddOnList[i] = 1;
265 end
266 end
267 end
268 CS_AddOnOrganizer_List_Update();
269 SaveProfileEditBox:SetText(CS_AddOnOrganizer_Profiles[this:GetID()][1]);
270 end
271  
272 function CS_AddOnOrganizer_SaveProfile()
273 local i,j;
274 local ProfileText = SaveProfileEditBox:GetText();
275 local newKey;
276 local found = false;
277  
278 if(not(ProfileText == "")) then
279  
280 newKey = table.getn(CS_AddOnOrganizer_Profiles) + 1;
281  
282 for i=1, table.getn(CS_AddOnOrganizer_Profiles) do
283 if (CS_AddOnOrganizer_Profiles[i][1] == ProfileText) then
284 newKey = i;
285 found = true;
286 end
287 end
288  
289 if(not(found))then
290 CS_AddOnOrganizer_Profiles[newKey] = {[1] = SaveProfileEditBox:GetText()};
291 DEFAULT_CHAT_FRAME:AddMessage("|CFF00FF00CS_AddOnOrganizer|r - |CFFFFFFFF"..SaveProfileEditBox:GetText().."|r has been |CFF00FF00ADDED|r to profiles list!");
292 else
293 DEFAULT_CHAT_FRAME:AddMessage("|CFF00FF00CS_AddOnOrganizer|r - |CFFFFFFFF"..SaveProfileEditBox:GetText().."|r has been |CFF00FF00MODIFIED|r in the profiles list!");
294 end
295  
296 local numaddons = GetNumAddOns();
297 j=2;
298 for i=1, numaddons, 1 do
299 if(CS_AddOnOrganizer_AddOnList[i] == 1) then
300 CS_AddOnOrganizer_Profiles[newKey][j] = GetAddOnInfo(i);
301 j = j+1;
302 end
303 end
304 else
305 DEFAULT_CHAT_FRAME:AddMessage("|CFF00FF00CS_AddOnOrganizer|r - |CFFFF0000You have to write a name for the profile!|r");
306 end
307 end
308  
309 function CS_AddOnOrganizer_DeleteProfile()
310 if (not(id == nil)) then
311  
312 DEFAULT_CHAT_FRAME:AddMessage("|CFF00FF00CS_AddOnOrganizer|r - |CFFFF0000DELETED ID#"..id.."!|r");
313 table.remove(CS_AddOnOrganizer_Profiles,id);
314  
315 if(table.getn(CS_AddOnOrganizer_Profiles) == 0) then
316 CS_AddOnOrganizer_Profiles = {};
317 id=nil;
318 end
319 end
320 end