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

Общайтесь со знакомыми и друзьями в нашей группе в Контакте.

№392608-04-2012 13:38:47

Inko7
Участник
 
Группа: Members
Зарегистрирован: 09-11-2009
Сообщений: 915
UA: Firefox 11.0

Re: Custom Buttons

Выделить код

Код:

function Highlight(event) {

// hide Highlight
gFindBar._highlightDoc(false);

// auto Highlight
if (custombuttonsUtils. getPrefs ("Auto.Highlight", true))
{
// getting prefs Unicode value
var value = prefs.getComplexValue("Auto.Highlight.value",
      Components.interfaces.nsISupportsString).data;

// Highlight
var wordsToSearch = value.split(" ");
while (wordsToSearch. length > 0)
{
    gFindBar. _findField. value = wordsToSearch. shift ();
    gFindBar. toggleHighlight (true);
}
}
 }; 

Отсутствует

 

№392708-04-2012 15:20:44

Infocatcher
Not found
 
Группа: Extensions
Зарегистрирован: 24-05-2007
Сообщений: 4316
UA: Firefox 11.0

Re: Custom Buttons

Отсутствует

 

№392808-04-2012 17:22:58

Indomito
Участник
 
Группа: Members
Откуда: Москва-Север
Зарегистрирован: 27-08-2009
Сообщений: 426
UA: Firefox 11.0

Re: Custom Buttons

Отсутствует

 

№392908-04-2012 17:36:35

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

Re: Custom Buttons

Выделить код

Код:

 // read from popup promtBox
       var SURL = custombuttons.promptBox("Автовыделение", "Bведите текст:", "");
       if (SURL[0] == false) return;
       else
       str.data = [SURL[1]];

Отсутствует

 

№393008-04-2012 17:49:04

Inko7
Участник
 
Группа: Members
Зарегистрирован: 09-11-2009
Сообщений: 915
UA: Firefox 11.0

Re: Custom Buttons

Выделить код

Код:

/*Initialization Code*/


// Кнопка для автовыделения заранее введенного текста с поддержкой нескольких слов

// настройка функций кликов мыши (Mouse Click settings)
this.onclick = function(event) {
    if(event.button == 0) {
        // Действие при клике ЛКМ
        switchHighlight(event);
    };
    
    if(event.button == 1) {
        // Действие при клике СКМ
        HighlightAdd(event);
    }

    if(event.button == 2 && !event.ctrlKey && !event.shiftKey && !event.altKey && !event.metaKey) {
     // Действие при клике ПКМ без модификаторов
     // Блокируем контекстное меню при клике ПКМ без модификаторов
        event.preventDefault();
        event.stopPropagation();
     // clear preference
     prefs.setCharPref("Auto.Highlight.value","");
     prefs.setBoolPref("Auto.Highlight",1);
     switchHighlight(event);
     custombuttons.alertSlide("Автовыделение", "Значение сброшено");
    };
    
};


// Объявляем 'clipboard','storage'
var clipboard = Components.classes["@mozilla.org/widget/clipboardhelper;1"].getService(Components.interfaces.nsIClipboardHelper);
storage = globalStorage[document.domain]


// подсказка
this.showHighlightAdd = function() {
  //getting prefs Unicode value
  var HighlightValue = prefs.getComplexValue("Auto.Highlight.value",Components.interfaces.nsISupportsString).data;
  var text = "ЛКМ =  Bключить/выключить\nСКМ = Добавить текст \nПКМ = Сбросить";
  var L_text = "Выделяемое:  ";
  this.tooltipText = this.label +"\n" + text +"\n\n"+ L_text + HighlightValue;
}
this.setAttribute("onmouseover", "this.showHighlightAdd()");


// Стоп, при открытии настройки панелей
this.onDestroy = function(reason) {
  //....
  if (reason == "constructor") storage['run'] = 'stop'
  if (reason == "destructor")  delete storage['run']
}


