Mercurial > wow > devian
comparison Devian.lua @ 60:59e047d6c5de v2.1.60
- Frame fading on movement re-implemented.
- Fixed front console losing focus between reloads.
| author | Nenue |
|---|---|
| date | Tue, 26 Jan 2016 16:43:03 -0500 |
| parents | 0a9a6740ea5d |
| children | 516ceb31703d |
comparison
equal
deleted
inserted
replaced
| 59:5b1c570b1cfd | 60:59e047d6c5de |
|---|---|
| 83 dock_button_fade_in = 0.075, | 83 dock_button_fade_in = 0.075, |
| 84 dock_button_fade_out = 0.075, | 84 dock_button_fade_out = 0.075, |
| 85 | 85 |
| 86 movement_fade = true, | 86 movement_fade = true, |
| 87 movement_fade_time = 0.15, | 87 movement_fade_time = 0.15, |
| 88 movement_fade_from = 1, | |
| 89 movement_fade_to = 0, | |
| 90 movement_translation_x = 25, | |
| 91 movement_translation_y = 25, | |
| 88 } | 92 } |
| 89 | 93 |
| 90 local function ScanAddOnList(cmd, ...) | 94 local function ScanAddOnList(cmd, ...) |
| 91 local list_state | 95 local list_state |
| 92 | 96 |
| 311 var = var and 'true' or 'false' | 315 var = var and 'true' or 'false' |
| 312 elseif type(var) == 'function' then | 316 elseif type(var) == 'function' then |
| 313 var = '<funcref>' | 317 var = '<funcref>' |
| 314 elseif type(var) == 'nil' then | 318 elseif type(var) == 'nil' then |
| 315 var = 'nil' | 319 var = 'nil' |
| 320 else | |
| 321 var = tostring(var) | |
| 316 end | 322 end |
| 317 | 323 |
| 318 insert(buffer, var) | 324 insert(buffer, var) |
| 319 end | 325 end |
| 320 local message = concat(buffer, ' ') | 326 local message = concat(buffer, ' ') |
| 341 | 347 |
| 342 D:Print("|cFFFFFF00/resetdvn|r", "- Resets all but profile data SavedVariables.") | 348 D:Print("|cFFFFFF00/resetdvn|r", "- Resets all but profile data SavedVariables.") |
| 343 D:Print("|cFFFFFF00/cleandvn|r", "- Fully resets SavedVariables, profiles and all.") | 349 D:Print("|cFFFFFF00/cleandvn|r", "- Fully resets SavedVariables, profiles and all.") |
| 344 end | 350 end |
| 345 | 351 |
| 352 local dot1, dot2 = CreateFrame('Frame', nil, UIParent), CreateFrame('Frame', nil, UIParent) | |
| 353 dot1:SetSize(5,5) | |
| 354 dot1:SetFrameStrata('TOOLTIP') | |
| 355 local a = dot1:CreateTexture('fill', nil) | |
| 356 a:SetAllPoints(dot1) | |
| 357 a:SetTexture(1,0,0,1) | |
| 358 dot2:SetSize(5,5) | |
| 359 dot2:SetFrameStrata('TOOLTIP') | |
| 360 a = dot2:CreateTexture('fill', nil) | |
| 361 a:SetAllPoints(dot2) | |
| 362 a:SetTexture(0,1,0,1) | |
| 363 | |
| 364 local OnStartedMoving = function() | |
| 365 for k, v in pairs(D.console) do | |
| 366 if v.enabled then | |
| 367 v.moveFade:Stop() | |
| 368 local F1 = v.moveFade.alphaOut | |
| 369 F1:SetFromAlpha(db.movement_fade_from) | |
| 370 F1:SetToAlpha(db.movement_fade_to) | |
| 371 F1:SetDuration(db.movement_fade_time) | |
| 372 v.moveFade:Play() | |
| 373 v:EnableMouse(false) | |
| 374 end | |
| 375 end | |
| 376 end | |
| 377 | |
| 378 local OnStoppedMoving = function() | |
| 379 for k, v in pairs(D.console) do | |
| 380 if v.enabled then | |
| 381 v.moveFade:Stop() | |
| 382 local F1 = v.moveFade.alphaOut | |
| 383 F1:SetToAlpha(db.movement_fade_from) | |
| 384 F1:SetFromAlpha(db.movement_fade_to) | |
| 385 F1:SetDuration(db.movement_fade_time) | |
| 386 v.moveFade:Play() | |
| 387 v:EnableMouse(true) | |
| 388 end | |
| 389 end | |
| 390 end | |
| 346 | 391 |
| 347 | 392 |
| 348 function D:OnEnable() | 393 function D:OnEnable() |
| 349 | 394 |
| 350 if db.unlisted and #db.unlisted > 0 then | 395 if db.unlisted and #db.unlisted > 0 then |
| 356 D:Print(L('Devian loaded on standby',MAJOR, MINOR)) | 401 D:Print(L('Devian loaded on standby',MAJOR, MINOR)) |
| 357 else | 402 else |
| 358 D:Print(L('Devian loaded in workspace', MAJOR, MINOR, db.workspace)) | 403 D:Print(L('Devian loaded in workspace', MAJOR, MINOR, db.workspace)) |
| 359 -- movement fading | 404 -- movement fading |
| 360 if db.movement_fade then | 405 if db.movement_fade then |
| 361 self:RegisterEvent('PLAYER_STARTED_MOVING', function() | 406 |
| 362 for k, v in pairs(self.console) do | 407 self:RegisterEvent('PLAYER_STARTED_MOVING', OnStartedMoving) |
| 363 if v.enabled then | 408 self:RegisterEvent('PLAYER_STOPPED_MOVING', OnStoppedMoving) |
| 364 v.preAlpha = v:GetAlpha() | |
| 365 v:SetAlpha(0) | |
| 366 v:EnableMouse(false) | |
| 367 end | |
| 368 end | |
| 369 end) | |
| 370 self:RegisterEvent('PLAYER_STOPPED_MOVING', function() | |
| 371 for k, v in pairs(self.console) do | |
| 372 if v.enabled then | |
| 373 v:SetAlpha(v.preAlpha) | |
| 374 v:EnableMouse(true) | |
| 375 end | |
| 376 end | |
| 377 end) | |
| 378 end | 409 end |
| 379 end | 410 end |
| 380 | 411 |
| 381 --@debug@ | 412 --@debug@ |
| 382 self:RegisterChatCommand("dvg", function(input) | 413 self:RegisterChatCommand("dvg", function(input) |
| 397 DevianDB = { | 428 DevianDB = { |
| 398 load_message = "All SavedVars wiped." | 429 load_message = "All SavedVars wiped." |
| 399 } | 430 } |
| 400 ReloadUI() | 431 ReloadUI() |
| 401 end) | 432 end) |
| 402 local blocked = {global = true, [PLAYER_REALM] = true} | 433 local blocked = {global = true, channels = true, tags = true, [PLAYER_REALM] = true} |
| 403 self:RegisterChatCommand("resetdvn", function(args) | 434 self:RegisterChatCommand("resetdvn", function(args) |
| 404 for k,v in pairs(DevianDB) do | 435 for k,v in pairs(DevianDB) do |
| 405 if not blocked[k] then | 436 if not blocked[k] then |
| 406 DevianDB[k] = nil | 437 DevianDB[k] = nil |
| 407 end | 438 end |
| 469 self.max_channel = max(i, self.max_channel) | 500 self.max_channel = max(i, self.max_channel) |
| 470 self.num_channels = self.num_channels + 1 | 501 self.num_channels = self.num_channels + 1 |
| 471 end | 502 end |
| 472 | 503 |
| 473 if self.console[db.current_channel] then | 504 if self.console[db.current_channel] then |
| 505 print('bringing', self.console[db.current_channel].signature, 'to the front') | |
| 474 self.console[db.current_channel]:ToFront() | 506 self.console[db.current_channel]:ToFront() |
| 475 -- bring the current channel to the front | 507 -- bring the current channel to the front |
| 476 end | 508 end |
| 477 DevianDock:Show() | 509 DevianDock:Show() |
| 478 self:UpdateDock() | 510 self:UpdateDock() |
| 534 --oldprint(id, ' ', force, c.enabled, db.enabled) | 566 --oldprint(id, ' ', force, c.enabled, db.enabled) |
| 535 end | 567 end |
| 536 | 568 |
| 537 if c.enabled or (setAll and db.enabled) then | 569 if c.enabled or (setAll and db.enabled) then |
| 538 c:Show() | 570 c:Show() |
| 539 if db.current_channel == c.index then | |
| 540 c:ToFront() | |
| 541 end | |
| 542 elseif not (c.enabled and db.enabled) then | 571 elseif not (c.enabled and db.enabled) then |
| 543 c:Hide() | 572 c:Hide() |
| 544 end | 573 end |
| 545 c:Save() | 574 c:Save() |
| 546 end | 575 end |
| 547 | 576 |
| 548 if setAll then | 577 if setAll then |
| 549 if db.enabled then | 578 if db.enabled then |
| 550 self:Print('toggled all consoles ON') | 579 self:Print('toggled all consoles ON') |
| 580 if D.console[db.current_channel] then | |
| 581 oldprint('push', D.console[db.current_channel].signature, 'to the front') | |
| 582 D.console[db.current_channel]:ToFront() | |
| 583 end | |
| 551 else | 584 else |
| 552 self:Print('toggled all consoles OFF') | 585 self:Print('toggled all consoles OFF') |
| 553 end | 586 end |
| 554 else | 587 else |
| 555 local result = {} | 588 local result = {} |
