exsidas
BANNED | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору // Настройка функций кликов мыши для кнопки .............. this.onclick = this.oncontextmenu = e => { // действие при клике ЛКМ .... if ( e.button == 0 ) FullZoom.enlarge(); // действие при клике СКМ .... if ( e.button == 1 ) cbu.setPrefs(s, !cbu.getPrefs(s)); // действие при клике ПКМ .... if ( e.button == 2 && !e.ctrlKey && !e.shiftKey && !e.altKey && !e.metaKey ) { e.preventDefault(); FullZoom.reduce(); } showTooltip(); }; this.setAttribute("ondblclick", "event.preventDefault()"); // Менять масштаб колесиком мыши на кнопке .............. this.onwheel =e=> { e.deltaY > 0 ? FullZoom.reduce() : FullZoom.enlarge(); showTooltip(); }; // Создать подсказку и показывать у кнопки при вызове функции .............. function showTooltip() { var tooltip = self.lastChild; if ( !tooltip ) { tooltip = self.appendChild(document.createElement("tooltip")); tooltip.style.cssText = "font-weight: bold !important; color: red !important;"; } self.tooltipText = "" tooltip.label = Math.floor((ZoomManager.zoom + 0.005) * 100) + "%"; tooltip.showPopup(self, -1, -1, "popup", "topleft", "topright"); self.onmouseleave =()=> { tooltip.hidePopup(self.onmouseleave = null); self.tooltipText = self.label }; }; // Подсказка для кнопки .............. this.onmouseover =()=> { var value = Math.floor((ZoomManager.zoom + 0.005) * 100) + "%"; this.tooltipText = "Zoom: " + value + "\nЛ: увеличить масштаб \nП: уменьшить масштаб "; }; // Установить нужную иконку кнопки при старте браузера или при изменениях настроек 'about:config' .............. var s = "browser.zoom.full"; function toggleImage() { self.image = cbu.getPrefs(s) ? 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACQklEQVQ4jaWSzUtUYRTGf+97rzM6V22YVBQJa1GbPjCiIMJFzaJNYosiiSAooV0ryWW7Nv0DiYXRJnAVtgqMaBEEFShJovmRM43jfDsfd+aO9973bWVIjBZ0ls/znIdzznPgP0vsRYxPvt/KFUqVRHLLS6RE36sXtxpqZSPwZP/A1aagdSBkRXqlGe7bTJcxgkev/LPB9ZsPxoslh0zOJpkqkUiWsLoHXzfSmo3AuhfsysYKxBNFFpezlIoFlG8DdADZfScYvv1oJpO1WVjK8PHTUj6+vpJWfhmUS0vn0Nu/rnDoyOmoXd0mnamQXH1+w9l69xAMhNGMGew5ta9B/5nLI0ppao6HXd0GJzbjVuafSLMVabQjDItg+OLTPQ0Gr41O2NVtsjmbjdiX6R3crS5PC9mMkEECbSfuNjTo7Dzc79Q98oUqyXSZaurl0A5XTU0NmaaJECZCGBjNx0Z2uN/PcX9sKleuycjc/CbLqzHUdg7QCCOENCyQAdAK7dsor0xl45mAXTEWSkS+LiRZWVnEq62h3C0QAmm0Icx2pBFCyABaK7SuA1Y/2LMC4PylsZlivScaj33HrXzDKX2+gxZ9SImUzSADKF/9DIXPTiAkWnto38k7+TcHTYB0qTOaSf/ArS5Ttxen8cuTAChQuw7m1rqGjUBHFHzQKgIgWiIXRptazz32amu4tTXcylwPsPln3jsVDA9orV3QPtqrfRBW772KcuIVt570lJtvVfX18F7NAKZ1fBbtd2vtOdKw+n4B6skL1gRzZQAAAAAASUVORK5CYII=' : 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAwElEQVQ4jd3RMWpCQRSF4S/iBtyCELHW1sIV6ALiRnQH4hJ0ByF2Ym8aG1Ml8Ji3ArXRDZhUA+bx3qCWHjgw3Jn57+XcF1fq0JXQF7vUvYxw4bfKGWHO4mFA9AfLJCAjdOhG9+jPWVxDmrSSgLIGGz4jYMwEaslQCtqyLdbuAgwYxvOJM9SrHscRoUFjwLDFKwTy97Igb93CG6P4p3KCQF6sHdhPma1YJwGBvF22phLdFeKTAv6F+MP3gf2R462AP7hdbq8C1bDsAAAAAElFTkSuQmCC'; }; toggleImage(); gPrefService.addObserver(s, toggleImage, false); addDestructor(()=> gPrefService.removeObserver(s, toggleImage) ); |