- RaidCheck (plugin): added an option to be able to use the report panel.

- You Are Not Prepared (plugin): added Auto Close the window, can be disabled through its options panel.
- Vanguard (plugin): Added Options Panel.
- Details! is now using 'LibWindow-1.1' to save and restore the positioning of the windows, bug might appear, please report if something weird happen.
- Improved specialization detection in order to try detect spec changes.
- Added options to change the brackets and the separator for dps/percent block.
- Added options for show (or hide) totals, dps and percent amount.
- Added Segments shortcut menu pressing Shift + Right click.
- Fixed positioning after reopen a window previously closed on last logon.
- Fixed enemies display where sometimes the bars were black instead of red.
- Fixed few places where spec icons wasn't being used on.
- Fixed avoidance panel on Player Details Window where sometimes was giving errors.
- Fixed priest shadow and holy detection.
- Fixed blood and unholy spec icons.
- Fixed an issue with 'Always Show me' feature where it was showing the player on Enemies display.
This commit is contained in:
Tercio
2015-01-26 01:56:13 -02:00
parent c8bac7b98e
commit 48bf435ef4
6 changed files with 263 additions and 124 deletions
+61 -63
View File
@@ -209,8 +209,10 @@
end
--------------------------------------------------------------------------------------------------------
--> LibWindow-1.1
--this is the restore function from Libs\LibWindow-1.1\LibWindow-1.1.lua we can't schedule and we save it inside the instance without frame references.
--> LibWindow-1.1 by Mikk http://www.wowace.com/profiles/mikk/
--> this is the restore function from Libs\LibWindow-1.1\LibWindow-1.1.lua.
--> we can't schedule a new save after restoring, we save it inside the instance without frame references and always attach to UIparent.
function _detalhes:RestoreLibWindow()
local frame = self.baseframe
if (frame) then
@@ -241,8 +243,7 @@
--> Details: using UIParent always in order to not break the positioning when using AddonSkin with ElvUI.
if not point then -- we have position, but no point, which probably means we're going from data stored by the addon itself before LibWindow was added to it. It was PROBABLY topleft->bottomleft anchored. Most do it that way.
--frame:SetPoint("TOPLEFT", frame:GetParent(), "BOTTOMLEFT", x, y)
frame:SetPoint("TOPLEFT", UIParent, "BOTTOMLEFT", x, y)
frame:SetPoint("TOPLEFT", UIParent, "BOTTOMLEFT", x, y) --frame:SetPoint("TOPLEFT", frame:GetParent(), "BOTTOMLEFT", x, y)
-- make it compute a better attachpoint (on next update)
--_detalhes:ScheduleTimer ("SaveLibWindow", 0.05, self)
return
@@ -254,66 +255,62 @@
end
end
--> LibWindow-1.1
--this is the save function from Libs\LibWindow-1.1\LibWindow-1.1.lua, we save it inside the instance without frame references.
function _detalhes:SaveLibWindow()
local frame = self.baseframe
if (frame) then
local left = frame:GetLeft()
if (not left) then
return _detalhes:ScheduleTimer ("SaveLibWindow", 0.05, self)
end
--tinsert (_detalhes.resize_debug, #_detalhes.resize_debug+1, "SAVING 1: " .. (self.libwindow.x or 0))
--> LibWindow-1.1 ----------------
--local parent = frame:GetParent() or nilParent
--> Details: we are always using UIParent here or the addon is broken when using AddonSkins for ElvUI.
local parent = UIParent
-- No, this won't work very well with frames that aren't parented to nil or UIParent
local s = frame:GetScale()
local left,top = frame:GetLeft()*s, frame:GetTop()*s
local right,bottom = frame:GetRight()*s, frame:GetBottom()*s
local pwidth, pheight = parent:GetWidth(), parent:GetHeight()
local x,y,point;
if left < (pwidth-right) and left < abs((left+right)/2 - pwidth/2) then
x = left;
point="LEFT";
elseif (pwidth-right) < abs((left+right)/2 - pwidth/2) then
x = right-pwidth;
point="RIGHT";
else
x = (left+right)/2 - pwidth/2;
point="";
end
if bottom < (pheight-top) and bottom < abs((bottom+top)/2 - pheight/2) then
y = bottom;
point="BOTTOM"..point;
elseif (pheight-top) < abs((bottom+top)/2 - pheight/2) then
y = top-pheight;
point="TOP"..point;
else
y = (bottom+top)/2 - pheight/2;
-- point=""..point;
end
if point=="" then
point = "CENTER"
end
----------------------------------------
self.libwindow.x = x
self.libwindow.y = y
self.libwindow.point = point
self.libwindow.scale = scale
--tinsert (_detalhes.resize_debug, #_detalhes.resize_debug+1, "SAVING 2: " .. (self.libwindow.x or 0))
end
end
--> LibWindow-1.1 by Mikk http://www.wowace.com/profiles/mikk/
--> this is the save function from Libs\LibWindow-1.1\LibWindow-1.1.lua.
--> we need to make it save inside the instance object without frame references and also we must always use UIParent due to embed settings for ElvUI and LUI.
function _detalhes:SaveLibWindow()
local frame = self.baseframe
if (frame) then
local left = frame:GetLeft()
if (not left) then
return _detalhes:ScheduleTimer ("SaveLibWindow", 0.05, self)
end
--> Details: we are always using UIParent here or the addon break when using Embeds.
local parent = UIParent --local parent = frame:GetParent() or nilParent
-- No, this won't work very well with frames that aren't parented to nil or UIParent
local s = frame:GetScale()
local left,top = frame:GetLeft()*s, frame:GetTop()*s
local right,bottom = frame:GetRight()*s, frame:GetBottom()*s
local pwidth, pheight = parent:GetWidth(), parent:GetHeight()
local x,y,point;
if left < (pwidth-right) and left < abs((left+right)/2 - pwidth/2) then
x = left;
point="LEFT";
elseif (pwidth-right) < abs((left+right)/2 - pwidth/2) then
x = right-pwidth;
point="RIGHT";
else
x = (left+right)/2 - pwidth/2;
point="";
end
if bottom < (pheight-top) and bottom < abs((bottom+top)/2 - pheight/2) then
y = bottom;
point="BOTTOM"..point;
elseif (pheight-top) < abs((bottom+top)/2 - pheight/2) then
y = top-pheight;
point="TOP"..point;
else
y = (bottom+top)/2 - pheight/2;
-- point=""..point;
end
if point=="" then
point = "CENTER"
end
----------------------------------------
--> save inside the instance object
self.libwindow.x = x
self.libwindow.y = y
self.libwindow.point = point
self.libwindow.scale = scale
end
end
--> end for libwindow-1.1
--------------------------------------------------------------------------------------------------------
function _detalhes:SaveMainWindowSize()
@@ -435,6 +432,7 @@
function _detalhes:RestoreMainWindowPosition (pre_defined)
if (not pre_defined and self.libwindow.x and self.mostrando == "normal") then
--if (not true and not pre_defined and self.libwindow.x and self.mostrando == "normal") then
local s = self.window_scale
self.baseframe:SetScale (s)
self.rowframe:SetScale (s)