Quantcast

Current updates

MilleXIV [08-09-16 - 12:40]
Current updates
Filename
XIV_Databar.toc
core.lua
embeds.xml
locales/enUS.lua
modules/load_modules.xml
modules/micromenu.lua
modules/test.lua
diff --git a/XIV_Databar.toc b/XIV_Databar.toc
index 151081b..4e92034 100644
--- a/XIV_Databar.toc
+++ b/XIV_Databar.toc
@@ -6,31 +6,23 @@
 ## SavedVariables: TEST_CONFIG, XIVBarDB
 ## X-Issues: https://github.com/MilleXIV/XIV_Databar/issues

-Libs\LibStub\LibStub.lua
-Libs\AceAddon-3.0\AceAddon-3.0.xml
-Libs\AceConfig-3.0\AceConfig-3.0.xml
-Libs\AceConsole-3.0\AceConsole-3.0.xml
-Libs\AceDB-3.0\AceDB-3.0.xml
-Libs\AceDBOptions-3.0\AceDBOptions-3.0.xml
-Libs\AceEvent-3.0\AceEvent-3.0.xml
-Libs\AceLocale-3.0\AceLocale-3.0.xml
-Libs\LibSharedMedia-3.0\lib.xml
+embeds.xml

 locales\locales.xml
 core.lua
 modules\load_modules.xml

-settings.lua
+# settings.lua

-modules\config.lua
-modules\social.lua
-modules\old\micromenu.lua
-modules\armor.lua
-modules\talent.lua
-modules\clock.lua
-modules\tradeskill.lua
-modules\currency.lua
-modules\performance.lua
-modules\system.lua
-modules\gold.lua
-modules\heartstone.lua
+# modules\config.lua
+# modules\social.lua
+# modules\old\micromenu.lua
+# modules\armor.lua
+# modules\talent.lua
+# modules\clock.lua
+# modules\tradeskill.lua
+# modules\currency.lua
+# modules\performance.lua
+# modules\system.lua
+# modules\gold.lua
+# modules\heartstone.lua
diff --git a/core.lua b/core.lua
index 2523f06..e5c2b08 100644
--- a/core.lua
+++ b/core.lua
@@ -1,8 +1,10 @@
-local AddOnName, Engine = ...;
+local AddOnName, XIVBar = ...;
 local _G = _G;
 local pairs, unpack, select = pairs, unpack, select