// проверить наличие строк в about:config и создать если не существует (Add preferences)
var prefs = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefService);
var f;
try{
    f = prefs.getBoolPref("Auto.Highlight");
}
catch(e){
    prefs.setBoolPref("Auto.Highlight", true);
    prefs.setCharPref("ui.textHighlightBackground", "#ef0fff");   // http://coloria.net/bonus/colornames.htm
    HighlightAdd(event);
}


// Авто выделение, добавить текст
function HighlightAdd(event){
        // Get the root branch
var prefs = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);
// setting Unicode value
var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);
       // read from selected
       var text = document.commandDispatcher.focusedWindow.getSelection();
       if (text != '')
       {
       str.data = text;
       }
       else
       {
       
    // read from Clipboard
    //str.data = readFromClipboard();
       
 // read from popup promtBox
       var SURL = custombuttons.promptBox("Автовыделение", "Bведите текст:", "");
       if (SURL[0] == false) return;
       else
       str.data = [SURL[1]];
       };

       // setting prefs Unicode value
       prefs.setComplexValue("Auto.Highlight.value",Components.interfaces.nsISupportsString, str);
       // getting prefs Unicode value
       var Avalue = prefs.getComplexValue("Auto.Highlight.value",Components.interfaces.nsISupportsString).data

       // Sliding alert
       if (Avalue == "")
       {
       custombuttons.alertSlide("Автовыделение", "Нет данных для обработки");
       }
    else
       {
       custombuttons.alertSlide("Автовыделение", Avalue);
       prefs.setBoolPref("Auto.Highlight",0);
       switchHighlight(event);
       }

        // run auto Highlight
        Highlight(event);
};


// Авто выделение, включить
function switchHighlight(event){
       // toggle preference
       var s = "Auto.Highlight";
       custombuttons.setPrefs(s, !custombuttons.getPrefs(s));
       // toggle image
       ToggleImage(event);
       // run auto Highlight
        Highlight(event);
};


