Ackis Recipe List:
Ackis [10-27-08 - 17:58]
Ackis Recipe List:
- Attempt to fix the shift click on a recipe
- Added to locals L["NoItemLink"]
- Dry-coded (Compiles with luac -p)
diff --git a/ARLFrame.lua b/ARLFrame.lua
index 70981bb..d1daf51 100644
--- a/ARLFrame.lua
+++ b/ARLFrame.lua
@@ -2073,56 +2073,97 @@ function addon.RecipeItem_OnClick(button)
-- First, check if this is a "modified" click, and react appropriately
if (IsShiftKeyDown()) then
+
local itemID = recipeDB[clickedSpellIndex]["ItemID"]
local _, itemLink = GetItemInfo(itemID)
- ChatFrameEditBox:Insert(itemLink)
+
+ if (itemLink) then
+
+ ChatFrameEditBox:Insert(itemLink)
+
+ else
+
+ addon:Print(L["NoItemLink"])
+
+ end
+
elseif (IsControlKeyDown()) then
+
ChatFrameEditBox:Insert(recipeDB[clickedSpellIndex]["RecipeLink"])
+
elseif (IsAltKeyDown()) then
+
-- Code needed here to insert this item into the "Ignore List"
addon:ToggleExcludeRecipe(clickedSpellIndex)
ReDisplay()
+
else
+
-- three possibilities here
-- 1) We clicked on the recipe button on a closed recipe
-- 2) We clicked on the recipe button of an open recipe
-- 3) we clicked on the expanded text of an open recipe
if (isRecipe) then
+
if (isExpanded) then
+
-- get rid of our expanded lines
traverseIndex = clickedIndex + 1
+
while (DisplayStrings[traverseIndex].IsRecipe == false) do
+
tremove(DisplayStrings, traverseIndex)
+
-- if this is the last entry in the whole list, we should break out
if not DisplayStrings[traverseIndex] then
+
break
+
end
+
end
+
DisplayStrings[clickedIndex].IsExpanded = false
+
else
+
-- add in our expanded lines
expandEntry(clickedIndex)
-- set our current recipe to expanded
DisplayStrings[clickedIndex].IsExpanded = true
+
end
+
else
+
-- this inherently implies that we're on an expanded recipe
-- first, back up in the list of buttons until we find our recipe line
traverseIndex = clickedIndex - 1
+
while (DisplayStrings[traverseIndex].IsRecipe == false) do
+
traverseIndex = traverseIndex - 1
+
end
+
-- unexpand it
DisplayStrings[traverseIndex].IsExpanded = false
-- now remove the expanded lines until we get to a recipe again
traverseIndex = traverseIndex + 1
+
while (DisplayStrings[traverseIndex].IsRecipe == false) do
+
tremove(DisplayStrings, traverseIndex)
+
end
+
end
+
-- finally, call our scrollframe updater
RecipeList_Update()
+
end
+
end
-- Rep Filtering panel switcher
diff --git a/AckisRecipeList.lua b/AckisRecipeList.lua
index d7fc090..a96379b 100644
--- a/AckisRecipeList.lua
+++ b/AckisRecipeList.lua
@@ -500,7 +500,7 @@ function addon:addTradeSkill(RecipeDB, SpellID, SkillLevel, ItemID, Rarity, Prof
RecipeDB[SpellID] = {}
-- Set the information passed
RecipeDB[SpellID]["Level"] = SkillLevel
- RecipeDB[SpellID]["ItemID"] = ItemID
+ RecipeDB[SpellID]["ItemID"] = ItemID or nil
RecipeDB[SpellID]["Rarity"] = Rarity
RecipeDB[SpellID]["Profession"] = GetSpellInfo(Profession)
@@ -508,9 +508,13 @@ function addon:addTradeSkill(RecipeDB, SpellID, SkillLevel, ItemID, Rarity, Prof
local spellLink = GetSpellLink(SpellID)
if (spellLink ~= nil) then
+
RecipeDB[SpellID]["RecipeLink"] = string.gsub(spellLink, "spell", "enchant")
+
else
+
RecipeDB[SpellID]["RecipeLink"] = nil
+
end
-- Get the recipe name now
diff --git a/Locals/ARLLocals-enUS.lua b/Locals/ARLLocals-enUS.lua
index 3cca849..f2741f8 100644
--- a/Locals/ARLLocals-enUS.lua
+++ b/Locals/ARLLocals-enUS.lua
@@ -50,7 +50,7 @@ L["Profile Options"] = true
-- Config UI Elements and their associated descriptions
L["MAIN_OPTIONS_DESC"] = "Main configuration options"
-L["Scan"] = true
+L["Scan"] = true
L["SCAN_RECIPES_DESC"] = "Scans an open tradeskill for missing recipes."
L["Text Dump"] = true
L["TEXT_DUMP_DESC"] = "Displays all recipes in a comma seperated value format which can be copied and pasted into another client."
@@ -84,7 +84,7 @@ L["Obtain"] = true
L["Binding"] = true
L["Item"] = true
L["Armor"] = true
-L["Weapon"] = true
+L["Weapon"] = true
L["Player Type"] = true
L["Reputation"] = true
L["Old World"] = true
@@ -92,29 +92,29 @@ L["Burning Crusade"] = true
L["Wrath of the Lich King"] = true
-- Filter Configuration Descriptions
-L["FILTERING_OPTIONS_DESC"] = "Allows you to customize which recipes are filtered."
-L["General Filtering Options"] = true
-L["FILTERING_GENERAL_DESC"] = "Configuration for several more general filter types."
-L["Obtain Filtering Options"] = true
-L["FILTERING_OBTAIN_DESC"] = "Configuration for which methods of obtaining recipes are included in the scan."
-L["Binding Filtering Options"] = true
-L["FILTERING_BINDING_DESC"] = "Configuration for which types of binding are included in the scan."
-L["Item Filtering Options"] = true
-L["FILTERING_ITEM_DESC"] = "Configuration for which item types are included in the scan."
-L["Armor Filtering Options"] = true
-L["FILTERING_Armor_DESC"] = "Configuration for which types of armor are included in the scan."
-L["Weapon Filtering Options"] = true
-L["FILTERING_WEAPONS_DESC"] = "Configuration for which types of weapons are included in the scan."
-L["Player Type Filtering Options"] = true
-L["FILTERING_PLAYERTYPE_DESC"] = "Configuration for items matching which player types are included in the scan."
-L["Reputation Filtering Options"] = true
-L["FILTERING_REP_DESC"] = "Configuration for which reputation reward recipes are included in the scan."
-L["Old World Rep. Filtering Options"] = true
-L["FILTERING_OLDWORLD_DESC"] = "Configuration for which Old World Reputation reward recipes are included in the scan."
+L["FILTERING_OPTIONS_DESC"] = "Allows you to customize which recipes are filtered."
+L["General Filtering Options"] = true
+L["FILTERING_GENERAL_DESC"] = "Configuration for several more general filter types."
+L["Obtain Filtering Options"] = true
+L["FILTERING_OBTAIN_DESC"] = "Configuration for which methods of obtaining recipes are included in the scan."
+L["Binding Filtering Options"] = true
+L["FILTERING_BINDING_DESC"] = "Configuration for which types of binding are included in the scan."
+L["Item Filtering Options"] = true
+L["FILTERING_ITEM_DESC"] = "Configuration for which item types are included in the scan."
+L["Armor Filtering Options"] = true
+L["FILTERING_Armor_DESC"] = "Configuration for which types of armor are included in the scan."
+L["Weapon Filtering Options"] = true
+L["FILTERING_WEAPONS_DESC"] = "Configuration for which types of weapons are included in the scan."
+L["Player Type Filtering Options"] = true
+L["FILTERING_PLAYERTYPE_DESC"] = "Configuration for items matching which player types are included in the scan."
+L["Reputation Filtering Options"] = true
+L["FILTERING_REP_DESC"] = "Configuration for which reputation reward recipes are included in the scan."
+L["Old World Rep. Filtering Options"] = true
+L["FILTERING_OLDWORLD_DESC"] = "Configuration for which Old World Reputation reward recipes are included in the scan."
L["Burning Crusade Rep. Filtering Options"] = true
-L["FILTERING_BC_DESC"] = "Configuration for which Burning Crusade Reputation reward recipes are included in the scan."
-L["Lich King Rep. Filtering Options"] = true
-L["FILTERING_WOTLK_DESC"] = "Configuration for which Wrath of the Lich King Reputation reward recipes are included in the scan."
+L["FILTERING_BC_DESC"] = "Configuration for which Burning Crusade Reputation reward recipes are included in the scan."
+L["Lich King Rep. Filtering Options"] = true
+L["FILTERING_WOTLK_DESC"] = "Configuration for which Wrath of the Lich King Reputation reward recipes are included in the scan."
-- General Filter UI Elements and their associated descriptions
L["Faction"] = true
@@ -265,6 +265,7 @@ L["MissingFromDB"] = ": is is missing from the database. \nPlease inform the aut
L["UnknownTradeSkill"] = "You have opened up a trade skill window which is not supported by this add-on. The trade skill is %s. Please provide the author of the add-on with this information."
L["OpenTradeSkillWindow"] = "Please open trade skill window to scan."
L["SpellIDCache"] = "Spell ID: %s is not in your local cache. Please submit a ticket at http://wow.curseforge.com/projects/ackis-recipe-list/tickets/ and include the spell ID and the profession in which you were scanning."
+L["NoItemLink"] = "This item does not have an item link or it was not in your cache."
-- Drop Obtain Info
L["Unknown"] = "Unknown Drop: The drop location of this recipe is unknown. Please contribute by posting on the Ackis Recipe List thread at www.wowace.com/forums"