/* ============================================================ * Readability - plugin for Falkon * Copyright (C) 2016 Jaroslav Bambas * Copyright (C) 2019 Juraj Oravec * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * ============================================================ */ function readablilityToolbar(){ renderToolbar(); addListeners(); } function renderToolbar(){ var toolbar = document.createElement('div'); document.getElementById('container').appendChild(toolbar); toolbar.innerHTML = '
'; } function addListeners(){ document.getElementById('close-button').addEventListener("click", closeReadability); document.getElementById('style-button').addEventListener("click", toolbarService); var lightButton = document.getElementById('light-button'); lightButton.addEventListener("click", function(){switchToLight();}); var sepiaButton = document.getElementById('sepia-button'); sepiaButton.addEventListener("click", function(){switchToSepia();}); var darkButton = document.getElementById('dark-button'); darkButton.addEventListener("click", function(){switchToDark();}); var serifButton = document.getElementById('serif-button'); serifButton.addEventListener("click", function(){switchToSerif();}); var sansSerifButton = document.getElementById('sans-serif-button'); sansSerifButton.addEventListener("click", function(){switchToSansSerif();}); var fontSizePlusButton = document.getElementById('font-size-plus'); fontSizePlusButton.addEventListener("click", fontSizePlus); var fontSizeMinusButton = document.getElementById('font-size-minus'); fontSizeMinusButton.addEventListener("click", fontSizeMinus); } function closeReadability(){ location.reload(); } function toolbarService(){ var element = document.getElementById('style-dropdown'); if(element.classList.contains('open')){ element.classList.remove('open'); } else { element.classList.add('open'); } } function switchToLight(){ document.body.classList.remove('sepia', 'dark'); document.body.classList.add('light'); var items = document.getElementById('color-scheme-buttons').children; for (var j = items.length - 1; j >= 0; j--) { items[j].classList.remove("selected"); } document.getElementById('light-button').classList.add('selected'); } function switchToSepia(){ document.body.classList.remove('light', 'dark'); document.body.classList.add('sepia'); var items = document.getElementById('color-scheme-buttons').children; for (var j = items.length - 1; j >= 0; j--) { items[j].classList.remove("selected"); } document.getElementById('sepia-button').classList.add('selected'); } function switchToDark(){ document.body.classList.remove('sepia', 'light'); document.body.classList.add('dark'); var items = document.getElementById('color-scheme-buttons').children; for (var j = items.length - 1; j >= 0; j--) { items[j].classList.remove("selected"); } document.getElementById('dark-button').classList.add('selected'); } function switchToSerif(){ document.body.classList.remove('sans-serif'); document.body.classList.add('serif'); document.getElementById('sans-serif-button').classList.remove('selected'); document.getElementById('serif-button').classList.add('selected'); } function switchToSansSerif(){ document.body.classList.remove('serif'); document.body.classList.add('sans-serif'); document.getElementById('serif-button').classList.remove('selected'); document.getElementById('sans-serif-button').classList.add('selected'); } function fontSizePlus(){ var container = document.getElementById('container'); var incrementedSize = 0; for (var i = 0; i < container.classList.length; i++){ if(container.classList[i].indexOf('font-size') > -1){ var size = container.classList[i].substr(-1, 1); if(parseInt(size) < 9){ incrementedSize = parseInt(size) + 1; } else return; container.classList.remove(container.classList[i]); container.classList.add('font-size' + incrementedSize); return; } } } function fontSizeMinus(){ var container = document.getElementById('container'); var decrementedSize = 0; for (var i = 0; i < container.classList.length; i++){ if(container.classList[i].indexOf('font-size') > -1){ var size = container.classList[i].substr(-1, 1); if(parseInt(size) > 1){ incrementedSize = parseInt(size) - 1; } else return; container.classList.remove(container.classList[i]); container.classList.add('font-size' + incrementedSize); return; } } } function fontSizeSet(fontSize){ if (fontSize < 1 || fontSize > 9) return var container = document.getElementById('container'); for (var i = 0; i < container.classList.length; i++){ if(container.classList[i].indexOf('font-size') > -1){ container.classList.remove(container.classList[i]); container.classList.add('font-size' + fontSize); return; } } }