-local XIVBar = LibStub("AceAddon-3.0"):NewAddon(AddOnName, "AceConsole-3.0", "AceEvent-3.0");
-local L = LibStub("AceLocale-3.0"):GetLocale(AddOnName, false);
+LibStub("AceAddon-3.0"):NewAddon(XIVBar, AddOnName, "AceConsole-3.0", "AceEvent-3.0");
+local L = LibStub("AceLocale-3.0"):GetLocale(AddOnName, true);
+
+XIVBar.L = L

 XIVBar.defaults = {
   profile = {
@@ -39,7 +41,7 @@ XIVBar.defaults = {
     text = {
       fontSize = 12,
       smallFontSize = 11,
-      font =  L['Homizio Bold']
+      font =  'Homizio Bold'
     },


@@ -58,22 +60,48 @@ XIVBar.constants = {
   playerClass = select(2, UnitClass("player"))
 }

-local P = {};
-
-Engine[1] = XIVBar;
-Engine[2] = L;
-Engine[3] = P;
-_G.XIVBar = Engine;
-
 XIVBar.LSM = LibStub('LibSharedMedia-3.0');

-_G[AddOnName] = Engine;
-
 function XIVBar:OnInitialize()
   self.db = LibStub("AceDB-3.0"):New("XIVBarDB", self.defaults)
   self.LSM:Register(self.LSM.MediaType.FONT, 'Homizio Bold', self.constants.mediaPath.."homizio_bold.ttf")
   self.frames = {}

+  --[[local options = {
+    name = "XIV Bar",
+    handler = XIVBar,
+    type = 'group',
+    args = {
+      general = {
+        name = L['General'],
+        type = "group",
+        order = 3,
+        inline = true,
+        args = {
+          barPosition = {
+            name = L['Bar Position'],
+            type = "select",
+            order = 1,
+            values = {TOP = L['Top'], BOTTOM = L['Bottom']},
+            style = "dropdown",
+            get = function() return self.db.profile.general.barPosition; end,
+            set = function(info, value) self.db.profile.general.barPosition = value; self:Refresh(); end,
+          },
+          barColor = {
+            name = L['Bar Color'],
+            type = "color",
+            order = 2,
+            hasAlpha = true,
+            set = function(info, r, g, b, a)
+              XIVBar:SetColor('barColor', r, g, b, a)
+            end,
+            get = function() return XIVBar:GetColor('barColor') end
+          },
+        }
+      }
+    }
+  }]]--
+
   local options = {
     name = "XIV Bar",
     handler = XIVBar,
@@ -109,7 +137,6 @@ function XIVBar:OnInitialize()
   end

   self.db:RegisterDefaults(self.defaults)
-  P = self.db.profile

   LibStub("AceConfig-3.0"):RegisterOptionsTable(AddOnName, options)
   self.optionsFrame = LibStub("AceConfigDialog-3.0"):AddToBlizOptions(AddOnName, "XIV Bar", nil, "general")
@@ -117,10 +144,12 @@ function XIVBar:OnInitialize()
   --options.args.modules = LibStub("AceDBOptions-3.0"):GetOptionsTable(self.db)
   self.modulesOptionFrame = LibStub("AceConfigDialog-3.0"):AddToBlizOptions(AddOnName, L['Modules'], "XIV Bar", "modules")

-  --LibStub("AceConfig-3.0"):RegisterOptionsTable(AddOnName.."-Profiles", )
   options.args.profiles = LibStub("AceDBOptions-3.0"):GetOptionsTable(self.db)
   self.profilesOptionFrame = LibStub("AceConfigDialog-3.0"):AddToBlizOptions(AddOnName, 'Profiles', "XIV Bar", "profiles")

+  --LibStub("AceConfig-3.0"):RegisterOptionsTable(AddOnName.."-Profiles", )
+
+


   self:RegisterChatCommand('xivbar', 'ToggleConfig')
@@ -136,20 +165,21 @@ function XIVBar:ToggleConfig()
 end

 function XIVBar:SetColor(name, r, g, b, a)
-  P.color[name].r = r
-  P.color[name].g = g
-  P.color[name].b = b
-  P.color[name].a = a
+  self.db.profile.color[name].r = r
+  self.db.profile.color[name].g = g
+  self.db.profile.color[name].b = b
+  self.db.profile.color[name].a = a

   self:Refresh()
 end

 function XIVBar:GetColor(name)
-  d = P.color[name]
+  d = self.db.profile.color[name]
   return d.r, d.g, d.b, d.a
 end

 function XIVBar:HoverColors()
+  local P = self.db.profile
   local colors = {
     P.color.hover.r,
     P.color.hover.g,
@@ -176,18 +206,20 @@ function XIVBar:GetFrame(name)
 end

 function XIVBar:CreateMainBar()
-  self:RegisterFrame('bar', CreateFrame("FRAME", "XIV_Databar", UIParent))
-  self:RegisterFrame('bgTexture', self.frames.bar:CreateTexture(nil, "BACKGROUND"))
+  if self.frames.bar == nil then
+    self:RegisterFrame('bar', CreateFrame("FRAME", "XIV_Databar", UIParent))
+    self:RegisterFrame('bgTexture', self.frames.bar:CreateTexture(nil, "BACKGROUND"))
+  end
 end

 function XIVBar:GetHeight()
-  return (P.text.fontSize * 2) + 3
+  return (self.db.profile.text.fontSize * 2) + 3
 end

 function XIVBar:Refresh()
   if self.frames.bar == nil then return; end
   --error(debugstack())
-  local barColor = P.color.barColor
+  local barColor = self.db.profile.color.barColor
   self.frames.bar:ClearAllPoints()
   self.frames.bar:SetPoint(self.db.profile.general.barPosition)
   self.frames.bar:SetPoint("LEFT")
@@ -255,8 +287,8 @@ function XIVBar:GetTextOptions()
         order = 1,
         values = fontList,
         style = "dropdown",
-        get = function() return P.text.font; end,
-        set = function(info, val) P.text.font = val; self:Refresh(); end
+        get = function() return self.db.profile.text.font; end,
+        set = function(info, val) self.db.profile.text.font = val; self:Refresh(); end
       },
       fontSize = {
         name = L['Font Size'],
@@ -265,8 +297,8 @@ function XIVBar:GetTextOptions()
         min = 10,
         max = 20,
         step = 1,
-        get = function() return P.text.fontSize; end,
-        set = function(info, val) P.text.fontSize = val; self:Refresh(); end
+        get = function() return self.db.profile.text.fontSize; end,
+        set = function(info, val) self.db.profile.text.fontSize = val; self:Refresh(); end
       },
       smallFontSize = {
         name = L['Small Font Size'],
@@ -275,8 +307,8 @@ function XIVBar:GetTextOptions()
         min = 10,
         max = 20,
         step = 1,
-        get = function() return P.text.smallFontSize; end,
-        set = function(info, val) P.text.smallFontSize = val; self:Refresh(); end
+        get = function() return self.db.profile.text.smallFontSize; end,
+        set = function(info, val) self.db.profile.text.smallFontSize = val; self:Refresh(); end
       },
     }
   }
@@ -304,8 +336,8 @@ function XIVBar:GetTextColorOptions()
         name = L['Use Class Colors for Hover'],
         type = "toggle",
         order = 2,
-        set = function(info, val) P.color.useCC = val; self:Refresh(); end,
-        get = function() return P.color.useCC end
+        set = function(info, val) self.db.profile.color.useCC = val; self:Refresh(); end,
+        get = function() return self.db.profile.color.useCC end
       }, -- normal
       inactive = {
         name = L['Inactive'],
@@ -327,7 +359,7 @@ function XIVBar:GetTextColorOptions()
           XIVBar:SetColor('hover', r, g, b, a)
         end,
         get = function() return XIVBar:GetColor('hover') end,
-        disabled = function() return P.color.useCC end
+        disabled = function() return self.db.profile.color.useCC end
       }, -- normal
     }
   }
