Skip to content

Commit ab1331b

Browse files
committed
truncate spellname text
1 parent 52626f2 commit ab1331b

3 files changed

Lines changed: 32 additions & 5 deletions

File tree

Core/Config/GUI.lua

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -909,26 +909,34 @@ local function CreateCastBarSpellNameTextSettings(containerParent, unit, updateC
909909
SpellNameXPosSlider:SetLabel("X Position")
910910
SpellNameXPosSlider:SetValue(SpellNameTextDB.Layout[3])
911911
SpellNameXPosSlider:SetSliderValues(-1000, 1000, 0.1)
912-
SpellNameXPosSlider:SetRelativeWidth(0.33)
912+
SpellNameXPosSlider:SetRelativeWidth(0.25)
913913
SpellNameXPosSlider:SetCallback("OnValueChanged", function(_, _, value) SpellNameTextDB.Layout[3] = value updateCallback() end)
914914
SpellNameLayoutContainer:AddChild(SpellNameXPosSlider)
915915

916916
local SpellNameYPosSlider = AG:Create("Slider")
917917
SpellNameYPosSlider:SetLabel("Y Position")
918918
SpellNameYPosSlider:SetValue(SpellNameTextDB.Layout[4])
919919
SpellNameYPosSlider:SetSliderValues(-1000, 1000, 0.1)
920-
SpellNameYPosSlider:SetRelativeWidth(0.33)
920+
SpellNameYPosSlider:SetRelativeWidth(0.25)
921921
SpellNameYPosSlider:SetCallback("OnValueChanged", function(_, _, value) SpellNameTextDB.Layout[4] = value updateCallback() end)
922922
SpellNameLayoutContainer:AddChild(SpellNameYPosSlider)
923923

924924
local SpellNameFontSizeSlider = AG:Create("Slider")
925925
SpellNameFontSizeSlider:SetLabel("Font Size")
926926
SpellNameFontSizeSlider:SetValue(SpellNameTextDB.FontSize)
927927
SpellNameFontSizeSlider:SetSliderValues(8, 64, 1)
928-
SpellNameFontSizeSlider:SetRelativeWidth(0.33)
928+
SpellNameFontSizeSlider:SetRelativeWidth(0.25)
929929
SpellNameFontSizeSlider:SetCallback("OnValueChanged", function(_, _, value) SpellNameTextDB.FontSize = value updateCallback() end)
930930
SpellNameLayoutContainer:AddChild(SpellNameFontSizeSlider)
931931

932+
local MaxCharsSlider = AG:Create("Slider")
933+
MaxCharsSlider:SetLabel("Max Characters")
934+
MaxCharsSlider:SetValue(SpellNameTextDB.MaxChars)
935+
MaxCharsSlider:SetSliderValues(1, 64, 1)
936+
MaxCharsSlider:SetRelativeWidth(0.25)
937+
MaxCharsSlider:SetCallback("OnValueChanged", function(_, _, value) SpellNameTextDB.MaxChars = value updateCallback() end)
938+
SpellNameLayoutContainer:AddChild(MaxCharsSlider)
939+
932940
function RefreshCastBarSpellNameSettings()
933941
if SpellNameTextDB.Enabled then
934942
SpellNameAnchorFromDropdown:SetDisabled(false)
@@ -937,13 +945,15 @@ local function CreateCastBarSpellNameTextSettings(containerParent, unit, updateC
937945
SpellNameYPosSlider:SetDisabled(false)
938946
SpellNameFontSizeSlider:SetDisabled(false)
939947
SpellNameColourPicker:SetDisabled(false)
948+
MaxCharsSlider:SetDisabled(false)
940949
else
941950
SpellNameAnchorFromDropdown:SetDisabled(true)
942951
SpellNameAnchorToDropdown:SetDisabled(true)
943952
SpellNameXPosSlider:SetDisabled(true)
944953
SpellNameYPosSlider:SetDisabled(true)
945954
SpellNameFontSizeSlider:SetDisabled(true)
946955
SpellNameColourPicker:SetDisabled(true)
956+
MaxCharsSlider:SetDisabled(true)
947957
end
948958
end
949959

Core/Defaults.lua

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,7 @@ local Defaults = {
137137
FontSize = 12,
138138
Layout = {"LEFT", "LEFT", 3, 0},
139139
Colour = {1, 1, 1},
140+
MaxChars = 15,
140141
},
141142
Duration = {
142143
Enabled = true,
@@ -321,6 +322,7 @@ local Defaults = {
321322
FontSize = 12,
322323
Layout = {"LEFT", "LEFT", 3, 0},
323324
Colour = {1, 1, 1},
325+
MaxChars = 15,
324326
},
325327
Duration = {
326328
Enabled = true,
@@ -508,6 +510,7 @@ local Defaults = {
508510
-- FontSize = 12,
509511
-- Layout = {"LEFT", "LEFT", 3, 0},
510512
-- Colour = {1, 1, 1},
513+
-- MaxChars = 15,
511514
-- },
512515
-- Duration = {
513516
-- Enabled = true,
@@ -680,6 +683,7 @@ local Defaults = {
680683
FontSize = 12,
681684
Layout = {"LEFT", "LEFT", 3, 0},
682685
Colour = {1, 1, 1},
686+
MaxChars = 15,
683687
},
684688
Duration = {
685689
Enabled = true,
@@ -851,6 +855,7 @@ local Defaults = {
851855
-- FontSize = 12,
852856
-- Layout = {"LEFT", "LEFT", 3, 0},
853857
-- Colour = {1, 1, 1},
858+
-- MaxChars = 15,
854859
-- },
855860
-- Duration = {
856861
-- Enabled = true,
@@ -1023,6 +1028,7 @@ local Defaults = {
10231028
FontSize = 12,
10241029
Layout = {"LEFT", "LEFT", 3, 0},
10251030
Colour = {1, 1, 1},
1031+
MaxChars = 15,
10261032
},
10271033
Duration = {
10281034
Enabled = true,
@@ -1195,6 +1201,7 @@ local Defaults = {
11951201
FontSize = 12,
11961202
Layout = {"LEFT", "LEFT", 3, 0},
11971203
Colour = {1, 1, 1},
1204+
MaxChars = 15,
11981205
},
11991206
Duration = {
12001207
Enabled = true,

Elements/CastBar.lua

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
11
local _, UUF = ...
22

3+
local function ShortenCastName(text, maxChars)
4+
if not text then return "" end
5+
if maxChars and maxChars > 0 then
6+
text = string.format("%." .. maxChars .. "s", text)
7+
end
8+
return UUF:CleanTruncateUTF8String(text)
9+
end
10+
311
function UUF:CreateUnitCastBar(unitFrame, unit)
412
local FontDB = UUF.db.profile.General.Fonts
513
local GeneralDB = UUF.db.profile.General
@@ -110,7 +118,9 @@ function UUF:CreateUnitCastBar(unitFrame, unit)
110118
unitFrame.Castbar:HookScript("OnHide", function() CastBarContainer:Hide() end)
111119
unitFrame.Castbar.PostCastStart = function(frameCastBar)
112120
local spellName = C_Spell.GetSpellInfo(frameCastBar.spellID).name
113-
if spellName then frameCastBar.Text:SetText(spellName) else frameCastBar.Text:SetText("") end
121+
if spellName then
122+
frameCastBar.Text:SetText(ShortenCastName(spellName, SpellNameDB.MaxChars))
123+
else frameCastBar.Text:SetText("") end
114124

115125
local currentCastBarDB = UUF.db.profile.Units[UUF:GetNormalizedUnit(unit)].CastBar
116126

@@ -251,7 +261,7 @@ function UUF:CreateTestCastBar(unitFrame, unit)
251261
CastBarContainer:Show()
252262
unitFrame.Castbar:Show()
253263
unitFrame.Castbar.Background:Show()
254-
unitFrame.Castbar.Text:SetText("Ethereal Portal")
264+
unitFrame.Castbar.Text:SetText(ShortenCastName("Ethereal Portal", UUF.db.profile.Units[UUF:GetNormalizedUnit(unit)].CastBar.Text.SpellName.MaxChars))
255265
unitFrame.Castbar.Time:SetText("0.0")
256266
unitFrame.Castbar:SetMinMaxValues(0, 1000)
257267
unitFrame.Castbar:SetScript("OnUpdate", function() local currentValue = unitFrame.Castbar:GetValue() currentValue = currentValue + 1 if currentValue >= 1000 then currentValue = 0 end unitFrame.Castbar:SetValue(currentValue) unitFrame.Castbar.Time:SetText(string.format("%.1f", (currentValue / 1000) * 5)) end)

0 commit comments

Comments
 (0)