Mercurial > wow > ouroloot
comparison options.lua @ 104:04198c8d0717
Don't set a default keybinding, but rather change the associated option to not be clunky and gross.
| author | Farmbuyer of US-Kilrogg <farmbuyer@gmail.com> |
|---|---|
| date | Sun, 05 Aug 2012 16:53:07 +0000 |
| parents | dc8a23a47b03 |
| children | 646c9b41aaed |
comparison
equal
deleted
inserted
replaced
| 103:dc8a23a47b03 | 104:04198c8d0717 |
|---|---|
| 181 -- possible keybindings | 181 -- possible keybindings |
| 182 do | 182 do |
| 183 local pair = AceGUI:Create("InlineGroup") | 183 local pair = AceGUI:Create("InlineGroup") |
| 184 pair:SetLayout("List") | 184 pair:SetLayout("List") |
| 185 pair:SetRelativeWidth(0.49) | 185 pair:SetRelativeWidth(0.49) |
| 186 pair:SetTitle("Keybinding for '/ouroloot'") | 186 pair:SetTitle('Keybinding for "/ouroloot toggle"') |
| 187 local editbox, checkbox | 187 local checkbox, button |
| 188 --[=[ | |
| 188 editbox = mkbutton("EditBox", nil, opts.keybinding_text, | 189 editbox = mkbutton("EditBox", nil, opts.keybinding_text, |
| 189 [[Keybinding text format is fragile! (All caps, ALT then CTRL then SHIFT.) Relog to take effect.]]) | 190 [[Keybinding text format is fragile! (All caps, ALT then CTRL then SHIFT.) Relog to take effect.]]) |
| 190 editbox:SetFullWidth(true) | 191 editbox:SetFullWidth(true) |
| 191 editbox:SetLabel("Keybinding text") | 192 editbox:SetLabel("Keybinding text") |
| 192 editbox:SetCallback("OnEnterPressed", function(_w,event,value) | 193 editbox:SetCallback("OnEnterPressed", function(_w,event,value) |
| 193 opts.keybinding_text = value | 194 opts.keybinding_text = value |
| 194 end) | 195 end) |
| 195 editbox:SetDisabled(not opts.keybinding) | 196 editbox:SetDisabled(not opts.keybinding) |
| 197 ]=] | |
| 196 checkbox = mktoggle('keybinding', "Register keybinding", 1, | 198 checkbox = mktoggle('keybinding', "Register keybinding", 1, |
| 197 [[Register a keybinding to toggle the loot display. Relog to take effect.]], | 199 [[Whether to register a keybinding to toggle the loot display. Relog to take effect.]], |
| 198 function (_w,_,value) | 200 function (_w,_,value) |
| 199 opts.keybinding = value | 201 opts.keybinding = value |
| 200 editbox:SetDisabled(not opts.keybinding) | 202 --editbox:SetDisabled(not opts.keybinding) |
| 203 button:SetDisabled(not opts.keybinding) | |
| 201 end) | 204 end) |
| 202 checkbox:SetFullWidth(true) | 205 checkbox:SetFullWidth(true) |
| 203 pair:AddChild(checkbox) | 206 button = mkbutton("Keybinding", nil, "", |
| 204 pair:AddChild(editbox) | 207 -- This wording is not quite accurate, but auto-l10n is nice. |
| 208 _G.BIND_KEY_TO_COMMAND:format([['/ouroloot toggle']])) | |
| 209 button:SetFullWidth(true) | |
| 210 --button:SetLabel("this is label text") | |
| 211 button:SetKey(opts.keybinding_text) | |
| 212 button.msgframe:SetToplevel(true) -- XXX ace3 ticket #305 | |
| 213 button:SetCallback("OnKeyChanged", function(_b,event,value) | |
| 214 local possible_prev = opts.keybinding_text | |
| 215 opts.keybinding_text = value | |
| 216 -- If they were already binding something at login, try updating. | |
| 217 if not _G.OuroLootBindingOpen then return end | |
| 218 if possible_prev and #possible_prev > 0 then | |
| 219 addon:Print("Trying to unbind previous %s key.", possible_prev) | |
| 220 SetBinding (possible_prev, nil) | |
| 221 end | |
| 222 if value and #value > 0 then | |
| 223 addon:Print("Trying to bind new %s key.", value) | |
| 224 if SetBindingClick (value, "OuroLootBindingOpen") then | |
| 225 local c = GetCurrentBindingSet() | |
| 226 if c == ACCOUNT_BINDINGS or c == CHARACTER_BINDINGS then | |
| 227 SaveBindings(c) | |
| 228 end | |
| 229 end | |
| 230 end | |
| 231 end) | |
| 232 pair:AddChildren (checkbox, button)--, editbox) | |
| 205 container:AddChild(pair) | 233 container:AddChild(pair) |
| 206 end | 234 end |
| 207 | 235 |
| 208 -- replacement for slashloot | 236 -- replacement for slashloot |
| 209 do | 237 do |
