Quantcast

Some characterframe modifications.

Repooc [02-24-14 - 22:00]
Some characterframe modifications.
Filename
ElvUI_SLE/config/profile.lua
ElvUI_SLE/modules/characterframe/characterframe.lua
ElvUI_SLE/modules/characterframe/options.lua
diff --git a/ElvUI_SLE/config/profile.lua b/ElvUI_SLE/config/profile.lua
index 87bcbe3..3e25cca 100755
--- a/ElvUI_SLE/config/profile.lua
+++ b/ElvUI_SLE/config/profile.lua
@@ -61,7 +61,8 @@ P['sle'] = {

 	--Character Frame Options
 	['characterframeoptions'] = {
-		['missingnotice'] = true,
+		['shownormalgradient'] = true,
+		['showerrorgradient'] = true,
 		['showimage'] = true,
 		['itemlevel'] = {
 			['enable'] = true,
diff --git a/ElvUI_SLE/modules/characterframe/characterframe.lua b/ElvUI_SLE/modules/characterframe/characterframe.lua
index b08eb7c..a55c250 100755
--- a/ElvUI_SLE/modules/characterframe/characterframe.lua
+++ b/ElvUI_SLE/modules/characterframe/characterframe.lua
@@ -152,16 +152,14 @@ local function CreateArmoryFrame(self)
 			Slot.Socket2:Point(Slot.Direction, Slot.Socket1, Slot.Direction == 'LEFT' and 'RIGHT' or 'LEFT', Slot.Direction == 'LEFT' and 1 or -1, 0)
 			Slot.Socket3:Point(Slot.Direction, Slot.Socket2, Slot.Direction == 'LEFT' and 'RIGHT' or 'LEFT', Slot.Direction == 'LEFT' and 1 or -1, 0)

-			--if E.db.sle.characterframeoptions.itemgem.gemwarning ~= false then
-				Slot.SocketWarning = CreateFrame('Button', nil, Slot)
-				Slot.SocketWarning:Size(E.db.sle.characterframeoptions.itemgem.warningSize)
-				Slot.SocketWarning:RegisterForClicks('AnyUp')
-				Slot.SocketWarning.Texture = Slot.SocketWarning:CreateTexture(nil, 'OVERLAY')
-				Slot.SocketWarning.Texture:SetInside()
-				Slot.SocketWarning.Texture:SetTexture('Interface\\AddOns\\ElvUI_SLE\\media\\textures\\Warning-Small.tga')
-				Slot.SocketWarning:SetScript('OnEnter', C.CommonScript.OnEnter)
-				Slot.SocketWarning:SetScript('OnLeave', C.CommonScript.OnLeave)
-			--end
+			Slot.SocketWarning = CreateFrame('Button', nil, Slot)
+			Slot.SocketWarning:Size(E.db.sle.characterframeoptions.itemgem.warningSize)
+			Slot.SocketWarning:RegisterForClicks('AnyUp')
+			Slot.SocketWarning.Texture = Slot.SocketWarning:CreateTexture(nil, 'OVERLAY')
+			Slot.SocketWarning.Texture:SetInside()
+			Slot.SocketWarning.Texture:SetTexture('Interface\\AddOns\\ElvUI_SLE\\media\\textures\\Warning-Small.tga')
+			Slot.SocketWarning:SetScript('OnEnter', C.CommonScript.OnEnter)
+			Slot.SocketWarning:SetScript('OnLeave', C.CommonScript.OnLeave)
 		end

 		self[slotName] = Slot
@@ -183,6 +181,16 @@ local function CreateArmoryFrame(self)
 	CreateArmoryFrame = nil
 end

+function CFO:ChangeGradiantVisibility()
+	for _, slotName in pairs(C.GearList) do
+		if E.db.sle.characterframeoptions.shownormalgradient ~= false then
+			f[slotName].Gradation:Show()
+		else
+			f[slotName].Gradation:Hide()
+		end
+	end
+end
+
 function CFO:ResizeErrorIcon()
 	for _, slotName in pairs(C.GearList) do
 		if slotName ~= 'ShirtSlot' and slotName ~= 'TabardSlot' then
@@ -351,91 +359,98 @@ function CFO:ArmoryFrame_DataSetting()
 				end

 				-- Check Error
-				if E.db.sle.KnightFrame_Armory.NoticeMissing ~= false then
-					if (not IsEnchanted and C.EnchantableSlots[slotName]) or ((slotName == 'Finger0Slot' or slotName == 'Finger1Slot') and CFO.PlayerProfession.Enchanting and CFO.PlayerProfession.Enchanting >= 550 and not IsEnchanted) then
-						ErrorDetected = true
+				if (not IsEnchanted and C.EnchantableSlots[slotName]) or ((slotName == 'Finger0Slot' or slotName == 'Finger1Slot') and CFO.PlayerProfession.Enchanting and CFO.PlayerProfession.Enchanting >= 550 and not IsEnchanted) then
+					ErrorDetected = true
+					if E.db.sle.characterframeoptions.itemenchant.showwarning ~= false then
 						Slot.EnchantWarning:Show()
 						Slot.ItemEnchant:SetText('|cffff0000'..L['Not Enchanted'])
-					elseif CFO.PlayerProfession.Engineering and ((slotName == 'BackSlot' and CFO.PlayerProfession.Engineering >= 380) or (slotName == 'HandsSlot' and CFO.PlayerProfession.Engineering >= 400) or (slotName == 'WaistSlot' and CFO.PlayerProfession.Engineering >= 380)) and not UsableEffect then
-						ErrorDetected = true
+					end
+				elseif CFO.PlayerProfession.Engineering and ((slotName == 'BackSlot' and CFO.PlayerProfession.Engineering >= 380) or (slotName == 'HandsSlot' and CFO.PlayerProfession.Engineering >= 400) or (slotName == 'WaistSlot' and CFO.PlayerProfession.Engineering >= 380)) and not UsableEffect then
+					ErrorDetected = true
+					if E.db.sle.characterframeoptions.itemenchant.showwarning ~= false then
 						Slot.EnchantWarning:Show()
 						Slot.EnchantWarning.Message = '|cff71d5ff'..GetSpellInfo(110403)..'|r : '..L['Missing Tinkers']
-					elseif slotName == 'ShoulderSlot' and CFO.PlayerProfession.Inscription and C.ItemEnchant_Profession_Inscription and CFO.PlayerProfession.Inscription >= C.ItemEnchant_Profession_Inscription.NeedLevel and not C.ItemEnchant_Profession_Inscription[enchantID] then
-						ErrorDetected = true
+					end
+				elseif slotName == 'ShoulderSlot' and CFO.PlayerProfession.Inscription and C.ItemEnchant_Profession_Inscription and CFO.PlayerProfession.Inscription >= C.ItemEnchant_Profession_Inscription.NeedLevel and not C.ItemEnchant_Profession_Inscription[enchantID] then
+					ErrorDetected = true
+					if E.db.sle.characterframeoptions.itemenchant.showwarning ~= false then
 						Slot.EnchantWarning:Show()
 						Slot.EnchantWarning.Message = '|cff71d5ff'..GetSpellInfo(110400)..'|r : '..L['This is not profession only.']
-					elseif slotName == 'WristSlot' and CFO.PlayerProfession.LeatherWorking and C.ItemEnchant_Profession_LeatherWorking and CFO.PlayerProfession.LeatherWorking >= C.ItemEnchant_Profession_LeatherWorking.NeedLevel and not C.ItemEnchant_Profession_LeatherWorking[enchantID] then
-						ErrorDetected = true
+					end
+				elseif slotName == 'WristSlot' and CFO.PlayerProfession.LeatherWorking and C.ItemEnchant_Profession_LeatherWorking and CFO.PlayerProfession.LeatherWorking >= C.ItemEnchant_Profession_LeatherWorking.NeedLevel and not C.ItemEnchant_Profession_LeatherWorking[enchantID] then
+					ErrorDetected = true
+					if E.db.sle.characterframeoptions.itemenchant.showwarning ~= false then
 						Slot.EnchantWarning:Show()
 						Slot.EnchantWarning.Message = '|cff71d5ff'..GetSpellInfo(110423)..'|r : '..L['This is not profession only.']
-					elseif slotName == 'BackSlot' and CFO.PlayerProfession.Tailoring and C.ItemEnchant_Profession_Tailoring and CFO.PlayerProfession.Tailoring >= C.ItemEnchant_Profession_Tailoring.NeedLevel and not C.ItemEnchant_Profession_Tailoring[enchantID] then
-						ErrorDetected = true
+					end
+				elseif slotName == 'BackSlot' and CFO.PlayerProfession.Tailoring and C.ItemEnchant_Profession_Tailoring and CFO.PlayerProfession.Tailoring >= C.ItemEnchant_Profession_Tailoring.NeedLevel and not C.ItemEnchant_Profession_Tailoring[enchantID] then
+					ErrorDetected = true
+					if E.db.sle.characterframeoptions.itemenchant.showwarning ~= false then
 						Slot.EnchantWarning:Show()
 						Slot.EnchantWarning.Message = '|cff71d5ff'..GetSpellInfo(110426)..'|r : '..L['This is not profession only.']
 					end
 				end

-				if E.db.sle.characterframeoptions.itemgem.showwarning ~= false then
-					if GemTotal_1 > GemTotal_2 or GemTotal_1 > GemCount then
-						ErrorDetected = true
+				if GemTotal_1 > GemTotal_2 or GemTotal_1 > GemCount then
+					ErrorDetected = true

+					if E.db.sle.characterframeoptions.itemgem.showwarning ~= false then
 						Slot.SocketWarning:Show()
+					end

-						if GemTotal_1 > GemTotal_2 then
-							if slotName == 'WaistSlot' then
-								if TrueItemLevel < 300 then
-									_, Slot.SocketWarning.Link = GetItemInfo(41611)
-								elseif TrueItemLevel < 417 then
-									_, Slot.SocketWarning.Link = GetItemInfo(55054)
-								else
-									_, Slot.SocketWarning.Link = GetItemInfo(90046)
-								end
-							elseif slotName == 'HandsSlot' then
-								Slot.SocketWarning.Link = GetSpellLink(114112)
-							elseif slotName == 'WristSlot' then
-								Slot.SocketWarning.Link = GetSpellLink(113263)
+					if GemTotal_1 > GemTotal_2 then
+						if slotName == 'WaistSlot' then
+							if TrueItemLevel < 300 then
+								_, Slot.SocketWarning.Link = GetItemInfo(41611)
+							elseif TrueItemLevel < 417 then
+								_, Slot.SocketWarning.Link = GetItemInfo(55054)
+							else
+								_, Slot.SocketWarning.Link = GetItemInfo(90046)
 							end
+						elseif slotName == 'HandsSlot' then
+							Slot.SocketWarning.Link = GetSpellLink(114112)
+						elseif slotName == 'WristSlot' then
+							Slot.SocketWarning.Link = GetSpellLink(113263)
+						end

-								if slotName == 'WaistSlot' then
-								Slot.SocketWarning.Message = L['Missing Buckle']
-							elseif slotName == 'WristSlot' or slotName == 'HandsSlot' then
-								Slot.SocketWarning.Message = '|cff71d5ff'..GetSpellInfo(110396)..'|r : '..L['Missing Socket']
-							end
-						else
-							Slot.SocketWarning.Message = '|cffff5678'..(GemTotal_1 - GemCount)..'|r '..L['Empty Socket']
+							if slotName == 'WaistSlot' then
+							Slot.SocketWarning.Message = L['Missing Buckle']
+						elseif slotName == 'WristSlot' or slotName == 'HandsSlot' then
+							Slot.SocketWarning.Message = '|cff71d5ff'..GetSpellInfo(110396)..'|r : '..L['Missing Socket']
 						end
+					else
+						Slot.SocketWarning.Message = '|cffff5678'..(GemTotal_1 - GemCount)..'|r '..L['Empty Socket']
+					end

-						if GemTotal_1 ~= GemTotal_2 and slotName == 'WaistSlot' then
-							Slot.SocketWarning:SetScript('OnClick', function(self, button)
-								local itemName, itemLink
-
-								if TrueItemLevel < 300 then
-									itemName, itemLink = GetItemInfo(41611)
-								elseif TrueItemLevel < 417 then
-									itemName, itemLink = GetItemInfo(55054)
-								else
-									itemName, itemLink = GetItemInfo(90046)
-								end
+					if GemTotal_1 ~= GemTotal_2 and slotName == 'WaistSlot' then
+						Slot.SocketWarning:SetScript('OnClick', function(self, button)
+							local itemName, itemLink
+
+							if TrueItemLevel < 300 then
+								itemName, itemLink = GetItemInfo(41611)
+							elseif TrueItemLevel < 417 then
+								itemName, itemLink = GetItemInfo(55054)
+							else
+								itemName, itemLink = GetItemInfo(90046)
+							end

-								if HandleModifiedItemClick(itemLink) then
-								elseif IsShiftKeyDown() then
-									if button == 'RightButton' then
-										SocketInventoryItem(Slot.ID)
-									elseif BrowseName and BrowseName:IsVisible() then
-										AuctionFrameBrowse_Reset(BrowseResetButton)
-										BrowseName:SetText(itemName)
-										BrowseName:SetFocus()
-									end
+							if HandleModifiedItemClick(itemLink) then
+							elseif IsShiftKeyDown() then
+								if button == 'RightButton' then
+									SocketInventoryItem(Slot.ID)
+								elseif BrowseName and BrowseName:IsVisible() then
+									AuctionFrameBrowse_Reset(BrowseResetButton)
+									BrowseName:SetText(itemName)
+									BrowseName:SetFocus()
 								end
-							end)
-						end
+							end
+						end)
 					end
 				end
 			end

 			-- Change Gradation
-			--if ErrorDetected and E.db.sle.KnightFrame_Armory.NoticeMissing ~= false then
-			if ErrorDetected and E.db.sle.characterframeoptions.missingnotice ~= false then
+			if ErrorDetected and E.db.sle.characterframeoptions.showerrorgradient ~= false then
 				if Slot.Direction == 'LEFT' then
 					Slot.Gradation:SetTexCoord(0, .5, .5, 1)
 				else
diff --git a/ElvUI_SLE/modules/characterframe/options.lua b/ElvUI_SLE/modules/characterframe/options.lua
index 93a5963..ebda251 100755
--- a/ElvUI_SLE/modules/characterframe/options.lua
+++ b/ElvUI_SLE/modules/characterframe/options.lua
@@ -32,22 +32,22 @@ local function configTable()
 				guiInline = true,
 				disabled = function() return not E.private.sle.characterframeoptions.enable end,
 				args = {
-					equipmentgradient = {
+					normalgradient = {
 						order = 1,
 						type = 'toggle',
-						name = L["Show Equipment Gradient"],
-						desc = L["Shows gradient effect for equipment slots."],
-						get = function(info) return E.db.sle.characterframeoptions.equipmentgradient end,
-						set = function(info, value) E.db.sle.characterframeoptions.equipmentgradient = value; CFO:ArmoryFrame_DataSetting(); end,
+						name = L["Show Equipment Gradients"],
+						desc = L["Shows gradient effect for all equipment slots."],
+						get = function(info) return E.db.sle.characterframeoptions.shownormalgradient end,
+						set = function(info, value) E.db.sle.characterframeoptions.shownormalgradient = value; CFO:ChangeGradiantVisibility(); end,
 					},
-					missingnotice = {
+					errorgradient = {
 						order = 2,
 						type = 'toggle',
-						name = L["Show Error Highlight"],
+						name = L["Show Error Gradients"],
 						desc = L["Highlights equipment slot if an error has been found."],
-						--disabled = function() return not E.private.sle.characterframeoptions.enable or not E.db.sle.characterframeoptions.equipmentgradient end,
-						get = function(info) return E.db.sle.characterframeoptions.missingnotice end,
-						set = function(info, value) E.db.sle.characterframeoptions.missingnotice = value; CFO:ArmoryFrame_DataSetting(); end,
+						disabled = function() return not E.private.sle.characterframeoptions.enable or not E.db.sle.characterframeoptions.shownormalgradient end,
+						get = function(info) return E.db.sle.characterframeoptions.showerrorgradient end,
+						set = function(info, value) E.db.sle.characterframeoptions.showerrorgradient = value; CFO:ArmoryFrame_DataSetting(); end,
 					},
 					bgimage = {
 						order = 3,
@@ -252,7 +252,7 @@ local function configTable()
 								type = "toggle",
 								name = L["Show Enchant Warning"],
 								get = function(info) return E.db.sle.characterframeoptions.itemenchant.showwarning end,
-								set = function(info, value) E.db.sle.characterframeoptions.itemenchant.showwarning = value; --[[CFO:ArmoryFrame_DataSetting();]] end,
+								set = function(info, value) E.db.sle.characterframeoptions.itemenchant.showwarning = value; CFO:ArmoryFrame_DataSetting(); end,
 							},
 							warningsize = {
 								order = 2,