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
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
|
|
|