// Изменить иконку кнопки
var button = this;
function ToggleImage(event){
// toggle button image
if (custombuttonsUtils. getPrefs ("Auto.Highlight", true))
{
button.image="data:image/x-icon;base64,AAABAAEAEREAAAEAIADwBAAAFgAAACgAAAARAAAAIgAAAAEAIAAAAAAAyAQAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD+//4B////APX69AV9vWaPVJsR9GabDPiQrDGn6OzRG////wD+/v0B////AP///gL///0B////AP///wD///8A////AP3+/gP///8ActGnhRyqVP83q0r8PqMu/kqZDf9yoh7Wu8t8YNjan07m4bM9+ffqCf///wD///4B////AP///wD8/v8C//7/AOL5/A4d1NrUFc/G/yHEov0qt3b/NKtM/UGeHv9WlAD/eJcB/peZAP+nphzH5+bAIP///wD+/v8A/fz/A/3+/wH///8A5/b+CyG8/c4Jz/z/ENfm/RrLuf8nu4b/M61S/UGgJvtbnBH8fqAQ/IKXAP+lrjax/v76AP7+/gH///8A7fD9CNni/Bb///8Ac7/4dQCn9/8P1f38ENbh/xzIsf8ouoD/NKtL/0GeHf9enA79dJ0M/4yiGOrx8d0c/f3/AJaT7105O+TOHTjn5GuP8n7u9v4AOK/3ugW/+/8N2vX9FdDN/yDDoP8rtXD/N6c//kqdGPpcnBD/dqIZ3/L05BCVht5rLhXE/zMj0f0nKuL/EkHp7+Dm/Bq64/wyBKz4/w/W/fwP1+X/Gsq4/ya+kPwwsWH+M58o/jSSAP+exXNr////AFkwrepXMrT8SjPG9icg2v8xRunM8fX+BfL5/gcdpPbOBMH8/w/b9vwX0dH+FcKk/yS3evFZum2rpdOaUPj79gD///8BZy6R8lsqn/8/Hbb/NSfS6MPE+DDj7PwI8vP9ALHe/DQXs/nWAs/9/wDV5v9C1Mmwye/jI////wD///8B////AP7+/gG/oclQgVSpuIhuy4/OyfIheHbpgx815+4vZ+7C2uf8Fuz5/we+8P83y/f8Jvb9/QL///8A8vv4CZPUpGO837Y5////AP///wD6+f0D////AIVy1IsgEsz/Lini+Qow5/+Gq/Vq////AM/t/Ruo6/4+6/z9C////wB817lzE6dQ/zGeJfOs05lI/Pv9Bf///wDXy+knTCOu7UYvxf89KtH4Fhrh/4yb9GTB3/sjCJH07QC9+v854Pio9///AFHOsrMktnX/NKtO/0KoPsz9/P0D////AMey2ElWJaL/UzG4+k0vv/4sGs/5vLn1Mkl68aoLcvD/G6j4+QDH+v+29f8xY9zUkA/Eo/8swpH3JL6M/P38/gL///8A08DcNF8kkPlgNar9Sh2m/3texp/i4PsPKTDk7hxP7P8eefD7Apb1/47Z/E2x8vw2AMrv/wXN5/8O0Ova////AP///wH8+/wAoHe0iWkukfN+U66v8+31C9PL7iA3H8n6KSzi/yNF6/sMVe3/rc35PP///wB/zv1qM7L7u53e/j7///8A////AP///wD7+fsB6NzqD/n2+gT///8A7uf0EV80rONFKcD/LCTU/zxC47/u8P4D////Af7+/gH//f4A///+AP///wD///8A//7/AP79/gL///8A/v7/Av38/gT///8AsZHEZmAplv5gOrPQzMbwKf///wD9/f4C/f//A/7//wL9/v8CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=";
}
else
{
button.image="data:image/x-icon;base64,AAABAAEAEREAAAEAIADwBAAAFgAAACgAAAARAAAAIgAAAAEAIAAAAAAAyAQAAAAAAAAAAAAAAAAAAAAAAAD///8A/v7+AP39/QH9/f0B/f39Af39/QH///8AmJiYKQAAALEDAwPqAAAA1gAAAGm7u7sA////Afv7+wD///8A////AP39/QH9/f0D////AP///wD7+/sB////AKKiogoAAADJAAAA/wAAAP0BAQH+AAAA/wsLC3HDw8MA////Bfb29gP+/v4A////Aefn5wDT09MJ1tbWCdTU1AT///8AXFxcSwAAAPsEBAT/AAAA/gAAAPwFBQX/AAAA63Nzczvu7u4A/Pz8Avz8/AHr6+sJMjIyZgAAAL8CAgLCAAAApsbGxhhoaGhLAAAA/gUFBf8AAAD+AAAA/wAAAP0DAwP/AAAA6hMTE5eHh4cr3d3dACsrK4gAAAD/AwMD/gMDA/wAAAD/Hh4emy0tLQwAAADwAQEB/wAAAP4AAAD/AAAA/wAAAP8BAQH9AwMD/wAAAOcrKys5AwMD7gYGBv4AAAD7BAQE/QAAAP9KSkp5////ABUVFcIAAAD/AQEB/QAAAP8AAAD/AAAA/wAAAP4BAQH6BwcH/wICAr8BAQGfAAAA/wEBAf8AAADrBQUFeMbGxgX///8AGhoawQAAAP8BAQH+AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD9BgYG66+vrwc1NTVCDw8PPgAAADUREREt0tLSF+7u7gAdHR27AAAA/wICAvsBAQH9AQEB/QEBAf0BAQH8AQEB+wICAv8BAQHC////AsHBwQAICAhzAAAA6AQEBP8AAADqWlpaL25ubj8AAAD4AgIC/wAAAP4AAAD/AAAA/wAAAP4CAgL/AAAA3VtbWznHx8cABgYGbwAAAP8BAQH+AAAA+AUFBf8AAAB18PDwAIyMjDwYGBiuGRkZwxgYGJQTExNzFhYWdQUFBWRgYGAb////ALS0tBwAAADXBQUF/wAAAPgFBQX/AAAA90tLSzunp6cApqamDaurqwP///8A////AP///wD///8A////AP///wD7+/sBtLS0LQAAAOwLCwv/CQkJ+wAAAP88PDyLkJCQDAICAqYAAADdAAAAkJCQkAP///8AW1tbLUlJSXFnZ2cR////AP7+/gHNzc0HDAwMpAAAAP8AAADuJycneRMTEw8PDw/AAQEB/wsLC/8AAAD6cnJyPHR0dB4AAADiAAAA/yAgIJX///8A/v7+Av///wC7u7sPgoKCRYqKii3T09MACgoKaAAAAP8BAQH4AgIC/AAAAP8vLy9GKysreQAAAP8FBQX/BwcH3LS0tAj///8A/f39Af39/QH///8A////AOzs7AYDAwPEAAAA/wAAAPsCAgL/AAAA8mtrawlMTEygAAAA/wgICP8AAADpampqGP///wD///8A/Pz8Afn5+QT+/v4B7e3tBAQEBMEAAAD/AQEB/QAAAP8TExNv////AFJSUosAAAD/AwMD/wEBAauurq4A////Av///wD///8A/v7+AP///wLv7+8AAwMDSwAAAOADAwPZAAAAZZOTkwP///8AT09PIQAAALYAAAC3oaGhIf///wD9/f0BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=";
}
  };