diff --git a/embeds.xml b/embeds.xml
index e69de29..61b51c8 100644
--- a/embeds.xml
+++ b/embeds.xml
@@ -0,0 +1,31 @@
+<Ui xmlns="http://www.blizzard.com/wow/ui/">
+  <Script file="Libs\LibStub\LibStub.lua" />
+  <Include file="Libs\CallbackHandler-1.0\CallbackHandler-1.0.xml"/>
+  <Include file="Libs\AceAddon-3.0\AceAddon-3.0.xml"/>
+  <Include file="Libs\AceEvent-3.0\AceEvent-3.0.xml"/>
+  <Include file="Libs\AceDB-3.0\AceDB-3.0.xml"/>
+  <Include file="Libs\AceDBOptions-3.0\AceDBOptions-3.0.xml"/>
+  <Include file="Libs\AceLocale-3.0\AceLocale-3.0.xml"/>
+  <Include file="Libs\AceConsole-3.0\AceConsole-3.0.xml"/>
+  <Include file="Libs\AceConfig-3.0\AceConfig-3.0.xml"/>
+	<Include file="Libs\LibSharedMedia-3.0\lib.xml"/>
+</Ui>
+
+<!--
+LibStub\LibStub.lua
+CallbackHandler-1.0\CallbackHandler-1.0.xml
+AceAddon-3.0\AceAddon-3.0.xml
+AceEvent-3.0\AceEvent-3.0.xml
+AceTimer-3.0\AceTimer-3.0.xml
+AceBucket-3.0\AceBucket-3.0.xml
+AceHook-3.0\AceHook-3.0.xml
+AceDB-3.0\AceDB-3.0.xml
+AceDBOptions-3.0\AceDBOptions-3.0.xml
+AceLocale-3.0\AceLocale-3.0.xml
+AceConsole-3.0\AceConsole-3.0.xml
+AceGUI-3.0\AceGUI-3.0.xml
+AceConfig-3.0\AceConfig-3.0.xml
+AceComm-3.0\AceComm-3.0.xml
+AceTab-3.0\AceTab-3.0.xml
+AceSerializer-3.0\AceSerializer-3.0.xml
+-->
diff --git a/locales/enUS.lua b/locales/enUS.lua
index f18a70e..ef34d0d 100644
--- a/locales/enUS.lua
+++ b/locales/enUS.lua
@@ -1,7 +1,6 @@
 local AddOnName, Engine = ...;
 local AceLocale = LibStub:GetLibrary("AceLocale-3.0");
