diff --git a/CHANGELOG.txt b/CHANGELOG.txt index 37a88ff..0a252c8 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -2,6 +2,28 @@ ChangeLogs: --------------------------- +EMA Version: v8.2.0-Release-v2.2(0131) +Game Version: 8.2.0 +Release Date: 27/7/2019 + +## Trade, Vender, Purchase, Mail, Guild + -- You can Now Use Shift+Click to add the Item to the EditBox. + (Dev Note: The Ui Is Protected On Normal Click And Could Not Use Items ) + +## Trade + -- Holding "Shift Key" will not trade items to master. (If For Some Reason U Did Not Want To Use Ema-Trade) + +## Communications + -- Now Uses Its Own Prefix And Not Jamba's + -- Changed LayOut + -- Removed Boost Communications ( As Chat Chatthrottlelib Now Uses The Same Settings ) + +## Currency + -- Added 8.2 Currencys + - Prismatic Manapearl + +--------------------------- + EMA Version: v8.2.0-Release-v2.1(0127) Game Version: 8.2.0 Release Date: 26/6/2019 @@ -16,13 +38,7 @@ Release Date: 26/6/2019 ## Message - Fixed 8.2 Sound changes - Added new sound EMA Warning (from jamba-extras) - - Had to added blizzard own Riad warning Sound for libsheardmedia to work. (hacky) - - - - - - + - Had to added blizzard own Raid warning Sound for libsheardmedia to work. (hacky) --------------------------- EMA Version: v8.1.5-Release-v2.1(0126) diff --git a/Core/Communications.lua b/Core/Communications.lua index f201f0e..7199aa9 100644 --- a/Core/Communications.lua +++ b/Core/Communications.lua @@ -50,8 +50,7 @@ EMA.COMMUNICATION_GROUP = "RAID" EMA.COMMUNICATION_GUILD = "GUILD" -- Communication message prefix. -EMA.MESSAGE_PREFIX = "JmbCmMsg" - +EMA.MESSAGE_PREFIX = "EmaMainComms" -- Communication priorities. EMA.COMMUNICATION_PRIORITY_BULK = "BULK" @@ -59,12 +58,12 @@ EMA.COMMUNICATION_PRIORITY_NORMAL = "NORMAL" EMA.COMMUNICATION_PRIORITY_ALERT = "ALERT" -- Communication command. -EMA.COMMAND_PREFIX = "JmbCmCmd" +EMA.COMMAND_PREFIX = "EmaCmdComms" EMA.COMMAND_SEPERATOR = "\004" EMA.COMMAND_ARGUMENT_SEPERATOR = "\005" -- Internal commands sent by EMA Communications. -EMA.COMMAND_INTERNAL_SEND_SETTINGS = "JmbCmSdSet" +EMA.COMMAND_INTERNAL_SEND_SETTINGS = "EmaSetComms" ------------------------------------------------------------------------------------------------------------- -- Messages module sends. @@ -86,7 +85,7 @@ EMA.settings = { profile = { autoSetTeamOnlineorOffline = true, boostCommunication = true, - useGuildComms = false, + useGuildComms = false }, } @@ -158,18 +157,10 @@ local function CreateCommandToSend( moduleName, commandName, ... ) message = message..EMA.COMMAND_ARGUMENT_SEPERATOR end end - -- Return the command to send. - --EMA:Print("Create", moduleName, commandName, iterateArguments) return message end - - -local function CommandAll( moduleName, commandName, ... ) - -- EMA:DebugMessage( "Command All: ", moduleName, commandName, ... ) - --EMA:Print( "Command All: ", moduleName, commandName, ... ) - -- Get the message to send. - local message = CreateCommandToSend( moduleName, commandName, ... ) - local channel + +local function CommandGuild( message, ... ) if EMA.db.useGuildComms == true then EMA:SendCommMessage( EMA.COMMAND_PREFIX, @@ -178,11 +169,13 @@ local function CommandAll( moduleName, commandName, ... ) nil, EMA.COMMUNICATION_PRIORITY_ALERT ) - return - end + end +end + +local function DefaultCommand( message ) + local channel = nil -- toon has to be in a group if UnitInBattleground( "player" ) then - EMA:DebugMessage( "PvP_INSTANCE") channel = "INSTANCE_CHAT" elseif IsInGroup() then EMA:DebugMessage( "Group") @@ -218,8 +211,7 @@ local function CommandAll( moduleName, commandName, ... ) nil, EMA.COMMUNICATION_PRIORITY_ALERT ) - --EMA:Print("testChennel", EMA.COMMAND_PREFIX, channel, EMA.COMMUNICATION_PRIORITY_ALERT) - --return + --EMA:Print("testChennel", EMA.COMMAND_PREFIX, channel, EMA.COMMUNICATION_PRIORITY_ALERT) end --if the unit is not in the party then it unlikely did not get the party message, for characterName, characterOrder in EMAPrivate.Team.TeamList() do @@ -240,7 +232,17 @@ local function CommandAll( moduleName, commandName, ... ) end end - +local function CommandAll( moduleName, commandName, ... ) + -- EMA:DebugMessage( "Command All: ", moduleName, commandName, ... ) + --EMA:Print( "Command All: ", moduleName, commandName, ... ) + -- Get the message to send. + local message = CreateCommandToSend( moduleName, commandName, ... ) + if EMA.db.useGuildComms == true then + CommandGuild( message ) + else + DefaultCommand ( message ) + end +end -- Should this get removed at some point and use all comms on one channel??? -- WHISPER's don't work cross-realm but do work connected-realm so sending msg to masters would not send. @@ -283,9 +285,7 @@ local function CommandToon( moduleName, characterName, commandName, ... ) end end --- EbonyTest --- hide offline player spam Not really the best way but it works, Maybe adding tick box's to set members offline? This should now work with elvUI? - +-- Hide Player "Offline" Using to set the team memberm online. local function SystemSpamFilter(frame, event, message) if( event == "CHAT_MSG_SYSTEM") then if message:match(string.format(ERR_CHAT_PLAYER_NOT_FOUND_S, "(.+)")) then @@ -401,7 +401,7 @@ end -- Initialize the addon. function EMA:OnInitialize() - --EMA.channelPollTimer = nil + --EMA.lastChannel = nil -- Register commands with AceComms - tell AceComms to call the CommandReceived function when a command is received. EMA:RegisterComm( EMA.COMMAND_PREFIX, "CommandReceived" ) -- Create the settings database supplying the settings values along with defaults. @@ -428,7 +428,6 @@ function EMA:OnInitialize() end function EMA:OnEnable() - EMA:RegisterEvent("GUILD_ROSTER_UPDATE") if EMA.db.boostCommunication == true then EMA:BoostCommunication() @@ -450,6 +449,7 @@ function EMA:BoostCommunication() end end + -- Handle the chat command. function EMA:EMAChatCommand( input ) if not input or input:trim() == "" then @@ -505,6 +505,7 @@ end function EMA:SettingsCreateOptions( top ) -- Get positions and dimensions. + local buttonControlWidth = 105 local checkBoxHeight = EMAHelperSettings:GetCheckBoxHeight() local labelContinueHeight = EMAHelperSettings:GetContinueLabelHeight() local editBoxHeight = EMAHelperSettings:GetEditBoxHeight() @@ -531,6 +532,7 @@ function EMA:SettingsCreateOptions( top ) L["AUTO_SET_TEAM"], EMA.CheckBoxAutoSetTeamOnlineorOffline ) + --[[ movingTop = movingTop - checkBoxHeight EMA.settingsControl.checkBoxBoostCommunication = EMAHelperSettings:CreateCheckBox( EMA.settingsControl, @@ -541,7 +543,27 @@ function EMA:SettingsCreateOptions( top ) EMA.CheckBoxBoostCommunication, L["BOOST_COMMUNICATIONS_HELP"] ) - movingTop = movingTop - checkBoxHeight + ]] + movingTop = movingTop - checkBoxHeight + movingTop = movingTop - checkBoxHeight + EMAHelperSettings:CreateHeading( EMA.settingsControl, L["COMMUNICATIONS_AVD"]..L[" "]..L["OPTIONS"] , movingTop, false )-- + movingTop = movingTop - headingHeight + EMA.settingsControl.labelCommsInformation1 = EMAHelperSettings:CreateContinueLabel( + EMA.settingsControl, + headingWidth, + column1Left, + movingTop, + L["AVD_INFORMATION_ONE"] + ) + movingTop = movingTop - labelContinueHeight + EMA.settingsControl.labelCommsInformation1 = EMAHelperSettings:CreateContinueLabel( + EMA.settingsControl, + headingWidth, + column1Left, + movingTop, + L["AVD_INFORMATION_TWO"] + ) + movingTop = movingTop - labelContinueHeight EMA.settingsControl.checkBoxUseGuildComms = EMAHelperSettings:CreateCheckBox( EMA.settingsControl, headingWidth, @@ -551,15 +573,10 @@ function EMA:SettingsCreateOptions( top ) EMA.CheckBoxUseGuildComms, L["USE_GUILD_COMMS_INFO"] ) - movingTop = movingTop - checkBoxHeight + movingTop = movingTop - checkBoxHeight return movingTop end -function EMA:CheckBoxUseGuildComms( event, value ) - EMA.db.useGuildComms = value - EMA:SettingsRefresh() -end - function EMA:CheckBoxBoostCommunication( event, value ) EMA.db.boostCommunication = value EMA:SettingsRefresh() @@ -575,17 +592,25 @@ function EMA:CheckBoxAutoSetTeamOnlineorOffline( event, value ) EMA:SettingsRefresh() end + +function EMA:CheckBoxUseGuildComms( event, value ) + EMA.db.useGuildComms = value + EMA:SettingsRefresh() +end + + function EMA:BeforeEMAProfileChanged() end -function EMA:OnEMAProfileChanged() +function EMA:OnEMAProfileChanged() EMA:SettingsRefresh() end function EMA:SettingsRefresh() EMA.settingsControl.checkBoxAutoSetTeamOnlineorOffline:SetValue( EMA.db.autoSetTeamOnlineorOffline ) - EMA.settingsControl.checkBoxBoostCommunication:SetValue( EMA.db.boostCommunication ) + --EMA.settingsControl.checkBoxBoostCommunication:SetValue( EMA.db.boostCommunication ) EMA.settingsControl.checkBoxUseGuildComms:SetValue( EMA.db.useGuildComms ) + end -- Settings received. @@ -598,7 +623,7 @@ function EMA:EMAOnSettingsReceived( characterName, settings ) if characterName ~= EMA.characterName then -- Update the settings. EMA.db.autoSetTeamOnlineorOffline = settings.autoSetTeamOnlineorOffline - EMA.db.boostCommunication = settings.boostCommunication + -- EMA.db.boostCommunication = settings.boostCommunication EMA.db.useGuildComms = settings.useGuildComms -- Refresh the settings. EMA:SettingsRefresh() @@ -622,8 +647,6 @@ local function SendChatMessage( text, chatDestination, characterOrChannelName, p if text:len() <= 255 then --EMA:Print("test TURE!!!!! TOBIG" ) ChatThrottleLib:SendChatMessage( priority, EMA.MESSAGE_PREFIX, text, chatDestination, nil, characterOrChannelName, nil ) - - else -- No, message is too big, split into smaller messages, taking UTF8 characters into account. local bytesAvailable = string.utf8len(text1) diff --git a/EMA.toc b/EMA.toc index da37bbd..806d64c 100644 --- a/EMA.toc +++ b/EMA.toc @@ -2,7 +2,7 @@ ## Title: EMA ## Notes: Ebony's MultiBoxing Assistant ## Author: Jennifer Calladine 'Ebony' -## Version: v8.1.5-Release-v2.1(0127) +## Version: v8.2.0-Release-v2.2(0131) ## SavedVariables: CoreProfileDB, CommunicationsProfileDB, TeamProfileDB, TagProfileDB, MessageProfileDB, CurrProfileDB, DisplayTeamProfileDB, FollowProfileDB, GuildProfileDB, InteractionProfileDB, ItemUseProfileDB, PurchaseProfileDB, QuestProfileDB, QuestWatcherProfileDB, SellProfileDB, TalkProfileDB, ToonProfileDB, TradeProfileDB, MailProfileDB, ISBoxerProfileDB #Libs diff --git a/Locales/Core-Locale-enUS.lua b/Locales/Core-Locale-enUS.lua index 33a8b02..3fe9cf3 100644 --- a/Locales/Core-Locale-enUS.lua +++ b/Locales/Core-Locale-enUS.lua @@ -150,12 +150,12 @@ L["RESETTING_PROFILE"] = "Resetting profile: " L["PROFILE_DELETED"] = "Profile deleted - iterating all modules." L["DELETING_PROFILE"] = "Deleting profile: " L["Failed_LOAD_MODULE"] = "Failed to load EMA Module: " -L["TEXT1"] = "Ebony's MultiBoxing Assistant v2.0 For 8.1.0!" +L["TEXT1"] = "Ebony's MultiBoxing Assistant v2.2 For 8.2.0!" L["TEXT2"] = "" -L["TEXT3"] = "Welcome To v2! 2019!" +L["TEXT3"] = "Welcome To v2.2!" L["TEXT4"] = "" L["TEXT5"] = "" -L["TEXT6"] = "Read The ChangeLog For More Information" +L["TEXT6"] = "|cFFFFFFFFRead The ChangeLog For More Information" L["TEXT7"] = "" L["TEXT8"] = "" L["TEXT9"] = "" @@ -165,21 +165,21 @@ L["THANKS1"] = "Michael \"Jafula\" Miller For Making Jamba That Some Of This Cod L["THANKS2"] = "tk911 For Translating EMA To German (DE)" L["THANKS3"] = "" L["WEBSITES"] = "Websites" -L["ME"] = "Current Project Manger Jennifer (Ebony) Cally" +L["ME"] = "Current Project Manger Jennifer (Ebony) Calladine" L["ME_TWITTER"] = "https://twitter.com/Jenn_Ebony" L["D-B"] = "http://Dual-boxing.com" L["ISB"] = "" L["TEMP_WEBSITE1"] = "" L["TEMP_WEBSITE2"] = "" L["TEMP_WEBSITE3"] = "" -L["COPYRIGHT"] = "Copyright (c) 2015-2019 Jennifer Cally" +L["COPYRIGHT"] = "Copyright (c) 2015-2019 Jennifer (Cally) Calladine" L["COPYRIGHTTWO"] = "Released Under License: All Rights Reserved unless otherwise explicitly stated" L["FRAME_RESET"] = "Frame Reset" -- Msg 8000 L["ALL_SETTINGS_RESET"] = "Thank You For Using EMA \nYour settings have been reset. \n\nPlease report any bugs to the source control issue tracker." L["CAN_NOT_RUN_JAMBA_AND_EMA"] = "|cFFFF0000 You Can Not Run \"Jamba\" With EMA \nDisabling Jamba Addon \n\nThis Will Reload Your UI" --- BETA CHANGE ME!!! -L["v2_NEWS"] = "|cFFFFFF00Thank You For Upgrading EMA \nYou Are Now On Beta v2.0 \n\n|cFFFFFFFFRead Changelog For More Information" +-- CHANGE ME!!! +L["v2_NEWS"] = "|cFFFFFF00Thank You For Upgrading EMA \nYou Are Now On Release v2.2 \n\n|cFFFFFFFFRead Changelog For More Information" -------------------------- -- Communications Locale @@ -191,7 +191,12 @@ L["AUTO_SET_TEAM"] = "Auto Set Team Members On and Off Line" L["BOOST_COMMUNICATIONS"] = "Boost EMA Communications" L["BOOST_COMMUNICATIONS_HELP"] = "Reload UI To Take Effect, May Cause Disconnections" L["USE_GUILD_COMMS"] = "Use Guild Communications" -L["USE_GUILD_COMMS_INFO"] = "Use Guild Communications All Of Team Needs To Be In Same Guild" +L["USE_GUILD_COMMS_INFO"] = "Use Guild Communications \nAll Of Team Needs To Be In Same Guild" +L["USE_CHANNEL_COMMS"] = "Use Channel Communications" +L["USE_CHANNEL_COMMS_INFO"] = "Use Chennel Communications \nAll Of Team Needs To Be On The Same Realm" +L["AVD_INFORMATION_ONE"] = "All Characters Will Need To Be on the Same Realm Or A Connect Realms" +L["AVD_INFORMATION_TWO"] = "This Is The Recommended System To Use" +L["COMMUNICATIONS_AVD"] = "Advanced Communications" ---------------------------- -- Helper Locale @@ -378,7 +383,7 @@ L["AUTO_SELL_TOYS"] = "|cff00ccff Sell Already Known Toys" L["AUTO_SELL_TOYS_HELP"] = "Sell Or Destroy Already Known SoulBound Toys" L["AUTO_SELL_MOUNTS"] = "|cff00ccff Already Known Mounts" L["AUTO_SELL_MOUNTS_HELP"] = "Sell Or Destroy Already Known SoulBound Mounts" -L["SELL_LIST_DROP_ITEM"] = "Sell Other Item (DRAG ITEM TO BOX)" +L["SELL_LIST_DROP_ITEM"] = "Sell Other Item (Shift+Click Item In Bag)" L["ITEM_TAG_ERR"] = "Item Tags Must Only Be Made Up Of Letters And Numbers." L["POPUP_REMOVE_ITEM"] = "Are You Sure You Wish To Remove The Selected Item From The Auto Sell: Items List?" L["ADD_TO_LIST"] = "Adds Item To List" @@ -580,7 +585,7 @@ L["PVP_FOLLOW_ERR"] = "Can Not Follow You, I Am Engaged In PvP Combat" L["AUTO_BUY_ITEMS"] = "Auto Buy Items" L["OVERFLOW"] = "Overflow" L["REMOVE_VENDER_LIST"] = "Remove From Vendor List" -L["ITEM_DROP"] = "Item (DRAG ITEM TO BOX)" +L["ITEM_DROP"] = "Item (Shift+Click Item In Bag)" L["PURCHASE_ITEMS"] = "Auto Purchase Items" L["ADD_ITEM"] = "Add Item" L["AMOUNT"] = "Amount" diff --git a/Media/Sounds/desktop.ini b/Media/Sounds/desktop.ini deleted file mode 100644 index d957fd1..0000000 --- a/Media/Sounds/desktop.ini +++ /dev/null @@ -1,4 +0,0 @@ -[ViewState] -Mode= -Vid= -FolderType=Generic diff --git a/Modules/Guild.lua b/Modules/Guild.lua index 6cc9206..1c9c8e9 100644 --- a/Modules/Guild.lua +++ b/Modules/Guild.lua @@ -178,6 +178,7 @@ end -- Called when the addon is enabled. function EMA:OnEnable() EMA:RegisterEvent( "GUILDBANKFRAME_OPENED" ) + EMA:RawHook( "ContainerFrameItemButton_OnModifiedClick", true) EMA:RegisterMessage( EMAApi.MESSAGE_MESSAGE_AREAS_CHANGED, "OnMessageAreasChanged" ) EMA:RegisterMessage( EMAApi.GROUP_LIST_CHANGED , "OnGroupAreasChanged" ) -- Update DropDownList @@ -504,6 +505,7 @@ function EMA:SettingsGuildItemsAddClick( event ) if EMA.autoGuildItemLink ~= nil and EMA.autoGuildBankTab ~= nil and EMA.db.guildTagName ~= nil then EMA:AddItem( EMA.autoGuildItemLink, EMA.autoGuildBankTab, EMA.db.guildTagName, EMA.db.blackListItem ) EMA.autoGuildItemLink = nil + EMA.settingsControl.GuildItemsEditBoxGuildItem:SetText( "" ) EMA:SettingsRefresh() end end @@ -723,6 +725,48 @@ end -- Guild functionality. ------------------------------------------------------------------------------------------------------------- +function EMA:ContainerFrameItemButton_OnClick(self, event, ... ) + --EMA:Print("tester") + if EMAPrivate.SettingsFrame.Widget:IsVisible() == true then + local GUIPanel = EMAPrivate.SettingsFrame.TreeGroupStatus.selected + local currentModule = string.find(GUIPanel, EMA.moduleDisplayName) + --EMA:Print("test2", GUIPanel, "vs", currentModule ) + if currentModule ~= nil then + local itemID, itemLink = GameTooltip:GetItem() + --EMA:Print("test1", itemID, itemLink ) + if itemLink ~= nil then + EMA.settingsControl.GuildItemsEditBoxGuildItem:SetText( itemLink ) + EMA.autoGuildItemLink = itemLink + end + else + return EMA.hooks["ContainerFrameItemButton_OnClick"]( self, event, ... ) + end + else + return EMA.hooks["ContainerFrameItemButton_OnClick"]( self, event, ... ) + end +end + +function EMA:ContainerFrameItemButton_OnModifiedClick( self, event, ... ) + local isConfigOpen = EMAPrivate.SettingsFrame.Widget:IsVisible() + if isConfigOpen == true and IsShiftKeyDown() == true then + local GUIPanel = EMAPrivate.SettingsFrame.TreeGroupStatus.selected + local currentModule = string.find(GUIPanel, EMA.moduleDisplayName) + --EMA:Print("test2", GUIPanel, "vs", currentModule ) + if currentModule ~= nil then + local itemID, itemLink = GameTooltip:GetItem() + --EMA:Print("test1", itemID, itemLink ) + if itemLink ~= nil then + EMA.settingsControl.GuildItemsEditBoxGuildItem:SetText( "" ) + EMA.settingsControl.GuildItemsEditBoxGuildItem:SetText( itemLink ) + EMA.autoGuildItemLink = itemLink + return + end + end + end + return EMA.hooks["ContainerFrameItemButton_OnModifiedClick"]( self, event, ... ) +end + + function EMA:GetGuildItemsMaxPosition() if EMA.db.globalGuildList == true then return #EMA.db.global.autoGuildItemsListGlobal diff --git a/Modules/Information.lua b/Modules/Information.lua index d41e940..b2e167e 100644 --- a/Modules/Information.lua +++ b/Modules/Information.lua @@ -89,7 +89,8 @@ EMA.currTypes.WarSupplies = 1587 EMA.currTypes.SeventhLegionService = 1717 EMA.currTypes.HonorboundService = 1716 EMA.currTypes.TitanResiduum = 1718 - +--8.2 +EMA.currTypes.PrismaticManapearl = 1721 -------------------------------------- End of edit -------------------------------------------------------------- diff --git a/Modules/Mail.lua b/Modules/Mail.lua index b4e6dff..f9aeecd 100644 --- a/Modules/Mail.lua +++ b/Modules/Mail.lua @@ -162,6 +162,7 @@ function EMA:OnEnable() EMA:RegisterEvent( "MAIL_SHOW" ) EMA:RegisterEvent( "MAIL_CLOSED" ) EMA:RegisterEvent( "MAIL_SEND_SUCCESS") + EMA:RawHook( "ContainerFrameItemButton_OnModifiedClick", true) EMA:RegisterMessage( EMAApi.MESSAGE_MESSAGE_AREAS_CHANGED, "OnMessageAreasChanged" ) EMA:RegisterMessage( EMAApi.GROUP_LIST_CHANGED , "OnGroupAreasChanged" ) end @@ -512,6 +513,7 @@ function EMA:SettingsMailItemsAddClick( event ) if EMA.autoMailItemLink ~= nil and EMA.autoMailToonName ~= nil and EMA.db.MailTagName ~= nil then EMA:AddItem( EMA.autoMailItemLink, EMA.autoMailToonName, EMA.db.MailTagName, EMA.db.blackListItem ) EMA.autoMailItemLink = nil + EMA.settingsControl.MailItemsEditBoxMailItem:SetText( "" ) EMA:SettingsRefresh() end end @@ -757,6 +759,28 @@ end -- Mail functionality. ------------------------------------------------------------------------------------------------------------- +function EMA:ContainerFrameItemButton_OnModifiedClick( self, event, ... ) + local isConfigOpen = EMAPrivate.SettingsFrame.Widget:IsVisible() + if isConfigOpen == true and IsShiftKeyDown() == true then + local GUIPanel = EMAPrivate.SettingsFrame.TreeGroupStatus.selected + local currentModule = string.find(GUIPanel, EMA.moduleDisplayName) + --EMA:Print("test2", GUIPanel, "vs", currentModule ) + if currentModule ~= nil then + local itemID, itemLink = GameTooltip:GetItem() + --EMA:Print("test1", itemID, itemLink ) + if itemLink ~= nil then + EMA.settingsControl.MailItemsEditBoxMailItem:SetText( "" ) + EMA.settingsControl.MailItemsEditBoxMailItem:SetText( itemLink ) + EMA.autoMailItemLink = itemLink + return + end + end + end + return EMA.hooks["ContainerFrameItemButton_OnModifiedClick"]( self, event, ... ) +end + + + function EMA:GetMailItemsMaxPosition() if EMA.db.globalMailList == true then return #EMA.db.global.autoMailItemsListGlobal @@ -914,7 +938,7 @@ function EMA:MAIL_SEND_SUCCESS( event, ... ) --EMA:Print("try sendMail Again") if EMA.db.showEMAMailWindow == true then if EMA.ShiftkeyDown == false and EMA.Count < 1 then - EMA:ScheduleTimer( "AddAllToMailBox", 1, nil ) + EMA:ScheduleTimer( "AddAllToMailBox", 1.55, nil ) end end if EMA.db.adjustMoneyWithMail == true and EMA.db.showEMAMailWindow == true then @@ -927,7 +951,6 @@ function EMA:DoSendMail( gold ) for iterateMailSlots = 1, ATTACHMENTS_MAX_SEND do if HasSendMailItem( iterateMailSlots ) == true or gold == true then --EMA:Print("canSend") - --SendMailFrame_SendMail() SendMailMailButton:Click() EMA.Count = 0 break @@ -970,7 +993,7 @@ function EMA:AddGoldToMailBox() end end else - EMA:Print("[PH] Can Only Mail From BlizzardUI Mail Frame!") + EMA:Print("[PH] Can Only Send Mail From BlizzardUI Mail Frame!") end end end \ No newline at end of file diff --git a/Modules/Purchase.lua b/Modules/Purchase.lua index f278180..697cb84 100644 --- a/Modules/Purchase.lua +++ b/Modules/Purchase.lua @@ -15,7 +15,8 @@ local EMA = LibStub( "AceAddon-3.0" ):NewAddon( "Purchase", "Module-1.0", "AceConsole-3.0", - "AceEvent-3.0" + "AceEvent-3.0", + "AceHook-3.0" ) -- Load libraries. @@ -470,6 +471,7 @@ end -- Called when the addon is enabled. function EMA:OnEnable() EMA:RegisterEvent( "MERCHANT_SHOW" ) + EMA:RawHook( "ContainerFrameItemButton_OnModifiedClick", true) EMA:RegisterMessage( EMAApi.MESSAGE_MESSAGE_AREAS_CHANGED, "OnMessageAreasChanged" ) EMA:RegisterMessage( EMAApi.GROUP_LIST_CHANGED , "OnGroupAreasChanged" ) end @@ -479,9 +481,29 @@ function EMA:OnDisable() end ------------------------------------------------------------------------------------------------------------- --- EMAPurchase functionality. +-- Purchase functionality. ------------------------------------------------------------------------------------------------------------- +function EMA:ContainerFrameItemButton_OnModifiedClick( self, event, ... ) + local isConfigOpen = EMAPrivate.SettingsFrame.Widget:IsVisible() + if isConfigOpen == true and IsShiftKeyDown() == true then + local GUIPanel = EMAPrivate.SettingsFrame.TreeGroupStatus.selected + local currentModule = string.find(GUIPanel, EMA.moduleDisplayName) + --EMA:Print("test2", GUIPanel, "vs", currentModule ) + if currentModule ~= nil then + local itemID, itemLink = GameTooltip:GetItem() + --EMA:Print("test1", itemID, itemLink ) + if itemLink ~= nil then + EMA.settingsControl.editBoxItem:SetText( "" ) + EMA.settingsControl.editBoxItem:SetText( itemLink ) + EMA.autoBuyItemLink = itemLink + return + end + end + end + return EMA.hooks["ContainerFrameItemButton_OnModifiedClick"]( self, event, ... ) +end + function EMA:GetItemsMaxPosition() if EMA.db.globalBuyList == true then return #EMA.db.global.autoBuyItemsListGlobal diff --git a/Modules/Sell.lua b/Modules/Sell.lua index 413f21d..80ea5ed 100644 --- a/Modules/Sell.lua +++ b/Modules/Sell.lua @@ -752,6 +752,7 @@ end function EMA:SettingslistAddClick( event ) + EMA:Print("test", EMA.autoSellOtherItemLink, EMA.autoSellOtherItemTag ) if EMA.autoSellOtherItemLink ~= nil and EMA.autoSellOtherItemTag ~= nil then EMA:AddOther( EMA.autoSellOtherItemLink, EMA.autoSellOtherItemTag, EMA.db.blackListItem, EMA.db.destroyItem ) EMA.autoSellOtherItemLink = nil @@ -832,6 +833,22 @@ function EMA:ContainerFrameItemButton_OnModifiedClick( self, event, ... ) local texture, count, locked, quality, readable, lootable, link = GetContainerItemInfo( bag, slot ) EMA:EMASendCommandToTeam( EMA.COMMAND_SELL_ITEM, link ) end + local isConfigOpen = EMAPrivate.SettingsFrame.Widget:IsVisible() + if isConfigOpen == true and IsShiftKeyDown() == true then + local GUIPanel = EMAPrivate.SettingsFrame.TreeGroupStatus.selected + local currentModule = string.find(GUIPanel, EMA.moduleDisplayName) + --EMA:Print("test2", GUIPanel, "vs", currentModule ) + if currentModule ~= nil then + local itemID, itemLink = GameTooltip:GetItem() + --EMA:Print("test1", itemID, itemLink ) + if itemLink ~= nil then + EMA.settingsControl.listEditBoxOtherItem:SetText( "" ) + EMA.settingsControl.listEditBoxOtherItem:SetText( itemLink ) + EMA.autoSellOtherItemLink = itemLink + return + end + end + end return EMA.hooks["ContainerFrameItemButton_OnModifiedClick"]( self, event, ... ) end diff --git a/Modules/Trade.lua b/Modules/Trade.lua index dcd7166..d15cdb1 100644 --- a/Modules/Trade.lua +++ b/Modules/Trade.lua @@ -154,6 +154,7 @@ end function EMA:OnEnable() EMA:RegisterEvent( "TRADE_SHOW" ) EMA:RegisterEvent( "TRADE_CLOSED" ) -- Unsued but we keep it for now! + EMA:RawHook( "ContainerFrameItemButton_OnModifiedClick", true) EMA:RegisterMessage( EMAApi.MESSAGE_MESSAGE_AREAS_CHANGED, "OnMessageAreasChanged" ) EMA:RegisterMessage( EMAApi.GROUP_LIST_CHANGED , "OnGroupAreasChanged" ) end @@ -274,7 +275,6 @@ function EMA:SettingsCreateTrade( top ) movingTop, L["ITEM_DROP"] ) - --EMA.settingsControl.tradeItemsEditBoxTradeItem:SetCallback( "OnTextChanged", EMA.SettingsEditBoxChangedTradeItem ) EMA.settingsControl.tradeItemsEditBoxTradeItem:SetCallback( "OnEnterPressed", EMA.SettingsEditBoxChangedTradeItem ) movingTop = movingTop - editBoxHeight EMA.settingsControl.listCheckBoxBoxOtherBlackListItem = EMAHelperSettings:CreateCheckBox( @@ -629,6 +629,27 @@ end -- Trade functionality. ------------------------------------------------------------------------------------------------------------- +function EMA:ContainerFrameItemButton_OnModifiedClick( self, event, ... ) + local isConfigOpen = EMAPrivate.SettingsFrame.Widget:IsVisible() + if isConfigOpen == true and IsShiftKeyDown() == true then + local GUIPanel = EMAPrivate.SettingsFrame.TreeGroupStatus.selected + local currentModule = string.find(GUIPanel, EMA.moduleDisplayName) + --EMA:Print("test2", GUIPanel, "vs", currentModule ) + if currentModule ~= nil then + local itemID, itemLink = GameTooltip:GetItem() + --EMA:Print("test1", itemID, itemLink ) + if itemLink ~= nil then + EMA.settingsControl.tradeItemsEditBoxTradeItem:SetText( "" ) + EMA.settingsControl.tradeItemsEditBoxTradeItem:SetText( itemLink ) + EMA.autoTradeItemLink = itemLink + return + end + end + end + return EMA.hooks["ContainerFrameItemButton_OnModifiedClick"]( self, event, ... ) +end + + -- New Trade stuff function EMA:GetTradeItemsMaxPosition() if EMA.db.globalTradeList == true then @@ -680,11 +701,15 @@ end function EMA:TRADE_SHOW( event, ... ) --Keep for tradeing gold! if EMA.db.adjustMoneyWithMasterOnTrade == true then - EMA:ScheduleTimer( "TradeShowAdjustMoneyWithMaster", 0.3 ) + if not IsShiftKeyDown() then + EMA:ScheduleTimer( "TradeShowAdjustMoneyWithMaster", 0.3 ) + end end -- do trade list with Gold! if EMA.db.showEMATradeWindow == true then - EMA:ScheduleTimer("TradeAllItems", 0.5 ) + if not IsShiftKeyDown() then + EMA:ScheduleTimer("TradeAllItems", 0.5 ) + end end end