Quantcast

Add Very basic option for inspect frame (enable/disable), moved Character Frame Options into new section Armory Mode that will hold options for both Character & Inspect frames

Repooc [03-18-14 - 11:47]
Add Very basic option for inspect frame (enable/disable), moved Character Frame Options into new section Armory Mode that will hold options for both Character & Inspect frames
Filename
ElvUI_SLE/config/sle_private.lua
ElvUI_SLE/modules/characterframe/inspectframe.lua
ElvUI_SLE/modules/characterframe/options.lua
diff --git a/ElvUI_SLE/config/sle_private.lua b/ElvUI_SLE/config/sle_private.lua
index cf326b3..9a1db63 100755
--- a/ElvUI_SLE/config/sle_private.lua
+++ b/ElvUI_SLE/config/sle_private.lua
@@ -9,7 +9,11 @@ V['sle'] = {

 	--Character Frame Options
 	['characterframeoptions'] = {
-		["enable"] = false,
+		['enable'] = false,
+	},
+
+	['inspectframeoptions'] = {
+		['enable'] = false,
 	},

 	["datatext"] = {
diff --git a/ElvUI_SLE/modules/characterframe/inspectframe.lua b/ElvUI_SLE/modules/characterframe/inspectframe.lua
index e7066d8..7db9f73 100644
--- a/ElvUI_SLE/modules/characterframe/inspectframe.lua
+++ b/ElvUI_SLE/modules/characterframe/inspectframe.lua
@@ -1905,7 +1905,7 @@ end
 UnitPopupButtons.KnightInspect = { ['text'] = L['KnightInspect'], ['dist'] = 0, }

 function IFO:Initialize()
-	-- if not E.private.sle.Armory.Inspect.Enable then return end
+	if not E.private.sle.inspectframeoptions.enable then return end

 	Default_NotifyInspect = _G['NotifyInspect']
 	Default_InspectUnit = _G['InspectUnit']
diff --git a/ElvUI_SLE/modules/characterframe/options.lua b/ElvUI_SLE/modules/characterframe/options.lua
index 0f938e7..b1061af 100755
--- a/ElvUI_SLE/modules/characterframe/options.lua
+++ b/ElvUI_SLE/modules/characterframe/options.lua
@@ -3,330 +3,371 @@ local CFO = E:GetModule('CharacterFrameOptions')

 local function configTable()
 	E.Options.args.sle.args.characterframeoptions = {
-		type = "group",
-		name = L["Character Frame"],
-		order = 12,
+		type = 'group',
+		name = L["Armory Mode"],
+		order = 3,
+		childGroups = 'select',
 		args = {
-			header = {
-				order = 1,
-				type = "header",
-				name = L["Character Frame Options"],
-			},
 			intro = {
-				order = 2,
+				order = -1,
 				type = 'description',
-				name = L['CFO_DESC'],
+				name = L['Test Description'],
 			},
-			enable = {
-				order = 3,
-				type = "toggle",
-				name = L["Enable"],
-				desc = L["Enable/Disable Character Frame Options"],
-				get = function(info) return E.private.sle.characterframeoptions.enable end,
-				set = function(info, value) E.private.sle.characterframeoptions.enable = value; E:StaticPopup_Show("PRIVATE_RL") end
-			},
-			decoration = {
-				type = "group",
-				name = L["Decoration"],
-				order = 55,
-				guiInline = true,
-				disabled = function() return not E.private.sle.characterframeoptions.enable end,
+			--type = "group",
+			--name = L["Character Frame"],
+			--order = 12,
+			characterframe = {
+				order = 2,
+				type = 'group',
+				name = L['Character Frame'],
 				args = {
-					normalgradient = {
+					header = {
 						order = 1,
-						type = 'toggle',
-						name = L["Show Equipment Gradients"],
-						desc = L["Shows gradient effect for all equipment slots."],
-						get = function(info) return E.db.sle.characterframeoptions.shownormalgradient end,
-						set = function(info, value) E.db.sle.characterframeoptions.shownormalgradient = value; CFO:ChangeGradiantVisibility(); end,
+						type = "header",
+						name = L["Character Frame Options"],
 					},
-					errorgradient = {
+					intro = {
 						order = 2,
-						type = 'toggle',
-						name = L["Show Error Gradients"],
-						desc = L["Highlights equipment slot if an error has been found."],
-						disabled = function() return not E.private.sle.characterframeoptions.enable or not E.db.sle.characterframeoptions.shownormalgradient end,
-						get = function(info) return E.db.sle.characterframeoptions.showerrorgradient end,
-						set = function(info, value) E.db.sle.characterframeoptions.showerrorgradient = value; CFO:ArmoryFrame_DataSetting(); end,
-					},
-					bgimage = {
-						order = 3,
-						type = 'toggle',
-						name = L["Show Background Image"],
-						get = function(info) return E.db.sle.characterframeoptions.showimage end,
-						set = function(info, value) E.db.sle.characterframeoptions.showimage = value; CFO:ArmoryFrame_DataSetting(); end,
-					},
-					dropdown = {
-						type = 'select',
-						name = L['Background picture'],
-						order = 4,
-						disabled = function() return not E.db.sle.characterframeoptions.showimage end,
-						values = {
-							['SPACE'] = 'Space',
-							['ALLIANCE'] = FACTION_ALLIANCE,
-							['HORDE'] = FACTION_HORDE,
-							['CUSTOM'] = L["Custom"],
-							["EMPIRE"] = "The Empire",
-							["CASTLE"] = "Castle",
-						},
-						get = function() return E.db.sle.characterframeoptions.image.dropdown end,
-						set = function(_, value)
-							E.db.sle.characterframeoptions.image.dropdown = value; CFO:ArmoryFrame_DataSetting();
-						end,
-
+						type = 'description',
+						name = L['CFO_DESC'],
 					},
-					custom = {
-						order = 5,
-						type = 'input',
-						width = 'full',
-						name = L["Texture"],
-						desc = L["Set the texture to use in this frame. Requirements are the same as the chat textures."],
-						disabled = function() return E.db.sle.characterframeoptions.image.dropdown ~= "CUSTOM" or not E.db.sle.characterframeoptions.showimage end,
-						get = function() return E.db.sle.characterframeoptions.image.custom end,
-						set = function(info, value)
-							E.db.sle.characterframeoptions.image.custom = value;
-							CFO:ArmoryFrame_DataSetting();
-						end,
-					},
-				},
-			},
-			itemlevel = {
-				type = "group",
-				name = STAT_AVERAGE_ITEM_LEVEL,
-				order = 66,
-				guiInline = true,
-				disabled = function() return not E.private.sle.characterframeoptions.enable end,
-				args = {
-					show = {
+					enable = {
 						order = 3,
 						type = "toggle",
-						name = L["Show Item Level"],
-						get = function(info) return E.db.sle.characterframeoptions.itemlevel.show end,
-						set = function(info, value) E.db.sle.characterframeoptions.itemlevel.show = value; CFO:ArmoryFrame_DataSetting(); end,
+						name = L["Enable"],
+						desc = L["Enable/Disable Character Frame Options"],
+						get = function(info) return E.private.sle.characterframeoptions.enable end,
+						set = function(info, value) E.private.sle.characterframeoptions.enable = value; E:StaticPopup_Show("PRIVATE_RL") end
 					},
-					fontGroup = {
-						order = 5,
-						type = 'group',
+					decoration = {
+						type = "group",
+						name = L["Decoration"],
+						order = 55,
 						guiInline = true,
-						name = L['Font'],
+						disabled = function() return not E.private.sle.characterframeoptions.enable end,
 						args = {
-							font = {
-								type = "select", dialogControl = 'LSM30_Font',
+							normalgradient = {
 								order = 1,
-								--name = L["Fonts"],
-								name = L["Font"],
-								desc = L["The font that the item level will use."],
-								values = AceGUIWidgetLSMlists.font,
-								get = function(info) return E.db.sle.characterframeoptions.itemlevel.font end,
-								set = function(info, value) E.db.sle.characterframeoptions.itemlevel.font = value; CFO:ArmoryFrame_DataSetting(); end,
+								type = 'toggle',
+								name = L["Show Equipment Gradients"],
+								desc = L["Shows gradient effect for all equipment slots."],
+								get = function(info) return E.db.sle.characterframeoptions.shownormalgradient end,
+								set = function(info, value) E.db.sle.characterframeoptions.shownormalgradient = value; CFO:ChangeGradiantVisibility(); end,
 							},
-							fontSize = {
+							errorgradient = {
 								order = 2,
-								name = L["Font Size"],
-								desc = L["Set the font size that the item level will use."],
-								type = "range",
-								min = 6, max = 22, step = 1,
-								get = function(info) return E.db.sle.characterframeoptions.itemlevel.fontSize end,
-								set = function(info, value) E.db.sle.characterframeoptions.itemlevel.fontSize = value; CFO:ArmoryFrame_DataSetting(); end,
+								type = 'toggle',
+								name = L["Show Error Gradients"],
+								desc = L["Highlights equipment slot if an error has been found."],
+								disabled = function() return not E.private.sle.characterframeoptions.enable or not E.db.sle.characterframeoptions.shownormalgradient end,
+								get = function(info) return E.db.sle.characterframeoptions.showerrorgradient end,
+								set = function(info, value) E.db.sle.characterframeoptions.showerrorgradient = value; CFO:ArmoryFrame_DataSetting(); end,
 							},
-							fontOutline = {
+							bgimage = {
 								order = 3,
-								name = L["Font Outline"],
-								desc = L["Set the font outline that the item level will use."],
-								type = "select",
+								type = 'toggle',
+								name = L["Show Background Image"],
+								get = function(info) return E.db.sle.characterframeoptions.showimage end,
+								set = function(info, value) E.db.sle.characterframeoptions.showimage = value; CFO:ArmoryFrame_DataSetting(); end,
+							},
+							dropdown = {
+								type = 'select',
+								name = L['Background picture'],
+								order = 4,
+								disabled = function() return not E.db.sle.characterframeoptions.showimage end,
 								values = {
-									['NONE'] = L['None'],
-									['OUTLINE'] = 'OUTLINE',
-									['MONOCHROME'] = 'MONOCHROME',
-									['MONOCHROMEOUTLINE'] = 'MONOCROMEOUTLINE',
-									['THICKOUTLINE'] = 'THICKOUTLINE',
+									['SPACE'] = 'Space',
+									['ALLIANCE'] = FACTION_ALLIANCE,
+									['HORDE'] = FACTION_HORDE,
+									['CUSTOM'] = L["Custom"],
+									["EMPIRE"] = "The Empire",
+									["CASTLE"] = "Castle",
 								},
-								get = function(info) return E.db.sle.characterframeoptions.itemlevel.fontOutline end,
-								set = function(info, value) E.db.sle.characterframeoptions.itemlevel.fontOutline = value; CFO:ArmoryFrame_DataSetting(); end,
+								get = function() return E.db.sle.characterframeoptions.image.dropdown end,
+								set = function(_, value)
+									E.db.sle.characterframeoptions.image.dropdown = value; CFO:ArmoryFrame_DataSetting();
+								end,
+
+							},
+							custom = {
+								order = 5,
+								type = 'input',
+								width = 'full',
+								name = L["Texture"],
+								desc = L["Set the texture to use in this frame. Requirements are the same as the chat textures."],
+								disabled = function() return E.db.sle.characterframeoptions.image.dropdown ~= "CUSTOM" or not E.db.sle.characterframeoptions.showimage end,
+								get = function() return E.db.sle.characterframeoptions.image.custom end,
+								set = function(info, value)
+									E.db.sle.characterframeoptions.image.custom = value;
+									CFO:ArmoryFrame_DataSetting();
+								end,
 							},
 						},
 					},
-				},
-			},
-			itemdurabilty = {
-				type = "group",
-				name = DURABILITY,
-				order = 77,
-				guiInline = true,
-				disabled = function() return not E.private.sle.characterframeoptions.enable end,
-				args = {
-					show = {
-						order = 3,
-						type = "toggle",
-						name = L["Show Durability"],
-						get = function(info) return E.db.sle.characterframeoptions.itemdurability.show end,
-						set = function(info, value) E.db.sle.characterframeoptions.itemdurability.show = value; CFO:ArmoryFrame_DataSetting(); end,
+					itemlevel = {
+						type = "group",
+						name = STAT_AVERAGE_ITEM_LEVEL,
+						order = 66,
+						guiInline = true,
+						disabled = function() return not E.private.sle.characterframeoptions.enable end,
+						args = {
+							show = {
+								order = 3,
+								type = "toggle",
+								name = L["Show Item Level"],
+								get = function(info) return E.db.sle.characterframeoptions.itemlevel.show end,
+								set = function(info, value) E.db.sle.characterframeoptions.itemlevel.show = value; CFO:ArmoryFrame_DataSetting(); end,
+							},
+							fontGroup = {
+								order = 5,
+								type = 'group',
+								guiInline = true,
+								name = L['Font'],
+								args = {
+									font = {
+										type = "select", dialogControl = 'LSM30_Font',
+										order = 1,
+										--name = L["Fonts"],
+										name = L["Font"],
+										desc = L["The font that the item level will use."],
+										values = AceGUIWidgetLSMlists.font,
+										get = function(info) return E.db.sle.characterframeoptions.itemlevel.font end,
+										set = function(info, value) E.db.sle.characterframeoptions.itemlevel.font = value; CFO:ArmoryFrame_DataSetting(); end,
+									},
+									fontSize = {
+										order = 2,
+										name = L["Font Size"],
+										desc = L["Set the font size that the item level will use."],
+										type = "range",
+										min = 6, max = 22, step = 1,
+										get = function(info) return E.db.sle.characterframeoptions.itemlevel.fontSize end,
+										set = function(info, value) E.db.sle.characterframeoptions.itemlevel.fontSize = value; CFO:ArmoryFrame_DataSetting(); end,
+									},
+									fontOutline = {
+										order = 3,
+										name = L["Font Outline"],
+										desc = L["Set the font outline that the item level will use."],
+										type = "select",
+										values = {
+											['NONE'] = L['None'],
+											['OUTLINE'] = 'OUTLINE',
+											['MONOCHROME'] = 'MONOCHROME',
+											['MONOCHROMEOUTLINE'] = 'MONOCROMEOUTLINE',
+											['THICKOUTLINE'] = 'THICKOUTLINE',
+										},
+										get = function(info) return E.db.sle.characterframeoptions.itemlevel.fontOutline end,
+										set = function(info, value) E.db.sle.characterframeoptions.itemlevel.fontOutline = value; CFO:ArmoryFrame_DataSetting(); end,
+									},
+								},
+							},
+						},
+					},
+					itemdurabilty = {
+						type = "group",
+						name = DURABILITY,
+						order = 77,
+						guiInline = true,
+						disabled = function() return not E.private.sle.characterframeoptions.enable end,
+						args = {
+							show = {
+								order = 3,
+								type = "toggle",
+								name = L["Show Durability"],
+								get = function(info) return E.db.sle.characterframeoptions.itemdurability.show end,
+								set = function(info, value) E.db.sle.characterframeoptions.itemdurability.show = value; CFO:ArmoryFrame_DataSetting(); end,
+							},
+							fontGroup = {
+								order = 5,
+								type = 'group',
+								guiInline = true,
+								name = L['Font'],
+								args = {
+									font = {
+										type = "select", dialogControl = 'LSM30_Font',
+										order = 1,
+										name = L["Font"],
+										desc = L["The font that the item durability will use."],
+										values = AceGUIWidgetLSMlists.font,
+										get = function(info) return E.db.sle.characterframeoptions.itemdurability.font end,
+										set = function(info, value) E.db.sle.characterframeoptions.itemdurability.font = value; CFO:ArmoryFrame_DataSetting(); end,
+									},
+									fontSize = {
+										order = 2,
+										name = L["Font Size"],
+										desc = L["Set the font size that the item durability will use."],
+										type = "range",
+										min = 6, max = 22, step = 1,
+										get = function(info) return E.db.sle.characterframeoptions.itemdurability.fontSize end,
+										set = function(info, value) E.db.sle.characterframeoptions.itemdurability.fontSize = value; CFO:ArmoryFrame_DataSetting(); end,
+									},
+									fontOutline = {
+										order = 3,
+										name = L["Font Outline"],
+										desc = L["Set the font outline that the item durability will use."],
+										type = "select",
+										values = {
+											['NONE'] = L['None'],
+											['OUTLINE'] = 'OUTLINE',
+											['MONOCHROME'] = 'MONOCHROME',
+											['MONOCHROMEOUTLINE'] = 'MONOCROMEOUTLINE',
+											['THICKOUTLINE'] = 'THICKOUTLINE',
+										},
+										get = function(info) return E.db.sle.characterframeoptions.itemdurability.fontOutline end,
+										set = function(info, value) E.db.sle.characterframeoptions.itemdurability.fontOutline = value; CFO:ArmoryFrame_DataSetting(); end,
+									},
+								},
+							},
+						},
 					},
-					fontGroup = {
-						order = 5,
-						type = 'group',
+					itemenchant = {
+						type = "group",
+						name = L["Enchanting"],
+						order = 88,
 						guiInline = true,
-						name = L['Font'],
+						disabled = function() return not E.private.sle.characterframeoptions.enable end,
 						args = {
-							font = {
-								type = "select", dialogControl = 'LSM30_Font',
+							show = {
 								order = 1,
-								name = L["Font"],
-								desc = L["The font that the item durability will use."],
-								values = AceGUIWidgetLSMlists.font,
-								get = function(info) return E.db.sle.characterframeoptions.itemdurability.font end,
-								set = function(info, value) E.db.sle.characterframeoptions.itemdurability.font = value; CFO:ArmoryFrame_DataSetting(); end,
+								type = "toggle",
+								name = L["Show Enchants"],
+								desc = L["Show the enchantment effect near the enchanted item"],
+								get = function(info) return E.db.sle.characterframeoptions.itemenchant.show end,
+								set = function(info, value) E.db.sle.characterframeoptions.itemenchant.show = value; CFO:ArmoryFrame_DataSetting(); end,
 							},
-							fontSize = {
+							mouseover = {
 								order = 2,
-								name = L["Font Size"],
-								desc = L["Set the font size that the item durability will use."],
-								type = "range",
-								min = 6, max = 22, step = 1,
-								get = function(info) return E.db.sle.characterframeoptions.itemdurability.fontSize end,
-								set = function(info, value) E.db.sle.characterframeoptions.itemdurability.fontSize = value; CFO:ArmoryFrame_DataSetting(); end,
+								type = "toggle",
+								name = L['Mouse Over'],
+								desc = L["Show the enchantment effect near the enchanted item (not the item itself) when mousing over."],
+								disabled = function() return not E.db.sle.characterframeoptions.itemenchant.show or not E.private.sle.characterframeoptions.enable end,
+								get = function(info) return E.db.sle.characterframeoptions.itemenchant.mouseover end,
+								set = function(info, value) E.db.sle.characterframeoptions.itemenchant.mouseover = value; CFO:ArmoryFrame_DataSetting(); end,
 							},
-							fontOutline = {
+							showwarning = {
 								order = 3,
-								name = L["Font Outline"],
-								desc = L["Set the font outline that the item durability will use."],
-								type = "select",
-								values = {
-									['NONE'] = L['None'],
-									['OUTLINE'] = 'OUTLINE',
-									['MONOCHROME'] = 'MONOCHROME',
-									['MONOCHROMEOUTLINE'] = 'MONOCROMEOUTLINE',
-									['THICKOUTLINE'] = 'THICKOUTLINE',
+								type = "toggle",
+								name = L["Show Warning"],
+								get = function(info) return E.db.sle.characterframeoptions.itemenchant.showwarning end,
+								set = function(info, value) E.db.sle.characterframeoptions.itemenchant.showwarning = value; CFO:ArmoryFrame_DataSetting(); end,
+							},
+							warningsize = {
+								order = 4,
+								name = L["Warning Size"],
+								desc = L["Set the icon size that the warning notification will use."],
+								type = "range",
+								min = 8, max = 18, step = 1,
+								get = function(info) return E.db.sle.characterframeoptions.itemenchant.warningSize end,
+								set = function(info, value) E.db.sle.characterframeoptions.itemenchant.warningSize = value; CFO:ResizeErrorIcon(); end,
+							},
+							fontGroup = {
+								order = 5,
+								type = 'group',
+								guiInline = true,
+								name = L['Font'],
+								args = {
+									font = {
+										type = "select", dialogControl = 'LSM30_Font',
+										order = 1,
+										name = L["Font"],
+										desc = L["The font that the enchant notification will use."],
+										values = AceGUIWidgetLSMlists.font,
+										get = function(info) return E.db.sle.characterframeoptions.itemenchant.font end,
+										set = function(info, value) E.db.sle.characterframeoptions.itemenchant.font = value; CFO:ArmoryFrame_DataSetting(); end,
+									},
+									fontSize = {
+										order = 2,
+										name = L["Font Size"],
+										desc = L["Set the font size that the enchant notification will use."],
+										type = "range",
+										min = 6, max = 22, step = 1,
+										get = function(info) return E.db.sle.characterframeoptions.itemenchant.fontSize end,
+										set = function(info, value) E.db.sle.characterframeoptions.itemenchant.fontSize = value; CFO:ArmoryFrame_DataSetting(); end,
+									},
+									fontOutline = {
+										order = 3,
+										name = L["Font Outline"],
+										desc = L["Set the font outline that the enchant notification will use."],
+										type = "select",
+										values = {
+											['NONE'] = L['None'],
+											['OUTLINE'] = 'OUTLINE',
+											['MONOCHROME'] = 'MONOCHROME',
+											['MONOCHROMEOUTLINE'] = 'MONOCROMEOUTLINE',
+											['THICKOUTLINE'] = 'THICKOUTLINE',
+										},
+										get = function(info) return E.db.sle.characterframeoptions.itemenchant.fontOutline end,
+										set = function(info, value) E.db.sle.characterframeoptions.itemenchant.fontOutline = value; CFO:ArmoryFrame_DataSetting(); end,
+									},
 								},
-								get = function(info) return E.db.sle.characterframeoptions.itemdurability.fontOutline end,
-								set = function(info, value) E.db.sle.characterframeoptions.itemdurability.fontOutline = value; CFO:ArmoryFrame_DataSetting(); end,
 							},
 						},
 					},
-				},
-			},
-			itemenchant = {
-				type = "group",
-				name = L["Enchanting"],
-				order = 88,
-				guiInline = true,
-				disabled = function() return not E.private.sle.characterframeoptions.enable end,
-				args = {
-					show = {
-						order = 1,
-						type = "toggle",
-						name = L["Show Enchants"],
-						desc = L["Show the enchantment effect near the enchanted item"],
-						get = function(info) return E.db.sle.characterframeoptions.itemenchant.show end,
-						set = function(info, value) E.db.sle.characterframeoptions.itemenchant.show = value; CFO:ArmoryFrame_DataSetting(); end,
-					},
-					mouseover = {
-						order = 2,
-						type = "toggle",
-						name = L['Mouse Over'],
-						desc = L["Show the enchantment effect near the enchanted item (not the item itself) when mousing over."],
-						disabled = function() return not E.db.sle.characterframeoptions.itemenchant.show or not E.private.sle.characterframeoptions.enable end,
-						get = function(info) return E.db.sle.characterframeoptions.itemenchant.mouseover end,
-						set = function(info, value) E.db.sle.characterframeoptions.itemenchant.mouseover = value; CFO:ArmoryFrame_DataSetting(); end,
-					},
-					showwarning = {
-						order = 3,
-						type = "toggle",
-						name = L["Show Warning"],
-						get = function(info) return E.db.sle.characterframeoptions.itemenchant.showwarning end,
-						set = function(info, value) E.db.sle.characterframeoptions.itemenchant.showwarning = value; CFO:ArmoryFrame_DataSetting(); end,
-					},
-					warningsize = {
-						order = 4,
-						name = L["Warning Size"],
-						desc = L["Set the icon size that the warning notification will use."],
-						type = "range",
-						min = 8, max = 18, step = 1,
-						get = function(info) return E.db.sle.characterframeoptions.itemenchant.warningSize end,
-						set = function(info, value) E.db.sle.characterframeoptions.itemenchant.warningSize = value; CFO:ResizeErrorIcon(); end,
-					},
-					fontGroup = {
-						order = 5,
-						type = 'group',
+					itemgem = {
+						type = "group",
+						name = L["Gem Sockets"],
+						order = 99,
 						guiInline = true,
-						name = L['Font'],
+						disabled = function() return not E.private.sle.characterframeoptions.enable end,
 						args = {
-							font = {
-								type = "select", dialogControl = 'LSM30_Font',
+							show = {
 								order = 1,
-								name = L["Font"],
-								desc = L["The font that the enchant notification will use."],
-								values = AceGUIWidgetLSMlists.font,
-								get = function(info) return E.db.sle.characterframeoptions.itemenchant.font end,
-								set = function(info, value) E.db.sle.characterframeoptions.itemenchant.font = value; CFO:ArmoryFrame_DataSetting(); end,
+								type = "toggle",
+								name = L["Show Gems"],
+								desc = L["Show gem slots near the item"],
+								get = function(info) return E.db.sle.characterframeoptions.itemgem.show end,
+								set = function(info, value) E.db.sle.characterframeoptions.itemgem.show = value; CFO:ArmoryFrame_DataSetting(); end,
 							},
-							fontSize = {
+							showwarning = {
 								order = 2,
-								name = L["Font Size"],
-								desc = L["Set the font size that the enchant notification will use."],
-								type = "range",
-								min = 6, max = 22, step = 1,
-								get = function(info) return E.db.sle.characterframeoptions.itemenchant.fontSize end,
-								set = function(info, value) E.db.sle.characterframeoptions.itemenchant.fontSize = value; CFO:ArmoryFrame_DataSetting(); end,
+								type = "toggle",
+								name = L["Show Warning"],
+								get = function(info) return E.db.sle.characterframeoptions.itemgem.showwarning end,
+								set = function(info, value) E.db.sle.characterframeoptions.itemgem.showwarning = value; CFO:ArmoryFrame_DataSetting(); end,
 							},
-							fontOutline = {
+							warningsize = {
 								order = 3,
-								name = L["Font Outline"],
-								desc = L["Set the font outline that the enchant notification will use."],
-								type = "select",
-								values = {
-									['NONE'] = L['None'],
-									['OUTLINE'] = 'OUTLINE',
-									['MONOCHROME'] = 'MONOCHROME',
-									['MONOCHROMEOUTLINE'] = 'MONOCROMEOUTLINE',
-									['THICKOUTLINE'] = 'THICKOUTLINE',
-								},
-								get = function(info) return E.db.sle.characterframeoptions.itemenchant.fontOutline end,
-								set = function(info, value) E.db.sle.characterframeoptions.itemenchant.fontOutline = value; CFO:ArmoryFrame_DataSetting(); end,
+								name = L["Warning Size"],
+								desc = L["Set the icon size that the warning notification will use."],
+								type = "range",
+								min = 8, max = 18, step = 1,
+								get = function(info) return E.db.sle.characterframeoptions.itemgem.warningSize end,
+								set = function(info, value) E.db.sle.characterframeoptions.itemgem.warningSize = value; CFO:ResizeErrorIcon(); end,
+							},
+							socketsize = {
+								order = 4,
+								name = L["Socket Size"],
+								desc = L["Set the size of sockets to show."],
+								type = "range",
+								min = 10, max = 18, step = 1,
+								get = function(info) return E.db.sle.characterframeoptions.itemgem.socketSize end,
+								set = function(info, value) E.db.sle.characterframeoptions.itemgem.socketSize = value; CFO:ResizeErrorIcon(); end,
 							},
 						},
 					},
 				},
 			},
-			itemgem = {
-				type = "group",
-				name = L["Gem Sockets"],
-				order = 99,
-				guiInline = true,
-				disabled = function() return not E.private.sle.characterframeoptions.enable end,
+			inspectframe = {
+				order = 2,
+				type = 'group',
+				name = L['Inspect Frame'],
 				args = {
-					show = {
+					header = {
 						order = 1,
-						type = "toggle",
-						name = L["Show Gems"],
-						desc = L["Show gem slots near the item"],
-						get = function(info) return E.db.sle.characterframeoptions.itemgem.show end,
-						set = function(info, value) E.db.sle.characterframeoptions.itemgem.show = value; CFO:ArmoryFrame_DataSetting(); end,
+						type = "header",
+						name = L["Inspect Frame Options"],
 					},
-					showwarning = {
+					intro = {
 						order = 2,
-						type = "toggle",
-						name = L["Show Warning"],
-						get = function(info) return E.db.sle.characterframeoptions.itemgem.showwarning end,
-						set = function(info, value) E.db.sle.characterframeoptions.itemgem.showwarning = value; CFO:ArmoryFrame_DataSetting(); end,
+						type = 'description',
+						name = L['IFO_DESC'],
 					},
-					warningsize = {
+					enable = {
 						order = 3,
-						name = L["Warning Size"],
-						desc = L["Set the icon size that the warning notification will use."],
-						type = "range",
-						min = 8, max = 18, step = 1,
-						get = function(info) return E.db.sle.characterframeoptions.itemgem.warningSize end,
-						set = function(info, value) E.db.sle.characterframeoptions.itemgem.warningSize = value; CFO:ResizeErrorIcon(); end,
-					},
-					socketsize = {
-						order = 4,
-						name = L["Socket Size"],
-						desc = L["Set the size of sockets to show."],
-						type = "range",
-						min = 10, max = 18, step = 1,
-						get = function(info) return E.db.sle.characterframeoptions.itemgem.socketSize end,
-						set = function(info, value) E.db.sle.characterframeoptions.itemgem.socketSize = value; CFO:ResizeErrorIcon(); end,
+						type = "toggle",
+						name = L["Enable"],
+						desc = L["Enable/Disable Inspect Frame Options"],
+						get = function(info) return E.private.sle.inspectframeoptions.enable end,
+						set = function(info, value) E.private.sle.inspectframeoptions.enable = value; E:StaticPopup_Show("PRIVATE_RL") end
 					},
 				},
 			},