Полезная информация

Хотите узнать больше о расширениях? Посмотрите ролики, рассказывающие о работе с расширениями Firefox.

№60107-03-2015 21:52:10

lokiju
Участник
 
Группа: Members
Зарегистрирован: 30-01-2012
Сообщений: 208
UA: Firefox 39.0

Re: Обсуждение кнопок CB

turbot пишет

lokijuМожет, в этом причина:Mozilla/5.0 (X11; Linux i686; rv:39.0) Gecko/20100101

Для кнопки может быть, но не для BetterPrivacy - раньше же работало . Собственно и кнопкой заинтересовался после того, как обнаружилась беда  с BetterPrivacy(оно же не поддерживается автором.)

turbot пишет

Firefox/39.0A: In Firefox open BetterPrivacy (Menu->Tools->BetterPrivacy) and enter the correct path of your Flash data directory. Depending on your operating system this should be one of the following paths:Windows: %APPDATA%\Macromedia\Flash Player\Macintosh: ~/Library/Preferences/Macromedia/Flash Player/Linux/Unix: ~/.macromedia/Flash_Player/
Если, конечно, ваш юзерагент не врет, как мой.

Нет не врет.

Отсутствует

 

№60208-03-2015 01:15:03

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 24.0

Re: Обсуждение кнопок CB

lokiju пишет

bunda1, нет не удаляет содержимое "Macromedia".

Да, мой код для Windows, может попробуй этот код:

Выделить код

Код:

var dir = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsILocalFile);
dir.initWithPath("C:\\Macromedia");
dir.exists() && dir.remove(true);
!dir.exists() && dir.create(Ci.nsIFile.DIRECTORY_TYPE, 0777);

Но вместо C:\\Macromedia укажи свой свой путь к папке Macromedia, может с двумя \\

Отредактировано bunda1 (08-03-2015 01:16:47)

Отсутствует

 

№60308-03-2015 02:45:56

lokiju
Участник
 
Группа: Members
Зарегистрирован: 30-01-2012
Сообщений: 208
UA: Firefox 39.0

Re: Обсуждение кнопок CB

bunda1

Выделить код

Код:

var dir = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsILocalFile);
dir.initWithPath("~/.macromedia/");
dir.exists() && dir.remove(true);
!dir.exists() && dir.create(Ci.nsIFile.DIRECTORY_TYPE, 0777);

Вот так удаляет

Добавлено 08-03-2015 02:54:42
bunda1
А как сделать чтобы чистилось две папки .macromedia и .adobe одной кнопкой?

Отредактировано lokiju (08-03-2015 02:54:42)

Отсутствует

 

№60408-03-2015 03:15:45

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 24.0

Re: Обсуждение кнопок CB

lokiju пишет

bunda1
А как сделать чтобы чистилось две папки .macromedia и .adobe одной кнопкой?

Выделить код

Код:

var dir = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsILocalFile);
dir.initWithPath("~/.macromedia/");
dir.exists() && dir.remove(true);
!dir.exists() && dir.create(Ci.nsIFile.DIRECTORY_TYPE, 0777);
dir.initWithPath("~/.adobe/");
dir.exists() && dir.remove(true);
!dir.exists() && dir.create(Ci.nsIFile.DIRECTORY_TYPE, 0777);

Отсутствует

 

№60508-03-2015 15:49:00

Dumby
Участник
 
Группа: Members
Зарегистрирован: 12-08-2012
Сообщений: 2254
UA: Firefox 31.0

Re: Обсуждение кнопок CB

turbot пишет

работать с редактором, открытым во вкладке, у меня не выходит

Я попробовал запилить, вроде вставляет, наверно :/.

скрытый текст

Выделить код

Код:

({
    buttonsData: [
        {
            "BUTTON 1": {
                image: "data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/KRr//yka//8pGv//KRr//yka//8pGv//KRr//yka//8pGv//KRr//yka//8pGv//KRr//yka//8pGv//KRr//yka///jnP//45z//+Oc//8pGv//tG7//4ZA//90Lv//dTD//yka////x////8f////H////x////8f//yka//8pGv//45z//+Oc//91MP//Vxr//5RM///Bev//wXr//8F6//+8df//ejP//5JK////x////8f////H//8pGv//KRr//+Oc///jnP//KRr////////////////////////////////////H//+0bv//nVf////H////x///KRr//yka///jnP//45z//0Ey/////////8b//+Oc//+1cf//ayb//+Oc/////////+X//1Ma////x////8f//yka//8pGv//45z//+Oc//9oWf//zKr//8W2//9eGv//h0L//zwa//+HQv/////////o//9mH//MiD//x4Q8//8pGv//KRr//+Oc///jnP//0Ir//2hZ//96M///NBr//14a//+bVP///+D/////////////Uxr//+Oc///jnP//KRr//yka///jnP//45z//86I//88Gv//vHX////g////////////////////4P//6KL//yka///jnP//45z//yka//8pGv//45z//+Oc//9EGv//1o/////////////////////g///TjP//h0L//yka///Vj///45z//+Oc//8pGv//KRr//yka//8pGv//PBr////l////////0Ir//1Ma//8tGv//KRr//0Aa///jnP//45z//+Oc///jnP//KRr//yka////x////8f//zwa/////f///////5pS//9PGv//h0L//yka//88Gv//Wxr//8B7///jnP//45z//yka//8pGv///8f////H//8pGv//3pb/////////////3pb//9CK///qo////////7Nr//9kHP//45z//+Oc//8pGv//KRr////H////x///ayb//0ca///elv///+D/////////////////4eHh//+aUv//ZBz//+Oc///jnP//KRr//yka////x////8f////H//9kHP//KRr//0ca//9mH///ZBz//08a//8wGv//KRr/8MyG///jnP//45z//yka//8pGv///8f////H////x////8f////H///pov//2ZD//9CK//8pGv//45z//+Oc///jnP//45z//+Oc//8pGv//KRr//yka//8pGv//KRr//yka//8pGv//KRr//yka//8pGv//KRr//yka//8pGv//KRr//yka//8pGv//KRr/AACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQ==",
                id: "Button-1-id",
                data: {
                    "Button 1 menuitem 1": `
8461257969972130394635750604812869365370931486851886606643085
6226096450462739462668149466854904346848587433786390959291217
859556681023673155470765942664293343867480839875179799100937521
                    `,
                    "Button 1 menuitem 2": `
211719589689090920082926741548657453548273240041478388434571297
    9467134014976113453058689329012399251109065413787280533498154
9033973941518880395243302959334777718781604739376219685379215

                    `,
                    "Button 1 menu 1": {
                        "Button 1 menu 1 menuitem 1": `

2051991579069607310657879309722017441960000137380237785566423
82366451515210699197167835877150747720503556174426352286230224
245703349625817314565034119246802882333194576375906748723837

                        `,
                        "Button 1 menu 1 menuitem 2": `
218722713331159305668806110918112536255804285389845217355049114
8310252513869211823316302359823897208708687865872857059938107
030564260447343283699623654152284462156273428194141667685271482

                        `,
                        "Button 1 menu 1 menu 1": {
                            "Button 1 menu 1 menu 1 menuitem 1": `
281804303220221146597605561935037356359018645418047020458794

4384938073647720339731610031281287090482630762556709830910227

399140227763397062946197043867452445291342396083641831699693
                            `
                        }
                    }
                }
            }
        },
//◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙
        {
            "BUTTON 2": {
                image: "data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBjP+TAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACEj///NEX//3F9//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0gf//MEH//yg6//80Rf//fYn//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBjP//M0P//yg6//8oOv//KDr//zRF//90gf//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANrg/41UYv//M0T//yg6//8oOv//KDr//yg6//8oOv//MEH//0hX///W3P+NAAAAAAAAAAAAAAAAAAAAANbc/40xQv//LD3//ys8//8rPP//Kzz//ys8//8rPP//Kzz//ys8//8rPP//Kzv//9bc/40AAAAAAAAAAAAAAABBUP//MEP//zJF//8yRf//MkX//zJF//8yRf//MkX//zJF//8yRf//MkX//zFE//84SP//AAAAAAAAAAC0vP+NOUn//zxQ//88UP//PFD//zxQ//88UP//PFD//zxQ//88UP//PFD//zxQ//88UP//OEn//52n/40AAAAAl6H/jTpO//9GXf//Rl3//0Zd//9GXf//Rl3//0Zd//9GXf//Rl3//0Zd//9GXf//Rl3//zlN//97h/+NAAAAAKSt/40/Uf//UWr//1Fq//9Rav//UWr//1Fq//9Rav//UWr//1Fq//9Rav//UWr//1Fq//8+U///jpj/jQAAAADR1/+NNEb//1t2//9bdv//W3b//1t2//9Ycv//OUv//1hy//9bdv//W3b//1t2//9bdv//PU///7rC/40AAAAAAAAAAGZ0//9GXP//Y3///2N///9ge///QVT//4GN/404Sv//X3r//2N///9jf///Rlz//1xr//8AAAAAAAAAAAAAAAAAAAAAXGv//ztN//9AU///MEH//3yI/40AAAAAhJD/jTFC//9AU///OUr//1po///a4P+NAAAAAAAAAAAAAAAAAAAAAAAAAADDyv+Ntr7/jQAAAAAAAAAAAAAAAAAAAAAAAAAAtr7/jcrR/40AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//+sQf9/rEH+P6xB/B+sQfgPrEHgA6xBwAGsQcABrEGAAKxBgACsQYAArEGAAKxBwAGsQeCBrEHz56xB//+sQQ==",
                id: "Button-2-id",
                data: {
                    "Button 2 menuitem 1": `
1704808533483901912593511057615798482706959734226981232605644
554364593368568792241103455746052909837105410644466183177142
8491036970273453442391718902925334048053461781577074832179994
                    `,
                    "Button 2 menu 1": {
                        "Button 2 menu 1 menuitem 1": `
9188134855185033238311828665629715333876611982705880582763672
78018885404637109297633520    043865080315035899737560093465767124
395336760559446747709696748148666879296254004631107783736979
                        `,
                        "Button 2 menu 1 menuitem 2": `
5680021603172030840205691680158991695283324356770429331137686
485734254327862726853675364881849334230932442689674286326549
42123122519280921504265246263330912181059123544347533761097224
                        `
                    },
                    "Button 2 menuitem 2": `
639315668318676304872944474192825257426286701763560448668300918
6516906487685234047552040688776748056337078135324403316543704
61982903287961345045288774833253159273727795146141071494331236
                    `
                }
            }
        },
//◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙
        {
            "I am a Human": {
                image: "data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP///////////////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD//////wAAAP8AAAD/AAAA//////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////////////////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/////////////////wAAAP////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/////////////////////////////////////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP///////////wAAAP8AAAD//////wAAAP8AAAD///////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD///////////8AAAD/AAAA//////8AAAD/AAAA////////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////////////////////////////////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////////////////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQ==",
                id: "Invent-this-id",
                data: {
                    "q": `
« """ ''' \`\`\`... »
                    `,
                    "template strings stuff": `
${xhtmlns}\n${xulns}\n\n${"inserted by " + _id}
                    `,
                    "¯\\_(ツ)_/¯": `
¯\\_(ツ)_/¯
                    `
                }
            }
        }
    ],
    id: "cb-stylish-paste-buttons-box",
    isStylishTab: function(doc) doc.location.href.startsWith("about:stylish-edit"),
    get buttons () {
        delete this.buttons;
        return this.createButtons();
    },
    createButtons: function() {
        var box = this.insertElement("hbox", null, {id: this.id});
        for(var buttonData of this.buttonsData) {
            var key = Object.keys(buttonData)[0], data = buttonData[key];
            var btn = this.insertElement("toolbarbutton", box, data);
            btn.tooltipText = key; btn.linkedPopup = this.createPopup(data.data);
            btn.setAttribute("oncommand", "var popup = this.appendChild(this.linkedPopup); popup.openPopup(this);");
        }
        return this.buttons = box;
    },
    createPopup: function(data, notRoot) {
        var popup = this.insertElement("menupopup");
        notRoot || popup.setAttribute("position", "after_start");
        popup.setAttribute("oncommand", "event.stopPropagation(); insertCodeAtCaret(event.originalTarget.value);");
        for(var [key, val] in Iterator(data)) {
            if (typeof val == "string") {
                var value = val.slice(val.indexOf("\n") + 1, val.lastIndexOf("\n"));
                var menuitem = this.insertElement("menuitem", popup, {label: key, value: value});
                menuitem.tooltipText = value;
            } else {
                var menu = this.insertElement("menu", popup, {label: key});
                this.insertElement(this.createPopup(val, true), menu);
            }
        }
        return popup;
    },
    insertElement: function(element, parent, attributes, before = null) {
        var notExist = typeof element != "object";
        if (notExist) element = document.createElement(element);
        if (notExist && attributes) {
            for(var attribute in attributes) {
                attribute == "data" || element.setAttribute(attribute, attributes[attribute]);
            }
        }
        parent && parent.insertBefore(element, before);
        return element;
    },
    deleteAndAddForDoc(add, doc) {
        var box = doc.getElementById(this.id);
        box && box.remove();
        add && this.pageshow({target: doc});
    },
    deleteAndAddForAll(add) {
        for(var br of gBrowser.browsers) {
            var doc = br.contentDocument;
            this.isStylishTab(doc) && this.deleteAndAddForDoc(add, doc);
        }
    },
    init: function() {
        addEventListener("pageshow", this, false, gBrowser);
        this.deleteAndAddForAll(true);
        addDestructor(() => this.deleteAndAddForAll(), this);
    },
    handleEvent: function(e) this[e.type](e),
    pageshow: function(e) {
        if (!this.isStylishTab(e.target)) return;
        var before = e.target.getElementById("wrap-lines");
        var buttons = this.buttons, clone = buttons.cloneNode(true);
        before && this.insertElement(clone, before.parentNode, null, before);
        for(var i = 0, l = clone.childNodes.length; i < l; i++) {
            clone.childNodes[i].linkedPopup = buttons.childNodes[i].linkedPopup;
        }
    }
}).init();

