diff --git a/SVUI_!Core/setup/installer.lua b/SVUI_!Core/setup/installer.lua
index c2a58d8..41aee50 100644
--- a/SVUI_!Core/setup/installer.lua
+++ b/SVUI_!Core/setup/installer.lua
@@ -270,123 +270,127 @@ end
function SV.Setup:ChatConfigs(mungs)
forceCVars()
- for i=1, NUM_CHAT_WINDOWS do
- local chatFrame = _G["ChatFrame"..i];
- if(chatFrame) then
- chatFrame.isUninteractable = false;
- chatFrame:SetMovable(true);
+ if(SV.Chat) then
+ SV.Chat:ResetChatWindows()
+ else
+ for i=1, NUM_CHAT_WINDOWS do
+ local chatFrame = _G["ChatFrame"..i];
+ if(chatFrame) then
+ chatFrame.isUninteractable = false;
+ chatFrame:SetMovable(true);
+ end
end
- end
- FCF_ResetChatWindows()
- FCF_SetLocked(ChatFrame1, true)
- FCF_SetLocked(ChatFrame2, true)
- FCF_OpenNewWindow(LOOT)
- FCF_SetLocked(ChatFrame3, true)
-
- for i = 1, NUM_CHAT_WINDOWS do
- local chat = _G["ChatFrame"..i]
- local chatID = chat:GetID()
- if i == 1 and SV.Chat then
- chat:ClearAllPoints()
- chat:SetAllPoints(SV.Chat.Dock);
- end
- FCF_SavePositionAndDimensions(chat)
- FCF_StopDragging(chat)
- FCF_SetChatWindowFontSize(nil, chat, 12)
- if i == 1 then
- FCF_SetWindowName(chat, GENERAL)
- elseif i == 2 then
- FCF_SetWindowName(chat, GUILD_EVENT_LOG)
- elseif i == 3 then
- FCF_SetWindowName(chat, LOOT)
+ FCF_ResetChatWindows()
+ FCF_SetLocked(ChatFrame1, true)
+ FCF_SetLocked(ChatFrame2, true)
+ FCF_OpenNewWindow(LOOT)
+ FCF_SetLocked(ChatFrame3, true)
+
+ for i = 1, NUM_CHAT_WINDOWS do
+ local chat = _G["ChatFrame"..i]
+ local chatID = chat:GetID()
+ if i == 1 and SV.Chat then
+ chat:ClearAllPoints()
+ chat:SetAllPoints(SV.Chat.Dock);
+ end
+ FCF_SavePositionAndDimensions(chat)
+ FCF_StopDragging(chat)
+ FCF_SetChatWindowFontSize(nil, chat, 12)
+ if i == 1 then
+ FCF_SetWindowName(chat, GENERAL)
+ elseif i == 2 then
+ FCF_SetWindowName(chat, GUILD_EVENT_LOG)
+ elseif i == 3 then
+ FCF_SetWindowName(chat, LOOT)
+ end
end
+
+ ChatFrame_RemoveAllMessageGroups(ChatFrame1)
+ ChatFrame_AddMessageGroup(ChatFrame1, "SAY")
+ ChatFrame_AddMessageGroup(ChatFrame1, "EMOTE")
+ ChatFrame_AddMessageGroup(ChatFrame1, "YELL")
+ ChatFrame_AddMessageGroup(ChatFrame1, "GUILD")
+ ChatFrame_AddMessageGroup(ChatFrame1, "OFFICER")
+ ChatFrame_AddMessageGroup(ChatFrame1, "GUILD_ACHIEVEMENT")
+ ChatFrame_AddMessageGroup(ChatFrame1, "WHISPER")
+ ChatFrame_AddMessageGroup(ChatFrame1, "MONSTER_SAY")
+ ChatFrame_AddMessageGroup(ChatFrame1, "MONSTER_EMOTE")
+ ChatFrame_AddMessageGroup(ChatFrame1, "MONSTER_YELL")
+ ChatFrame_AddMessageGroup(ChatFrame1, "MONSTER_BOSS_EMOTE")
+ ChatFrame_AddMessageGroup(ChatFrame1, "PARTY")
+ ChatFrame_AddMessageGroup(ChatFrame1, "PARTY_LEADER")
+ ChatFrame_AddMessageGroup(ChatFrame1, "RAID")
+ ChatFrame_AddMessageGroup(ChatFrame1, "RAID_LEADER")
+ ChatFrame_AddMessageGroup(ChatFrame1, "RAID_WARNING")
+ ChatFrame_AddMessageGroup(ChatFrame1, "INSTANCE_CHAT")
+ ChatFrame_AddMessageGroup(ChatFrame1, "INSTANCE_CHAT_LEADER")
+ ChatFrame_AddMessageGroup(ChatFrame1, "BATTLEGROUND")
+ ChatFrame_AddMessageGroup(ChatFrame1, "BATTLEGROUND_LEADER")
+ ChatFrame_AddMessageGroup(ChatFrame1, "BG_HORDE")
+ ChatFrame_AddMessageGroup(ChatFrame1, "BG_ALLIANCE")
+ ChatFrame_AddMessageGroup(ChatFrame1, "BG_NEUTRAL")
+ ChatFrame_AddMessageGroup(ChatFrame1, "SYSTEM")
+ ChatFrame_AddMessageGroup(ChatFrame1, "ERRORS")
+ ChatFrame_AddMessageGroup(ChatFrame1, "AFK")
+ ChatFrame_AddMessageGroup(ChatFrame1, "DND")
+ ChatFrame_AddMessageGroup(ChatFrame1, "IGNORED")
+ ChatFrame_AddMessageGroup(ChatFrame1, "ACHIEVEMENT")
+ ChatFrame_AddMessageGroup(ChatFrame1, "BN_WHISPER")
+ ChatFrame_AddMessageGroup(ChatFrame1, "BN_CONVERSATION")
+ ChatFrame_AddMessageGroup(ChatFrame1, "BN_INLINE_TOAST_ALERT")
+ ChatFrame_AddMessageGroup(ChatFrame1, "COMBAT_FACTION_CHANGE")
+ ChatFrame_AddMessageGroup(ChatFrame1, "SKILL")
+ ChatFrame_AddMessageGroup(ChatFrame1, "LOOT")
+ ChatFrame_AddMessageGroup(ChatFrame1, "MONEY")
+ ChatFrame_AddMessageGroup(ChatFrame1, "COMBAT_XP_GAIN")
+ ChatFrame_AddMessageGroup(ChatFrame1, "COMBAT_HONOR_GAIN")
+ ChatFrame_AddMessageGroup(ChatFrame1, "COMBAT_GUILD_XP_GAIN")
+
+ ChatFrame_RemoveAllMessageGroups(ChatFrame3)
+ ChatFrame_AddMessageGroup(ChatFrame3, "COMBAT_FACTION_CHANGE")
+ ChatFrame_AddMessageGroup(ChatFrame3, "SKILL")
+ ChatFrame_AddMessageGroup(ChatFrame3, "LOOT")
+ ChatFrame_AddMessageGroup(ChatFrame3, "MONEY")
+ ChatFrame_AddMessageGroup(ChatFrame3, "COMBAT_XP_GAIN")
+ ChatFrame_AddMessageGroup(ChatFrame3, "COMBAT_HONOR_GAIN")
+ ChatFrame_AddMessageGroup(ChatFrame3, "COMBAT_GUILD_XP_GAIN")
+
+ ChatFrame_AddChannel(ChatFrame1, GENERAL)
+
+ ToggleChatColorNamesByClassGroup(true, "SAY")
+ ToggleChatColorNamesByClassGroup(true, "EMOTE")
+ ToggleChatColorNamesByClassGroup(true, "YELL")
+ ToggleChatColorNamesByClassGroup(true, "GUILD")
+ ToggleChatColorNamesByClassGroup(true, "OFFICER")
+ ToggleChatColorNamesByClassGroup(true, "GUILD_ACHIEVEMENT")
+ ToggleChatColorNamesByClassGroup(true, "ACHIEVEMENT")
+ ToggleChatColorNamesByClassGroup(true, "WHISPER")
+ ToggleChatColorNamesByClassGroup(true, "PARTY")
+ ToggleChatColorNamesByClassGroup(true, "PARTY_LEADER")
+ ToggleChatColorNamesByClassGroup(true, "RAID")
+ ToggleChatColorNamesByClassGroup(true, "RAID_LEADER")
+ ToggleChatColorNamesByClassGroup(true, "RAID_WARNING")
+ ToggleChatColorNamesByClassGroup(true, "BATTLEGROUND")
+ ToggleChatColorNamesByClassGroup(true, "BATTLEGROUND_LEADER")
+ ToggleChatColorNamesByClassGroup(true, "INSTANCE_CHAT")
+ ToggleChatColorNamesByClassGroup(true, "INSTANCE_CHAT_LEADER")
+ ToggleChatColorNamesByClassGroup(true, "CHANNEL1")
+ ToggleChatColorNamesByClassGroup(true, "CHANNEL2")
+ ToggleChatColorNamesByClassGroup(true, "CHANNEL3")
+ ToggleChatColorNamesByClassGroup(true, "CHANNEL4")
+ ToggleChatColorNamesByClassGroup(true, "CHANNEL5")
+ ToggleChatColorNamesByClassGroup(true, "CHANNEL6")
+ ToggleChatColorNamesByClassGroup(true, "CHANNEL7")
+ ToggleChatColorNamesByClassGroup(true, "CHANNEL8")
+ ToggleChatColorNamesByClassGroup(true, "CHANNEL9")
+ ToggleChatColorNamesByClassGroup(true, "CHANNEL10")
+ ToggleChatColorNamesByClassGroup(true, "CHANNEL11")
+
+ ChangeChatColor("CHANNEL1", 195 / 255, 230 / 255, 232 / 255)
+ ChangeChatColor("CHANNEL2", 232 / 255, 158 / 255, 121 / 255)
+ ChangeChatColor("CHANNEL3", 232 / 255, 228 / 255, 121 / 255)
end
-
- ChatFrame_RemoveAllMessageGroups(ChatFrame1)
- ChatFrame_AddMessageGroup(ChatFrame1, "SAY")
- ChatFrame_AddMessageGroup(ChatFrame1, "EMOTE")
- ChatFrame_AddMessageGroup(ChatFrame1, "YELL")
- ChatFrame_AddMessageGroup(ChatFrame1, "GUILD")
- ChatFrame_AddMessageGroup(ChatFrame1, "OFFICER")
- ChatFrame_AddMessageGroup(ChatFrame1, "GUILD_ACHIEVEMENT")
- ChatFrame_AddMessageGroup(ChatFrame1, "WHISPER")
- ChatFrame_AddMessageGroup(ChatFrame1, "MONSTER_SAY")
- ChatFrame_AddMessageGroup(ChatFrame1, "MONSTER_EMOTE")
- ChatFrame_AddMessageGroup(ChatFrame1, "MONSTER_YELL")
- ChatFrame_AddMessageGroup(ChatFrame1, "MONSTER_BOSS_EMOTE")
- ChatFrame_AddMessageGroup(ChatFrame1, "PARTY")
- ChatFrame_AddMessageGroup(ChatFrame1, "PARTY_LEADER")
- ChatFrame_AddMessageGroup(ChatFrame1, "RAID")
- ChatFrame_AddMessageGroup(ChatFrame1, "RAID_LEADER")
- ChatFrame_AddMessageGroup(ChatFrame1, "RAID_WARNING")
- ChatFrame_AddMessageGroup(ChatFrame1, "INSTANCE_CHAT")
- ChatFrame_AddMessageGroup(ChatFrame1, "INSTANCE_CHAT_LEADER")
- ChatFrame_AddMessageGroup(ChatFrame1, "BATTLEGROUND")
- ChatFrame_AddMessageGroup(ChatFrame1, "BATTLEGROUND_LEADER")
- ChatFrame_AddMessageGroup(ChatFrame1, "BG_HORDE")
- ChatFrame_AddMessageGroup(ChatFrame1, "BG_ALLIANCE")
- ChatFrame_AddMessageGroup(ChatFrame1, "BG_NEUTRAL")
- ChatFrame_AddMessageGroup(ChatFrame1, "SYSTEM")
- ChatFrame_AddMessageGroup(ChatFrame1, "ERRORS")
- ChatFrame_AddMessageGroup(ChatFrame1, "AFK")
- ChatFrame_AddMessageGroup(ChatFrame1, "DND")
- ChatFrame_AddMessageGroup(ChatFrame1, "IGNORED")
- ChatFrame_AddMessageGroup(ChatFrame1, "ACHIEVEMENT")
- ChatFrame_AddMessageGroup(ChatFrame1, "BN_WHISPER")
- ChatFrame_AddMessageGroup(ChatFrame1, "BN_CONVERSATION")
- ChatFrame_AddMessageGroup(ChatFrame1, "BN_INLINE_TOAST_ALERT")
- ChatFrame_AddMessageGroup(ChatFrame1, "COMBAT_FACTION_CHANGE")
- ChatFrame_AddMessageGroup(ChatFrame1, "SKILL")
- ChatFrame_AddMessageGroup(ChatFrame1, "LOOT")
- ChatFrame_AddMessageGroup(ChatFrame1, "MONEY")
- ChatFrame_AddMessageGroup(ChatFrame1, "COMBAT_XP_GAIN")
- ChatFrame_AddMessageGroup(ChatFrame1, "COMBAT_HONOR_GAIN")
- ChatFrame_AddMessageGroup(ChatFrame1, "COMBAT_GUILD_XP_GAIN")
-
- ChatFrame_RemoveAllMessageGroups(ChatFrame3)
- ChatFrame_AddMessageGroup(ChatFrame3, "COMBAT_FACTION_CHANGE")
- ChatFrame_AddMessageGroup(ChatFrame3, "SKILL")
- ChatFrame_AddMessageGroup(ChatFrame3, "LOOT")
- ChatFrame_AddMessageGroup(ChatFrame3, "MONEY")
- ChatFrame_AddMessageGroup(ChatFrame3, "COMBAT_XP_GAIN")
- ChatFrame_AddMessageGroup(ChatFrame3, "COMBAT_HONOR_GAIN")
- ChatFrame_AddMessageGroup(ChatFrame3, "COMBAT_GUILD_XP_GAIN")
-
- ChatFrame_AddChannel(ChatFrame1, GENERAL)
-
- ToggleChatColorNamesByClassGroup(true, "SAY")
- ToggleChatColorNamesByClassGroup(true, "EMOTE")
- ToggleChatColorNamesByClassGroup(true, "YELL")
- ToggleChatColorNamesByClassGroup(true, "GUILD")
- ToggleChatColorNamesByClassGroup(true, "OFFICER")
- ToggleChatColorNamesByClassGroup(true, "GUILD_ACHIEVEMENT")
- ToggleChatColorNamesByClassGroup(true, "ACHIEVEMENT")
- ToggleChatColorNamesByClassGroup(true, "WHISPER")
- ToggleChatColorNamesByClassGroup(true, "PARTY")
- ToggleChatColorNamesByClassGroup(true, "PARTY_LEADER")
- ToggleChatColorNamesByClassGroup(true, "RAID")
- ToggleChatColorNamesByClassGroup(true, "RAID_LEADER")
- ToggleChatColorNamesByClassGroup(true, "RAID_WARNING")
- ToggleChatColorNamesByClassGroup(true, "BATTLEGROUND")
- ToggleChatColorNamesByClassGroup(true, "BATTLEGROUND_LEADER")
- ToggleChatColorNamesByClassGroup(true, "INSTANCE_CHAT")
- ToggleChatColorNamesByClassGroup(true, "INSTANCE_CHAT_LEADER")
- ToggleChatColorNamesByClassGroup(true, "CHANNEL1")
- ToggleChatColorNamesByClassGroup(true, "CHANNEL2")
- ToggleChatColorNamesByClassGroup(true, "CHANNEL3")
- ToggleChatColorNamesByClassGroup(true, "CHANNEL4")
- ToggleChatColorNamesByClassGroup(true, "CHANNEL5")
- ToggleChatColorNamesByClassGroup(true, "CHANNEL6")
- ToggleChatColorNamesByClassGroup(true, "CHANNEL7")
- ToggleChatColorNamesByClassGroup(true, "CHANNEL8")
- ToggleChatColorNamesByClassGroup(true, "CHANNEL9")
- ToggleChatColorNamesByClassGroup(true, "CHANNEL10")
- ToggleChatColorNamesByClassGroup(true, "CHANNEL11")
-
- ChangeChatColor("CHANNEL1", 195 / 255, 230 / 255, 232 / 255)
- ChangeChatColor("CHANNEL2", 232 / 255, 158 / 255, 121 / 255)
- ChangeChatColor("CHANNEL3", 232 / 255, 228 / 255, 121 / 255)
if not mungs then
if SV.Chat then
diff --git a/SVUI_!Core/system/dock.lua b/SVUI_!Core/system/dock.lua
index 9c0f44c..e004446 100644
--- a/SVUI_!Core/system/dock.lua
+++ b/SVUI_!Core/system/dock.lua
@@ -623,6 +623,16 @@ end
DRAGGING HIGHLIGHT FUNCTIONS
##########################################################
]]--
+local function UpdateAllLayouts()
+ for location, settings in pairs(DOCK_LOCATIONS) do
+ local dock = MOD[location];
+ local dockbar = dock.Bar;
+ if(dockbar) then
+ dockbar:Update()
+ end
+ end
+end
+
local function UpdateDividers(self)
local location = self.Data.Location;
local anchor = upper(location);
@@ -664,7 +674,7 @@ local function UpdateDividers(self)
end
else
afterTarget = true;
- offset = offset + (calcWidth + 2);
+ --offset = offset + (calcWidth + 2);
end
end
end
@@ -681,33 +691,25 @@ local HighLight_OnUpdate = function(self)
end
if(highlight:IsMouseOver(50, -50, -50, 50)) then
highlight:SetAlpha(1)
- local targeted = false;
for i = 1, #self.Data.Order do
local divider = self.Dividers[i]
if(divider) then
-
- if(divider:IsMouseOver(15, -10, -15, 10)) then
+ if(divider:IsMouseOver(35, -5, -35, 5)) then
highlight:SetAlpha(0.5)
- if((not divider.placeHolder) and (divider:GetAlpha() > 0)) then
- DRAG_ORDERINDEX = i
- else
- divider:SetAlpha(1)
- divider:SetWidth(divider.activeWidth)
- end
- elseif(divider.placeHolder) then
divider:SetAlpha(1)
divider:SetWidth(divider.activeWidth)
+ DRAG_ORDERINDEX = i
+ --print(DRAG_ORDERINDEX)
else
divider:SetAlpha(0)
divider:SetWidth(1)
end
end
end
- --print(DRAG_ORDERINDEX)
- UpdateDividers(self)
else
highlight:SetAlpha(0.2)
end
+ UpdateDividers(self)
end
local function GetDragToTarget()
@@ -716,11 +718,8 @@ local function GetDragToTarget()
local dockbar = dock.Bar;
if(dockbar and (dockbar.Highlight:IsMouseOver(50, -50, -50, 50))) then
local newLocation = dockbar.Data.Location;
- local newOrder = DRAG_ORDERINDEX;
- --print(newLocation)
- --print(newOrder)
- DRAG_ORDERINDEX = nil
- return newLocation, newOrder;
+ --print("Result: " .. DRAG_ORDERINDEX)
+ return newLocation, DRAG_ORDERINDEX;
end
end
end
@@ -740,17 +739,11 @@ local function ToggleBarHighlights(button)
dockbar.Dividers[i].activeWidth = button:GetWidth()
dockbar.Dividers[i]:SetAlpha(0)
dockbar.Dividers[i]:SetWidth(1)
- if(i == index) then
- dockbar.Dividers[i].placeHolder = true;
- dockbar.Dividers[i]:SetBackdropColor(0, 0, 0, 0.5)
- dockbar.Dividers[i]:SetBackdropBorderColor(0, 0, 0, 0.5)
- else
- dockbar.Dividers[i].placeHolder = nil;
- dockbar.Dividers[i]:SetBackdropColor(0, 0.5, 1, 1)
- dockbar.Dividers[i]:SetBackdropBorderColor(0, 1, 1, 1)
- end
+ dockbar.Dividers[i]:SetBackdropColor(0, 0.5, 1, 1)
+ dockbar.Dividers[i]:SetBackdropBorderColor(0, 1, 1, 1)
end
end
+ --UpdateDividers(dockbar);
else
dockbar.Highlight:Hide()
dockbar.Highlight:SetAlpha(0)
@@ -760,12 +753,10 @@ local function ToggleBarHighlights(button)
dockbar.Dividers[i].activeWidth = 1
dockbar.Dividers[i]:SetAlpha(0)
dockbar.Dividers[i]:SetWidth(1)
- dockbar.Dividers[i].placeHolder = nil;
dockbar.Dividers[i]:SetBackdropColor(0, 0.5, 1, 1)
dockbar.Dividers[i]:SetBackdropBorderColor(0, 1, 1, 1)
end
end
- dockbar:Update();
end
end
end
@@ -851,18 +842,14 @@ end
local function EnableDockletFloating(button)
if(button and button.FrameLink and button.CanFloat) then
- if(not button.isFloating) then
- button.isFloating = true;
- local location = "Floating";
- local name = button:GetName();
- MOD.private.Locations[name] = location;
- button.FrameLink:ClearAllPoints();
- button.FrameLink:SetPoint("BOTTOMLEFT", button, "TOPLEFT", -3, 6);
- button.FrameLink:SetResizable(true);
- button.FrameLink.resize:Show();
- else
-
- end
+ button.isFloating = true;
+ local location = "Floating";
+ local name = button:GetName();
+ MOD.private.Locations[name] = location;
+ button.FrameLink:ClearAllPoints();
+ button.FrameLink:SetPoint("BOTTOMLEFT", button, "TOPLEFT", -3, 6);
+ button.FrameLink:SetResizable(true);
+ button.FrameLink.resize:Show();
end
end
@@ -893,7 +880,7 @@ local function UpdateDockletFloating(button)
end
local function LoadFloatingDocklet(button)
- if(button and button.FrameLink) then
+ if(button and button.FrameLink and (not MOD.private.Disabled[button:GetName()])) then
local location = "Floating";
button:Show();
local name = button:GetName();
@@ -966,6 +953,26 @@ local DockBar_NextDefault = function(self)
SV.Events:Trigger("DOCKLET_LIST_EMPTY", location);
end
+local DockBar_UpdateOrder = function(self)
+ --print('DockBar_UpdateOrder')
+ wipe(ORDER_TEST);
+ wipe(self.Data.Order);
+ local location = self.Data.Location;
+ local safeIndex = 1;
+ for i = 1, #MOD.private.Order[location] do
+ local nextName = MOD.private.Order[location][i];
+ local nextButton = self.Data.Buttons[nextName];
+ if(nextButton) then
+ if(not ORDER_TEST[nextName]) then
+ ORDER_TEST[nextName] = true;
+ nextButton.OrderIndex = safeIndex;
+ self.Data.Order[safeIndex] = nextName;
+ safeIndex = safeIndex + 1;
+ end
+ end
+ end
+end
+
local DockBar_ChangeOrder = function(self, button, targetIndex)
--print('DockBar_ChangeOrder')
local location = self.Data.Location;
@@ -992,30 +999,10 @@ local DockBar_ChangeOrder = function(self, button, targetIndex)
local safeIndex = 1;
for i = 1, #ORDER_TEMP do
local nextName = ORDER_TEMP[i];
- MOD.private.Order[location][i] = nextName;
+ tinsert(MOD.private.Order[location], nextName);
end
- self:Update()
-end
-
-local DockBar_UpdateOrder = function(self)
- --print('DockBar_UpdateOrder')
- wipe(ORDER_TEST);
- wipe(self.Data.Order);
- local location = self.Data.Location;
- local safeIndex = 1;
- for i = 1, #MOD.private.Order[location] do
- local nextName = MOD.private.Order[location][i];
- local nextButton = self.Data.Buttons[nextName];
- if(nextButton) then
- if(not ORDER_TEST[nextName]) then
- ORDER_TEST[nextName] = true;
- nextButton.OrderIndex = safeIndex;
- self.Data.Order[safeIndex] = nextName;
- safeIndex = safeIndex + 1;
- end
- end
- end
+ DockBar_UpdateOrder(self);
end
local DockBar_CheckOrder = function(self, targetName)
@@ -1029,10 +1016,11 @@ local DockBar_CheckOrder = function(self, targetName)
if(not found) then
tinsert(MOD.private.Order[location], targetName);
end
+
+ DockBar_UpdateOrder(self);
end
local DockBar_UpdateLayout = function(self)
- DockBar_UpdateOrder(self);
local location = self.Data.Location;
local anchor = upper(location);
local mod = self.Data.Modifier
@@ -1054,15 +1042,18 @@ local DockBar_UpdateLayout = function(self)
divider:SetPoint(anchor, self.ToolBar, anchor, (offset * mod), 0);
offset = offset + (divider:GetWidth() + 2);
- nextButton:ClearAllPoints();
- nextButton:SetSize(calcWidth, size);
- nextButton:SetPoint(anchor, self.ToolBar, anchor, (offset * mod), 0);
- offset = offset + (calcWidth + 2);
-
+ if(not nextButton.isFloating) then
+ nextButton:ClearAllPoints();
+ nextButton:SetSize(calcWidth, size);
+ nextButton:SetPoint(anchor, self.ToolBar, anchor, (offset * mod), 0);
+ offset = offset + (calcWidth + 2);
+ nextButton.OrderIndex = safeIndex;
+ else
+ nextButton.OrderIndex = 0;
+ end
if(not nextButton:IsShown()) then
nextButton:Show();
end
- nextButton.OrderIndex = safeIndex;
safeIndex = safeIndex + 1;
end
end
@@ -1080,11 +1071,13 @@ local DockBar_UpdateLayout = function(self)
self.ToolBar:SetWidth(offset + size);
end
-local DockBar_AddButton = function(self, button, forced)
+local DockBar_AddButton = function(self, button, order)
if not button then return end
local name = button:GetName();
local currentLocation = self.Data.Location
- if(self.Data.Buttons[name] and (not forced)) then return end
+ if(MOD.private.Disabled[name]) then return end
+ order = order or 0;
+ --if(self.Data.Buttons[name] and (order == 0)) then return end
local registeredLocation = MOD.private.Locations[name];
@@ -1102,7 +1095,11 @@ local DockBar_AddButton = function(self, button, forced)
end
self.Data.Buttons[name] = button;
+ MOD.private.Disabled[name] = nil;
DockBar_CheckOrder(self, name);
+ if(order > 0) then
+ DockBar_ChangeOrder(self, button, order)
+ end
MOD.private.Locations[name] = currentLocation;
button.Parent = self;
@@ -1149,9 +1146,8 @@ local DockBar_RemoveButton = function(self, button, isMoving)
if(self.Data.Buttons[name]) then
button.OrderIndex = 0;
-
button:Hide()
-
+ MOD.private.Disabled[name] = currentLocation;
if(button.FrameLink) then
local frameName = button.FrameLink:GetName()
MOD.private.Locations[frameName] = nil;
@@ -1184,7 +1180,7 @@ local DockButton_OnDragStart = function(self)
self:SetMovable(true);
self:StartMoving();
ToggleBarHighlights(self);
- if(self.CanFloat and (not self.isFloating)) then
+ if(self.CanFloat) then
EnableDockletFloating(self)
end
end
@@ -1196,15 +1192,14 @@ local DockButton_OnDragStop = function(self)
local target, order = GetDragToTarget()
if(target) then
self:SetMovable(false);
- self:MoveTo(target);
- if(order) then
- DockBar_ChangeOrder(self.Parent, self, order)
- end
+ self:MoveTo(target, order);
elseif(self.isFloating) then
UpdateDockletFloating(self)
+ UpdateAllLayouts()
else
self:SetMovable(false);
self:MoveTo(MOD.private.Locations[self:GetName()]);
+ UpdateAllLayouts()
end
if(self.FrameLink and self.FrameLink.UpdateBackdrop) then
self.FrameLink:UpdateBackdrop()
@@ -1293,22 +1288,48 @@ local DockButton_OnPostClick = function(self, ...)
MOD.ButtonSound()
end
+local DockButton_IsEnabled = function(self)
+ local name = self:GetName()
+ if(MOD.private.Disabled[name]) then
+ return false;
+ end
+ return true;
+end
+
local DockButton_SetDocked = function(self, attach)
- if(not self.Parent) then return end
+ local name = self:GetName()
+ local lastKnownLocation = MOD.private.Disabled[name];
+ if((not self.Parent) and (not lastKnownLocation)) then return end
+ local parent = self.Parent;
if(attach) then
- if(not self.Parent.Add) then return end
- self.Parent:Add(self)
+ if(lastKnownLocation and MOD[lastKnownLocation]) then
+ parent = MOD[lastKnownLocation].Bar;
+ end
+ if(not parent.Add) then return end
+ MOD.private.Disabled[name] = nil;
+ parent:Add(self)
else
- if(not self.Parent.Remove) then return end
- self.Parent:Remove(self)
+ local lookup = MOD.private.Locations[name];
+ if(lookup and (lookup == "Floating")) then
+ self.OrderIndex = 0;
+ self:Hide()
+ MOD.private.Disabled[name] = currentLocation;
+ if(self.FrameLink) then
+ local frameName = self.FrameLink:GetName()
+ self.FrameLink:FadeOut(0.2, 1, 0, true);
+ end
+ elseif(parent.Remove) then
+ parent:Remove(self)
+ end
end
end
-local DockButton_MoveTo = function(self, location)
+local DockButton_MoveTo = function(self, location, order)
if(not MOD[location]) then return end
local previousLocation = MOD.private.Locations[self.LocationKey];
+ MOD.private.Disabled[self:GetName()] = nil;
DisableDockletFloating(self);
- MOD[location].Bar:Add(self, true);
+ MOD[location].Bar:Add(self, order);
SV.Events:Trigger("DOCKLET_LIST_DECREASED", previousLocation);
SV.Events:Trigger("DOCKLET_LIST_INCREASED", location);
SV.Events:Trigger("DOCKLET_MOVED", self.LocationKey);
@@ -1335,9 +1356,12 @@ local OptionMenu_ButtonFunc = function(self)
end
local OptionMenu_SliderFunc = function(self, value)
- local name = self:GetName();
- MOD.private.Opacity[name] = value;
- self:UpdateBackdrop();
+ local frame = self.FrameLink;
+ if(frame) then
+ local name = frame:GetName();
+ MOD.private.Opacity[name] = value;
+ frame:UpdateBackdrop();
+ end
end
local DockButton_ShowDockOptions = function(self)
@@ -1355,7 +1379,7 @@ local DockButton_ShowDockOptions = function(self)
local name = frame:GetName();
local current = MOD.private.Opacity[name];
tinsert(list, { title = "Backdrop Alpha", divider = true });
- tinsert(list, { range = {0,1}, target = frame, currentValue = current, func = OptionMenu_SliderFunc });
+ tinsert(list, { range = {0,1}, value = current, func = OptionMenu_SliderFunc });
end
local menuTitle = self:GetAttribute("tipText") or "Dock";
@@ -1405,6 +1429,7 @@ local DockBar_CreateButton = function(self, displayName, globalName, texture, ti
button.MoveTo = DockButton_MoveTo;
button.SetDocked = DockButton_SetDocked;
button.SetClickCallbacks = DockButton_SetClickCallbacks;
+ button.IsEnabled = DockButton_IsEnabled
if(tipFunction and type(tipFunction) == "function") then
button.GeneralTip = tipFunction
@@ -1553,6 +1578,17 @@ local Docklet_SetClickCallbacks = function(self, ...)
self.Button:SetClickCallbacks(...)
end
+local Docklet_SetDocked = function(self, ...)
+ if(not self.Button) then return end
+ self.Button:SetDocked(...)
+end
+
+local Docklet_IsEnabled = function(self)
+ if(not self.Button) then return end
+ local result = self.Button:IsEnabled()
+ return result;
+end
+
local Docklet_SetVisibilityCallbacks = function(self, onshow, onhide)
if(onshow and (type(onshow) == 'function')) then
self.PostShowCallback = onshow;
@@ -1575,6 +1611,11 @@ function MOD:NewDocklet(location, globalName, readableName, texture, onenter)
if(not newParent) then return end
local frame = _G[globalName] or CreateFrame("Frame", globalName, UIParent);
+
+ if(not self.private.Opacity[globalName]) then
+ self.private.Opacity[globalName] = 1;
+ end
+
frame:SetParent(newParent.Window);
frame:SetSize(newParent.Window:GetSize());
frame:SetAllPoints(newParent.Window);
@@ -1584,8 +1625,10 @@ function MOD:NewDocklet(location, globalName, readableName, texture, onenter)
frame.Bar = newParent.Bar;
frame.Disable = Docklet_Disable;
frame.Enable = Docklet_Enable;
+ frame.SetDocked = Docklet_SetDocked;
frame.Relocate = Docklet_Relocate;
frame.GetButtonSize = Docklet_ButtonSize;
+ frame.IsEnabled = Docklet_IsEnabled;
frame.SetClickCallbacks = Docklet_SetClickCallbacks;
frame.SetVisibilityCallbacks = Docklet_SetVisibilityCallbacks;
@@ -1745,6 +1788,7 @@ function MOD:Load()
if(not self.private.Locations) then self.private.Locations = {} end
if(not self.private.Floating) then self.private.Floating = {} end
if(not self.private.Opacity) then self.private.Opacity = {} end
+ if(not self.private.Disabled) then self.private.Disabled = {} end
if(self.private.DefaultDocklets) then
self.private.Active = copyTable(self.private.DefaultDocklets);
diff --git a/SVUI_!Core/system/dropdown.lua b/SVUI_!Core/system/dropdown.lua
index 54373d7..4c32adb 100644
--- a/SVUI_!Core/system/dropdown.lua
+++ b/SVUI_!Core/system/dropdown.lua
@@ -34,8 +34,9 @@ local twipe = _G.wipe;
--MATH
local math = _G.math;
local min = math.min;
-local floor = math.floor
-local ceil = math.ceil
+local floor = math.floor;
+local ceil = math.ceil;
+local parsefloat = math.parsefloat;
--BLIZZARD API
local InCombatLockdown = _G.InCombatLockdown;
local CreateFrame = _G.CreateFrame;
@@ -55,7 +56,9 @@ local DropdownButton_OnClick = function(self)
end
local DropdownSlider_OnValueChanged = function(self, value)
- self.func(self.target, value);
+ local result = parsefloat(value, 2)
+ self.Text:SetText(result);
+ self.func(self.target, result);
end
local DropdownButton_OnEnter = function(self)
@@ -126,6 +129,7 @@ function SV.Dropdown:Open(target, list, titleText)
end
local heightOffset = 50;
+ local heightPadded = false;
for i=1, #list do
if(not self.option[i]) then
@@ -168,7 +172,8 @@ function SV.Dropdown:Open(target, list, titleText)
--SVUI_DDSliderTemplate
-- SLIDER
self.option[i].slider = CreateFrame("Slider", nil, self.option[i], "SVUI_TinySliderTemplate");
- self.option[i].slider:SetAllPoints();
+ self.option[i].slider:SetPoint("TOPLEFT", self.option[i], "TOPLEFT", 0, -3);
+ self.option[i].slider:SetPoint("BOTTOMRIGHT", self.option[i], "BOTTOMRIGHT", 0, 3);
self.option[i].slider.Text:SetJustifyH("CENTER");
self.option[i].slider.Low:SetJustifyH("LEFT");
self.option[i].slider.High:SetJustifyH("RIGHT");
@@ -179,13 +184,12 @@ function SV.Dropdown:Open(target, list, titleText)
self.option[i].button:SetScript("OnClick", nil);
self.option[i].slider:SetScript("OnValueChanged", nil);
- local yOffset = 0;
-
+ local yOffset = heightPadded and 12 or 0;
if(list[i].range) then
- yOffset = -12;
- heightOffset = heightOffset + 12;
+ yOffset = 12;
local minRange, maxRange = list[i].range[1], list[i].range[2];
- local value = list[i].currentValue or 0;
+ local saved = list[i].value or 0;
+ local value = parsefloat(saved, 2)
self.option[i].button:Hide();
self.option[i].header:Hide();
self.option[i].slider:Show();
@@ -197,6 +201,7 @@ function SV.Dropdown:Open(target, list, titleText)
self.option[i].slider.Text:SetText(value);
self.option[i].slider.func = list[i].func;
self.option[i].slider:SetScript("OnValueChanged", DropdownSlider_OnValueChanged);
+ heightPadded = true;
else
if(list[i].title) then
self.option[i].button:Hide();
@@ -213,15 +218,18 @@ function SV.Dropdown:Open(target, list, titleText)
self.option[i].button.func = list[i].func;
self.option[i].button:SetScript("OnClick", DropdownButton_OnClick);
end
+ heightPadded = false;
end
+ heightOffset = heightOffset + yOffset;
+
if(i == 1) then
self.option[i]:SetPoint("TOPLEFT", self, "TOPLEFT", 10, -30)
elseif((i - 1) % maxPerColumn == 0) then
self.option[i]:SetPoint("TOPLEFT", self.option[i - maxPerColumn], "TOPRIGHT", 10, 0)
cols = cols + 1
else
- self.option[i]:SetPoint("TOPLEFT", self.option[i - 1], "BOTTOMLEFT", 0, yOffset)
+ self.option[i]:SetPoint("TOPLEFT", self.option[i - 1], "BOTTOMLEFT", 0, -yOffset)
end
end
diff --git a/SVUI_Chat/SVUI_Chat.lua b/SVUI_Chat/SVUI_Chat.lua
index c6554a6..6be6478 100644
--- a/SVUI_Chat/SVUI_Chat.lua
+++ b/SVUI_Chat/SVUI_Chat.lua
@@ -711,14 +711,14 @@ do
ScrollIndicator:SetPoint("BOTTOMRIGHT", chat, "BOTTOMRIGHT", 6, 0)
ChatDock_ExtendedOptions = function()
local t = {};
- local currentFontSize = SV.media.font.chatdialog.size;
+ local currentFontSize = SV.media.shared.font.chatdialog.size;
tinsert(t, { title = CHAT, divider = true });
tinsert(t, { text = RENAME_CHAT_WINDOW, func = function() CURRENT_CHAT_FRAME_ID = 1; FCF_RenameChatWindow_Popup(); end });
tinsert(t, { text = NEW_CHAT_WINDOW, func = function() CURRENT_CHAT_FRAME_ID = 1; SV:StaticPopup_Show("NEW_CHAT_DOCK"); end });
- tinsert(t, { text = RESET_ALL_WINDOWS, func = function() CURRENT_CHAT_FRAME_ID = 1; FCF_ResetAllWindows(); end });
+ tinsert(t, { text = RESET_ALL_WINDOWS, func = function() CURRENT_CHAT_FRAME_ID = 1; MOD:ResetChatWindows(); end });
tinsert(t, { text = CHAT_CONFIGURATION, func = function() CURRENT_CHAT_FRAME_ID = 1; ShowUIPanel(ChatConfigFrame); end });
tinsert(t, { title = FONT_SIZE, divider = true });
- tinsert(t, { range = {8,20}, target = chat, currentValue = currentFontSize, func = ChatDock_FontSizeSliderFunc });
+ tinsert(t, { range = {8,20}, value = currentFontSize, func = ChatDock_FontSizeSliderFunc });
return t;
end
else
@@ -729,8 +729,7 @@ do
tinsert(t, { text = RENAME_CHAT_WINDOW, func = function() CURRENT_CHAT_FRAME_ID = chatID; FCF_RenameChatWindow_Popup(); end });
tinsert(t, { text = CHAT_CONFIGURATION, func = function() CURRENT_CHAT_FRAME_ID = chatID; ShowUIPanel(ChatConfigFrame); end });
end
- --tinsert(t, { title = " ", divider = true });
- tinsert(t, { text = CLOSE_CHAT_WINDOW, func = function() CURRENT_CHAT_FRAME_ID = chatID; FCF_PopInWindow(chat); end });
+ tinsert(t, { text = CLOSE_CHAT_WINDOW, func = function() CURRENT_CHAT_FRAME_ID = chatID; MOD:CloseChatWindow(); end });
return t;
end
end
@@ -980,6 +979,7 @@ do
tab:HookScript('OnLeave', _hook_TabOnLeave)
chat.hookedHyperLinks = true
end
+ chat.isDockable = chat.Dock:IsEnabled()
chat.Dock.Button:SetDocked(chat.isDockable)
end
refreshLocked = true
@@ -987,14 +987,13 @@ do
end
local function OpenNewSVUIChatFrame(name)
- local count = 1;
local chatFrame, chatTab;
for i=1, NUM_CHAT_WINDOWS do
local _, _, _, _, _, _, shown = FCF_GetChatWindowInfo(i);
chatFrame = _G["ChatFrame"..i];
chatTab = _G["ChatFrame"..i.."Tab"];
- if((not chatFrame.isDockable) or (count == NUM_CHAT_WINDOWS)) then
+ if(not chatFrame.Dock:IsEnabled()) then
if((not name) or (name == "")) then
name = format(CHAT_NAME_TEMPLATE, i);
end
@@ -1030,12 +1029,158 @@ local function OpenNewSVUIChatFrame(name)
SetChatWindowShown(i, true);
-- Dock the frame by default
- FCF_DockFrame(chatFrame, (#FCFDock_GetChatFrames(GENERAL_CHAT_DOCK)+1), true);
- FCF_FadeInChatFrame(FCFDock_GetSelectedWindow(GENERAL_CHAT_DOCK));
- return chatFrame;
+ --FCF_DockFrame(chatFrame, (#FCFDock_GetChatFrames(GENERAL_CHAT_DOCK)+1), true);
+ --FCF_FadeInChatFrame(FCFDock_GetSelectedWindow(GENERAL_CHAT_DOCK));
+
+ chatFrame.isDockable = true;
+ chatFrame.isDocked = nil;
+ chatFrame.isUninteractable = true;
+
+ FCF_CopyChatSettings(chatFrame, DEFAULT_CHAT_FRAME);
+ chatFrame.Dock:SetDocked(true)
+ MOD.RefreshChatFrames()
+ end
+ end
+end
+
+function MOD:CloseChatWindow()
+ local chatFrame = _G["ChatFrame" .. CURRENT_CHAT_FRAME_ID]
+ if(chatFrame) then
+ if(chatFrame.Dock) then
+ chatFrame.Dock:SetDocked(false)
+ end
+ FCF_Close(chatFrame)
+ end
+end
+
+function MOD:ResetChatWindows()
+ for k,v in pairs(SV.Dock.private.Disabled) do
+ if k:find("ChatFrame") then
+ SV.Dock.private.Disabled[k] = nil
+ end
+ end
+
+ for i=1, NUM_CHAT_WINDOWS do
+ local chatFrame = _G["ChatFrame"..i];
+ if(chatFrame) then
+ chatFrame.isUninteractable = false;
+ chatFrame:SetMovable(true);
+ end
+ end
+
+ FCF_ResetChatWindows()
+ --FCF_SetLocked(ChatFrame1, true)
+ FCF_SetWindowName(ChatFrame1, GENERAL)
+ if(ChatFrame1.Dock) then
+ ChatFrame1.Dock:SetDocked(true)
+ end
+
+ --FCF_SetLocked(ChatFrame2, true)
+ FCF_SetWindowName(ChatFrame2, GUILD_EVENT_LOG)
+ if(ChatFrame2.Dock) then
+ ChatFrame2.Dock:SetDocked(true)
+ end
+
+ OpenNewSVUIChatFrame(LOOT)
+ --FCF_SetLocked(ChatFrame3, true)
+ FCF_SetWindowName(ChatFrame3, LOOT)
+ if(ChatFrame3.Dock) then
+ ChatFrame3.Dock:SetDocked(true)
+ end
+
+ for i=4, NUM_CHAT_WINDOWS do
+ local chatFrame = _G["ChatFrame"..i];
+ if(chatFrame and chatFrame.Dock) then
+ chatFrame.Dock:SetDocked(false)
end
- count = count + 1;
end
+
+ ChatFrame_RemoveAllMessageGroups(ChatFrame1)
+ ChatFrame_AddMessageGroup(ChatFrame1, "SAY")
+ ChatFrame_AddMessageGroup(ChatFrame1, "EMOTE")
+ ChatFrame_AddMessageGroup(ChatFrame1, "YELL")
+ ChatFrame_AddMessageGroup(ChatFrame1, "GUILD")
+ ChatFrame_AddMessageGroup(ChatFrame1, "OFFICER")
+ ChatFrame_AddMessageGroup(ChatFrame1, "GUILD_ACHIEVEMENT")
+ ChatFrame_AddMessageGroup(ChatFrame1, "WHISPER")
+ ChatFrame_AddMessageGroup(ChatFrame1, "MONSTER_SAY")
+ ChatFrame_AddMessageGroup(ChatFrame1, "MONSTER_EMOTE")
+ ChatFrame_AddMessageGroup(ChatFrame1, "MONSTER_YELL")
+ ChatFrame_AddMessageGroup(ChatFrame1, "MONSTER_BOSS_EMOTE")
+ ChatFrame_AddMessageGroup(ChatFrame1, "PARTY")
+ ChatFrame_AddMessageGroup(ChatFrame1, "PARTY_LEADER")
+ ChatFrame_AddMessageGroup(ChatFrame1, "RAID")
+ ChatFrame_AddMessageGroup(ChatFrame1, "RAID_LEADER")
+ ChatFrame_AddMessageGroup(ChatFrame1, "RAID_WARNING")
+ ChatFrame_AddMessageGroup(ChatFrame1, "INSTANCE_CHAT")
+ ChatFrame_AddMessageGroup(ChatFrame1, "INSTANCE_CHAT_LEADER")
+ ChatFrame_AddMessageGroup(ChatFrame1, "BATTLEGROUND")
+ ChatFrame_AddMessageGroup(ChatFrame1, "BATTLEGROUND_LEADER")
+ ChatFrame_AddMessageGroup(ChatFrame1, "BG_HORDE")
+ ChatFrame_AddMessageGroup(ChatFrame1, "BG_ALLIANCE")
+ ChatFrame_AddMessageGroup(ChatFrame1, "BG_NEUTRAL")
+ ChatFrame_AddMessageGroup(ChatFrame1, "SYSTEM")
+ ChatFrame_AddMessageGroup(ChatFrame1, "ERRORS")
+ ChatFrame_AddMessageGroup(ChatFrame1, "AFK")
+ ChatFrame_AddMessageGroup(ChatFrame1, "DND")
+ ChatFrame_AddMessageGroup(ChatFrame1, "IGNORED")
+ ChatFrame_AddMessageGroup(ChatFrame1, "ACHIEVEMENT")
+ ChatFrame_AddMessageGroup(ChatFrame1, "BN_WHISPER")
+ ChatFrame_AddMessageGroup(ChatFrame1, "BN_CONVERSATION")
+ ChatFrame_AddMessageGroup(ChatFrame1, "BN_INLINE_TOAST_ALERT")
+ ChatFrame_AddMessageGroup(ChatFrame1, "COMBAT_FACTION_CHANGE")
+ ChatFrame_AddMessageGroup(ChatFrame1, "SKILL")
+ ChatFrame_AddMessageGroup(ChatFrame1, "LOOT")
+ ChatFrame_AddMessageGroup(ChatFrame1, "MONEY")
+ ChatFrame_AddMessageGroup(ChatFrame1, "COMBAT_XP_GAIN")
+ ChatFrame_AddMessageGroup(ChatFrame1, "COMBAT_HONOR_GAIN")
+ ChatFrame_AddMessageGroup(ChatFrame1, "COMBAT_GUILD_XP_GAIN")
+
+ ChatFrame_RemoveAllMessageGroups(ChatFrame3)
+ ChatFrame_AddMessageGroup(ChatFrame3, "COMBAT_FACTION_CHANGE")
+ ChatFrame_AddMessageGroup(ChatFrame3, "SKILL")
+ ChatFrame_AddMessageGroup(ChatFrame3, "LOOT")
+ ChatFrame_AddMessageGroup(ChatFrame3, "MONEY")
+ ChatFrame_AddMessageGroup(ChatFrame3, "COMBAT_XP_GAIN")
+ ChatFrame_AddMessageGroup(ChatFrame3, "COMBAT_HONOR_GAIN")
+ ChatFrame_AddMessageGroup(ChatFrame3, "COMBAT_GUILD_XP_GAIN")
+
+ ChatFrame_AddChannel(ChatFrame1, GENERAL)
+
+ ToggleChatColorNamesByClassGroup(true, "SAY")
+ ToggleChatColorNamesByClassGroup(true, "EMOTE")
+ ToggleChatColorNamesByClassGroup(true, "YELL")
+ ToggleChatColorNamesByClassGroup(true, "GUILD")
+ ToggleChatColorNamesByClassGroup(true, "OFFICER")
+ ToggleChatColorNamesByClassGroup(true, "GUILD_ACHIEVEMENT")
+ ToggleChatColorNamesByClassGroup(true, "ACHIEVEMENT")
+ ToggleChatColorNamesByClassGroup(true, "WHISPER")
+ ToggleChatColorNamesByClassGroup(true, "PARTY")
+ ToggleChatColorNamesByClassGroup(true, "PARTY_LEADER")
+ ToggleChatColorNamesByClassGroup(true, "RAID")
+ ToggleChatColorNamesByClassGroup(true, "RAID_LEADER")
+ ToggleChatColorNamesByClassGroup(true, "RAID_WARNING")
+ ToggleChatColorNamesByClassGroup(true, "BATTLEGROUND")
+ ToggleChatColorNamesByClassGroup(true, "BATTLEGROUND_LEADER")
+ ToggleChatColorNamesByClassGroup(true, "INSTANCE_CHAT")
+ ToggleChatColorNamesByClassGroup(true, "INSTANCE_CHAT_LEADER")
+ ToggleChatColorNamesByClassGroup(true, "CHANNEL1")
+ ToggleChatColorNamesByClassGroup(true, "CHANNEL2")
+ ToggleChatColorNamesByClassGroup(true, "CHANNEL3")
+ ToggleChatColorNamesByClassGroup(true, "CHANNEL4")
+ ToggleChatColorNamesByClassGroup(true, "CHANNEL5")
+ ToggleChatColorNamesByClassGroup(true, "CHANNEL6")
+ ToggleChatColorNamesByClassGroup(true, "CHANNEL7")
+ ToggleChatColorNamesByClassGroup(true, "CHANNEL8")
+ ToggleChatColorNamesByClassGroup(true, "CHANNEL9")
+ ToggleChatColorNamesByClassGroup(true, "CHANNEL10")
+ ToggleChatColorNamesByClassGroup(true, "CHANNEL11")
+
+ ChangeChatColor("CHANNEL1", 195 / 255, 230 / 255, 232 / 255)
+ ChangeChatColor("CHANNEL2", 232 / 255, 158 / 255, 121 / 255)
+ ChangeChatColor("CHANNEL3", 232 / 255, 228 / 255, 121 / 255)
+
+ MOD:ReLoad()
end
--[[
##########################################################
@@ -1268,14 +1413,13 @@ do
self = FCF_GetCurrentChatFrame();
end
if(not self.Dock) then return end
- self.Dock.Button:SetDocked(false)
+ self.Dock:SetDocked(false)
end
local _hook_FCF_Tab_OnClick = function(self)
if(not self) then
self = FCF_GetCurrentChatFrame();
end
- print(self:GetName())
end
function SetAllChatHooks()
@@ -1292,7 +1436,7 @@ do
--NewHook("FCF_SetWindowColor", _hook_FCF_SetWindowColor)
--NewHook("FCF_SetWindowAlpha", _hook_FCF_SetWindowAlpha)
- NewHook("FCF_Close", _hook_FCF_Close)
+ --NewHook("FCF_Close", _hook_FCF_Close)
NewHook("ChatEdit_UpdateHeader", _hook_OnUpdateHeader)
end
end
@@ -1507,22 +1651,18 @@ function MOD:Load()
button1 = YES,
button2 = NO,
hasEditBox = 1,
- OnAccept = function(self, renameID)
+ OnAccept = function(self)
local name = self.editBox:GetText();
- local frame = OpenNewSVUIChatFrame(name);
- FCF_CopyChatSettings(frame, DEFAULT_CHAT_FRAME);
self.editBox:SetText("");
- FCF_DockUpdate();
+ OpenNewSVUIChatFrame(name);
end,
EditBoxOnEnterPressed = function(self)
local parent = self:GetParent();
local editBox = parent.editBox
local name = editBox:GetText();
- local frame = OpenNewSVUIChatFrame(name);
- FCF_CopyChatSettings(frame, DEFAULT_CHAT_FRAME);
editBox:SetText("");
- FCF_DockUpdate();
parent:Hide();
+ OpenNewSVUIChatFrame(name);
end,
EditBoxOnEscapePressed = function (self)
self:GetParent():Hide();