-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathinit.js
104 lines (87 loc) · 2.03 KB
/
init.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
plugin.loadMainCSS();
plugin.loadLang(true);
debug = false;
paused = false;
window.onfocus = function()
{
if(debug)
log("Pausewebui: focus");
if(!paused){
if(debug)
log("Pausewebui: not paused on focus");
theWebUI.update();
}
}
window.onblur = function()
{
if(debug)
log("Pausewebui: blur");
stop();
}
function stop(){
if(debug)
log("Pausewebui: stopping");
theWebUI.timer.stop();
if(theWebUI.updTimer){
if(debug)
log("Pausewebui: clearing timer");
window.clearTimeout(theWebUI.updTimer);
}
}
theWebUI.togglePause = function(){
if(debug)
log("Pausewebui: toggeling");
if(paused)
{
if(debug)
log("Pausewebui: paused -> resuming");
$("#webuiUpdateToggle").removeClass("resume");
$("#webuiUpdateToggle").addClass("pause");
$("#webuiUpdateToggle").attr("title", theUILang.pausewebuiPause);
theWebUI.update();
paused = false;
}
else
{
if(debug)
log("Pausewebui: !paused -> pausing");
$("#webuiUpdateToggle").removeClass("pause");
$("#webuiUpdateToggle").addClass("resume");
$("#webuiUpdateToggle").attr("title", theUILang.pausewebuiResume);
stop();
paused = true;
}
}
theWebUI.forceUpdate = function(){
if(debug)
log("Pausewebui: forcing");
stop();
theWebUI.update();
if(paused){
stop();
}
}
originalSetInterval = theWebUI.setInterval
theWebUI.setInterval = function(force){
if(debug)
log("Pausewebui: trying to set interval");
if(!paused){
if(debug)
log("Pausewebui: setting interval");
originalSetInterval.call(this, force);
}
}
plugin.onLangLoaded = function()
{
this.addButtonToToolbar("webuiUpdateToggle", theUILang.pausewebuiPause, "theWebUI.togglePause()", "help");
this.addButtonToToolbar("webuiRefresh", theUILang.pausewebuiRefresh, "theWebUI.forceUpdate()", "help");
$("#webuiUpdateToggle").addClass("pause");
this.addSeparatorToToolbar("help");
}
plugin.onRemove = function()
{
theWebUI.update();
this.removeSeparatorFromToolbar("webuiUpdateToggle");
this.removeButtonFromToolbar("webuiUpdateToggle");
this.removeButtonFromToolbar("webuiRefresh");
}