Отсутствует

 

№60608-03-2015 18:40:12

turbot
Участник
 
Группа: Members
Зарегистрирован: 09-10-2011
Сообщений: 2529
UA: Firefox 39.0

Re: Обсуждение кнопок CB

Dumby
Оу, красота! :) Спасибо.

А можно сделать ее единой и для редактора во вкладке и в окне? Иногда так удобнее, иногда так. Боюсь, я сам не осилю...

Отсутствует

 

№60709-03-2015 21:47:51

lokiju
Участник
 
Группа: Members
Зарегистрирован: 30-01-2012
Сообщений: 208
UA: Firefox 39.0

Re: Обсуждение кнопок CB

bunda1, спасибо. А можно сделать очистку папок автоматом, перед закрытием браузера?

Отсутствует

 

№60810-03-2015 02:13:06

mahtanoronra
Участник
 
Группа: Members
Зарегистрирован: 08-03-2009
Сообщений: 63
UA: Firefox 31.0

Re: Обсуждение кнопок CB

а может кто нибудь добавить в кнопку
Proxy
запуск приложения по типа

Выделить код

Код:

startProcess("G:\\Programs\\HandyCache\\HandyCache.exe",[""]);

function startProcess(path, args) {
    var file = Components.classes["@mozilla.org/file/local;1"]
        .createInstance(Components.interfaces.nsILocalFile);
     file.initWithPath(path);
    if(file.exists()) {
       var process = Components.classes["@mozilla.org/process/util;1"]
              .createInstance(Components.interfaces.nsIProcess);
       process.init(file);
        process.run(false, args, args.length);
      } else custombuttons. alertBox ("Файл не найден", path); 
};

а при повтором нажатии(тоесть выключении прокси) убивание процесса программы(как это сделано в "Остановить очистку потребляемой оперативной памяти")

Отсутствует

 

№60910-03-2015 22:09:35

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 24.0

Re: Обсуждение кнопок CB

Ну если по простому то в начале кода инициализации после:

Выделить код

Код:

cbu.setPrefs("network.proxy.type", (cbu.getPrefs("network.proxy.type") == 1 ) ? 0 : 1 );

положи:       

Выделить код

Код:

if ( cbu.getPrefs("network.proxy.type") == 1 ) {
             var file = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsILocalFile);
             file.initWithPath("C:\\Program Files\\HandyCache\\HandyCache.exe");
             file.launch();
             }
        else
             {
             // Закрыть все процессы 'HandyCache.exe' ................
             var VBScript =
                   'strComputer = "."\
                   \nSet objWMIService = GetObject("winmgmts:" _\
                   \n& "{impersonationLevel=impersonate}!\\\\" & strComputer & "\\root\\cimv2")\
                   \nSet colProcessList = objWMIService.ExecQuery _\
                   \n("Select * from Win32_Process Where Name = \x27HandyCache.exe\x27")\
                   \nFor Each objProcess in colProcessList\
                   \nobjProcess.Terminate()\
                   \nNext';
   
             var file = Services.dirsvc.get('ProfD', Ci.nsIFile);
             file.append("processTerminate.vbs");
             custombuttonsUtils.writeFile(file.path, VBScript);
             file.launch();                          
             }

Отредактировано bunda1 (11-03-2015 23:25:41)

Отсутствует

 

№61011-03-2015 02:25:37

HaGEN
Забанен
 
Группа: Members
Зарегистрирован: 04-07-2013
Сообщений: 155
UA: Palemoon 25.0

Re: Обсуждение кнопок CB

Прошу поясните кто может: что делает эта кнопка Script Loader
ежели из описания коротенького что там есть(и ежели прально понял):
Script Loader by LouCypher (aka Zoolcar9)
    Load a script and execute it

- то это подгрузчик скриптов, типа GM. Так ли это. И ежели так то проверьте, будьте любезны, у себя работает ли кнопка. У мну ничего не делает и "полупрозрачна", как когда кнопка с ошибкой или неверна.

Отсутствует

 

№61111-03-2015 20:58:30

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 24.0

Re: Обсуждение кнопок CB

HaGEN пишет

Прошу поясните кто может: что делает эта кнопка Script Loader
ежели из описания коротенького что там есть(и ежели прально понял):
Script Loader by LouCypher (aka Zoolcar9)
    Load a script and execute it

- то это подгрузчик скриптов, типа GM. Так ли это. И ежели так то проверьте, будьте любезны, у себя работает ли кнопка. У мну ничего не делает и "полупрозрачна", как когда кнопка с ошибкой или неверна.

Кнопка не работает потому что в ней используется makeXML() который не поддерживается уже давно. И этот Script Loader кажется предназначен для запуска текстовых файлов типа .js с кодами которые работают в CB кнопках но не с кодами GM с некоторыми исключениями.

Отсутствует

 

№61212-03-2015 14:31:08

HaGEN
Забанен
 
Группа: Members
Зарегистрирован: 04-07-2013
Сообщений: 155
UA: Opera 12.1

Re: Обсуждение кнопок CB

Ага, знач не то что я думал и не буду пытаться.
Благодарю.

Отсутствует

 

№61315-03-2015 17:25:08

villa7
Участник
 
Группа: Members
Зарегистрирован: 21-07-2012
Сообщений: 2235
UA: Firefox 34.0

Re: Обсуждение кнопок CB

Может кто знает, кнопка переключения стилей от Infocatcher Style toggler
не подхватывает картинку из папки chrome.
не так
background-image: url("C:\\Firefox\\Profile\\chrome\\background.jpg");
не так background-image: url("background.jpg");
не хочет. Как в кнопке правильно путь прописать?