// Стоп, при открытии настройки панелей(stop, if onDestroy)
// запускаем функцию
if (storage['run'] !== 'stop'){ToggleImage(event); };


// Автоматически выделить заранее введенные слова (auto Highlight words permanent)
function Highlight(event) {

// hide Highlight
gFindBar._highlightDoc(false);

// auto Highlight
if (custombuttonsUtils. getPrefs ("Auto.Highlight", true))
{
// getting prefs Unicode value
var value = prefs.getComplexValue("Auto.Highlight.value",
      Components.interfaces.nsISupportsString).data;

// Highlight
    // createMsg("value").aMsg(value);
// var wordsToSearch = [value];
var wordsToSearch = value.split(" ");
    // createMsg("word").aMsg(wordsToSearch);
while (wordsToSearch. length > 0)
{
    gFindBar. _findField. value = wordsToSearch. shift ();
    gFindBar. toggleHighlight (true);
}

}
 }; 
  
// Стоп, при открытии настройки панелей(stop, if onDestroy)
// запускаем функцию
if (storage['run'] !== 'stop') (function () {
// добавляем обработчики
gBrowser.tabContainer.addEventListener("TabSelect", Highlight, false);
document.addEventListener( "DOMContentLoaded", Highlight, false);
})();

Отсутствует

 

№393108-04-2012 17:54:22

Infocatcher
Not found
 
Группа: Extensions
Зарегистрирован: 24-05-2007
Сообщений: 4316
UA: Firefox 11.0

Re: Custom Buttons

Отсутствует

 

№393208-04-2012 18:12:00

Indomito
Участник
 
Группа: Members
Откуда: Москва-Север
Зарегистрирован: 27-08-2009
Сообщений: 426
UA: Firefox 11.0

Re: Custom Buttons

Отсутствует

 

№393308-04-2012 18:22:19

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

Re: Custom Buttons

Отредактировано bunda1 (08-04-2012 18:28:50)

Отсутствует

 

№393408-04-2012 19:08:00

Inko7
Участник
 
Группа: Members
Зарегистрирован: 09-11-2009
Сообщений: 915
UA: Firefox 11.0

Re: Custom Buttons

Отсутствует

 

№393508-04-2012 19:47:11

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