-local L = AceLocale:NewLocale(AddOnName, "enUS", true, true);
-if not L then return; end
+local L = AceLocale:NewLocale(AddOnName, "enUS", true, false);

 L['General'] = true;
 L['Text'] = true;
@@ -33,3 +32,6 @@ L['Hover'] = true;
 L['Test Module'] = true;

 L['Micromenu'] = true;
+L['Show Social Tooltips'] = true;
+L['Main Menu Icon Right Spacing'] = true;
+L['Icon Spacing'] = true;
diff --git a/modules/load_modules.xml b/modules/load_modules.xml
index 0dfe101..54b1f09 100644
--- a/modules/load_modules.xml
+++ b/modules/load_modules.xml
@@ -1,4 +1,4 @@
 <Ui xmlns="http://www.blizzard.com/wow/ui/">
-  <Script file="test.lua" />
+  <!--<Script file="test.lua" />-->
   <Script file="micromenu.lua" />
 </Ui>
diff --git a/modules/micromenu.lua b/modules/micromenu.lua
index 16d5cf9..9c76dea 100644
--- a/modules/micromenu.lua
+++ b/modules/micromenu.lua
@@ -1,8 +1,7 @@
-local AddOnName, Engine = ...;
+local AddOnName, XIVBar = ...;
 local _G = _G;
-local xb = Engine[1];
-local L = Engine[2];
-local P = {};
+local xb = XIVBar;
+local L = XIVBar.L;

 MenuModule = xb:NewModule("MenuModule", 'AceEvent-3.0')

@@ -16,10 +15,11 @@ function MenuModule:OnInitialize()
   self.frames = {}
   self.text = {}
   self.bgTexture = {}
+  self.functions = {}
+  self:CreateClickFunctions()
 end

 function MenuModule:OnEnable()
-  P = xb.db.profile
   self.microMenuFrame = CreateFrame("FRAME", nil, xb:GetFrame('bar'))
   xb:RegisterFrame('microMenuFrame', self.microMenuFrame)

@@ -39,28 +39,32 @@ function MenuModule:Refresh()

   self.iconSize = xb:GetHeight();
   self.textPosition = "TOP"
-  if P.general.barPosition == 'TOP' then
+  if xb.db.profile.general.barPosition == 'TOP' then
     self.textPosition = 'BOTTOM'
   end

-  local colors = P.color
+  local colors = xb.db.profile.color
   local totalWidth = 0;
   for name, frame in pairs(self.frames) do
     self:IconDefaults(name)
-    totalWidth = totalWidth + frame:GetWidth() + 2
     if name == 'menu' then
-      frame:SetPoint("LEFT", 2, 0)
+      frame:SetPoint("LEFT", xb.db.profile.modules.microMenu.iconSpacing, 0)
+      totalWidth = totalWidth + frame:GetWidth() + xb.db.profile.modules.microMenu.iconSpacing
+    elseif name == 'chat' then
+      frame:SetPoint("LEFT", frame:GetParent(), "RIGHT", xb.db.profile.modules.microMenu.mainMenuSpacing, 0)
+      totalWidth = totalWidth + frame:GetWidth() + xb.db.profile.modules.microMenu.mainMenuSpacing
     else