Лучше спросить у знающих - чем лезть не зная.

Отсутствует

 

№61415-03-2015 18:22:53

turbot
Участник
 
Группа: Members
Зарегистрирован: 09-10-2011
Сообщений: 2529
UA: Firefox 39.0

Re: Обсуждение кнопок CB

villa7
file:///E:/Images/blabla.png

Отсутствует

 

№61515-03-2015 19:47:14

villa7
Участник
 
Группа: Members
Зарегистрирован: 21-07-2012
Сообщений: 2235
UA: Firefox 34.0

Re: Обсуждение кнопок CB

turbot
Точно, смутно помнил про три слеша, да давно с этим сталкивался, надо на лбу записать. Спасибо.


Лучше спросить у знающих - чем лезть не зная.

Отсутствует

 

№61616-03-2015 00:17:56

Dumby
Участник
 
Группа: Members
Зарегистрирован: 12-08-2012
Сообщений: 2254
UA: Firefox 31.0

Re: Обсуждение кнопок CB

turbot пишет

А можно сделать ее единой и для редактора во вкладке и в окне? Иногда так удобнее, иногда так. Боюсь, я сам не осилю...

Во, может такая подойдёт

скрытый текст
У меня, вроде, не сильно глючит.
Для редактирования предполагается контекстное меню.
Результат редактирования (innerHTML) пишется на вкладку Справка.
Попробуй.

Выделить код

Код:

