diff --git a/libs/AceConfig-3.0/AceConfig-3.0.lua b/libs/AceConfig-3.0/AceConfig-3.0.lua old mode 100755 new mode 100644 diff --git a/libs/AceConfig-3.0/AceConfig-3.0.xml b/libs/AceConfig-3.0/AceConfig-3.0.xml old mode 100755 new mode 100644 diff --git a/libs/AceConfig-3.0/AceConfigCmd-3.0/AceConfigCmd-3.0.lua b/libs/AceConfig-3.0/AceConfigCmd-3.0/AceConfigCmd-3.0.lua old mode 100755 new mode 100644 diff --git a/libs/AceConfig-3.0/AceConfigCmd-3.0/AceConfigCmd-3.0.xml b/libs/AceConfig-3.0/AceConfigCmd-3.0/AceConfigCmd-3.0.xml old mode 100755 new mode 100644 diff --git a/libs/AceConfig-3.0/AceConfigDialog-3.0/AceConfigDialog-3.0.lua b/libs/AceConfig-3.0/AceConfigDialog-3.0/AceConfigDialog-3.0.lua old mode 100755 new mode 100644 index 0411978..8dbd134 --- a/libs/AceConfig-3.0/AceConfigDialog-3.0/AceConfigDialog-3.0.lua +++ b/libs/AceConfig-3.0/AceConfigDialog-3.0/AceConfigDialog-3.0.lua @@ -1,10 +1,10 @@ --- AceConfigDialog-3.0 generates AceGUI-3.0 based windows based on option tables. -- @class file -- @name AceConfigDialog-3.0 --- @release $Id: AceConfigDialog-3.0.lua 1049 2012-04-02 13:22:10Z mikk $ +-- @release $Id: AceConfigDialog-3.0.lua 1113 2014-09-11 20:18:16Z nevcairiel $ local LibStub = LibStub -local MAJOR, MINOR = "AceConfigDialog-3.0", 57 +local MAJOR, MINOR = "AceConfigDialog-3.0", 59 local AceConfigDialog, oldminor = LibStub:NewLibrary(MAJOR, MINOR) if not AceConfigDialog then return end @@ -580,7 +580,7 @@ local function confirmPopup(appName, rootframe, basepath, info, message, func, . t.text = message t.button1 = ACCEPT t.button2 = CANCEL - t.preferredIndex = 3 + t.preferredIndex = STATICPOPUP_NUMDIALOGS local dialog, oldstrata t.OnAccept = function() safecall(func, unpack(t)) @@ -1817,6 +1817,14 @@ function AceConfigDialog:Open(appName, container, ...) tinsert(path, (select(n, ...))) end + local option = options + if type(container) == "table" and container.type == "BlizOptionsGroup" and #path > 0 then + for i = 1, #path do + option = options.args[path[i]] + end + name = format("%s - %s", name, GetOptionsMemberValue("name", option, options, path, appName)) + end + --if a container is given feed into that if container then f = container diff --git a/libs/AceConfig-3.0/AceConfigDialog-3.0/AceConfigDialog-3.0.xml b/libs/AceConfig-3.0/AceConfigDialog-3.0/AceConfigDialog-3.0.xml old mode 100755 new mode 100644 diff --git a/libs/AceConfig-3.0/AceConfigRegistry-3.0/AceConfigRegistry-3.0.lua b/libs/AceConfig-3.0/AceConfigRegistry-3.0/AceConfigRegistry-3.0.lua old mode 100755 new mode 100644 index 74f4880..d684d66 --- a/libs/AceConfig-3.0/AceConfigRegistry-3.0/AceConfigRegistry-3.0.lua +++ b/libs/AceConfig-3.0/AceConfigRegistry-3.0/AceConfigRegistry-3.0.lua @@ -8,8 +8,8 @@ -- :IterateOptionsTables() (and :GetOptionsTable() if only given one argument) return a function reference that the requesting config handling addon must call with valid "uiType", "uiName". -- @class file -- @name AceConfigRegistry-3.0 --- @release $Id: AceConfigRegistry-3.0.lua 1045 2011-12-09 17:58:40Z nevcairiel $ -local MAJOR, MINOR = "AceConfigRegistry-3.0", 14 +-- @release $Id: AceConfigRegistry-3.0.lua 1105 2013-12-08 22:11:58Z nevcairiel $ +local MAJOR, MINOR = "AceConfigRegistry-3.0", 15 local AceConfigRegistry = LibStub:NewLibrary(MAJOR, MINOR) if not AceConfigRegistry then return end @@ -288,7 +288,8 @@ end -- @param appName The application name as given to `:RegisterOptionsTable()` -- @param options The options table, OR a function reference that generates it on demand. \\ -- See the top of the page for info on arguments passed to such functions. -function AceConfigRegistry:RegisterOptionsTable(appName, options) +-- @param skipValidation Skip options table validation (primarily useful for extremely huge options, with a noticeable slowdown) +function AceConfigRegistry:RegisterOptionsTable(appName, options, skipValidation) if type(options)=="table" then if options.type~="group" then -- quick sanity checker error(MAJOR..": RegisterOptionsTable(appName, options): 'options' - missing type='group' member in root group", 2) @@ -296,7 +297,7 @@ function AceConfigRegistry:RegisterOptionsTable(appName, options) AceConfigRegistry.tables[appName] = function(uiType, uiName, errlvl) errlvl=(errlvl or 0)+1 validateGetterArgs(uiType, uiName, errlvl) - if not AceConfigRegistry.validated[uiType][appName] then + if not AceConfigRegistry.validated[uiType][appName] and not skipValidation then AceConfigRegistry:ValidateOptionsTable(options, appName, errlvl) -- upgradable AceConfigRegistry.validated[uiType][appName] = true end @@ -307,7 +308,7 @@ function AceConfigRegistry:RegisterOptionsTable(appName, options) errlvl=(errlvl or 0)+1 validateGetterArgs(uiType, uiName, errlvl) local tab = assert(options(uiType, uiName, appName)) - if not AceConfigRegistry.validated[uiType][appName] then + if not AceConfigRegistry.validated[uiType][appName] and not skipValidation then AceConfigRegistry:ValidateOptionsTable(tab, appName, errlvl) -- upgradable AceConfigRegistry.validated[uiType][appName] = true end diff --git a/libs/AceConfig-3.0/AceConfigRegistry-3.0/AceConfigRegistry-3.0.xml b/libs/AceConfig-3.0/AceConfigRegistry-3.0/AceConfigRegistry-3.0.xml old mode 100755 new mode 100644 diff --git a/libs/AceDB-3.0/AceDB-3.0.lua b/libs/AceDB-3.0/AceDB-3.0.lua old mode 100755 new mode 100644 index c2bb775..79f4b39 --- a/libs/AceDB-3.0/AceDB-3.0.lua +++ b/libs/AceDB-3.0/AceDB-3.0.lua @@ -39,8 +39,8 @@ -- end -- @class file -- @name AceDB-3.0.lua --- @release $Id: AceDB-3.0.lua 1035 2011-07-09 03:20:13Z kaelten $ -local ACEDB_MAJOR, ACEDB_MINOR = "AceDB-3.0", 22 +-- @release $Id: AceDB-3.0.lua 1115 2014-09-21 11:52:35Z kaelten $ +local ACEDB_MAJOR, ACEDB_MINOR = "AceDB-3.0", 25 local AceDB, oldminor = LibStub:NewLibrary(ACEDB_MAJOR, ACEDB_MINOR) if not AceDB then return end -- No upgrade needed @@ -260,9 +260,12 @@ local _, classKey = UnitClass("player") local _, raceKey = UnitRace("player") local factionKey = UnitFactionGroup("player") local factionrealmKey = factionKey .. " - " .. realmKey -local factionrealmregionKey = factionrealmKey .. " - " .. string.sub(GetCVar("realmList"), 1, 2):upper() local localeKey = GetLocale():lower() +local regionTable = { "US", "KR", "EU", "TW", "CN" } +local regionKey = _G["GetCurrentRegion"] and regionTable[GetCurrentRegion()] or string.sub(GetCVar("realmList"), 1, 2):upper() +local factionrealmregionKey = factionrealmKey .. " - " .. regionKey + -- Actual database initialization function local function initdb(sv, defaults, defaultProfile, olddb, parent) -- Generate the database keys for each section @@ -525,6 +528,15 @@ function DBObjectLib:DeleteProfile(name, silent) end end + -- switch all characters that use this profile back to the default + if self.sv.profileKeys then + for key, profile in pairs(self.sv.profileKeys) do + if profile == name then + self.sv.profileKeys[key] = nil + end + end + end + -- Callback: OnProfileDeleted, database, profileKey self.callbacks:Fire("OnProfileDeleted", self, name) end diff --git a/libs/AceDB-3.0/AceDB-3.0.xml b/libs/AceDB-3.0/AceDB-3.0.xml old mode 100755 new mode 100644 diff --git a/libs/AceDBOptions-3.0/AceDBOptions-3.0.lua b/libs/AceDBOptions-3.0/AceDBOptions-3.0.lua old mode 100755 new mode 100644 diff --git a/libs/AceDBOptions-3.0/AceDBOptions-3.0.xml b/libs/AceDBOptions-3.0/AceDBOptions-3.0.xml old mode 100755 new mode 100644 diff --git a/libs/AceEvent-3.0/AceEvent-3.0.lua b/libs/AceEvent-3.0/AceEvent-3.0.lua old mode 100755 new mode 100644 diff --git a/libs/AceEvent-3.0/AceEvent-3.0.xml b/libs/AceEvent-3.0/AceEvent-3.0.xml old mode 100755 new mode 100644 diff --git a/libs/AceGUI-3.0/AceGUI-3.0.lua b/libs/AceGUI-3.0/AceGUI-3.0.lua old mode 100755 new mode 100644 index 53295bb..9853644 --- a/libs/AceGUI-3.0/AceGUI-3.0.lua +++ b/libs/AceGUI-3.0/AceGUI-3.0.lua @@ -24,8 +24,8 @@ -- f:AddChild(btn) -- @class file -- @name AceGUI-3.0 --- @release $Id: AceGUI-3.0.lua 924 2010-05-13 15:12:20Z nevcairiel $ -local ACEGUI_MAJOR, ACEGUI_MINOR = "AceGUI-3.0", 33 +-- @release $Id: AceGUI-3.0.lua 1102 2013-10-25 14:15:23Z nevcairiel $ +local ACEGUI_MAJOR, ACEGUI_MINOR = "AceGUI-3.0", 34 local AceGUI, oldminor = LibStub:NewLibrary(ACEGUI_MAJOR, ACEGUI_MINOR) if not AceGUI then return end -- No upgrade needed @@ -673,8 +673,16 @@ AceGUI:RegisterLayout("Fill", end end) +local layoutrecursionblock = nil +local function safelayoutcall(object, func, ...) + layoutrecursionblock = true + object[func](object, ...) + layoutrecursionblock = nil +end + AceGUI:RegisterLayout("Flow", function(content, children) + if layoutrecursionblock then return end --used height so far local height = 0 --width used in the current row @@ -762,7 +770,7 @@ AceGUI:RegisterLayout("Flow", end if child.width == "fill" then - child:SetWidth(width) + safelayoutcall(child, "SetWidth", width) frame:SetPoint("RIGHT", content) usedwidth = 0 @@ -776,7 +784,7 @@ AceGUI:RegisterLayout("Flow", rowoffset = child.alignoffset or (rowheight / 2) rowstartoffset = rowoffset elseif child.width == "relative" then - child:SetWidth(width * child.relWidth) + safelayoutcall(child, "SetWidth", width * child.relWidth) if child.DoLayout then child:DoLayout() diff --git a/libs/AceGUI-3.0/AceGUI-3.0.xml b/libs/AceGUI-3.0/AceGUI-3.0.xml old mode 100755 new mode 100644 diff --git a/libs/AceGUI-3.0/widgets/AceGUIContainer-BlizOptionsGroup.lua b/libs/AceGUI-3.0/widgets/AceGUIContainer-BlizOptionsGroup.lua old mode 100755 new mode 100644 diff --git a/libs/AceGUI-3.0/widgets/AceGUIContainer-DropDownGroup.lua b/libs/AceGUI-3.0/widgets/AceGUIContainer-DropDownGroup.lua old mode 100755 new mode 100644 diff --git a/libs/AceGUI-3.0/widgets/AceGUIContainer-Frame.lua b/libs/AceGUI-3.0/widgets/AceGUIContainer-Frame.lua old mode 100755 new mode 100644 diff --git a/libs/AceGUI-3.0/widgets/AceGUIContainer-InlineGroup.lua b/libs/AceGUI-3.0/widgets/AceGUIContainer-InlineGroup.lua old mode 100755 new mode 100644 diff --git a/libs/AceGUI-3.0/widgets/AceGUIContainer-ScrollFrame.lua b/libs/AceGUI-3.0/widgets/AceGUIContainer-ScrollFrame.lua old mode 100755 new mode 100644 diff --git a/libs/AceGUI-3.0/widgets/AceGUIContainer-SimpleGroup.lua b/libs/AceGUI-3.0/widgets/AceGUIContainer-SimpleGroup.lua old mode 100755 new mode 100644 diff --git a/libs/AceGUI-3.0/widgets/AceGUIContainer-TabGroup.lua b/libs/AceGUI-3.0/widgets/AceGUIContainer-TabGroup.lua old mode 100755 new mode 100644 diff --git a/libs/AceGUI-3.0/widgets/AceGUIContainer-TreeGroup.lua b/libs/AceGUI-3.0/widgets/AceGUIContainer-TreeGroup.lua old mode 100755 new mode 100644 index b6b59f0..6fbe066 --- a/libs/AceGUI-3.0/widgets/AceGUIContainer-TreeGroup.lua +++ b/libs/AceGUI-3.0/widgets/AceGUIContainer-TreeGroup.lua @@ -2,7 +2,7 @@ TreeGroup Container Container that uses a tree control to switch between groups. -------------------------------------------------------------------------------]] -local Type, Version = "TreeGroup", 34 +local Type, Version = "TreeGroup", 36 local AceGUI = LibStub and LibStub("AceGUI-3.0", true) if not AceGUI or (AceGUI:GetWidgetVersion(Type) or 0) >= Version then return end @@ -231,7 +231,7 @@ local function OnScrollValueChanged(frame, value) if frame.obj.noupdate then return end local self = frame.obj local status = self.status or self.localstatus - status.scrollvalue = value + status.scrollvalue = floor(value + 0.5) self:RefreshTree() AceGUI:ClearFocus() end diff --git a/libs/AceGUI-3.0/widgets/AceGUIContainer-Window.lua b/libs/AceGUI-3.0/widgets/AceGUIContainer-Window.lua old mode 100755 new mode 100644 diff --git a/libs/AceGUI-3.0/widgets/AceGUIWidget-Button.lua b/libs/AceGUI-3.0/widgets/AceGUIWidget-Button.lua old mode 100755 new mode 100644 index fd95cb7..028e524 --- a/libs/AceGUI-3.0/widgets/AceGUIWidget-Button.lua +++ b/libs/AceGUI-3.0/widgets/AceGUIWidget-Button.lua @@ -2,7 +2,7 @@ Button Widget Graphical Button. -------------------------------------------------------------------------------]] -local Type, Version = "Button", 22 +local Type, Version = "Button", 23 local AceGUI = LibStub and LibStub("AceGUI-3.0", true) if not AceGUI or (AceGUI:GetWidgetVersion(Type) or 0) >= Version then return end @@ -45,6 +45,7 @@ local methods = { self:SetHeight(24) self:SetWidth(200) self:SetDisabled(false) + self:SetAutoWidth(false) self:SetText() end, @@ -52,6 +53,16 @@ local methods = { ["SetText"] = function(self, text) self.text:SetText(text) + if self.autoWidth then + self:SetWidth(self.text:GetStringWidth() + 30) + end + end, + + ["SetAutoWidth"] = function(self, autoWidth) + self.autoWidth = autoWidth + if self.autoWidth then + self:SetWidth(self.text:GetStringWidth() + 30) + end end, ["SetDisabled"] = function(self, disabled) diff --git a/libs/AceGUI-3.0/widgets/AceGUIWidget-CheckBox.lua b/libs/AceGUI-3.0/widgets/AceGUIWidget-CheckBox.lua old mode 100755 new mode 100644 diff --git a/libs/AceGUI-3.0/widgets/AceGUIWidget-ColorPicker.lua b/libs/AceGUI-3.0/widgets/AceGUIWidget-ColorPicker.lua old mode 100755 new mode 100644 index f242437..f25d46c --- a/libs/AceGUI-3.0/widgets/AceGUIWidget-ColorPicker.lua +++ b/libs/AceGUI-3.0/widgets/AceGUIWidget-ColorPicker.lua @@ -1,7 +1,7 @@ --[[----------------------------------------------------------------------------- ColorPicker Widget -------------------------------------------------------------------------------]] -local Type, Version = "ColorPicker", 21 +local Type, Version = "ColorPicker", 22 local AceGUI = LibStub and LibStub("AceGUI-3.0", true) if not AceGUI or (AceGUI:GetWidgetVersion(Type) or 0) >= Version then return end @@ -51,6 +51,7 @@ local function ColorSwatch_OnClick(frame) local self = frame.obj if not self.disabled then ColorPickerFrame:SetFrameStrata("FULLSCREEN_DIALOG") + ColorPickerFrame:SetFrameLevel(frame:GetFrameLevel() + 10) ColorPickerFrame:SetClampedToScreen(true) ColorPickerFrame.func = function() diff --git a/libs/AceGUI-3.0/widgets/AceGUIWidget-DropDown-Items.lua b/libs/AceGUI-3.0/widgets/AceGUIWidget-DropDown-Items.lua old mode 100755 new mode 100644 diff --git a/libs/AceGUI-3.0/widgets/AceGUIWidget-DropDown.lua b/libs/AceGUI-3.0/widgets/AceGUIWidget-DropDown.lua old mode 100755 new mode 100644 index f46f370..0dd3bff --- a/libs/AceGUI-3.0/widgets/AceGUIWidget-DropDown.lua +++ b/libs/AceGUI-3.0/widgets/AceGUIWidget-DropDown.lua @@ -1,4 +1,4 @@ ---[[ $Id: AceGUIWidget-DropDown.lua 1029 2011-06-10 23:10:58Z nevcairiel $ ]]-- +--[[ $Id: AceGUIWidget-DropDown.lua 1116 2014-10-12 08:15:46Z nevcairiel $ ]]-- local AceGUI = LibStub("AceGUI-3.0") -- Lua APIs @@ -356,17 +356,19 @@ end do local widgetType = "Dropdown" - local widgetVersion = 25 + local widgetVersion = 30 --[[ Static data ]]-- --[[ UI event handler ]]-- local function Control_OnEnter(this) + this.obj.button:LockHighlight() this.obj:Fire("OnEnter") end local function Control_OnLeave(this) + this.obj.button:UnlockHighlight() this.obj:Fire("OnLeave") end @@ -386,7 +388,7 @@ do AceGUI:ClearFocus() else self.open = true - self.pullout:SetWidth(self.frame:GetWidth()) + self.pullout:SetWidth(self.pulloutWidth or self.frame:GetWidth()) self.pullout:Open("TOPLEFT", self.frame, "BOTTOMLEFT", 0, self.label:IsShown() and -2 or 0) AceGUI:SetFocus(self) end @@ -403,6 +405,7 @@ do end self.open = true + self:Fire("OnOpened") end local function OnPulloutClose(this) @@ -461,6 +464,7 @@ do self:SetHeight(44) self:SetWidth(200) self:SetLabel() + self:SetPulloutWidth(nil) end -- exported, AceGUI callback @@ -490,9 +494,11 @@ do if disabled then self.text:SetTextColor(0.5,0.5,0.5) self.button:Disable() + self.button_cover:Disable() self.label:SetTextColor(0.5,0.5,0.5) else self.button:Enable() + self.button_cover:Enable() self.label:SetTextColor(1,.82,0) self.text:SetTextColor(1,1,1) end @@ -515,9 +521,9 @@ do if text and text ~= "" then self.label:SetText(text) self.label:Show() - self.dropdown:SetPoint("TOPLEFT",self.frame,"TOPLEFT",-15,-18) - self:SetHeight(44) - self.alignoffset = 30 + self.dropdown:SetPoint("TOPLEFT",self.frame,"TOPLEFT",-15,-14) + self:SetHeight(40) + self.alignoffset = 26 else self.label:SetText("") self.label:Hide() @@ -635,6 +641,10 @@ do return self.multiselect end + local function SetPulloutWidth(self, width) + self.pulloutWidth = width + end + --[[ Constructor ]]-- local function Constructor() @@ -666,8 +676,9 @@ do self.GetMultiselect = GetMultiselect self.SetItemValue = SetItemValue self.SetItemDisabled = SetItemDisabled + self.SetPulloutWidth = SetPulloutWidth - self.alignoffset = 30 + self.alignoffset = 26 frame:SetScript("OnHide",Dropdown_OnHide) @@ -694,6 +705,15 @@ do button:SetScript("OnLeave",Control_OnLeave) button:SetScript("OnClick",Dropdown_TogglePullout) + local button_cover = CreateFrame("BUTTON",nil,self.frame) + self.button_cover = button_cover + button_cover.obj = self + button_cover:SetPoint("TOPLEFT",self.frame,"BOTTOMLEFT",0,25) + button_cover:SetPoint("BOTTOMRIGHT",self.frame,"BOTTOMRIGHT") + button_cover:SetScript("OnEnter",Control_OnEnter) + button_cover:SetScript("OnLeave",Control_OnLeave) + button_cover:SetScript("OnClick",Dropdown_TogglePullout) + local text = _G[dropdown:GetName() .. "Text"] self.text = text text.obj = self diff --git a/libs/AceGUI-3.0/widgets/AceGUIWidget-EditBox.lua b/libs/AceGUI-3.0/widgets/AceGUIWidget-EditBox.lua old mode 100755 new mode 100644 index acd7131..c67902c --- a/libs/AceGUI-3.0/widgets/AceGUIWidget-EditBox.lua +++ b/libs/AceGUI-3.0/widgets/AceGUIWidget-EditBox.lua @@ -1,7 +1,7 @@ --[[----------------------------------------------------------------------------- EditBox Widget -------------------------------------------------------------------------------]] -local Type, Version = "EditBox", 24 +local Type, Version = "EditBox", 25 local AceGUI = LibStub and LibStub("AceGUI-3.0", true) if not AceGUI or (AceGUI:GetWidgetVersion(Type) or 0) >= Version then return end @@ -90,6 +90,11 @@ local function EditBox_OnReceiveDrag(frame) self:SetText(name) self:Fire("OnEnterPressed", name) ClearCursor() + elseif type == "macro" then + local name = GetMacroInfo(id) + self:SetText(name) + self:Fire("OnEnterPressed", name) + ClearCursor() end HideButton(self) AceGUI:ClearFocus() diff --git a/libs/AceGUI-3.0/widgets/AceGUIWidget-Heading.lua b/libs/AceGUI-3.0/widgets/AceGUIWidget-Heading.lua old mode 100755 new mode 100644 diff --git a/libs/AceGUI-3.0/widgets/AceGUIWidget-Icon.lua b/libs/AceGUI-3.0/widgets/AceGUIWidget-Icon.lua old mode 100755 new mode 100644 diff --git a/libs/AceGUI-3.0/widgets/AceGUIWidget-InteractiveLabel.lua b/libs/AceGUI-3.0/widgets/AceGUIWidget-InteractiveLabel.lua old mode 100755 new mode 100644 diff --git a/libs/AceGUI-3.0/widgets/AceGUIWidget-Keybinding.lua b/libs/AceGUI-3.0/widgets/AceGUIWidget-Keybinding.lua old mode 100755 new mode 100644 diff --git a/libs/AceGUI-3.0/widgets/AceGUIWidget-Label.lua b/libs/AceGUI-3.0/widgets/AceGUIWidget-Label.lua old mode 100755 new mode 100644 diff --git a/libs/AceGUI-3.0/widgets/AceGUIWidget-MultiLineEditBox.lua b/libs/AceGUI-3.0/widgets/AceGUIWidget-MultiLineEditBox.lua old mode 100755 new mode 100644 diff --git a/libs/AceGUI-3.0/widgets/AceGUIWidget-Slider.lua b/libs/AceGUI-3.0/widgets/AceGUIWidget-Slider.lua old mode 100755 new mode 100644 index 7f0bd5f..583f29d --- a/libs/AceGUI-3.0/widgets/AceGUIWidget-Slider.lua +++ b/libs/AceGUI-3.0/widgets/AceGUIWidget-Slider.lua @@ -2,7 +2,7 @@ Slider Widget Graphical Slider, like, for Range values. -------------------------------------------------------------------------------]] -local Type, Version = "Slider", 20 +local Type, Version = "Slider", 21 local AceGUI = LibStub and LibStub("AceGUI-3.0", true) if not AceGUI or (AceGUI:GetWidgetVersion(Type) or 0) >= Version then return end @@ -61,6 +61,10 @@ local function Slider_OnValueChanged(frame) local self = frame.obj if not frame.setup then local newvalue = frame:GetValue() + if self.step and self.step > 0 then + local min_value = self.min or 0 + newvalue = floor((newvalue - min_value) / self.step + 0.5) * self.step + min_value + end if newvalue ~= self.value and not self.disabled then self.value = newvalue self:Fire("OnValueChanged", newvalue) diff --git a/libs/CallbackHandler-1.0/CallbackHandler-1.0.lua b/libs/CallbackHandler-1.0/CallbackHandler-1.0.lua old mode 100755 new mode 100644 diff --git a/libs/CallbackHandler-1.0/CallbackHandler-1.0.xml b/libs/CallbackHandler-1.0/CallbackHandler-1.0.xml old mode 100755 new mode 100644 diff --git a/libs/LibStub/LibStub.lua b/libs/LibStub/LibStub.lua old mode 100755 new mode 100644