-      frame:SetPoint("LEFT", frame:GetParent(), "RIGHT", 2, 0)
+      frame:SetPoint("LEFT", frame:GetParent(), "RIGHT", xb.db.profile.modules.microMenu.iconSpacing, 0)
+      totalWidth = totalWidth + frame:GetWidth() + xb.db.profile.modules.microMenu.iconSpacing
     end
   end
   self.microMenuFrame:SetPoint("LEFT")
   self.microMenuFrame:SetSize(totalWidth, xb:GetHeight())

   for name, frame in pairs(self.text) do
-    frame:SetFont(xb.LSM:Fetch(xb.LSM.MediaType.FONT, P.text.font), P.text.smallFontSize)
+    frame:SetFont(xb.LSM:Fetch(xb.LSM.MediaType.FONT, xb.db.profile.text.font), xb.db.profile.text.smallFontSize)
     frame:SetPoint('CENTER', self.frames[name], self.textPosition)
-    self.bgTexture[name]:SetColorTexture(P.color.barColor.r, P.color.barColor.g, P.color.barColor.b, P.color.barColor.a)
+    self.bgTexture[name]:SetColorTexture(xb.db.profile.color.barColor.r, xb.db.profile.color.barColor.g, xb.db.profile.color.barColor.b, xb.db.profile.color.barColor.a)
     self.bgTexture[name]:SetPoint('CENTER', frame)
   end
 end
@@ -68,13 +72,13 @@ end
 function MenuModule:CreateFrames()
   self.frames.menu = self.frames.menu or CreateFrame("BUTTON", nil, xb:GetFrame('microMenuFrame'))

-  self.frames.socialParent = self.frames.socialParent or CreateFrame("FRAME", nil, self.frames.menu)
-  self.frames.chat = self.frames.chat or CreateFrame("BUTTON", nil, self.frames.socialParent)
+  --self.frames.socialParent = self.frames.socialParent or CreateFrame("FRAME", nil, self.frames.menu)
+  self.frames.chat = self.frames.chat or CreateFrame("BUTTON", nil, self.frames.menu)
   self.frames.guild = self.frames.guild or CreateFrame("BUTTON", nil, self.frames.chat)
   self.frames.social = self.frames.social or CreateFrame("BUTTON", nil, self.frames.guild)

-  self.frames.microbar = self.frames.microbar or CreateFrame("FRAME", nil, self.frames.social)
-  self.frames.char = self.frames.char or CreateFrame("BUTTON", nil, self.frames.microbar)
+  --self.frames.microbar = self.frames.microbar or CreateFrame("FRAME", nil, self.frames.social)
+  self.frames.char = self.frames.char or CreateFrame("BUTTON", nil, self.frames.social)
   self.frames.spell = self.frames.spell or CreateFrame("BUTTON", nil, self.frames.char)
   self.frames.talent = self.frames.talent or CreateFrame("BUTTON", nil, self.frames.spell)
   self.frames.ach = self.frames.ach or CreateFrame("BUTTON", nil, self.frames.talent)
@@ -103,7 +107,7 @@ function MenuModule:CreateIcons()
 end

 function MenuModule:IconDefaults(name)
-  local colors = P.color
+  local colors = xb.db.profile.color
   if self.frames[name] == nil then return; end
   if self.frames[name]['Click'] ~= nil then
     self.frames[name]:SetSize(self.iconSize, self.iconSize)
@@ -123,23 +127,18 @@ function MenuModule:RegisterFrameEvents()

     if frame['Click'] ~= nil then
       frame:RegisterForClicks("AnyUp")
+      if self.functions[name] ~= nil then
+        frame:SetScript('OnClick', self.functions[name])
+      end
     end
     frame:SetScript("OnEnter", self:DefaultHover(name))
     frame:SetScript("OnLeave", self:DefaultLeave(name))
   end
-  self.frames.menu:SetScript('OnClick', self:MainMenuClick())
-
-  self.frames.chat:SetScript('OnClick', self:ChatClick())