custombutton://%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%0D%0A%3Ccustombutton%20xmlns%3Acb%3D%22http%3A//xsms.nm.ru/custombuttons/%22%3E%0A%20%20%3Cname%3EUnnamed%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/gif%3Bbase64%2CR0lGODlhEAAQAN0DABop/8f//5zj/////+D//xpP/4rQ/xxk/xo8/0KH/3vA/xpH/1Ka/xpb/3W8/5DZ/6Lp/xow/1lo/yZr/0yU/zN6/zB1/2uz/z+IzDyEx+Hh4TJB/4bM8B9m/4/W/4jO/5be/+j//670/y50/1ed/3G1/6rM/7bF/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAUsASgAIf8LTkVUU0NBUEUyLjADAQAAACwAAAAAEAAQAAAGlUCAcEgsCgNIJORhAAiezyPyAFgcDoUIgBMFICeFB2FA1jAOXSTgQQYZIIMLWiBFkBmFBADRUHSFCGMGWVVQdE4CCx5kAwQGegZdTx8IDmNkBBCIQk8GEhURDQyXBZICEiYnBwkICQMhHRgZnAIbAwECDhMCjQVqm4yMASUkv08WDRQKyw4VFEm0dBcJIxZeSQFG2kRBACH5BAkZACgALAAAAAAQABAAAAY5QJRwSCwKBUgkMcBkHpVGoRMFjaKm1ShWYJUGusPm9zq2TqfmMVPUPZfBZDAUHZ2/i0nvnZrkwotBADs%3D%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5BgBrowser.currentURI.spec%20%3D%3D%20%22about%3Acustomizing%22%20%7C%7C%20%28%28%29%20%3D%3E%20%7B%0A%09var%20obsId%20%3D%20%22CB%22%20+%20_id.slice%2820%29%20+%20%22_PasteButtonsForStylish%22%3B%0A%09var%20obs%20%3D%20Application.storage.get%28obsId%2C%20null%29%3B%0A%09if%20%28%21obs%29%20%7B%0A%09%09obs%20%3D%20%7B%0A%09%09%09id%3A%20obsId%2C%0A%09%09%09boxId%3A%20obsId%20+%20%22_Box%22%2C%0A%09%09%09brURL%3A%20location.href%2C%0A%09%09%09topic%3A%20%22document-shown%22%2C%0A%09%09%09init%3A%20function%28%29%20%7B%0A%09%09%09%09this.proceedAll%28true%29%3B%0A%09%09%09%09Services.obs.addObserver%28this%2C%20this.topic%2C%20false%29%3B%0A%09%09%09%7D%2C%0A%09%09%09destroy%3A%20function%28%29%20%7B%0A%09%09%09%09this.proceedAll%28false%29%3B%0A%09%09%09%09try%20%7BServices.obs.removeObserver%28this%2C%20this.topic%29%3B%7D%0A%09%09%09%09catch%28ex%29%20%7BCu.reportError%28ex%29%3B%7D%0A%09%09%09%7D%2C%0A%0A//%09%09%09-----------------------------------%20OBS%20----------------------------------%0A%0A%09%09%09observe%3A%20function%28doc%29%20this.proceedDoc%28doc%2C%20true%29%2C%0A%09%09%09isStylishDoc%3A%20function%28doc%29%20doc.location%0A%09%09%09%09%26%26%20doc.location.href.startsWith%28%22about%3Astylish-edit%22%29%2C%0A%09%09%09isBrowserDoc%3A%20function%28doc%29%20doc.location%0A%09%09%09%09%26%26%20doc.location.href%20%3D%3D%20this.brURL%2C%0A%09%09%09proceedAll%3A%20function%28init%29%20%7B%0A%09%09%09%09var%20en%20%3D%20Services.wm.getEnumerator%28null%29%3B%0A%09%09%09%09while%28en.hasMoreElements%28%29%29%20%7B%0A%09%09%09%09%09var%20doc%20%3D%20en.getNext%28%29.document%3B%0A%09%09%09%09%09if%20%28this.isBrowserDoc%28doc%29%29%20%7B%0A%09%09%09%09%09%09for%28var%20br%20of%20doc.defaultView.gBrowser.browsers%29%20%7B%0A%09%09%09%09%09%09%09this.proceedDoc%28br.contentDocument%2C%20init%29%3B%0A%09%09%09%09%09%09%7D%0A%09%09%09%09%09%09var%20sidebarDoc%20%3D%20doc.getElementById%28%22sidebar%22%29.contentDocument%3B%0A%09%09%09%09%09%09this.proceedDoc%28sidebarDoc%2C%20init%29%3B%0A%09%09%09%09%09%09var%20wpb%20%3D%20sidebarDoc.getElementById%28%22web-panels-browser%22%29%3B%0A%09%09%09%09%09%09wpb%20%26%26%20this.proceedDoc%28wpb.contentDocument%2C%20init%29%3B%0A%09%09%09%09%09%7D%20%0A%09%09%09%09%09else%0A%09%09%09%09%09%09this.proceedDoc%28doc%2C%20init%29%3B%0A%09%09%09%09%7D%0A%09%09%09%7D%2C%0A%09%09%09proceedDoc%3A%20function%28doc%2C%20add%29%20%7B%0A%09%09%09%09if%20%28%21this.isStylishDoc%28doc%29%20%7C%7C%20doc.readyState%20%21%3D%20%22complete%22%29%20return%3B%0A%09%09%09%09var%20box%20%3D%20doc.getElementById%28this.boxId%29%3B%0A%09%09%09%09if%20%28add%20%26%26%20%21box%29%20%7B%0A%09%09%09%09%09var%20before%20%3D%20doc.getElementById%28%22wrap-lines%22%29%3B%0A%09%09%09%09%09this.addBox%28before%29%3B%0A%09%09%09%09%7D%20else%20if%20%28%21add%20%26%26%20box%29%20%7B%0A%09%09%09%09%09box%20%26%26%20box.remove%28%29%3B%0A%09%09%09%09%7D%0A%09%09%09%7D%2C%0A%0A//%09%09%09---------------------------------------------%20BOX%20--------------------------------------------%0A%0A%09%09%09get%20box%28%29%20%7B%0A%09%09%09%09delete%20this.box%3B%0A%09%09%09%09return%20this.box%20%3D%20this.createBox%28%29%3B%0A%09%09%09%7D%2C%0A%09%09%09createBox%3A%20function%28%29%20%7B%0A%09%09%09%09var%20box%20%3D%20this.insertElement%28%22hbox%22%2C%20null%2C%20%7B%0A%09%09%09%09%09id%3A%20this.boxId%2C%0A%09%09%09%09%09onclick%3A%20%60%0A%09%09%09%09%09%09if%20%28event.button%20%21%3D%202%29%20return%3B%0A%09%09%09%09%09%09var%20popup%20%3D%20this.linkedPopup%3B%0A%09%09%09%09%09%09if%20%28popup.state%20%21%3D%20%22closed%22%29%20popup.hidePopup%28%29%3B%0A%09%09%09%09%09%09popup.linkedTarget%20%3D%20event.originalTarget%3B%0A%09%09%09%09%09%09popup.openPopupAtScreen%28event.screenX%2C%20event.screenY%29%3B%0A%09%09%09%09%09%60%2C%0A%09%09%09%09%09oncommand%3A%20%60%0A%09%09%09%09%09%09event.stopPropagation%28%29%3B%0A%09%09%09%09%09%09var%20trg%20%3D%20event.originalTarget%3B%0A%09%09%09%09%09%09if%20%28trg.nodeName%20%3D%3D%20%22toolbarbutton%22%29%0A%09%09%09%09%09%09%09trg.firstChild.openPopup%28trg%29%3B%0A%09%09%09%09%09%09/*%0A%09%09%09%09%09%09else%20if%20%28trg.nodeName%20%3D%3D%20%22menuitem%22%29%0A%09%09%09%09%09%09%09trg.hasAttribute%28%22value%22%29%0A%09%09%09%09%09%09%09%26%26%20insertCodeAtCaret%28trg.value%29%3B%0A%09%09%09%09%09%09*/%0A%09%09%09%09%09%09else%20if%20%28trg.nodeName%20%3D%3D%20%22menuitem%22%20%26%26%20trg.hasAttribute%28%22value%22%29%29%20%7B%0A%09%09%09%09%09%09%09insertCodeAtCaret%28trg.value%29%3B%0A%09%09%09%09%09%09%09codeElementWrapper.focus%28%29%3B%0A%09%09%09%09%09%09%7D%0A%09%09%09%09%09%60%0A%09%09%09%09%7D%29%3B%0A%09%09%09%09return%20box%3B%0A%09%09%09%7D%2C%0A%09%09%09get%20boxContent%28%29%20%7B%0A%09%09%09%09delete%20this.boxContent%3B%0A%09%09%09%09return%20this.boxContent%20%3D%20self.Help.trim%28%29%3B%0A%09%09%09%7D%2C%0A%09%09%09addBox%3A%20function%28before%29%20%7B%0A%09%09%09%09var%20box%20%3D%20before.parentNode.insertBefore%28this.box.cloneNode%28false%29%2C%20before%29%3B%0A%09%09%09%09box.innerHTML%20%3D%20this.boxContent%3B%0A%09%09%09%09box.linkedPopup%20%3D%20box.appendChild%28this.popup.cloneNode%28true%29%29%3B%0A%09%09%09%09box.style.cssText%20%3D%20%22max-height%3A%2032px%20%21important%3B%20max-width%3A%20320px%20%21important%3B%22%3B%0A%09%09%09%7D%2C%0A%0A//%09%09%09-------------------------------------------%20CONTEXT%20------------------------------------------%0A%0A%09%09%09popupXUL%3A%20%60%0A%09%09%09%09%3Cmenupopup%20xmlns%3D%22http%3A//www.mozilla.org/keymaster/gatekeeper/there.is.only.xul%22%0A%09%09%09%09%09id%3D%22%24%7BobsId%20+%20%22_Context%22%7D%22%0A%09%09%09%09%09oncommand%3D%22event.stopPropagation%28%29%3B%20var%20obs%20%3D%20Application.storage.get%28%27%24%7BobsId%7D%27%2C%20null%29%3B%20if%20%28obs%29%20obs.cmdDispatcher%28event%29%3B%22%0A%09%09%09%09%09onpopupshowing%3D%22var%20obs%20%3D%20Application.storage.get%28%27%24%7BobsId%7D%27%2C%20null%29%3B%20if%20%28obs%29%20obs.contextPopupshowing%28this%29%3B%22%3E%0A%09%09%09%09%09%3Cmenuitem%20label%3D%22%u0418%u0437%u043C%u0435%u043D%u0438%u0442%u044C%22%20value%3D%22openEditor%22/%3E%0A%09%09%09%09%09%3Cmenuseparator/%3E%0A%09%09%09%09%09%3Cmenuitem%20label%3D%22%u0412%u044B%u0448%u0435%22%20value%3D%22moveUp%22/%3E%0A%09%09%09%09%09%3Cmenuitem%20label%3D%22%u041D%u0438%u0436%u0435%22%20value%3D%22moveDown%22/%3E%0A%09%09%09%09%09%3Cmenuseparator/%3E%0A%09%09%09%09%09%3Cmenuitem%20label%3D%22%u041A%u043E%u043F%u0438%u0440%u043E%u0432%u0430%u0442%u044C%22%20value%3D%22copyItem%22%20closemenu%3D%22none%22/%3E%0A%09%09%09%09%09%3Cmenuitem%20label%3D%22%u0412%u0441%u0442%u0430%u0432%u0438%u0442%u044C%22%20value%3D%22pasteItem%22/%3E%0A%09%09%09%09%09%3Cmenuitem%20label%3D%22%u0423%u0434%u0430%u043B%u0438%u0442%u044C%22%20value%3D%22deleteItem%22/%3E%0A%09%09%09%09%09%3Cmenuseparator/%3E%0A%09%09%09%09%09%3Cmenuitem%20label%3D%22%u041D%u043E%u0432%u044B%u0439%20menuitem%22%20value%3D%22newMenuitem%22/%3E%0A%09%09%09%09%09%3Cmenuitem%20label%3D%22%u041D%u043E%u0432oe%20menu%22%20value%3D%22newMenu%22/%3E%0A%09%09%09%09%09%3Cmenuitem%20label%3D%22%u041D%u043E%u0432%u044B%u0439%20toolbarbutton%22%20value%3D%22newButton%22/%3E%0A%09%09%09%09%09%3Cmenuitem%20label%3D%22%u041D%u043E%u0432%u044B%u0439%20menuseparator%22%20value%3D%22newSeparator%22/%3E%0A%09%09%09%09%09%3Cmenuseparator/%3E%0A%09%09%09%09%09%3Cmenuitem%20label%3D%22%u041A%u0430%u0440%u0442%u0438%u043D%u043A%u0430%20base64%22%20value%3D%22imgBase64%22/%3E%0A%09%09%09%09%3C/menupopup%3E%0A%09%09%09%60%2C%0A%09%09%09get%20popup%28%29%20%7B%0A%09%09%09%09delete%20this.popup%3B%0A%09%09%09%09return%20this.popup%20%3D%20this.createPopup%28%29%3B%0A%09%09%09%7D%2C%0A%09%09%09createPopup%3A%20function%28%29%20%7B%0A%09%09%09%09var%20xul%20%3D%20this.popupXUL.trim%28%29.replace%28/%3E%5Cs+%3C/g%2C%20%22%3E%3C%22%29%3B%0A%09%09%09%09var%20popup%20%3D%20new%20DOMParser%28%29.parseFromString%28xul%2C%20%22application/xml%22%29.documentElement%3B%0A%09%09%09%09return%20popup%3B%0A%09%09%09%7D%2C%0A%09%09%09cmdDispatcher%3A%20function%28e%29%20%7B%0A%09%09%09%09var%20trg%20%3D%20e.originalTarget%2C%20popup%20%3D%20trg.parentNode%2C%20cmd%20%3D%20trg.value%3B%0A%09%09%09%09if%20%28%21cmd%29%20return%3B%0A%09%09%09%09var%20popupNode%20%3D%20popup.linkedTarget%3B%0A%09%09%09%09cmd.startsWith%28%22new%22%29%0A%09%09%09%09%09%3F%20this.newItem%28popupNode%2C%20cmd.slice%283%29%29%0A%09%09%09%09%09%3A%20this%5Bcmd%5D%28popupNode%2C%20popup%29%3B%0A%09%09%09%09%22copyItem%20openEditor%20imgBase64%22.contains%28cmd%29%20%7C%7C%20this.save%28popupNode%29%3B%0A%09%09%09%7D%2C%0A%09%09%09get%20emptySeparator%28%29%20%7B%0A%09%09%09%09delete%20this.emptySeparator%3B%0A%09%09%09%09return%20this.emptySeparator%20%3D%20this.insertElement%28%22menuseparator%22%29%3B%0A%09%09%09%7D%2C%0A%09%09%09get%20emptyMenuitem%28%29%20%7B%0A%09%09%09%09delete%20this.emptyMenuitem%3B%0A%09%09%09%09return%20this.emptyMenuitem%20%3D%20this.insertElement%28%22menuitem%22%2C%20null%2C%20%7Blabel%3A%20%22menuitem%22%2C%20value%3A%20%22%22%7D%29%3B%0A%09%09%09%7D%2C%0A%09%09%09get%20emptyMenupopup%28%29%20%7B%0A%09%09%09%09delete%20this.emptyMenupopup%3B%0A%09%09%09%09var%20popup%20%3D%20this.insertElement%28%22menupopup%22%29%3B%0A%09%09%09%09popup.appendChild%28this.emptyMenuitem.cloneNode%28false%29%29%3B%0A%09%09%09%09return%20this.emptyMenupopup%20%3D%20popup%3B%0A%09%09%09%7D%2C%0A%09%09%09get%20emptyMenu%28%29%20%7B%0A%09%09%09%09delete%20this.emptyMenu%3B%0A%09%09%09%09var%20menu%20%3D%20this.insertElement%28%22menu%22%2C%20null%2C%20%7Blabel%3A%20%22menu%22%7D%29%3B%0A%09%09%09%09menu.appendChild%28this.emptyMenupopup.cloneNode%28true%29%29%3B%0A%09%09%09%09return%20this.emptyMenu%20%3D%20menu%3B%0A%09%09%09%7D%2C%0A%09%09%09get%20emptyButton%28%29%20%7B%0A%09%09%09%09delete%20this.emptyButton%3B%0A%09%09%09%09var%20btn%20%3D%20this.insertElement%28%22toolbarbutton%22%2C%20null%2C%20%7B%0A%09%09%09%09%09image%3A%20%22data%3Aimage/x-icon%3Bbase64%2CAAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////////////////////////////////////////////////////////////////////AAAA/wAAAP//////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD//////wAAAP8AAAD//////wAAAP//////////////////////////////////////////////////////AAAA//////8AAAD/AAAA//////8AAAD//////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD//////wAAAP//////AAAA/wAAAP//////AAAA//////8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////8AAAD//////wAAAP8AAAD//////wAAAP//////AAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////AAAA//////8AAAD/AAAA//////8AAAD//////wAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////wAAAP//////AAAA/wAAAP//////AAAA//////8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////8AAAD//////wAAAP8AAAD//////wAAAP//////AAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////AAAA//////8AAAD/AAAA//////8AAAD//////wAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////wAAAP//////AAAA/wAAAP//////AAAA//////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA//////8AAAD//////wAAAP8AAAD//////wAAAP//////////////////////////////////////////////////////AAAA//////8AAAD/AAAA//////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////AAAA/wAAAP///////////////////////////////////////////////////////////////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AACsQQAArEEAAKxBAACsQQAArEEH4KxBB+CsQQfgrEEH4KxBB+CsQQfgrEEAAKxBAACsQQAArEEAAKxBAACsQQ%3D%3D%22%0A%09%09%09%09%7D%29%3B%0A%09%09%09%09btn.appendChild%28this.emptyMenupopup.cloneNode%28true%29%29%3B%0A%09%09%09%09return%20this.emptyButton%20%3D%20btn%3B%0A%09%09%09%7D%2C%0A%09%09%09newItem%3A%20function%28node%2C%20name%29%20%7B%0A%09%09%09%09var%20newItem%20%3D%20this%5B%22empty%22%20+%20name%5D.cloneNode%28true%29%3B%0A%09%09%09%09node.parentNode.insertBefore%28newItem%2C%20node.nextSibling%29%3B%0A%09%09%09%09if%20%28name%20%3D%3D%20%22Button%22%29%20newItem.firstChild.setAttribute%28%22position%22%2C%20%22after_start%22%29%3B%0A%09%09%09%7D%2C%0A%09%09%09deleteItem%3A%20function%28node%29%20%7B%0A%09%09%09%09var%20win%20%3D%20this.top%28node%29%3B%0A%09%09%09%09if%20%28%21win.confirm%28%22%u0423%u0434%u0430%u043B%u0438%u0442%u044C%20%3F%22%29%29%20return%3B%0A%09%09%09%09node.remove%28%29%3B%0A%09%09%09%7D%2C%0A%09%09%09moveUp%3A%20function%28node%29%20%7B%0A%09%09%09%09node.parentNode.insertBefore%28node%2C%20node.previousSibling%29%3B%0A%09%09%09%7D%2C%0A%09%09%09moveDown%3A%20function%28node%29%20%7B%0A%09%09%09%09node.parentNode.insertBefore%28node%2C%20node.nextSibling.nextSibling%29%3B%0A%09%09%09%7D%2C%0A%09%09%09copyItem%3A%20function%28node%2C%20popup%29%20%7B%0A%09%09%09%09this.transactionNode%20%3D%20node.cloneNode%28true%29%3B%0A%09%09%09%09popup.querySelector%28%27menuitem%5Bvalue%3D%22pasteItem%22%5D%27%29.disabled%20%3D%20false%3B%0A%09%09%09%7D%2C%0A%09%09%09pasteItem%3A%20function%28node%29%20%7B%0A%09%09%09%09node.parentNode.insertBefore%28this.transactionNode%2C%20node%29%3B%0A%09%09%09%7D%2C%0A%09%09%09imgBase64%3A%20function%28node%29%20%7B%0A%09%09%09%09var%20obs%20%3D%20this%3B%0A%09%09%09%09var%20picker%20%3D%20makeFilePicker%28%29%3B%0A%09%09%09%09picker.appendFilters%28picker.filterImages%29%3B%0A%09%09%09%09picker.init%28this.top%28node%29%2C%20%22%u0418%u0437%u043E%u0431%u0440%u0430%u0436%u0435%u043D%u0438%u0435%22%2C%20picker.modeOpen%29%3B%0A%09%09%09%09picker.open%28%7Bdone%3A%20function%28result%29%20%7B%0A%09%09%09%09%09if%20%28result%20%21%3D%20picker.returnOK%29%20return%3B%0A%09%09%09%09%09var%20reader%20%3D%20new%20FileReader%28%29%3B%0A%09%09%09%09%09reader.onload%20%3D%20function%28%29%20%7B%0A%09%09%09%09%09%09if%20%28%21reader.result%29%20return%3B%0A%09%09%09%09%09%09var%20name%20%3D%20node.nodeName%3B%0A%09%09%09%09%09%09%22menuitem%22.contains%28name%29%20%26%26%20node.classList.add%28name%20+%20%22-iconic%22%29%3B%0A%09%09%09%09%09%09node.setAttribute%28%22image%22%2C%20reader.result%29%3B%0A%09%09%09%09%09%09obs.save%28node%29%3B%0A%09%09%09%09%09%7D%0A%09%09%09%09%09reader.readAsDataURL%28new%20File%28picker.file%29%29%3B%0A%09%09%09%09%7D%7D%29%3B%0A%09%09%09%7D%2C%0A%09%09%09disablers%3A%20%7B%0A%09%09%09%09moveUp%3A%20function%28node%29%20%21node.previousSibling%2C%0A%09%09%09%09moveDown%3A%20function%28node%29%20%21node.nextSibling%20%7C%7C%20node.nextSibling.nodeName%20%3D%3D%20%22menupopup%22%2C%0A%09%09%09%09deleteItem%3A%20function%28node%29%20%7B%0A%09%09%09%09%09var%20count%20%3D%20node.parentNode.childElementCount%3B%0A%09%09%09%09%09return%20count%20%3D%3D%201%20%7C%7C%20%28node.nodeName%20%3D%3D%20%22toolbarbutton%22%20%26%26%20count%20%3D%3D%202%29%3B%0A%09%09%09%09%7D%2C%0A%09%09%09%09top%3A%20function%28node%29%20%22toolbarbutton%20hbox%22.contains%28node.nodeName%29%2C%0A%09%09%09%09newMenuitem%3A%20function%28node%29%20this.top%28node%29%2C%0A%09%09%09%09newMenu%3A%20function%28node%29%20this.top%28node%29%2C%0A%09%09%09%09newSeparator%3A%20function%28node%29%20this.top%28node%29%2C%0A%09%09%09%09newButton%3A%20function%28node%29%20%21this.top%28node%29%2C%0A%09%09%09%09copyItem%3A%20function%28node%29%20node.nodeName%20%3D%3D%20%22hbox%22%2C%0A%09%09%09%09pasteItem%3A%20function%28%29%20%21%28%22transactionNode%22%20in%20this.obs%29%2C%0A%09%09%09%09imgBase64%3A%20function%28node%29%20%21%22toolbarbutton%20menu%20menuitem%22.contains%28node.nodeName%29%0A%09%09%09%7D%2C%0A%09%09%09contextPopupshowing%3A%20function%28popup%29%20%7B%0A%09%09%09%09this.disablers.obs%20%3D%20this%3B%0A%09%09%09%09var%20node%20%3D%20popup.linkedTarget%3B%0A%09%09%09%09for%28var%20key%20in%20this.disablers%29%20%7B%0A%09%09%09%09%09var%20menuitem%20%3D%20popup.querySelector%28%60menuitem%5Bvalue%3D%22%24%7Bkey%7D%22%5D%60%29%3B%0A%09%09%09%09%09if%20%28menuitem%29%20menuitem.disabled%20%3D%20this.disablers%5Bkey%5D%28node%29%20%7C%7C%20node.nodeName%20%3D%3D%20%22menupopup%22%3B%0A%09%09%09%09%7D%0A%09%09%09%09popup.querySelector%28%27menuitem%5Bvalue%3D%22openEditor%22%5D%27%29.disabled%20%3D%20node.nodeName%20%3D%3D%20%22hbox%22%3B%0A%09%09%09%7D%2C%0A%0A//%09%09%09-----------------------------------------------%20EDITOR%20----------------------------------------------%0A%0A%09%09%09editorXUL%3A%20%60%0A%09%09%09%09%3C%3Fxml%20version%3D%221.0%22%3F%3E%0A%09%09%09%09%3C%3Fxml-stylesheet%20href%3D%22chrome%3A//global/skin/%22%3F%3E%0A%09%09%09%09%3C%3Fxml-stylesheet%20href%3D%22chrome%3A//custombuttons/content/codeeditor.css%22%20type%3D%22text/css%22%3F%3E%0A%09%09%09%09%3Cdialog%20xmlns%3D%22http%3A//www.mozilla.org/keymaster/gatekeeper/there.is.only.xul%22%0A%09%09%09%09%09title%3D%22%u0418%u0437%u043C%u0435%u043D%u0438%u0442%u044C%22%0A%09%09%09%09%09onload%3D%22obs%20%3D%20Application.storage.get%28%27%24%7BobsId%7D%27%2C%20null%29%3B%20obs.initEditor%28window%29%3B%22%0A%09%09%09%09%09ondialogaccept%3D%22obs.setAttributes%28window%29%3B%22%0A%09%09%09%09%09buttons%3D%22extra2%2Caccept%2Ccancel%22%0A%09%09%09%09%09buttonlabelextra2%3D%22%u0423%u0434%u0430%u043B%u0438%u0442%u044C%20%u0430%u0442%u0440%u0438%u0431%u0443%u0442%22%0A%09%09%09%09%09ondialogextra2%3D%22obs.deleteAttribute%28window%29%3B%22%3E%0A%09%09%09%09%09%3Chbox%20align%3D%22center%22%3E%0A%09%09%09%09%09%09%3Clabel%20value%3D%22%u041D%u043E%u0432%u044B%u0439%20%u0430%u0442%u0440%u0438%u0431%u0443%u0442%22/%3E%0A%09%09%09%09%09%09%3Ctextbox%20flex%3D%221%22%20multiline%3D%22false%22%20onkeydown%3D%22obs.onTexboxKeydown%28event%29%3B%22/%3E%0A%09%09%09%09%09%09%3Cbutton%20label%3D%22%u0414%u043E%u0431%u0430%u0432%u0438%u0442%u044C%22%20oncommand%3D%22obs.newAttribute%28window%2C%20textbox.value%29%3B%22/%3E%0A%09%09%09%09%09%3C/hbox%3E%0A%09%09%09%09%09%3Ctabbox%20flex%3D%221%22%3E%0A%09%09%09%09%09%09%3Ctabs/%3E%0A%09%09%09%09%09%09%3Ctabpanels%20flex%3D%221%22/%3E%0A%09%09%09%09%09%3C/tabbox%3E%0A%09%09%09%09%3C/dialog%3E%0A%09%09%09%60%2C%0A%09%09%09get%20editorURL%28%29%20%7B%0A%09%09%09%09delete%20this.editorURL%3B%0A%09%09%09%09var%20xul%20%3D%20this.editorXUL.trim%28%29%3B%0A%09%09%09%09return%20this.editorURL%20%3D%20%22data%3Aapplication/vnd.mozilla.xul+xml%2C%22%20+%20encodeURIComponent%28xul%29%3B%0A%09%09%09%7D%2C%0A%09%09%09openEditor%3A%20function%28node%29%20%7B%0A%09%09%09%09this.node%20%3D%20node%3B%20this.elm%20%3D%20this.insertElement%28%22box%22%29%3B%0A%09%09%09%09Services.ww.openWindow%28this.top%28node%29%2C%20this.editorURL%2C%20%22%22%2C%0A%09%09%09%09%09%22chrome%2Cmodal%2Cresizable%2Ccenterscreen%2Cwidth%3D700%2Cheight%3D500%22%0A%09%09%09%09%2C%20null%29%3B%0A%09%09%09%7D%2C%0A%09%09%09initEditor%3A%20function%28win%29%20%7B%0A%09%09%09%09for%28var%20str%20of%20%5B%22tabs%22%2C%20%22tabpanels%22%2C%20%22textbox%22%5D%29%20%7B%0A%09%09%09%09%09win%5Bstr%5D%20%3D%20win.document.querySelector%28str%29%3B%0A%09%09%09%09%7D%0A%09%09%09%09for%28var%20%7Bname%2C%20value%7D%20of%20this.node.attributes%29%20%7B%0A%09%09%09%09%09var%20isVal%20%3D%20name%20%3D%3D%20%22value%22%3B%0A%09%09%09%09%09var%20tab%20%3D%20this.addTab%28win%2C%20name%2C%20value%2C%20isVal%29%3B%0A%09%09%09%09%09if%20%28isVal%29%20tab.style.cssText%20%3D%20%22font-weight%3A%20bold%3B%20color%3A%20navy%3B%22%3B%0A%09%09%09%09%7D%0A%09%09%09%09if%20%28win.tabs.selectedIndex%20%3D%3D%20-1%29%20win.tabs.selectedIndex%20%3D%200%3B%0A%09%09%09%7D%2C%0A%09%09%09addTab%3A%20function%28win%2C%20name%2C%20value%2C%20sel%29%20%7B%0A%09%09%09%09var%20tab%20%3D%20this.insertElement%28%22tab%22%2C%20win.tabs%2C%20%7Blabel%3A%20name%7D%29%3B%0A%09%09%09%09tab.linkedCbeditor%20%3D%20this.insertElement%28%22cbeditor%22%2C%20win.tabpanels%2C%20%7B%0A%09%09%09%09%09class%3A%20%22custombuttons-editor-codeBox%22%2C%0A%09%09%09%09%09multiline%3A%20%22true%22%2C%0A%09%09%09%09%09flex%3A%20%221%22%2C%0A%09%09%09%09%09value%3A%20value%0A%09%09%09%09%7D%29%3B%0A%09%09%09%09if%20%28sel%29%20%7B%0A%09%09%09%09%09win.tabs.selectedItem%20%3D%20tab%3B%0A%09%09%09%09%09tab.linkedCbeditor.focus%28%29%3B%0A%09%09%09%09%7D%0A%09%09%09%09return%20tab%3B%0A%09%09%09%7D%2C%0A%09%09%09newAttribute%3A%20function%28win%2C%20name%29%20%7B%0A%09%09%09%09name%20%26%26%20this.addTab%28win%2C%20name%2C%20%22%22%2C%20true%29%3B%0A%09%09%09%09win.textbox.value%20%3D%20%22%22%3B%0A%09%09%09%7D%2C%0A%09%09%09onTexboxKeydown%3A%20function%28e%29%20%7B%0A%09%09%09%09if%20%28e.keyCode%20%3D%3D%20e.DOM_VK_RETURN%29%20%7B%0A%09%09%09%09%09e.preventDefault%28%29%3B%0A%09%09%09%09%09this.newAttribute%28e.target.ownerGlobal%2C%20e.target.value%29%3B%0A%09%09%09%09%7D%20else%20try%20%7B%0A%09%09%09%09%09var%20attr%20%3D%20e.target.value%20+%20e.key%3B%0A%09%09%09%09%09this.elm.setAttribute%28attr%2C%20true%29%3B%0A%09%09%09%09%09this.elm.removeAttribute%28attr%29%3B%0A%09%09%09%09%7D%20catch%28ex%29%20%7B%0A%09%09%09%09%09e.preventDefault%28%29%3B%0A%09%09%09%09%7D%0A%09%09%09%7D%2C%0A%09%09%09setAttributes%3A%20function%28win%29%20%7B%0A%09%09%09%09for%28var%20tab%20of%20win.tabs.childNodes%29%20%7B%0A%09%09%09%09%09var%20val%20%3D%20tab.linkedCbeditor.value%3B%0A%09%09%09%09%09this.node.setAttribute%28tab.label%2C%20val%29%3B%0A%09%09%09%09%7D%0A%09%09%09%09this.save%28%29%3B%0A%09%09%09%7D%2C%0A%09%09%09deleteAttribute%3A%20function%28win%29%20%7B%0A%09%09%09%09var%20tab%20%3D%20win.tabs.selectedItem%3B%0A%09%09%09%09var%20attr%20%3D%20tab.label%3B%0A%09%09%09%09if%20%28%21win.confirm%28%22%u0423%u0434%u0430%u043B%u0438%u0442%u044C%20%u0430%u0442%u0440%u0438%u0431%u0443%u0442%20%22%20+%20attr%20+%20%22%20%3F%22%29%29%20return%3B%0A%09%09%09%09this.node.removeAttribute%28tab.label%29%3B%0A%09%09%09%09tab.linkedCbeditor.remove%28%29%3B%20tab.remove%28%29%3B%0A%09%09%09%09win.tabs.selectedIndex%20%3D%200%3B%0A%09%09%09%7D%2C%0A%09%09%09save%3A%20function%28node%20%3D%20this.node%29%20%7B%0A%09%09%09%09var%20box%20%3D%20node.ownerDocument.getElementById%28this.boxId%29%3B%0A%09%09%09%09if%20%28%21box%29%20return%3B%0A%09%09%09%09box.removeChild%28box.linkedPopup%29%3B%0A%09%09%09%09var%20xul%20%3D%20box.innerHTML.replace%28/%5Ct/g%2C%20%22%26%23x9%3B%22%29.replace%28/%5Cn/g%2C%20%22%26%23xA%3B%22%29.replace%28/%5Cr/g%2C%20%22%26%23xD%3B%22%29%3B%0A%09%09%09%09var%20link%20%3D%20custombuttons.makeButtonLink%28%22edit%22%2C%20_id%29%3B%0A%09%09%09%09var%20param%20%3D%20custombuttons.cbService.getButtonParameters%28link%29%3B%0A%09%09%09%09param%20%3D%20param.wrappedJSObject%20%7C%7C%20param%3B%0A%09%09%09%09param.help%20%3D%20xul%3B%0A%09%09%09%09custombuttons.cbService.installButton%28param%29%3B%09%0A%09%09%09%7D%2C%0A%0A//%09%09%09-----------------------------------------------%20MISC%20------------------------------------------%0A%0A%09%09%09insertElement%3A%20function%28element%2C%20parent%2C%20attributes%2C%20before%20%3D%20null%29%20%7B%0A%09%09%09%09var%20notExist%20%3D%20typeof%20element%20%21%3D%20%22object%22%3B%0A%09%09%09%09if%20%28notExist%29%20element%20%3D%20document.createElement%28element%29%3B%0A%09%09%09%09if%20%28notExist%20%26%26%20attributes%29%20%7B%0A%09%09%09%09%09for%28var%20attribute%20in%20attributes%29%20%7B%0A%09%09%09%09%09%09attribute%20%3D%3D%20%22data%22%20%7C%7C%20element.setAttribute%28attribute%2C%20attributes%5Battribute%5D%29%3B%0A%09%09%09%09%09%7D%0A%09%09%09%09%7D%0A%09%09%09%09parent%20%26%26%20parent.insertBefore%28element%2C%20before%29%3B%0A%09%09%09%09return%20element%3B%0A%09%09%09%7D%2C%0A%09%09%09top%3A%20function%28node%29%20%7B%0A%09%09%09%09var%20win%20%3D%20node.ownerGlobal%3B%0A%09%09%09%09if%20%28%21%28win%20instanceof%20ChromeWindow%29%29%0A%09%09%09%09%09win%20%3D%20Services.wm.getMostRecentWindow%28%22navigator%3Abrowser%22%29%3B%0A%09%09%09%09return%20win%3B%0A%09%09%09%7D%0A%09%09%7D%3B%0A%09%09Application.storage.set%28obsId%2C%20obs%29%3B%0A%09%09obs.init%28%29%3B%0A%09%7D%0A%09function%20destructor%28reason%29%20%7B%0A%09%09if%20%28%21%22update%20delete%22.contains%28reason%29%29%20return%3B%0A%09%09var%20obs%20%3D%20Application.storage.get%28obsId%2C%20null%29%3B%0A%09%09if%20%28obs%29%20%7B%0A%09%09%09obs.destroy%28%29%3B%0A%09%09%09Application.storage.set%28obsId%2C%20null%29%3B%0A%09%09%7D%0A%09%7D%0A%09addDestructor%28reason%20%3D%3E%20%7B%0A%09%09destructor%28reason%29%3B%0A%09%09setTimeout%28function%28%29%20%7B%0A%09%09%09custombuttons.palette.querySelector%28%27toolbarbutton%5Bid%3D%22%27%20+%20_id%20+%20%27%22%5D%27%29%20%26%26%20destructor%28%22delete%22%29%3B%0A%09%09%7D%2C%20500%29%3B%0A%09%7D%29%3B%0A%7D%29%28%29%3B%5D%5D%3E%3C/initcode%3E%0A%20%20%3Ccode%3E%3C%21%5BCDATA%5B/*CODE*/%5D%5D%3E%3C/code%3E%0A%20%20%3Caccelkey%3E%3C%21%5BCDATA%5B%5D%5D%3E%3C/accelkey%3E%0A%20%20%3Chelp%3E%3C%21%5BCDATA%5B%3Ctoolbarbutton%20xmlns%3D%22http%3A//www.mozilla.org/keymaster/gatekeeper/there.is.only.xul%22%20image%3D%22data%3Aimage/x-icon%3Bbase64%2CAAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/KRr//yka//8pGv//KRr//yka//8pGv//KRr//yka//8pGv//KRr//yka//8pGv//KRr//yka//8pGv//KRr//yka///jnP//45z//+Oc//8pGv//tG7//4ZA//90Lv//dTD//yka////x////8f////H////x////8f//yka//8pGv//45z//+Oc//91MP//Vxr//5RM///Bev//wXr//8F6//+8df//ejP//5JK////x////8f////H//8pGv//KRr//+Oc///jnP//KRr////////////////////////////////////H//+0bv//nVf////H////x///KRr//yka///jnP//45z//0Ey/////////8b//+Oc//+1cf//ayb//+Oc/////////+X//1Ma////x////8f//yka//8pGv//45z//+Oc//9oWf//zKr//8W2//9eGv//h0L//zwa//+HQv/////////o//9mH//MiD//x4Q8//8pGv//KRr//+Oc///jnP//0Ir//2hZ//96M///NBr//14a//+bVP///+D/////////////Uxr//+Oc///jnP//KRr//yka///jnP//45z//86I//88Gv//vHX////g////////////////////4P//6KL//yka///jnP//45z//yka//8pGv//45z//+Oc//9EGv//1o/////////////////////g///TjP//h0L//yka///Vj///45z//+Oc//8pGv//KRr//yka//8pGv//PBr////l////////0Ir//1Ma//8tGv//KRr//0Aa///jnP//45z//+Oc///jnP//KRr//yka////x////8f//zwa/////f///////5pS//9PGv//h0L//yka//88Gv//Wxr//8B7///jnP//45z//yka//8pGv///8f////H//8pGv//3pb/////////////3pb//9CK///qo////////7Nr//9kHP//45z//+Oc//8pGv//KRr////H////x///ayb//0ca///elv///+D/////////////////4eHh//+aUv//ZBz//+Oc///jnP//KRr//yka////x////8f////H//9kHP//KRr//0ca//9mH///ZBz//08a//8wGv//KRr/8MyG///jnP//45z//yka//8pGv///8f////H////x////8f////H///pov//2ZD//9CK//8pGv//45z//+Oc///jnP//45z//+Oc//8pGv//KRr//yka//8pGv//KRr//yka//8pGv//KRr//yka//8pGv//KRr//yka//8pGv//KRr//yka//8pGv//KRr/AACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQ%3D%3D%22%20tooltiptext%3D%22Button%26%23xA%3BTooltip%26%23xA%3BText%22%3E%3Cmenupopup%20position%3D%22after_start%22%3E%3Cmenuitem%20label%3D%22%21Close%20menu%22%20value%3D%22%26%23xA%3B***%26%23xA%3B%26%23xA%3Bclosemenu%3D%26quot%3Bnone%26quot%3B%26%23xA%3B%26%23xA%3B***%26%23xA%3B%22%20closemenu%3D%22none%22/%3E%3Cmenuseparator/%3E%3Cmenuitem%20label%3D%22Styled%20menuitem%22%20value%3D%22bla%26%23xA%3B%26%23x9%3Bbla%26%23xA%3Bbla%22%20style%3D%22font-style%3A%20italic%3B%26%23xA%3B%26%23xA%3Bcolor%3A%20blue%3B%26%23xA%3Bfont-weight%3A%20bold%3B%26%23xA%3B%26%23xA%3B-moz-appearance%3A%20none%3B%26%23xA%3Bbackground-color%3A%20lightyellow%3B%26%23xA%3Bborder%3A%202px%20solid%20yellow%3B%22/%3E%3Cmenu%20label%3D%22Menu%20iconic%22%20class%3D%22menu-iconic%22%20image%3D%22data%3Aimage/x-icon%3Bbase64%2CAAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMZmb/zGZm/8xmZv/MZmb/zGZm/8xmZv/MZmb/zGZm/8xmZv/MZmb/zGZm/8xmZv/MZmb/zGZm/8xmZv/MZmb/zGZm////////////////////////////////////////////////////////////////////////////zGZm/8xmZv///////////////////////////////////////////////////////////////////////////8xmZv/MZmb/zGZm/8xmZv/MZmb/zGZm/8xmZv/MZmb/zGZm/8xmZv/MZmb/zGZm/8xmZv/MZmb/zGZm/8xmZv/MZmb/zGZm////////////////////////////////////////////////////////////////////////////zGZm/8xmZv///////////////////////////////////////////////////////////////////////////8xmZv/MZmb/zGZm/8xmZv/MZmb/zGZm/8xmZv/MZmb/zGZm/8xmZv/MZmb/zGZm/8xmZv/MZmb/zGZm/8xmZv/MZmb/zGZm////////////////////////////////////////////////////////////////////////////zGZm/8xmZv///////////////////////////////////////////////////////////////////////////8xmZv/MZmb/zGZm/8xmZv/MZmb/zGZm/8xmZv/MZmb/zGZm/8xmZv/MZmb/zGZm/8xmZv/MZmb/zGZm/8xmZv/MZmb/zGZm////////////////////////////////////////////////////////////////////////////zGZm/8xmZv///////////////////////////////////////////////////////////////////////////8xmZv/MZmb/zGZm/8xmZv/MZmb/zGZm/8xmZv/MZmb/zGZm/8xmZv/MZmb/zGZm/8xmZv/MZmb/zGZm/8xmZv/MZmb/zGZm////////////////////////////////////////////////////////////////////////////zGZm/8xmZv///////////////////////////////////////////////////////////////////////////8xmZv/MZmb/zGZm/8xmZv/MZmb/zGZm/8xmZv/MZmb/zGZm/8xmZv/MZmb/zGZm/8xmZv/MZmb/zGZm/8xmZv/MZmb/AACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQ%3D%3D%22%3E%3Cmenupopup%3E%3Cmenuitem%20label%3D%22menuitem%22%20value%3D%22%22/%3E%3C/menupopup%3E%3C/menu%3E%3Cmenuitem%20label%3D%22Menuitem%20iconic%22%20value%3D%22123%26%23xA%3B%26%23xA%3B4567%26%23xA%3B890...%26%23xA%3B%22%20class%3D%22menuitem-iconic%22%20image%3D%22data%3Aimage/x-icon%3Bbase64%2CAAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAADMAAAAzAAAAMwAAADMAAAAzAAAAMwAAADMAAAAzAAAAMwAAADMAAAAzAAAAMwAAADMAAAAzAAAAGDBrppU5gMj/OH7H/zh+x/84fsf/OX7H/zl+x/85fsf/OX7H/zl+x/85fsf/OX7H/zl+x/84fsf/OYDI/zBrppU5gMj/Xdb//1TO//9Tzf//U83//1XO//9Vzv//VM3//1TN//9Vzv//Vc7//1TN//9Uzf//VM7//13W//85gMj/OH7H/1vP//9Dwv//TsX//z/A//9Dwf//RsL//0LB//9AwP//Q8H//0bC//9Cwf//QMD//0PC//9bz///OH7H/zZ9x/9XzP//y+7/////////////zO7//zW8/////////////8vt//81vP/////////////L7v//V8z//zZ9x/81fcf/V8v///////8ntv//K7f///////8zuv//L7j//yO0////////Lrj//y64//8jtP///////1fL//81fcf/NH3H/1nM////////KLX//zO5//8xuP//MLj//ye0///E6////////yi1//8mtP//xOr///////9czf//NX3H/zR9x/9dzP///////yGx//8stf//KbT//yOy////////wer//x+x//8hsf///////8Hq//8esf//Z8///zZ+x/80fcf/Y83///////8Sq///F63///////8WrP///////xCq//8brv//G67///////8Pqf//Ga7//23R//82fsf/NX3H/27R//+86f/////////////C6v//FKz//8Dp/////////////xWs///A6f////////////9w0f//NX3H/zZ+x/971f//Dqr//w2p//8Oqf//Eqr//xas//8Sqv//D6n//xGq//8Wq///Eqr//w6p//8Nqf//etT//zZ+x/83gMj/hNz//4LY//+C1///g9f//4TY//+E2P//hNj//4PX//+D2P//hNj//4TY//+C1///gtj//4Tc//83gMj/OYPKjTeAyP82fsf/Nn7H/zZ+x/82fsf/Nn7H/zZ+x/82fsf/Nn7H/zZ+x/82fsf/Nn7H/zZ+x/83gMj/OYPKjQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//+sQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEH//6xB//+sQQ%3D%3D%22/%3E%3Cmenuseparator/%3E%3Cmenuitem%20label%3D%22JS%22%20oncommand%3D%27alert%28%22JS%22%29%3B%27%20tooltiptext%3D%22%u041F%u0440%u043E%u0441%u0442%u043E%20demo%22/%3E%3Cmenuitem%20label%3D%22%u0414%u043B%u044F%20%u0441%u043B%u0435%u0434%u0443%u044E%u0449%u0435%u0433%u043E%20%u043F%u0443%u043D%u043A%u0442%u0430%22%20value%3D%22@namespace%20url%28http%3A//www.mozilla.org/keymaster/gatekeeper/there.is.only.xul%29%3B%26%23xA%3B%26%23xA%3B%23blablabla%20%7B%26%23xA%3B%26%23x9%3Bcolor%3A%20black%3B%26%23xA%3B%26%23x9%3Bdisplay%3A%20-moz-box%20%21important%3B%26%23xA%3B%26%23x9%3Bwidth%3A100px%3B%26%23xA%3B%26%23x9%3Bheight%3A30px%21important%3B%26%23xA%3B%7D%22%20tooltiptext%3D%22@namespace%20url%28http%3A//www.mozilla.org/keymaster/gatekeeper/there.is.only.xul%29%3B%26%23xA%3B%26%23xA%3B%23blablabla%20%7B%26%23xA%3B%26%23x9%3Bcolor%3A%20black%3B%26%23xA%3B%26%23x9%3Bdisplay%3A%20-moz-box%20%21important%3B%26%23xA%3B%26%23x9%3Bwidth%3A100px%3B%26%23xA%3B%26%23x9%3Bheight%3A30px%21important%3B%26%23xA%3B%7D%22/%3E%3Cmenuitem%20label%3D%22JS%20%20%20%20%20%21important%3B%22%20oncommand%3D%22event.stopPropagation%28%29%3B%26%23xA%3Bthis.text%20%3D%20this.result%3B%26%23xA%3B%22%20onmouseenter%3D%27this.text%20%3D%20codeElementWrapper.value%3B%26%23xA%3Bthis.result%20%3D%20this.text%26%23xA%3B%26%23x9%3B.replace%28/%20%3F%21important%3B/g%2C%20%22%3B%22%29%26%23xA%3B%26%23x9%3B.replace%28/%3B/g%2C%20%22%20%21important%3B%22%29%26%23xA%3B%26%23x9%3B.replace%28/%28@namespace%5B%5E%3B%5D+%29%20%21important%3B/%2C%20%22%241%3B%22%29%3B%26%23xA%3B%26%23xA%3BsourceEditor.setText%28this.result%29%3B%27%20onmouseleave%3D%22sourceEditor.setText%28this.text%29%3B%26%23xA%3Bdelete%20this.text%3B%26%23xA%3Bdelete%20this.result%3B%22%20tooltiptext%3D%22%u041D%u0435%20%u0434%u0435%u043B%u0430%u0439%20%u0442%u0430%u043A%22%20class%3D%22menuitem-iconic%22%20image%3D%22data%3Aimage/x-icon%3Bbase64%2CAAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABchMtebZPU+HWZ1+5tk9PJZ47Rk2uQ0r9xltTkd5vY83me2v96ndr5bZLT+WaN0PBiic6eXITLNgAAAAAAAAAAbZPUzqXH8/+rzPj/j7Dj/5O06P+hxPH/rc73/7HS+/+bve7/cpfV/42x5P+myPD/oMLt/26U1OoAAAAAAAAAAIKo4PO62/v/utr7/7DR+f+01fz/u9z8/77e/f+11vv/kLPn/26U1P9xldX/dZnW/3SY1f9njtDhXITLBwAAAACNseT/vt79/77e/f+93f3/vt79/77e/f+93f3/nb/v/3KX1f+Ut+f/udr6/77e/f+83fz/m73r/1yEy2sAAAAAjrHk/77e/f++3v3/vt79/77e/f++3v3/uNn8/5q87f9zl9f/cJTU/3WZ1v91mdb/dZnW/3CU1P9dhcxpAAAAAIqu4vq83Pz/vt79/77e/f++3v3/vt79/7TV/P+Dp9//dJnX/7HS9v++3v3/vt79/77e/f+y0/f/dZvY6gAAAAB4ndnbsdH2/6fI8f+pyvX/t9n6/77e/f+21/v/jrHl/2mQ0v9vlNT/dZnW/3WZ1v91mdb/c5fV/2SLzr0AAAAAXITLbHab2fd1mtridJnXq5Cz6P+21vn/vNz8/6/R+v+Dp9//ia3j/7jY+f++3v3/vt79/7XV+P96oNvqAAAAAAAAAAAAAAAAAAAAAAAAAABehsx4lLjr/7ra+v+42Pz/iq3j/2mP0f+DqeD/jrHk/46x5P+DqeD+XITLpQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGiP0qSnyPH/vNz9/5a56v9ki9ApAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABchMsVia3j7bbW+v+Xuez/XITLfwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGaO0IqqzPP/r9D3/3SZ2dUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABchMtboMLt/7vb+/+Bp+H2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXITLNpi76v+72/v/g6nh9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFyEyxKGq+H/rM30/3Sa19IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXITLim+V1fVchMtfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOsQQADrEEAAaxBAAGsQQABrEEAAaxBAAGsQQABrEHwAaxB+D+sQfg/rEH8P6xB/D+sQfw/rEH8P6xB/j+sQQ%3D%3D%22/%3E%3C/menupopup%3E%3C/toolbarbutton%3E%5D%5D%3E%3C/help%3E%0A%20%20%3Cattributes/%3E%0A%3C/custombutton%3E

