-- Copyright © 2024 @Groick (Twitch). All rights reserved.
local function L(key, ...) return EasyOptions:Localize(key, ...) end
function EasyOptions:GetOptionItems_General(parentOptionItems)
  local optionItems = EasyOptions:GetOptionItems_General_GetItems()
  optionItems.Name = L("General")
  optionItems.Parent = parentOptionItems
  optionItems.Children = nil
  return optionItems
end
function EasyOptions:GetOptionItems_General_GetItems()
  return { -- [1] Name, [2] Text, [3] TooltipText, [4] PositionInfo, [5] Type, [6+] [Type Specific]
    {nil, L("Addon"), nil, 0, "GroupTitle"}, 
    {"ShowMinimapIcon", nil, nil, 0, "ShowMinimapIcon", true, "Interface\\AddOns\\EasyOptions\\Textures\\EasyOptions.tga", nil, L("Show options for EasyOptions.\n\nYou can easily save or load options for any addon that is managed by EasyOptions using the Addon Manager in EasyOptions.\n\nThe Addon Manager also generates a slash command that can be copied to a macro so you can quickly load settings for different types of content (e.g., PvP, raiding, M+, gathering, etc.).")}, 
    {}, 
    {nil, L("Sounds"), nil, 0, "GroupTitle"}, 
    {"AutoPlaySelectedSounds", L("Auto Play Selected Sounds"), L("Indicates whether to play the selected sound when an item is selected in a DropDown control that contains a list of sound files.\n\nThis feature is only implemented on DropDown controls that are built by EasyOptions and are intended to display a list of sound files."), 0, "CheckBox", true}, 
    {}, 
    {nil, L("TabControls"), nil, 0, "GroupTitle"}, 
    {"EnableStickyTabButtons", L("Enable Sticky TabButtons"), L("Indicates whether the previously selected TabButton is restored when the game is loaded or after a Reload UI.\n\nAn addon developer must also assign a unique name to a TabControl in order for this feature to be functional for that TabControl."), 0, "CheckBox", true}, 
    {}, 
    {nil, L("ListViews"), nil, 0, "GroupTitle"}, 
    {"EnableStickyListViewItems", L("Enable Sticky ListViewItems"), L("Indicates whether the previously selected ListViewItem is restored when the game is loaded or after a Reload UI.\n\nAn addon developer must also assign a unique name to a ListView in order for this feature to be functional for that ListView."), 0, "CheckBox", true}, 
    {}, 
    {nil, L("Color & Style"), nil, 0, "GroupTitle"}, 
    {"ControlHighlightColor", L("Highlight Color (Requires Reload UI)"), L("Specifies the highlight color of controls whose appearance is managed by EasyOptions, such as TabButtons and ListViewItems.\n\nThis setting has no effect on controls whose appearance is managed by WoW or some other addon.\n\nRequires a reload UI for changes to fully take effect."), 0, "ColorPicker", EasyOptions.Fields.DefaultHighlightColor}, 
    {"ControlStyle", L("Control Style (Requires Reload UI)"), L("Specifies the style of controls whose appearance is managed by EasyOptions, such as TabButtons and ListViewItems.\n\nThis setting has no effect on controls whose appearance is managed by WoW or some other addon.\n\nRequires a reload UI for changes to fully take effect."), 0, "DropDown", EasyOptions.Fields.TextureInfos.DefaultControlStyle, EasyOptions.Fields.TextureInfos.ControlStyleDropDownItemInfos}, 
    {nil, nil, nil, 0, "ReloadUIButton", nil, nil}, 
  }
end
