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.
243 lines
9.1 KiB
243 lines
9.1 KiB
local AS, L, S, R = unpack(AddOnSkins)
|
|
|
|
local _G = _G
|
|
local next, unpack = next, unpack
|
|
|
|
local CLASS_SORT_ORDER = CLASS_SORT_ORDER
|
|
local CLASS_ICON_TCOORDS = CLASS_ICON_TCOORDS
|
|
local hooksecurefunc = hooksecurefunc
|
|
|
|
local function SkinContainer(frame, container)
|
|
S:Kill(frame.NineSlice)
|
|
|
|
local child = container or frame.scrollFrame
|
|
if child and not child.backdrop then
|
|
S:CreateBackdrop(child)
|
|
end
|
|
end
|
|
|
|
local function StripClassTextures(button, class)
|
|
local tcoords = CLASS_ICON_TCOORDS[class]
|
|
button:SetTexCoord(tcoords[1] + .022, tcoords[2] - .025, tcoords[3] + .022, tcoords[4] - .025)
|
|
end
|
|
|
|
local function HandleEventIcon(icon)
|
|
S:Size(icon, 54)
|
|
icon:ClearAllPoints()
|
|
S:Point(icon, 'TOPLEFT', _G.CalendarViewEventFrame.HeaderFrame, 'TOPLEFT', 15, -20)
|
|
S:CreateBackdrop(icon, nil, nil, nil, nil, nil, nil, nil, nil, true)
|
|
icon:SetTexCoord(unpack(S.Media.TexCoords))
|
|
icon.SetTexCoord = S.noop
|
|
end
|
|
|
|
function R:Blizzard_Calendar()
|
|
if not AS:IsSkinEnabled('Blizzard_Calendar', 'calendar') then return end
|
|
|
|
local CalendarFrame = _G.CalendarFrame
|
|
CalendarFrame:DisableDrawLayer('BORDER')
|
|
S:CreateBackdrop(CalendarFrame)
|
|
|
|
S:HandleCloseButton(_G.CalendarCloseButton)
|
|
S:Point(_G.CalendarCloseButton, 'TOPRIGHT', CalendarFrame, 'TOPRIGHT', -4, -4)
|
|
|
|
for i = 1, 7 do
|
|
_G['CalendarWeekday'..i..'Background']:SetAlpha(0)
|
|
end
|
|
|
|
SkinContainer(_G.CalendarViewEventInviteList)
|
|
SkinContainer(_G.CalendarCreateEventInviteList)
|
|
SkinContainer(_G.CalendarViewEventDescriptionContainer, _G.CalendarViewEventDescriptionScrollFrame)
|
|
SkinContainer(_G.CalendarCreateEventDescriptionContainer, _G.CalendarCreateEventDescriptionScrollFrame)
|
|
|
|
_G.CalendarCreateEventFrameButtonBackground:Hide()
|
|
_G.CalendarCreateEventMassInviteButtonBorder:Hide()
|
|
_G.CalendarCreateEventCreateButtonBorder:Hide()
|
|
_G.CalendarEventPickerFrameButtonBackground:Hide()
|
|
_G.CalendarEventPickerCloseButtonBorder:Hide()
|
|
_G.CalendarCreateEventRaidInviteButtonBorder:Hide()
|
|
_G.CalendarMonthBackground:SetAlpha(0)
|
|
_G.CalendarYearBackground:SetAlpha(0)
|
|
_G.CalendarFrameModalOverlay:SetAlpha(.25)
|
|
_G.CalendarTexturePickerFrameButtonBackground:Hide()
|
|
_G.CalendarTexturePickerAcceptButtonBorder:Hide()
|
|
_G.CalendarTexturePickerCancelButtonBorder:Hide()
|
|
_G.CalendarClassTotalsButtonBackgroundTop:Hide()
|
|
_G.CalendarClassTotalsButtonBackgroundMiddle:Hide()
|
|
_G.CalendarClassTotalsButtonBackgroundBottom:Hide()
|
|
_G.CalendarFilterFrameLeft:Hide()
|
|
_G.CalendarFilterFrameMiddle:Hide()
|
|
_G.CalendarFilterFrameRight:Hide()
|
|
_G.CalendarViewEventDivider:Hide()
|
|
_G.CalendarCreateEventDivider:Hide()
|
|
|
|
S:HandleNextPrevButton(_G.CalendarPrevMonthButton, nil, nil, true)
|
|
S:HandleNextPrevButton(_G.CalendarNextMonthButton, nil, nil, true)
|
|
|
|
S:StripTextures(_G.CalendarFilterFrame)
|
|
S:Width(_G.CalendarFilterFrame, 155)
|
|
|
|
_G.CalendarFilterFrameText:ClearAllPoints()
|
|
S:Point(_G.CalendarFilterFrameText, 'RIGHT', _G.CalendarFilterButton, 'LEFT', -2, 0)
|
|
|
|
_G.CalendarFilterButton:ClearAllPoints()
|
|
S:Point(_G.CalendarFilterButton, 'RIGHT', _G.CalendarFilterFrame, 'RIGHT', -10, 3)
|
|
_G.CalendarFilterButton.SetPoint = S.noop
|
|
|
|
S:HandleNextPrevButton(_G.CalendarFilterButton)
|
|
|
|
S:CreateBackdrop(_G.CalendarFilterFrame)
|
|
S:Point(_G.CalendarFilterFrame.backdrop, 'TOPLEFT', 20, 2)
|
|
S:Point(_G.CalendarFilterFrame.backdrop, 'BOTTOMRIGHT', _G.CalendarFilterButton, 'BOTTOMRIGHT', 2, -2)
|
|
|
|
S:SetTemplate(_G.CalendarContextMenu.NineSlice)
|
|
S:SetTemplate(_G.CalendarInviteStatusContextMenu.NineSlice)
|
|
|
|
--Boost frame levels
|
|
for i = 1, 42 do
|
|
_G['CalendarDayButton'..i..'DarkFrame']:SetAlpha(.5)
|
|
local bu = _G['CalendarDayButton'..i]
|
|
|
|
if not AS:CheckOption('Parchment') then
|
|
bu:DisableDrawLayer('BACKGROUND') -- This would remove the 'Parchement'
|
|
end
|
|
|
|
S:SetTemplate(bu, nil, nil, nil, true)
|
|
bu:SetBackdropColor(0,0,0,0)
|
|
bu:SetHighlightTexture(S.Media.Blank)
|
|
bu:SetFrameLevel(bu:GetFrameLevel() + 1)
|
|
|
|
local hl = bu:GetHighlightTexture()
|
|
hl:SetVertexColor(1, 1, 1, 0.3)
|
|
S:Point(hl, 'TOPLEFT', -1, 1)
|
|
S:Point(hl, 'BOTTOMRIGHT')
|
|
hl.SetAlpha = S.noop
|
|
end
|
|
|
|
_G.CalendarWeekdaySelectedTexture:SetDesaturated(true)
|
|
_G.CalendarWeekdaySelectedTexture:SetVertexColor(1, 1, 1, 0.6)
|
|
|
|
_G.CalendarTodayTexture:Hide()
|
|
_G.CalendarTodayTextureGlow:Hide()
|
|
|
|
S:SetTemplate(_G.CalendarTodayFrame)
|
|
_G.CalendarTodayFrame:SetBackdropBorderColor(_G.NORMAL_FONT_COLOR:GetRGB())
|
|
_G.CalendarTodayFrame:SetBackdropColor(0,0,0,0)
|
|
_G.CalendarTodayFrame:SetScript('OnUpdate', nil)
|
|
|
|
hooksecurefunc('CalendarFrame_SetToday', function()
|
|
_G.CalendarTodayFrame:SetAllPoints()
|
|
end)
|
|
|
|
--CreateEventFrame
|
|
S:HandleFrame(_G.CalendarCreateEventFrame)
|
|
S:Point(_G.CalendarCreateEventFrame, 'TOPLEFT', CalendarFrame, 'TOPRIGHT', 3, -24)
|
|
S:StripTextures(_G.CalendarCreateEventFrame.Header)
|
|
S:HandleTrimScrollBar(_G.CalendarCreateEventInviteList.ScrollBar)
|
|
|
|
S:HandleButton(_G.CalendarCreateEventCreateButton, true)
|
|
S:HandleButton(_G.CalendarCreateEventMassInviteButton, true)
|
|
S:HandleButton(_G.CalendarCreateEventInviteButton, true)
|
|
S:Point(_G.CalendarCreateEventInviteButton, 'TOPLEFT', _G.CalendarCreateEventInviteEdit, 'TOPRIGHT', 4, 1)
|
|
S:Width(_G.CalendarCreateEventInviteEdit, _G.CalendarCreateEventInviteEdit:GetWidth() - 2)
|
|
|
|
S:HandleEditBox(_G.CalendarCreateEventInviteEdit)
|
|
S:HandleEditBox(_G.CalendarCreateEventTitleEdit)
|
|
S:HandleDropDownBox(_G.CalendarCreateEventTypeDropDown, 120)
|
|
S:HandleDropDownBox(_G.CalendarCreateEventCommunityDropDown, 240)
|
|
|
|
S:HandleCloseButton(_G.CalendarCreateEventCloseButton)
|
|
S:HandleCheckBox(_G.CalendarCreateEventLockEventCheck)
|
|
|
|
S:HandleDropDownBox(_G.CalendarCreateEventHourDropDown, 75)
|
|
S:HandleDropDownBox(_G.CalendarCreateEventMinuteDropDown, 75)
|
|
S:HandleDropDownBox(_G.CalendarCreateEventAMPMDropDown, 75)
|
|
S:HandleDropDownBox(_G.CalendarCreateEventDifficultyOptionDropDown)
|
|
|
|
_G.CalendarViewEventTitle:ClearAllPoints()
|
|
S:Point(_G.CalendarViewEventTitle, 'TOPLEFT', _G.CalendarViewEventIcon, 'TOPRIGHT', 5, 0)
|
|
HandleEventIcon(_G.CalendarViewEventIcon)
|
|
|
|
_G.CalendarCreateEventDateLabel:ClearAllPoints()
|
|
S:Point(_G.CalendarCreateEventDateLabel, 'TOPLEFT', _G.CalendarCreateEventIcon, 'TOPRIGHT', 5, 0)
|
|
HandleEventIcon(_G.CalendarCreateEventIcon)
|
|
|
|
S:Point(_G.CalendarClassButton1, 'TOPLEFT', _G.CalendarClassButtonContainer, 'TOPLEFT', E.PixelMode and 3 or 5, 0)
|
|
|
|
local lastClassButton
|
|
for i, class in next, CLASS_SORT_ORDER do
|
|
local button = _G['CalendarClassButton'..i]
|
|
local count = _G['CalendarClassButton'..i..'Count']
|
|
StripClassTextures(button:GetNormalTexture(), class)
|
|
button:GetRegions():Hide()
|
|
S:SetTemplate(button)
|
|
S:Size(button, 28)
|
|
|
|
S:FontTemplate(count)
|
|
count:ClearAllPoints()
|
|
S:Point(count, 'BOTTOMRIGHT', 0, 1)
|
|
|
|
if lastClassButton then
|
|
button:ClearAllPoints()
|
|
S:Point(button, 'TOPLEFT', lastClassButton, 'BOTTOMLEFT', 0, -8)
|
|
end
|
|
|
|
lastClassButton = button
|
|
end
|
|
|
|
S:handleFrame(_G.CalendarClassTotalsButton)
|
|
S:Size(_G.CalendarClassTotalsButton, 28, 18)
|
|
|
|
--Texture Picker Frame
|
|
S:HandleFrame(_G.CalendarTexturePickerFrame)
|
|
_G.CalendarTexturePickerFrame.Header:StripTextures()
|
|
|
|
S:HandleButton(_G.CalendarTexturePickerAcceptButton, true)
|
|
S:HandleButton(_G.CalendarTexturePickerCancelButton, true)
|
|
S:HandleButton(_G.CalendarCreateEventInviteButton, true)
|
|
S:HandleButton(_G.CalendarCreateEventRaidInviteButton, true)
|
|
|
|
--Mass Invite Frame
|
|
S:HandleFrame(_G.CalendarMassInviteFrame)
|
|
S:StripTextures(_G.CalendarMassInviteFrame.Header)
|
|
S:HandleDropDownBox(_G.CalendarMassInviteCommunityDropDown, 200)
|
|
S:HandleDropDownBox(_G.CalendarMassInviteRankMenu)
|
|
S:HandleEditBox(_G.CalendarMassInviteMinLevelEdit)
|
|
S:HandleEditBox(_G.CalendarMassInviteMaxLevelEdit)
|
|
S:HandleCloseButton(_G.CalendarMassInviteCloseButton)
|
|
S:HandleButton(_G.CalendarMassInviteAcceptButton)
|
|
|
|
--Raid View
|
|
S:HandleFrame(_G.CalendarViewRaidFrame)
|
|
S:Point(_G.CalendarViewRaidFrame, 'TOPLEFT', CalendarFrame, 'TOPRIGHT', 3, -24)
|
|
S:StripTextures(_G.CalendarViewRaidFrame.Header)
|
|
S:HandleCloseButton(_G.CalendarViewRaidCloseButton)
|
|
|
|
--Holiday View
|
|
S:StripTextures(_G.CalendarViewHolidayFrame, true)
|
|
S:SetTemplate(_G.CalendarViewHolidayFrame)
|
|
S:Point(_G.CalendarViewHolidayFrame, 'TOPLEFT', CalendarFrame, 'TOPRIGHT', 3, -24)
|
|
S:StripTextures(_G.CalendarViewHolidayFrame.Header)
|
|
_G.CalendarViewHolidayFrameModalOverlay:SetAlpha(0)
|
|
S:HandleCloseButton(_G.CalendarViewHolidayCloseButton)
|
|
|
|
-- Event View
|
|
S:HandleFrame(_G.CalendarViewEventFrame)
|
|
S:Point(_G.CalendarViewEventFrame, 'TOPLEFT', CalendarFrame, 'TOPRIGHT', 3, -24)
|
|
S:StripTextures(_G.CalendarViewEventFrame.Header)
|
|
S:StripTextures(_G.CalendarViewEventInviteListSection)
|
|
|
|
S:HandleCloseButton(_G.CalendarViewEventCloseButton)
|
|
S:HandleButton(_G.CalendarViewEventAcceptButton)
|
|
S:HandleButton(_G.CalendarViewEventTentativeButton)
|
|
S:HandleButton(_G.CalendarViewEventRemoveButton)
|
|
S:HandleButton(_G.CalendarViewEventDeclineButton)
|
|
|
|
--Event Picker Frame
|
|
S:HandleFrame(_G.CalendarEventPickerFrame)
|
|
S:StripTextures(_G.CalendarEventPickerFrame.Header)
|
|
|
|
S:HandleTrimScrollBar(_G.CalendarEventPickerFrame.ScrollBar)
|
|
S:HandleButton(_G.CalendarEventPickerCloseButton, true)
|
|
end
|
|
|
|
AS:RegisterSkin('Blizzard_Calendar', nil, 'ADDON_LOADED')
|
|
|