321 lines
15 KiB
Lua
321 lines
15 KiB
Lua
-------------------------
|
|
--Import modules.
|
|
-------------------------
|
|
---@type QuestieOptions
|
|
local QuestieOptions = QuestieLoader:ImportModule("QuestieOptions");
|
|
---@type QuestieOptionsDefaults
|
|
local QuestieOptionsDefaults = QuestieLoader:ImportModule("QuestieOptionsDefaults");
|
|
---@type QuestieOptionsUtils
|
|
local QuestieOptionsUtils = QuestieLoader:ImportModule("QuestieOptionsUtils");
|
|
---@type QuestieNameplate
|
|
local QuestieNameplate = QuestieLoader:ImportModule("QuestieNameplate");
|
|
---@type l10n
|
|
local l10n = QuestieLoader:ImportModule("l10n")
|
|
|
|
QuestieOptions.tabs.nameplate = {...}
|
|
local optionsDefaults = QuestieOptionsDefaults:Load()
|
|
|
|
|
|
function QuestieOptions.tabs.nameplate:Initialize()
|
|
return {
|
|
name = function() return l10n('Nameplates'); end,
|
|
type = "group",
|
|
order = 5,
|
|
args = {
|
|
nameplate_options_group = {
|
|
type = "group",
|
|
order = 1,
|
|
inline = true,
|
|
name = " ",
|
|
args = {
|
|
nameplate_options = {
|
|
type = "header",
|
|
order = 1.05,
|
|
name = function() return l10n('Nameplate Icon Options'); end,
|
|
},
|
|
nameplateDescSpacer = {
|
|
type = "description",
|
|
order = 1.06,
|
|
name = "",
|
|
desc = "",
|
|
image = "",
|
|
imageWidth = 0.4,
|
|
width = 0.4,
|
|
func = function() end,
|
|
},
|
|
nameplateEnabled = {
|
|
type = "toggle",
|
|
order = 1.1,
|
|
name = function() return l10n('Enable Nameplate Quest Objectives'); end,
|
|
desc = function() return l10n('Enable or disable the quest objective icons over creature nameplates.'); end,
|
|
descStyle = "inline",
|
|
width = 2.6,
|
|
get = function(info) return QuestieOptions:GetProfileValue(info); end,
|
|
set = function (info, value)
|
|
QuestieOptions:SetProfileValue(info, value)
|
|
|
|
-- on false, hide current nameplates
|
|
if not value then
|
|
QuestieNameplate:HideCurrentFrames();
|
|
end
|
|
end,
|
|
},
|
|
Spacer_A = QuestieOptionsUtils:Spacer(1.2),
|
|
nameplateSpacerX = {
|
|
type = "description",
|
|
order = 1.25,
|
|
name = "",
|
|
desc = "",
|
|
image = "",
|
|
imageWidth = 0.3,
|
|
width = 0.3,
|
|
func = function() end,
|
|
},
|
|
nameplateX = {
|
|
type = "range",
|
|
order = 1.3,
|
|
name = function() return l10n('Icon Position X'); end,
|
|
desc = function() return l10n('Where on the X axis the nameplate icon should be. ( Default: %s )', optionsDefaults.profile.nameplateX ); end,
|
|
width = 1.2,
|
|
min = -200,
|
|
max = 200,
|
|
step = 1,
|
|
disabled = function() return not Questie.db.profile.nameplateEnabled; end,
|
|
get = function(info) return QuestieOptions:GetProfileValue(info); end,
|
|
set = function (info, value)
|
|
QuestieNameplate:RedrawIcons()
|
|
QuestieOptions:SetProfileValue(info, value)
|
|
end,
|
|
},
|
|
nameplateSpacerY = {
|
|
type = "description",
|
|
order = 1.35,
|
|
name = "",
|
|
desc = "",
|
|
image = "",
|
|
imageWidth = 0.3,
|
|
width = 0.3,
|
|
func = function() end,
|
|
},
|
|
nameplateY = {
|
|
type = "range",
|
|
order = 1.4,
|
|
name = function() return l10n('Icon Position Y'); end,
|
|
desc = function() return l10n('Where on the Y axis the nameplate icon should be. ( Default: %s )', optionsDefaults.profile.nameplateY); end,
|
|
width = 1.2,
|
|
min = -200,
|
|
max = 200,
|
|
step = 1,
|
|
disabled = function() return not Questie.db.profile.nameplateEnabled; end,
|
|
get = function(info) return QuestieOptions:GetProfileValue(info); end,
|
|
set = function (info, value)
|
|
QuestieNameplate:RedrawIcons()
|
|
QuestieOptions:SetProfileValue(info, value)
|
|
end,
|
|
},
|
|
Spacer_C = QuestieOptionsUtils:Spacer(1.45),
|
|
nameplateSpacerScale = {
|
|
type = "description",
|
|
order = 1.46,
|
|
name = "",
|
|
desc = "",
|
|
image = "",
|
|
imageWidth = 0.3,
|
|
width = 0.3,
|
|
func = function() end,
|
|
},
|
|
nameplateScale = {
|
|
type = "range",
|
|
order = 1.5,
|
|
name = function() return l10n('Nameplate Icon Scale'); end,
|
|
desc = function() return l10n('Scale the size of the quest icons on creature nameplates. ( Default: %s )', optionsDefaults.profile.nameplateScale); end,
|
|
width = 2.7,
|
|
min = 0.01,
|
|
max = 4,
|
|
step = 0.01,
|
|
disabled = function() return not Questie.db.profile.nameplateEnabled; end,
|
|
get = function(info) return QuestieOptions:GetProfileValue(info); end,
|
|
set = function (info, value)
|
|
QuestieOptions:SetProfileValue(info, value)
|
|
QuestieNameplate:RedrawIcons()
|
|
end,
|
|
|
|
},
|
|
},
|
|
},
|
|
targetframe_options_group = {
|
|
type = "group",
|
|
order = 2,
|
|
inline = true,
|
|
name = " ",
|
|
args = {
|
|
targetframe_header = {
|
|
type = "header",
|
|
order = 2,
|
|
name = function() return l10n('Target Frame Icon Options'); end,
|
|
},
|
|
targetplateDescSpacer = {
|
|
type = "description",
|
|
order = 2.06,
|
|
name = "",
|
|
desc = "",
|
|
image = "",
|
|
imageWidth = 0.4,
|
|
width = 0.4,
|
|
func = function() end,
|
|
},
|
|
nameplateTargetFrameEnabled = {
|
|
type = "toggle",
|
|
order = 2.1,
|
|
name = function() return l10n('Enable Target Frame Quest Objectives'); end,
|
|
desc = function() return l10n('Enable or disable the quest objective icons over creature target frame.'); end,
|
|
descStyle = "inline",
|
|
width = 2.6,
|
|
get = function(info) return QuestieOptions:GetProfileValue(info); end,
|
|
set = function (info, value)
|
|
QuestieOptions:SetProfileValue(info, value)
|
|
|
|
-- on false, hide current nameplates
|
|
if not value then
|
|
QuestieNameplate:HideCurrentTargetFrame();
|
|
else
|
|
QuestieNameplate:DrawTargetFrame();
|
|
end
|
|
end,
|
|
},
|
|
Spacer_E = QuestieOptionsUtils:Spacer(2.2),
|
|
targetframeSpacerX = {
|
|
type = "description",
|
|
order = 2.25,
|
|
name = "",
|
|
desc = "",
|
|
image = "",
|
|
imageWidth = 0.3,
|
|
width = 0.3,
|
|
func = function() end,
|
|
},
|
|
nameplateTargetFrameX = {
|
|
type = "range",
|
|
order = 2.3,
|
|
name = function() return l10n('Icon Position X'); end,
|
|
desc = function() return l10n('Where on the X axis the nameplate icon should be. ( Default: %s )', optionsDefaults.profile.nameplateTargetFrameX); end,
|
|
width = 1.2,
|
|
min = -300,
|
|
max = 300,
|
|
step = 1,
|
|
disabled = function() return not Questie.db.profile.nameplateTargetFrameEnabled; end,
|
|
get = function(info) return QuestieOptions:GetProfileValue(info); end,
|
|
set = function (info, value)
|
|
QuestieNameplate:RedrawFrameIcon()
|
|
QuestieOptions:SetProfileValue(info, value)
|
|
end,
|
|
},
|
|
targetframeSpacerY = {
|
|
type = "description",
|
|
order = 2.35,
|
|
name = "",
|
|
desc = "",
|
|
image = "",
|
|
imageWidth = 0.3,
|
|
width = 0.3,
|
|
func = function() end,
|
|
},
|
|
nameplateTargetFrameY = {
|
|
type = "range",
|
|
order = 2.4,
|
|
name = function() return l10n('Icon Position Y'); end,
|
|
desc = function() return l10n('Where on the Y axis the nameplate icon should be. ( Default: %s )', optionsDefaults.profile.nameplateTargetFrameY); end,
|
|
width = 1.2,
|
|
min = -200,
|
|
max = 200,
|
|
step = 1,
|
|
disabled = function() return not Questie.db.profile.nameplateTargetFrameEnabled; end,
|
|
get = function(info) return QuestieOptions:GetProfileValue(info); end,
|
|
set = function (info, value)
|
|
QuestieNameplate:RedrawFrameIcon()
|
|
QuestieOptions:SetProfileValue(info, value)
|
|
end,
|
|
},
|
|
Spacer_G = QuestieOptionsUtils:Spacer(2.45),
|
|
targetframeSpacerScale = {
|
|
type = "description",
|
|
order = 2.46,
|
|
name = "",
|
|
desc = "",
|
|
image = "",
|
|
imageWidth = 0.3,
|
|
width = 0.3,
|
|
func = function() end,
|
|
},
|
|
nameplateTargetFrameScale = {
|
|
type = "range",
|
|
order = 2.5,
|
|
name = function() return l10n('Nameplate Icon Scale'); end,
|
|
desc = function() return l10n('Scale the size of the quest icons on creature nameplates. ( Default: %s )', optionsDefaults.profile.nameplateTargetFrameScale); end,
|
|
width = 2.7,
|
|
min = 0.01,
|
|
max = 4,
|
|
step = 0.01,
|
|
disabled = function() return not Questie.db.profile.nameplateTargetFrameEnabled; end,
|
|
get = function(info) return QuestieOptions:GetProfileValue(info); end,
|
|
set = function (info, value)
|
|
QuestieOptions:SetProfileValue(info, value)
|
|
QuestieNameplate:RedrawFrameIcon()
|
|
end,
|
|
|
|
},
|
|
},
|
|
},
|
|
Spacer_end = QuestieOptionsUtils:Spacer(2.5),
|
|
resetSpacerPrefix = {
|
|
type = "description",
|
|
order = 3,
|
|
name = "",
|
|
desc = "",
|
|
image = "",
|
|
imageWidth = 0.55,
|
|
width = 0.55,
|
|
func = function() end,
|
|
},
|
|
nameplateReset = {
|
|
type = "execute",
|
|
order = 4,
|
|
name = function() return l10n('Reset Nameplates'); end,
|
|
desc = function() return l10n('Reset to default nameplate position and scale.'); end,
|
|
width = 1,
|
|
disabled = function() return not Questie.db.profile.nameplateEnabled; end,
|
|
func = function (info, value)
|
|
Questie.db.profile.nameplateX = optionsDefaults.profile.nameplateX;
|
|
Questie.db.profile.nameplateY = optionsDefaults.profile.nameplateY;
|
|
Questie.db.profile.nameplateScale = optionsDefaults.profile.nameplateScale;
|
|
QuestieNameplate:RedrawIcons();
|
|
end,
|
|
},
|
|
resetSpacerMid = {
|
|
type = "description",
|
|
order = 5,
|
|
name = "",
|
|
desc = "",
|
|
image = "",
|
|
imageWidth = 0.3,
|
|
width = 0.3,
|
|
func = function() end,
|
|
},
|
|
targetFrameReset = {
|
|
type = "execute",
|
|
order = 6,
|
|
name = function() return l10n('Reset Target Frame'); end,
|
|
desc = function() return l10n('Reset to default target frame position and scale.'); end,
|
|
width = 1,
|
|
disabled = function() return not Questie.db.profile.nameplateTargetFrameEnabled; end,
|
|
func = function (info, value)
|
|
Questie.db.profile.nameplateTargetFrameX = optionsDefaults.profile.nameplateTargetFrameX;
|
|
Questie.db.profile.nameplateTargetFrameY = optionsDefaults.profile.nameplateTargetFrameY;
|
|
Questie.db.profile.nameplateTargetFrameScale = optionsDefaults.profile.nameplateTargetFrameScale;
|
|
QuestieNameplate:RedrawFrameIcon();
|
|
end,
|
|
},
|
|
},
|
|
}
|
|
end
|