You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

75 lines
2.0 KiB

local L = LibStub("AceLocale-3.0"):GetLocale("Rarity", false)
local CopyPastePopup = { editBoxText = "", instructionText = "" }
function CopyPastePopup:OnLoad()
self:ConfigureStaticPopUp()
local instructionText = L["Use CTRL+C to copy and CTRL+V to paste"]
if IsMacClient() then
instructionText = L["Use CMD+C to copy and CMD+V to paste"]
end
self:SetInstructionText(instructionText)
end
function CopyPastePopup:ConfigureStaticPopUp()
local popup = StaticPopupDialogs["RarityCopyPastePopup"]
function self.ShowPopupDialogWithEditBox(msg, text, callback, timeout)
if not popup then
popup = {
button1 = L["Close Window"],
timeout = timeout,
showAlert = false,
whileDead = true,
hideOnEscape = true,
enterClicksFirstButton = true,
hasEditBox = true,
OnAccept = function(frame)
if popup.callback then
popup.callback(frame.editBox:GetText())
end
end,
}
StaticPopupDialogs["RarityCopyPastePopup"] = popup
end
popup.OnShow = function(frame, data)
frame.editBox:SetText(text)
frame.editBox:SetJustifyH("CENTER")
frame.editBox:SetWidth(240)
frame.editBox:HighlightText()
end
popup.text = msg or L["Use CTRL+C to copy and CTRL+V to paste"]
popup.callback = callback
StaticPopup_Hide("RarityCopyPastePopup")
StaticPopup_Show("RarityCopyPastePopup")
end
end
function CopyPastePopup:SetEditBoxText(text)
text = text or ""
self.editBoxText = text
end
function CopyPastePopup:SetInstructionText(text)
text = text or ""
self.instructionText = text
end
function CopyPastePopup:Show()
self.ShowPopupDialogWithEditBox(
self.instructionText,
self.editBoxText,
function(frame)
-- OnCloseCallback? (or at least it's triggered when you click OK)
end,
nil -- autoCloseTimeoutInMilliseconds
)
local popup = StaticPopupDialogs["RarityCopyPastePopup"] or self.popup
self.popup = popup
-- self:Hide()
StaticPopup_Show(self.name)
end
CopyPastePopup:OnLoad()
Rarity.CopyPastePopup = CopyPastePopup