Mercurial > wow > ouroloot
comparison options.lua @ 101:f7162a1cadc7
Unify remote/local change notifications, and allow option toggles for each. When passing entry tables to the registered callbacks, make proxies for them first (the goal is to prevent accidents, not fraud).
| author | Farmbuyer of US-Kilrogg <farmbuyer@gmail.com> |
|---|---|
| date | Wed, 01 Aug 2012 06:51:52 +0000 |
| parents | a57133ee3c9b |
| children | fe04f5c4114a |
comparison
equal
deleted
inserted
replaced
| 100:a57133ee3c9b | 101:f7162a1cadc7 |
|---|---|
| 248 container:AddChild(spacer(10)) | 248 container:AddChild(spacer(10)) |
| 249 do | 249 do |
| 250 local chatgroup = AceGUI:Create("InlineGroup") | 250 local chatgroup = AceGUI:Create("InlineGroup") |
| 251 chatgroup:SetLayout("List") | 251 chatgroup:SetLayout("List") |
| 252 chatgroup:SetRelativeWidth(0.75) | 252 chatgroup:SetRelativeWidth(0.75) |
| 253 chatgroup:SetTitle("Remote Changes Chat") | 253 chatgroup:SetTitle("Notify on Changes Chat") |
| 254 local toggle, editbox | 254 local toggle, editbox |
| 255 toggle = mktoggle('chatty_on_remote_changes', "Be chatty on remote changes", 1, | 255 toggle = mktoggle('chatty_on_remote_changes', "Be chatty on remote changes", 1, |
| 256 [[Print something to chat when other users change recorded loot.]], | 256 [[Print something to chat when other users change recorded loot.]], |
| 257 function (_w,_,value) | 257 function (_w,_,value) |
| 258 opts.chatty_on_remote_changes = value | 258 opts.chatty_on_remote_changes = value |
| 259 editbox:SetDisabled(not opts.chatty_on_remote_changes) | 259 editbox:SetDisabled((not opts.chatty_on_remote_changes) and |
| 260 (not opts.chatty_on_local_changes)) | |
| 260 end) | 261 end) |
| 261 toggle:SetFullWidth(true) | 262 toggle:SetFullWidth(true) |
| 262 chatgroup:AddChild(toggle) | 263 chatgroup:AddChild(toggle) |
| 264 toggle = mktoggle('chatty_on_local_changes', "Be chatty on your own changes", 1, | |
| 265 [[Print something to chat when you change recorded loot (as a reminder).]], | |
| 266 function (_w,_,value) | |
| 267 opts.chatty_on_local_changes = value | |
| 268 editbox:SetDisabled((not opts.chatty_on_remote_changes) and | |
| 269 (not opts.chatty_on_local_changes)) | |
| 270 end) | |
| 271 toggle:SetFullWidth(true) | |
| 272 chatgroup:AddChild(toggle) | |
| 273 | |
| 263 w = AceGUI:Create("Label") | 274 w = AceGUI:Create("Label") |
| 264 w:SetFullWidth(true) | 275 w:SetFullWidth(true) |
| 265 w:SetText("This controls the output of the |cff00ffff'Be chatty on remote changes'|r option. If this field is a number, it designates which chat frame to use. Otherwise it is the Lua variable name of a frame with AddMessage capability.") | 276 w:SetText("This controls the output of the |cff00ffff'Be chatty on <X> changes'|r options. If this field is a number, it designates which chat frame to use. Otherwise it is the Lua variable name of a frame with AddMessage capability.") |
| 266 chatgroup:AddChild(w) | 277 chatgroup:AddChild(w) |
| 267 editbox = mkbutton("EditBox", nil, opts.chatty_on_remote_changes_frame, | 278 editbox = mkbutton("EditBox", nil, opts.chatty_on_changes_frame, |
| 268 [[1 = default chat frame, 2 = combat log, etc]]) | 279 [[1 = default chat frame, 2 = combat log, etc]]) |
| 269 editbox:SetFullWidth(true) | 280 editbox:SetFullWidth(true) |
| 270 editbox:SetLabel("Output Chatframe") | 281 editbox:SetLabel("Output Chatframe") |
| 271 editbox:SetCallback("OnTextChanged", adv_careful_OnTextChanged) | 282 editbox:SetCallback("OnTextChanged", adv_careful_OnTextChanged) |
| 272 editbox:SetCallback("OnEnterPressed", function(_w,event,value) | 283 editbox:SetCallback("OnEnterPressed", function(_w,event,value) |
| 273 local prev = opts.chatty_on_remote_changes_frame | 284 local prev = opts.chatty_on_changes_frame |
| 274 value = value:trim() | 285 value = value:trim() |
| 275 value = tonumber(value) or value | 286 value = tonumber(value) or value |
| 276 if addon:_set_remote_change_chatframe (value) then | 287 if addon:_set_chatty_change_chatframe (value) then |
| 277 opts.chatty_on_remote_changes_frame = value | 288 opts.chatty_on_changes_frame = value |
| 278 _w:SetText(tostring(value)) | 289 _w:SetText(tostring(value)) |
| 279 _w.editbox:ClearFocus() | 290 _w.editbox:ClearFocus() |
| 280 else | 291 else |
| 281 _w:SetText(tostring(prev)) | 292 _w:SetText(tostring(prev)) |
| 282 end | 293 end |
| 283 end) | 294 end) |
| 284 editbox:SetDisabled(not opts.chatty_on_remote_changes) | 295 editbox:SetDisabled((not opts.chatty_on_remote_changes) and |
| 296 (not opts.chatty_on_local_changes)) | |
| 285 chatgroup:AddChild(editbox) | 297 chatgroup:AddChild(editbox) |
| 286 w = mkbutton("Chat Frame Numbers", | 298 w = mkbutton("Chat Frame Numbers", |
| 287 [[Print each chat window number in its own frame, for easy reference in the editing field.]]) | 299 [[Print each chat window number in its own frame, for easy reference in the editing field.]]) |
| 288 w:SetFullWidth(true) | 300 w:SetFullWidth(true) |
| 289 w:SetCallback("OnClick", function() | 301 w:SetCallback("OnClick", function() |
