Add-ons Manager - Scriptish Screenshot

[Scriptish only] Show screenshot on Scriptish user script page in Add-ons Manager.

Verzia zo dňa 10.03.2014. Pozri najnovšiu verziu.

Na nainštalovanie skriptu si budete musieť nainštalovať rozšírenie, ako napríklad Tampermonkey, Greasemonkey alebo Violentmonkey.

Na nainštalovanie skriptu si budete musieť nainštalovať rozšírenie, ako napríklad Tampermonkey, % alebo Violentmonkey.

Na nainštalovanie skriptu si budete musieť nainštalovať rozšírenie, ako napríklad Tampermonkey, % alebo Violentmonkey.

Na nainštalovanie skriptu si budete musieť nainštalovať rozšírenie, ako napríklad Tampermonkey alebo Userscripts.

Na inštaláciu tohto skriptu je potrebné nainštalovať rozšírenie, ako napríklad Tampermonkey.

Na inštaláciu tohto skriptu je potrebné nainštalovať rozšírenie správcu používateľských skriptov.

(Už mám správcu používateľských skriptov, nechajte ma ho nainštalovať!)

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie, ako napríklad Stylus.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie, ako napríklad Stylus.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie, ako napríklad Stylus.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie správcu používateľských štýlov.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie správcu používateľských štýlov.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie správcu používateľských štýlov.

(Už mám správcu používateľských štýlov, nechajte ma ho nainštalovať!)

// ==UserScript==
// @id              addons-manager-scriptish-screenshot@loucypher
// @name            Add-ons Manager - Scriptish Screenshot
// @namespace       https://github.com/LouCypher/userscripts
// @description     [Scriptish only] Show screenshot on Scriptish user script page in Add-ons Manager.
// @version         1.0
// @author          LouCypher
// @license         MPL 2.0
// @icon            https://addons.cdn.mozilla.net/media/img/addon-icons/default-32.png
// @icon64URL       https://addons.cdn.mozilla.net/media/img/addon-icons/default-64.png
// @contributionURL http://loucypher.github.io/userscripts/donate.html?Add-ons+Manager+-+Scriptish+Screenshot
// @homepageURL     https://greasyfork.org/scripts/183
// @supportURL      https://greasyfork.org/scripts/183/feedback
// @screenshot      https://raw.github.com/LouCypher/userscripts/master/scriptish/addons-manager-scriptish-screenshot/screenshot.png
// @resource        CHANGELOG https://raw.github.com/LouCypher/userscripts/master/scriptish/addons-manager-scriptish-screenshot/CHANGELOG.txt
// @resource        LICENSE https://raw.github.com/LouCypher/userscripts/master/licenses/MPL/LICENSE.txt
// @run-at          document-start
// @include         about:addons
// @include         chrome://mozapps/content/extensions/extensions.xul
// ==/UserScript==
/*  This Source Code Form is subject to the terms of the Mozilla Public
 *  License, v. 2.0. If a copy of the MPL was not distributed with this
 *  file, You can obtain one at http://mozilla.org/MPL/2.0/. */



function getXPCOMInterface(aClass, aInterface) {
  return Components.classes["@mozilla.org/" + aClass].
         getService(Components.interfaces[aInterface]);
}

const iOService = getXPCOMInterface("network/io-service;1", "nsIIOService");
const styleSheetService= getXPCOMInterface("content/style-sheet-service;1",
                                           "nsIStyleSheetService");

let css = "/* Add-ons Manager Scriptish Screenshot\n\
   by LouCypher */\n\n\
@namespace url(http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul);\
\n@-moz-document url(about:addons),\
\n               url(chrome://mozapps/content/extensions/extensions.xul){\
\n  #detail-view[type=userscript] #detail-screenshot[width=null][height=null]{\
\n    min-width: 200px;\n    min-height: 150px;\n  }\n}\n";

let uri = iOService.newURI("data:text/css," + encodeURIComponent(css), null, null);
styleSheetService.loadAndRegisterSheet(uri, styleSheetService.AGENT_SHEET);

window.addEventListener("unload", function() {
  styleSheetService.unregisterSheet(uri, styleSheetService.AGENT_SHEET);
});