Utilisateur:Seudo/image.js
Apparence
Note : après avoir enregistré vos modifications, il se peut que vous deviez forcer le rechargement complet du cache de votre navigateur pour voir les changements.
- Firefox / Safari : Maintenez la touche Maj (Shift) en cliquant sur le bouton Actualiser ou pressez Ctrl-F5 ou Ctrl-R (⌘-R sur un Mac) ;
- Google Chrome : Appuyez sur Ctrl-Maj-R (⌘-Shift-R sur un Mac) ;
- Internet Explorer : Maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl-F5 ;
- Opera : Allez dans Menu → Settings (Opera → Préférences sur un Mac) et ensuite à Confidentialité & sécurité → Effacer les données d'exploration → Images et fichiers en cache.
/* Fonctions de manipulation d'image, pour accroître la lisibilité du fac-similé.
Ce script insère deux commandes « Contraste » (lettre C) et « Luminosité » (icône « lampe ») à la fois dans la barre d'outil (section « Aide à la relecture ») du champ d'édition et dans les commandes situées en haut d'écran à côté du lien « Voir l’historique ».
*/
/* Pour le tester, insérer le code suivant dans votre fichier common.js :
importScript('User:Seudo/image.js')
En cas d’utilisation prolongée, il est recommandé de recopier ce fichier dans votre espace utilisateur
afin de ne pas dépendre de mes éventuelles modifications.
*/
/* Accroît le contraste du fac-similé */
function contraste_facsimile(e) {
image_facsimile(e, "Contraste", "contrast");
}
function contraste_facsimile_btn() {
image_facsimile(null, "Contraste", "contrast");
}
/* Modifie la luminosité d'un fac-similé */
function luminosite_facsimile(e) {
image_facsimile(e, "Luminosité", "brightness");
}
function luminosite_facsimile_btn() {
image_facsimile(null, "Luminosité", "brightness");
}
function image_facsimile(e, libelle, filter) {
if(e) {
e.preventDefault();
}
try {
// 25 janvier 2022 : quelque chose semble avoir changé,
// $(".ui-draggable") est en display: none
// facsimile = $(".ui-draggable"); // Page en mode édition
facsimile = $("canvas");
if(! facsimile.length) {
facsimile = $(".prp-page-image > img"); // Page hors mode édition
// Remarque : le package OO.ui ne semble pas fonctionner hors mode édition
}
if(! facsimile.length) {
alert("Je ne trouve pas le fac-simile.");
return;
}
choix = prompt(libelle + " en % (exemple : 110)");
if(choix) {
facsimile[0].style.filter = filter + "(" + choix + "%)";
}
}
catch(exc) {
alert("Erreur : " + exc);
return;
}
}
function addCommande(libelle, id, desc, fn) {
mw.util.addPortletLink("p-cactions",
"#",
libelle,
id,
desc);
$('#' + id).on('click', function(e) {
fn(e);
});
}
/**
* The initialisation function, run on every load. Ajoute des boutons dans la barre d'outils.
* Source : https://nap.wikisource.org/wiki/Utente:George2etexte/GoogleOCRFrench.js
*/
function add_buttons_if_notexist() {
var isPage, useOldToolbar, useBetaToolbar, toolbarLib;
/* Comprendre à quoi sert sysMessages… */
var sysMessages = [ 'google-ocr-button-label', 'google-ocr-request-in-progress', 'google-ocr-no-text', 'google-ocr-image-not-found' ];
mw.loader.using( 'user.options', function () {
isPage = mw.config.get( 'wgCanonicalNamespace' ) === 'Page';
useBetaToolbar = mw.user.options.get( 'usebetatoolbar' ) === 1;
if ( isPage && useBetaToolbar ) {
toolbarLib = 'ext.wikiEditor';
mw.loader.using( [ 'mediawiki.api', toolbarLib ], function () {
new mw.Api().loadMessagesIfMissing( sysMessages ).then( function() { customizeToolbar(); } );
} );
}
} );
}
/**
* @param {boolean} useBeta Whether the WikiEditor toolbar should be used.
*/
function customizeToolbar( ) {
$( document ).ready( function () {
addButtonInToolbar(
"proofreadpage-tools",
"other",
'https://upload.wikimedia.org/wikipedia/commons/thumb/c/c8/OOjs_UI_icon_italic-c-progressive.svg/20px-OOjs_UI_icon_italic-c-progressive.svg.png',
"ModifierContraste",
contraste_facsimile_btn,
"Contraste",
"Modifier le contraste du fac-similé",
"contraste"
);
addButtonInToolbar(
"proofreadpage-tools",
"other",
'https://upload.wikimedia.org/wikipedia/commons/thumb/1/1f/OOjs_UI_icon_bulb2-progressive.svg/24px-OOjs_UI_icon_bulb2-progressive.svg.png',
"ModifierLuminosite",
luminosite_facsimile_btn,
"Luminosité",
"Modifier la luminosité du fac-similé",
"luminosite"
);
} );
}
function addButtonInToolbar(toolbar_section, toolbar_group,
action_image, action_id, action_fn,
action_label, action_tip, action_rel) {
// Add new-style WikiEditor toolbar button.
var actionButtonDetails = {
type: 'button',
icon: action_image,
label: mw.msg(action_label),
action: { type: 'callback', execute: action_fn }
};
var actionButton = {
section: toolbar_section,
group: toolbar_group,
tools: { action_rel: actionButtonDetails }
};
$( "#wpTextbox1" ).wikiEditor( 'addToToolbar', actionButton );
$( "a[rel='" + action_rel + "']" ).css("width", "42px");
}
$(function($) {
/* Insertion des commandes en haut de page */
addCommande("Contraste",
"sd-contraste",
"Modifier le contraste du fac-similé",
contraste_facsimile);
addCommande("Luminosité",
"sd-luminosite",
"Modifier la luminosité du fac-similé",
luminosite_facsimile);
/* Insertion des boutons dans la barre d’outils du champ d’édition */
add_buttons_if_notexist();
});