-  self.frames.guild:SetScript('OnClick', self:GuildClick())
   self:RegisterEvent('GUILD_ROSTER_UPDATE', 'UpdateGuildText')
-
-  self.frames.social:SetScript('OnClick', self:SocialClick())
   self:RegisterEvent('BN_FRIEND_ACCOUNT_ONLINE', 'UpdateFriendText')
   self:RegisterEvent('BN_FRIEND_ACCOUNT_OFFLINE', 'UpdateFriendText')
   self:RegisterEvent('FRIENDLIST_UPDATE', 'UpdateFriendText')
-
-  self.frames.char:SetScript('OnClick', self:CharacterClick())
 end

 function MenuModule:UpdateGuildText()
@@ -174,69 +173,133 @@ function MenuModule:DefaultLeave(name)
   return function()
     if InCombatLockdown() then return; end
     if self.icons[name] ~= nil then
-      self.icons[name]:SetVertexColor(P.color.normal.r, P.color.normal.g, P.color.normal.b, P.color.normal.a)
+      self.icons[name]:SetVertexColor(xb.db.profile.color.normal.r, xb.db.profile.color.normal.g, xb.db.profile.color.normal.b, xb.db.profile.color.normal.a)
     end
   end
 end

-function MenuModule:MainMenuClick()
-  return function(self, button, down)
+function MenuModule:CreateClickFunctions()
+  self.functions.menu = function(self, button, down)
     if InCombatLockdown() then return; end
-  	if button == "LeftButton" then
-  		ToggleFrame(GameMenuFrame)
-  	elseif button == "RightButton" then
-  		if IsShiftKeyDown() then
+    if button == "LeftButton" then
+      ToggleFrame(GameMenuFrame)
+    elseif button == "RightButton" then
+      if IsShiftKeyDown() then
         ReloadUI()
-  		else
+      else
         ToggleFrame(AddonList)
       end
-  	end
-  end
-end
+    end
+  end; --menu

-function MenuModule:ChatClick()
-  return function(self, button, down)
+  self.functions.chat = function(self, button, down)
     if InCombatLockdown() then return; end
-  	if button == "LeftButton" then
+    if button == "LeftButton" then
       ChatFrame_OpenMenu()
     end
-  end
-end
+  end; --chat

-function MenuModule:GuildClick()
-  return function(self, button, down)
-  	if InCombatLockdown() then return; end
-  	if button == "LeftButton" then
+  self.functions.guild = function(self, button, down)
+    if InCombatLockdown() then return; end
+    if button == "LeftButton" then
       ToggleGuildFrame()
-  		if ( IsInGuild() ) then
-  			GuildFrameTab2:Click()
-  		end
+      if IsInGuild() then
+        GuildFrameTab2:Click()
+      end
+    end
+  end; --guild
+
+  self.functions.social = function(self, button, down)
+    if InCombatLockdown() then return; end
+    if button == "LeftButton" then
+      ToggleFriendsFrame()
+    end
+  end; --social
+
+  self.functions.char = function(self, button, down)
+    if InCombatLockdown() then return; end
+    if button == "LeftButton" then
+      ToggleCharacter("PaperDollFrame")
+    end
+  end; --char
+
+  self.functions.spell = function(self, button, down)
+    if InCombatLockdown() then return; end
+    if button == "LeftButton" then
+  		ToggleFrame(SpellBookFrame)
   	end
-  end
-end
+  end; --spell

-function MenuModule:SocialClick()
-  return function(self, button, down)
+  self.functions.talent = function(self, button, down)
     if InCombatLockdown() then return; end
-  	if button == "LeftButton" then
-  		ToggleFriendsFrame()
+    if button == "LeftButton" then
+  		ToggleTalentFrame()
   	end
-  end
-end
+  end; --talent

-function MenuModule:CharacterClick()
-  return function(self, button, down)
-  	if InCombatLockdown() then return; end
-  	if button == "LeftButton" then
-  		ToggleCharacter("PaperDollFrame")
+  self.functions.journal = function(self, button, down)
+    if InCombatLockdown() then return; end
+    if button == "LeftButton" then
+  		ToggleEncounterJournal()
   	end