Отсутствует

 

№61716-03-2015 01:57:58

turbot
Участник
 
Группа: Members
Зарегистрирован: 09-10-2011
Сообщений: 2529
UA: Firefox 39.0

Re: Обсуждение кнопок CB

Dumby
Спасибо, фантастика! Очень удобно новые пункты добавлять. :)

Может, стоит опубликовать в готовых? Полезная кнопка, на мой взгляд.

Отсутствует

 

№61816-03-2015 02:04:23

difabor
Участник
 
Группа: Members
Зарегистрирован: 21-09-2013
Сообщений: 539
UA: Firefox 36.0
Веб-сайт

Re: Обсуждение кнопок CB

turbot пишет

Dumby
Спасибо, фантастика! Очень удобно новые пункты добавлять. :)

Может, стоит опубликовать в готовых? Полезная кнопка, на мой взгляд.

Присоединяюсь.
Хотелось бы понять, что она делает и когда её используют.
Спасибо.


Хорошо, когда у человека есть выбор, но плохо, когда он перед ним стоит ©

Отсутствует

 

№61916-03-2015 02:19:49

turbot
Участник
 
Группа: Members
Зарегистрирован: 09-10-2011
Сообщений: 2529
UA: Firefox 39.0

Re: Обсуждение кнопок CB