Re: Custom Buttons

Выделить код

Код:

custombuttons.alertSlide("Автовыделение", Avalue);
prefs.setBoolPref("Auto.Highlight",true);
ToggleImage(event);
Highlight(event);

Отсутствует

 

№393608-04-2012 19:47:18

Inko7
Участник
 
Группа: Members
Зарегистрирован: 09-11-2009
Сообщений: 915
UA: Firefox 11.0

Re: Custom Buttons

Отредактировано Inko7 (08-04-2012 20:07:09)

Отсутствует

 

№393708-04-2012 20:00:04

Infocatcher
Not found
 
Группа: Extensions
Зарегистрирован: 24-05-2007
Сообщений: 4316
UA: Firefox 11.0

Re: Custom Buttons

Отсутствует

 

№393808-04-2012 20:48:48

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

Re: Custom Buttons

Отсутствует

 

№393908-04-2012 21:44:53

Inko7
Участник
 
Группа: Members
Зарегистрирован: 09-11-2009
Сообщений: 915
UA: Firefox 11.0

Re: Custom Buttons

Отсутствует

 

№394008-04-2012 22:42:08

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

Re: Custom Buttons

Отсутствует

 

№394109-04-2012 07:37:52

klaus65
Участник
 
Группа: Members
Зарегистрирован: 19-02-2012
Сообщений: 50
UA: Firefox 11.0

Re: Custom Buttons

Отсутствует

 

№394209-04-2012 15:28:17

LongLogin
Участник
 
Группа: Members
Зарегистрирован: 30-01-2011
Сообщений: 2083
UA: Firefox 11.0

Re: Custom Buttons

Отсутствует

 

№394309-04-2012 15:37:19

klaus65
Участник
 
Группа: Members
Зарегистрирован: 19-02-2012
Сообщений: 50
UA: Firefox 11.0

Re: Custom Buttons

Отсутствует

 

№394409-04-2012 16:12:39

Крошка Ру
Участник
 
Группа: Extensions
Зарегистрирован: 19-10-2008
Сообщений: 8716
UA: Aurora 13.0

Re: Custom Buttons

Отредактировано Крошка Ру (09-04-2012 16:13:46)

Отсутствует

 

№394509-04-2012 16:18:59

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

Re: Custom Buttons

Отсутствует

 

№394609-04-2012 16:27:27

voqabuhe
Участник
 
Группа: Members
Зарегистрирован: 06-12-2011
Сообщений: 2640
UA: Nightly 14.0

Re: Custom Buttons

Отсутствует

 

№394709-04-2012 17:04:18

klaus65
Участник
 
Группа: Members
Зарегистрирован: 19-02-2012
Сообщений: 50
UA: Firefox 11.0

Re: Custom Buttons

Отредактировано klaus65 (09-04-2012 17:40:06)

Отсутствует

 

№394810-04-2012 01:46:11

Abricosio
Участник
 
Группа: Members
Зарегистрирован: 13-01-2011
Сообщений: 30
UA: Firefox 10.0
Веб-сайт

Re: Custom Buttons

И ещё маленький вопрос, как с помощью custom buttons сделать действие равное нажатию на кнопку "delete", ну т.е. если неудобно тянуться к клавиатуре, нажал на кнопку, она сделала del
Спасибо

Отсутствует

 

№394910-04-2012 08:20:01

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

Re: Custom Buttons

Выделить код

Код:

document.getElementById("cmd_delete").doCommand();

Отредактировано bunda1 (10-04-2012 08:20:12)

Отсутствует

 

№395010-04-2012 14:35:10

Abricosio
Участник
 
Группа: Members
Зарегистрирован: 13-01-2011
Сообщений: 30
UA: Firefox 10.0
Веб-сайт

Re: Custom Buttons

К сожалению, не работает :(

Отредактировано Abricosio (10-04-2012 14:39:06)

Отсутствует

 

Board footer

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