Merge branch 'master' of github.com:vichan-devel/Tinyboard

Conflicts:
	inc/mod/pages.php
This commit is contained in:
czaks 2014-06-11 02:06:25 +02:00
commit 52e463a30a
3 changed files with 75 additions and 8 deletions

View File

@ -27,9 +27,17 @@ onready(function(){
if (!this.dataset.src) { if (!this.dataset.src) {
this.parentNode.removeAttribute('style'); this.parentNode.removeAttribute('style');
this.dataset.expanded = 'true'; this.dataset.expanded = 'true';
if (this.childNodes[0].tagName === 'CANVAS') {
this.removeChild(this.childNodes[0]);
this.childNodes[0].style.display = 'block';
}
this.dataset.src= this.childNodes[0].src; this.dataset.src= this.childNodes[0].src;
this.dataset.width = this.childNodes[0].style.width; this.dataset.width = this.childNodes[0].style.width;
this.dataset.height = this.childNodes[0].style.height; this.dataset.height = this.childNodes[0].style.height;
this.childNodes[0].src = this.href; this.childNodes[0].src = this.href;
this.childNodes[0].style.width = 'auto'; this.childNodes[0].style.width = 'auto';
this.childNodes[0].style.height = 'auto'; this.childNodes[0].style.height = 'auto';
@ -48,6 +56,10 @@ onready(function(){
delete this.dataset.src; delete this.dataset.src;
delete this.childNodes[0].style.opacity; delete this.childNodes[0].style.opacity;
delete this.childNodes[0].style.filter; delete this.childNodes[0].style.filter;
if (localStorage.no_animated_gif === 'true' && typeof unanimate_gif === 'function') {
unanimate_gif(this.childNodes[0]);
}
} }
return false; return false;
} }

61
js/no-animated-gif.js Normal file
View File

@ -0,0 +1,61 @@
/*
* no-animated-gif.js - Toggle GIF animated thumbnails when gifsicle is enabled
*
* Copyright (c) 2014 Fredrick Brennan <admin@8chan.co>
*
* Usage:
* $config['additional_javascript'][] = 'js/jquery.min.js';
* $config['additional_javascript'][] = 'js/no-animated-gif.js';
*/
function unanimate_gif(e) {
var c = $('<canvas class="post-image"></canvas>');
$(e).parent().prepend(c);
c.attr('width', $(e).width());
c.attr('height',$(e).height());
function draw_image() {
c[0].getContext('2d').drawImage(e, 0, 0, $(e).width(), $(e).height())
};
// Fix drawing image before loaded. Note that Chrome needs to check .complete because load() is NOT called if loaded from cache.
if (!e.complete) {
e.onload = draw_image;
} else {
draw_image();
}
$(e).hide();
}
function no_animated_gif() {
var anim_gifs = $('img.post-image[src$=".gif"]');
localStorage.no_animated_gif = true;
$('#no-animated-gif>a').text(_('Animate GIFs'));
$.each(anim_gifs, function(i, e) {unanimate_gif(e)} );
}
function animated_gif() {
$('canvas.post-image').remove();
$('img.post-image').show();
localStorage.no_animated_gif = false;
$('#no-animated-gif>a').text(_('Unanimate GIFs'));
}
if (active_page == 'thread' || active_page == 'index' || active_page == 'ukko') {
onready(function(){
$('hr:first').before('<div id="no-animated-gif" style="text-align:right"><a class="unimportant" href="javascript:void(0)">'+_('Unanimate GIFs')+'</a></div>')
$('#no-animated-gif').on('click', function() {
if (localStorage.no_animated_gif === 'true') {
animated_gif();
} else {
no_animated_gif();
}
});
if (localStorage.no_animated_gif === 'true')
$(document).ready(no_animated_gif);
});
}

View File

@ -145,13 +145,13 @@ img.banner, img.board_image {
border: 1px solid #a9a9a9; border: 1px solid #a9a9a9;
margin: 12px auto 0 auto; margin: 12px auto 0 auto;
} }
img.post-image { .post-image {
display: block; display: block;
float: left; float: left;
margin: 10px 20px; margin: 10px 20px;
border: none; border: none;
} }
div.post img.post-image { div.post .post-image {
padding: 5px; padding: 5px;
margin: 5px 20px 0 0; margin: 5px 20px 0 0;
} }
@ -623,12 +623,6 @@ form.ban-appeal textarea {
} }
/* Containerchan */ /* Containerchan */
video.post-image {
display: block;
float: left;
margin: 10px 20px;
border: none;
}
div.post video.post-image { div.post video.post-image {
padding: 0px; padding: 0px;
margin: 10px 25px 5px 5px; margin: 10px 25px 5px 5px;