difabor пишет

Хотелось бы понять, что она делает и когда её используют.

Вставляет заданные пользователем шаблоны в редакторе Stylish. Полезная штука для лентяев вроде меня. Которым и автодополнения редактора мало. :)

Отсутствует

 

№62016-03-2015 14:43:11

HaGEN
Забанен
 
Группа: Members
Зарегистрирован: 04-07-2013
Сообщений: 155
UA: Palemoon 25.0

Re: Обсуждение кнопок CB

Можно ли в CB использовать переменные процесса FF такие как %MOZILLA_PLUGINS%, %MOZ_PROFILE_PATH% и др. Для чего - для портабельной сборки со своим софтом(хочу сделать себе нечто наподобие ОпераAC).
Есть такая штука как PaleMoon portable и там клёвый загрузчег в котором можно добавлять свои переменные к процессу в проcтом файле *.ini дописывая что нужно.

Например вот

Выделить код

Код:

[Environment]
;(multiple istances)
;MOZ_NO_REMOTE=1
; Путь к папке с прогами
PM_SOFT=$Home$\$AppName$\Profiles\$Profile$\Soft
;(profile path)
MOZ_PROFILE_PATH=$Home$\$AppName$\Profiles\$Profile$


PM_SOFT - это моя добавленная и она есть в "окружении" процесса. И хотелось бы запускать программы из кнопок используя в пути к файлу переменную %PM_SOFT% шобы с флэхи запускать везде.
типа так:
startProcess("%PM_SOFT%\\FVD-Suite\\FVD Downloader\\FVD Downloader.exe",[""]);
... и дальше как в кнопке-примере
scratch_one-s_head.gif
Решено :D