-  end
+  end; --journal
+
+  self.functions.lfg = function(self, button, down)
+    if InCombatLockdown() then return; end
+    if button == "LeftButton" then
+  		ToggleLFDParentFrame()
+  	end
+  end; --lfg
+
+  self.functions.pet = function(self, button, down)
+    if InCombatLockdown() then return; end
+    if button == "LeftButton" then
+  		ToggleCollectionsJournal()
+  	end
+  end; --pet
+
+  self.functions.ach = function(self, button, down)
+    if InCombatLockdown() then return; end
+    if button == "LeftButton" then
+  		ToggleAchievementFrame()
+  	end
+  end; --ach
+
+  self.functions.quest = function(self, button, down)
+    if InCombatLockdown() then return; end
+    if button == "LeftButton" then
+  		ToggleQuestLog()
+  	end
+  end; --quest
+
+  self.functions.pvp = function(self, button, down)
+    if InCombatLockdown() then return; end
+    if button == "LeftButton" then
+  		TogglePVPUI()
+  	end
+  end; --pvp
+
+  self.functions.shop = function(self, button, down)
+    if InCombatLockdown() then return; end
+    if button == "LeftButton" then
+  		ToggleStoreUI()
+  	end
+  end; --shop
+
+  self.functions.help = function(self, button, down)
+    if InCombatLockdown() then return; end
+    if button == "LeftButton" then
+  		ToggleHelpFrame()
+  	end
+  end; --help
 end

 function MenuModule:GetDefaultOptions()
   return 'microMenu', {
       enabled = true,
-      showTooltips = true
+      showTooltips = true,
+      mainMenuSpacing = 2,
+      iconSpacing = 2
     }
 end

@@ -246,18 +309,38 @@ function MenuModule:GetConfig()
     type = "group",
     args = {
       enable = {
-        name = L['Enabled'],
+        name = ENABLE,
         order = 0,
         type = "toggle",
-        get = function() return P.modules.microMenu.enabled; end,
-        set = function(_, val) P.modules.microMenu.enabled = val; end
+        get = function() return xb.db.profile.modules.microMenu.enabled; end,
+        set = function(_, val) xb.db.profile.modules.microMenu.enabled = val; self:Refresh(); end
       },
       showTooltips = {
         name = L['Show Social Tooltips'],
-        order = 0,
+        order = 1,
         type = "toggle",
-        get = function() return P.modules.microMenu.showTooltips; end,
-        set = function(_, val) P.modules.microMenu.showTooltips = val; end
+        get = function() return xb.db.profile.modules.microMenu.showTooltips; end,
+        set = function(_, val) xb.db.profile.modules.microMenu.showTooltips = val; self:Refresh(); end
+      },
+      mainMenuSpacing = {
+        name = L['Main Menu Icon Right Spacing'],
+        order = 2,
+        type="range",
+        min = 2,
+        max = 20,
+        step = 1,
+        get = function() return xb.db.profile.modules.microMenu.mainMenuSpacing; end,
+        set = function(_, val) xb.db.profile.modules.microMenu.mainMenuSpacing = val; self:Refresh(); end
+      },
+      iconSpacing = {
+        name = L['Icon Spacing'],
+        order = 2,
+        type="range",
+        min = 2,
+        max = 20,
+        step = 1,
+        get = function() return xb.db.profile.modules.microMenu.iconSpacing; end,
+        set = function(_, val) xb.db.profile.modules.microMenu.iconSpacing = val; self:Refresh(); end
       }
     }
   }
diff --git a/modules/test.lua b/modules/test.lua
index ae72e82..9a7f7fe 100644
--- a/modules/test.lua
+++ b/modules/test.lua
@@ -37,7 +37,7 @@ function TestModule:GetConfig()
     type = "group",
     args = {
       enable = {
-        name = L['Enabled'],
+        name = ENABLE,
         order = 0,
         type = "toggle",
         get = function() return P.modules.testModule.enabled; end,