pidgin/gtkdebug.html

changeset 33925
e5b703bc9f03
parent 33923
0fcc5635daba
equal deleted inserted replaced
33924:788678d2e035 33925:e5b703bc9f03
19 /* Regex */ 19 /* Regex */
20 div.hide{display:none;} 20 div.hide{display:none;}
21 span.regex{background-color:#ffafaf;font-weight:bold;} 21 span.regex{background-color:#ffafaf;font-weight:bold;}
22 </style> 22 </style>
23 <script> 23 <script>
24 function nearBottom() {
25 return ( document.body.scrollTop >= ( document.body.offsetHeight - ( window.innerHeight * 1.5 ) ) );
26 }
27
28 function scrollToBottom() {
29 document.body.scrollTop = document.body.offsetHeight;
30 }
31
24 regex = { 32 regex = {
25 clear: function () { 33 clear: function () {
26 var list, i; 34 var list, i;
35 var scroll = nearBottom();
36
27 /* Remove highlighting SPANs */ 37 /* Remove highlighting SPANs */
28 list = document.getElementsByClassName('regex'); 38 list = document.getElementsByClassName('regex');
29 i = list.length; 39 i = list.length;
30 while (i--) { 40 while (i--) {
31 var span = list[i]; 41 var span = list[i];
40 i = list.length; 50 i = list.length;
41 while (i--) { 51 while (i--) {
42 list[i].classList.remove('hide'); 52 list[i].classList.remove('hide');
43 } 53 }
44 54
55 if (scroll)
56 scrollToBottom();
45 this.enabled = false; 57 this.enabled = false;
46 }, 58 },
47 59
48 highlightTextNodes: function (div, start_pos, end_pos) { 60 highlightTextNodes: function (div, start_pos, end_pos) {
49 var data = [], node, range, span, contents; 61 var data = [], node, range, span, contents;
184 } 196 }
185 197
186 function append(level, time, cat, msg) { 198 function append(level, time, cat, msg) {
187 var div = document.createElement('div'); 199 var div = document.createElement('div');
188 div.className = 'l' + level; 200 div.className = 'l' + level;
201
189 div.appendChild(document.createTextNode('(' + time + ') ')); 202 div.appendChild(document.createTextNode('(' + time + ') '));
203
190 if (cat) { 204 if (cat) {
191 var cat_n = document.createElement('b'); 205 var cat_n = document.createElement('b');
192 cat_n.appendChild(document.createTextNode(cat + ':')); 206 cat_n.appendChild(document.createTextNode(cat + ':'));
193 div.appendChild(cat_n); 207 div.appendChild(cat_n);
194 div.appendChild(document.createTextNode(' ')); 208 div.appendChild(document.createTextNode(' '));
195 } 209 }
210
196 div.appendChild(document.createTextNode(msg)); 211 div.appendChild(document.createTextNode(msg));
212
197 if (regex.enabled) 213 if (regex.enabled)
198 regex.match(div); 214 regex.match(div);
215
216 var scroll = nearBottom();
199 document.body.appendChild(div); 217 document.body.appendChild(div);
218 if (scroll)
219 scrollToBottom();
200 } 220 }
201 221
202 function clear() { 222 function clear() {
203 document.body.innerHTML = ''; 223 document.body.innerHTML = '';
204 } 224 }
210 function resumeOutput() { 230 function resumeOutput() {
211 var pause = document.getElementById('pause'); 231 var pause = document.getElementById('pause');
212 if (pause) { 232 if (pause) {
213 var parent = pause.parentNode; 233 var parent = pause.parentNode;
214 parent.removeChild(pause); 234 parent.removeChild(pause);
235 scrollToBottom();
215 } 236 }
216 } 237 }
217 238
218 function setFilterLevel(l) { 239 function setFilterLevel(l) {
240 var scroll = nearBottom();
241
219 document.body.className = 'l'+l; 242 document.body.className = 'l'+l;
243
244 if (scroll)
245 scrollToBottom();
220 } 246 }
221 </script> 247 </script>
222 </head> 248 </head>
223 <body class=l0></body> 249 <body class=l0></body>
224 </html> 250 </html>

mercurial