Отредактировано HaGEN (21-03-2015 10:25:39)

Отсутствует

 

№62117-03-2015 03:19:38

diliana
Участник
 
Группа: Members
Зарегистрирован: 15-12-2009
Сообщений: 18
UA: Firefox 31.0

Re: Обсуждение кнопок CB

Всем привет.
Ребята сделайте пожалуйста кнопку, которая могла бы удалять теги ВВ-кода. Принцип работы такой - в текстовом поле выделяешь текст с тегами ВВ-кода и нажимаешь кнопку, и все теги автоматически удаляются из выделенного текста.

Отсутствует

 

№62217-03-2015 19:44:04

diliana
Участник
 
Группа: Members
Зарегистрирован: 15-12-2009
Сообщений: 18
UA: Firefox 31.0

Re: Обсуждение кнопок CB

okkamas_knife большое спасибо!

Отсутствует

 

№62318-03-2015 02:15:25

turbot
Участник
 
Группа: Members
Зарегистрирован: 09-10-2011
Сообщений: 2529
UA: Firefox 39.0

Re: Обсуждение кнопок CB

bunda1
В кнопках https://forum.mozilla-russia.org/viewto … 06#p543706, https://forum.mozilla-russia.org/viewto … 58#p625358 и https://forum.mozilla-russia.org/viewto … 66#p643966 (а может и еще в каких) стоило бы заменить url("chrome://mozapps/skin/extensions/extensions.svg#greyscale") на grayscale(1), а то с 36-ой версии их убрали.

Отсутствует

 

№62418-03-2015 02:41:24

xrun1
Участник
 
Группа: Members
Зарегистрирован: 12-12-2013
Сообщений: 1227
UA: Firefox 36.0

Re: Обсуждение кнопок CB

bunda1
К сообщению turbot, у меня ещё иконка пропадает после нажатия (отключения) и появляется после включения в 3-й кнопке "Переключить JavaScript для сайтов".
FF 36.0.1

Отсутствует

 

№62518-03-2015 02:47:17

turbot
Участник
 
Группа: Members
Зарегистрирован: 09-10-2011
Сообщений: 2529
UA: Firefox 39.0

Re: Обсуждение кнопок CB

Ну, я о б этом как раз. Можете сами у себя заменить, как выше сказано, чтоб не пропадала.

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]