- New Feature: import and export profiles.
- Major improvements on bar text scripts. - Improved import and export custom skins. - Fixed shaman's sundering spell not showing in crowd control. - Fixed sharing guild statistics. - More spells added to spell consolidation: Whirlwind, Fracture, Mutilate. - Monk Mistweaver Blackout Kick now has a indicator when it comes from passive 'Teachings of the Monastery'. - Added slash command '/details debugwindow' for cases when the window isn't shown or are anchored in the wrong place. - Exposed spell ignore table, you can now add spells to be ignored using Details.SpellsToIgnore [spellID] = true.
This commit is contained in:
@@ -277,8 +277,10 @@ function DF:CreateCoolTip()
|
||||
tinsert (UISpecialFrames, "GameCooltipFrame1")
|
||||
DF:CreateFlashAnimation (frame1)
|
||||
|
||||
--removing the border makes the cooltip much more clear
|
||||
if (DF.CreateBorder) then
|
||||
DF:CreateBorder (frame1, .3, .1, .03)
|
||||
frame1:SetBorderAlpha (0, 0, 0)
|
||||
end
|
||||
else
|
||||
frame1 = GameCooltipFrame1
|
||||
@@ -303,8 +305,10 @@ function DF:CreateCoolTip()
|
||||
DF:CreateFlashAnimation (frame2)
|
||||
frame2:SetClampedToScreen (true)
|
||||
|
||||
--removing the border makes the cooltip much more clear
|
||||
if (DF.CreateBorder) then
|
||||
DF:CreateBorder (frame2, .3, .1, .03)
|
||||
frame2:SetBorderAlpha (0, 0, 0)
|
||||
end
|
||||
else
|
||||
frame2 = GameCooltipFrame2
|
||||
@@ -2711,6 +2715,14 @@ function DF:CreateCoolTip()
|
||||
f:SetBackdropBorderColor (r, g, b, a)
|
||||
end
|
||||
|
||||
--[=[
|
||||
f:SetBackdrop (nil)
|
||||
|
||||
f.framebackgroundCenter:SetTexture (nil)
|
||||
f.framebackgroundLeft:SetTexture (nil)
|
||||
f.framebackgroundRight:SetTexture (nil)
|
||||
f.frameWallpaper:SetTexture (nil)
|
||||
--]=]
|
||||
end
|
||||
|
||||
function CoolTip:SetBannerImage (index, texturepath, width, height, anchor, texcoord, overlay)
|
||||
|
||||
+7
-1
@@ -1,5 +1,5 @@
|
||||
|
||||
local dversion = 117
|
||||
local dversion = 121
|
||||
local major, minor = "DetailsFramework-1.0", dversion
|
||||
local DF, oldminor = LibStub:NewLibrary (major, minor)
|
||||
|
||||
@@ -20,6 +20,11 @@ local string_match = string.match
|
||||
SMALL_NUMBER = 0.000001
|
||||
ALPHA_BLEND_AMOUNT = 0.8400251
|
||||
|
||||
DF.AuthorInfo = {
|
||||
Name = "Tercioo",
|
||||
Discord = "https://discord.gg/AGSzAZX",
|
||||
}
|
||||
|
||||
--> will always give a very random name for our widgets
|
||||
local init_counter = math.random (1, 1000000)
|
||||
|
||||
@@ -2688,5 +2693,6 @@ function DF:GetCLEncounterIDs()
|
||||
return DF.CLEncounterID
|
||||
end
|
||||
|
||||
|
||||
--doo elsee
|
||||
--was doing double loops due to not enought height
|
||||
|
||||
+65
-9
@@ -3808,13 +3808,19 @@ function DF:CreateTabContainer (parent, title, frame_name, frame_list, options_t
|
||||
DF.TabContainerFunctions.CreateUnderlineGlow (tabButton)
|
||||
|
||||
local right_click_to_back
|
||||
if (i == 1) then
|
||||
if (i == 1 or options_table.rightbutton_always_close) then
|
||||
right_click_to_back = DF:CreateLabel (f, "right click to close", 10, "gray")
|
||||
right_click_to_back:SetPoint ("bottomright", f, "bottomright", -1, options_table.right_click_y or 0)
|
||||
if (options_table.close_text_alpha) then
|
||||
right_click_to_back:SetAlpha (options_table.close_text_alpha)
|
||||
end
|
||||
f.IsFrontPage = true
|
||||
else
|
||||
right_click_to_back = DF:CreateLabel (f, "right click to go back to main menu", 10, "gray")
|
||||
right_click_to_back:SetPoint ("bottomright", f, "bottomright", -1, options_table.right_click_y or 0)
|
||||
if (options_table.close_text_alpha) then
|
||||
right_click_to_back:SetAlpha (options_table.close_text_alpha)
|
||||
end
|
||||
end
|
||||
|
||||
if (options_table.hide_click_label) then
|
||||
@@ -4948,9 +4954,13 @@ DF.IconRowFunctions = {
|
||||
local newIconFrame = CreateFrame ("frame", "$parentIcon" .. self.NextIcon, self)
|
||||
newIconFrame:SetSize (self.options.icon_width, self.options.icon_height)
|
||||
|
||||
newIconFrame.Texture = newIconFrame:CreateTexture (nil, "background")
|
||||
newIconFrame.Texture = newIconFrame:CreateTexture (nil, "artwork")
|
||||
newIconFrame.Texture:SetAllPoints()
|
||||
|
||||
newIconFrame.Border = newIconFrame:CreateTexture (nil, "background")
|
||||
newIconFrame.Border:SetAllPoints()
|
||||
newIconFrame.Border:SetColorTexture (0, 0, 0)
|
||||
|
||||
newIconFrame:SetBackdrop ({edgeFile = [[Interface\Buttons\WHITE8X8]], edgeSize = 1})
|
||||
newIconFrame:SetBackdropBorderColor (0, 0, 0, 0)
|
||||
newIconFrame:EnableMouse (false)
|
||||
@@ -6325,11 +6335,11 @@ DF.DataScrollFunctions = {
|
||||
local parent = line:GetParent()
|
||||
|
||||
if (parent.options.show_title) then
|
||||
line.Title.text = data [1] or ""
|
||||
line.Date.text = data [2] or ""
|
||||
line.Text.text = data [3] or ""
|
||||
line.Title.text = data [2] or ""
|
||||
line.Date.text = data [3] or ""
|
||||
line.Text.text = data [4] or ""
|
||||
else
|
||||
line.Text.text = data [1] or ""
|
||||
line.Text.text = data [2] or ""
|
||||
end
|
||||
end,
|
||||
}
|
||||
@@ -6415,6 +6425,24 @@ DF.NewsFrameFunctions = {
|
||||
|
||||
}
|
||||
|
||||
--[=[
|
||||
Get the amount of news that the player didn't see yet
|
||||
@newsTable = an indexed table of tables
|
||||
@lastNewsTime = last time the player opened the news window
|
||||
--]=]
|
||||
function DF:GetNumNews (newsTable, lastNewsTime)
|
||||
local now = time()
|
||||
local nonReadNews = 0
|
||||
|
||||
for _, news in ipairs (newsTable) do
|
||||
if (news[1] > lastNewsTime) then
|
||||
nonReadNews = nonReadNews + 1
|
||||
end
|
||||
end
|
||||
|
||||
return nonReadNews
|
||||
end
|
||||
|
||||
--[=[
|
||||
Creates a panel with a scroll to show texts organized in separated lines
|
||||
@parent = the parent of the frame
|
||||
@@ -6424,7 +6452,7 @@ DF.NewsFrameFunctions = {
|
||||
@db = (optional) an empty table from the addon database to store the position of the frame between game sessions
|
||||
--]=]
|
||||
function DF:CreateNewsFrame (parent, name, options, newsTable, db)
|
||||
|
||||
|
||||
local f = DF:CreateSimplePanel (parent, 400, 700, options and options.title or default_newsframe_options.title, name, {UseScaleBar = db and true}, db)
|
||||
f:SetFrameStrata ("MEDIUM")
|
||||
DF:ApplyStandardBackdrop (f)
|
||||
@@ -6433,12 +6461,12 @@ function DF:CreateNewsFrame (parent, name, options, newsTable, db)
|
||||
DF:Mixin (f, DF.LayoutFrame)
|
||||
|
||||
f:BuildOptionsTable (default_newsframe_options, options)
|
||||
|
||||
|
||||
f:SetSize (f.options.width, f.options.height)
|
||||
f:SetBackdrop (f.options.backdrop)
|
||||
f:SetBackdropColor (unpack (f.options.backdrop_color))
|
||||
f:SetBackdropBorderColor (unpack (f.options.backdrop_border_color))
|
||||
|
||||
|
||||
local scrollOptions = {
|
||||
data = newsTable,
|
||||
width = f.options.width - 32, --frame distance from walls and scroll bar space
|
||||
@@ -6460,7 +6488,35 @@ end
|
||||
|
||||
|
||||
|
||||
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
--> statusbar info
|
||||
|
||||
function DF:BuildStatusbarAuthorInfo (f)
|
||||
|
||||
local authorName = DF:CreateLabel (f, "An addon by |cFFFFFFFFTercioo|r")
|
||||
authorName.textcolor = "silver"
|
||||
local discordLabel = DF:CreateLabel (f, "Discord: ")
|
||||
discordLabel.textcolor = "silver"
|
||||
|
||||
local options_dropdown_template = DF:GetTemplate ("dropdown", "OPTIONS_DROPDOWN_TEMPLATE")
|
||||
local discordTextEntry = DF:CreateTextEntry (f, function()end, 200, 18, "DiscordTextBox", _, _, options_dropdown_template)
|
||||
discordTextEntry:SetText ("https://discord.gg/AGSzAZX")
|
||||
discordTextEntry:SetFrameLevel (5000)
|
||||
|
||||
authorName:SetPoint ("left", f, "left", 2, 0)
|
||||
discordLabel:SetPoint ("left", authorName, "right", 20, 0)
|
||||
discordTextEntry:SetPoint ("left", discordLabel, "right", 2, 0)
|
||||
|
||||
--format
|
||||
authorName:SetAlpha (.4)
|
||||
discordLabel:SetAlpha (.4)
|
||||
discordTextEntry:SetAlpha (.4)
|
||||
discordTextEntry:SetBackdropBorderColor (1, 1, 1, 0)
|
||||
|
||||
discordTextEntry:SetHook ("OnEditFocusGained", function()
|
||||
discordTextEntry:HighlightText()
|
||||
end)
|
||||
end
|
||||
|
||||
|
||||
|
||||
|
||||
+8
-11
@@ -127,18 +127,14 @@ local ImageMetaFunctions = _G [DF.GlobalWidgetControlNames ["image"]]
|
||||
end
|
||||
--> color
|
||||
local smember_color = function (_object, _value)
|
||||
if (type (_value) == "table") then
|
||||
local r, g, b, a = DF:ParseColors (_value)
|
||||
_object.image:SetTexture (r,g,b, a or 1)
|
||||
else
|
||||
if (DF:IsHtmlColor (_value)) then
|
||||
local r, g, b, a = DF:ParseColors (_value)
|
||||
_object.image:SetTexture (r, g, b, a or 1)
|
||||
else
|
||||
_object.image:SetTexture (_value)
|
||||
end
|
||||
end
|
||||
local r, g, b, a = DF:ParseColors (_value)
|
||||
_object.image:SetColorTexture (r, g, b, a or 1)
|
||||
end
|
||||
--> vertex color
|
||||
local smember_vertexcolor = function (_object, _value)
|
||||
local r, g, b, a = DF:ParseColors (_value)
|
||||
_object.image:SetVertexColor (r, g, b, a or 1)
|
||||
end
|
||||
--> desaturated
|
||||
local smember_desaturated = function (_object, _value)
|
||||
if (_value) then
|
||||
@@ -165,6 +161,7 @@ local ImageMetaFunctions = _G [DF.GlobalWidgetControlNames ["image"]]
|
||||
ImageMetaFunctions.SetMembers ["texture"] = smember_texture
|
||||
ImageMetaFunctions.SetMembers ["texcoord"] = smember_texcoord
|
||||
ImageMetaFunctions.SetMembers ["color"] = smember_color
|
||||
ImageMetaFunctions.SetMembers ["vertexcolor"] = smember_vertexcolor
|
||||
ImageMetaFunctions.SetMembers ["blackwhite"] = smember_desaturated
|
||||
|
||||
ImageMetaFunctions.__newindex = function (_table, _key, _value)
|
||||
|
||||
Reference in New Issue
Block a user