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

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

№119-12-2009 13:15:53

questor
Участник
 
Группа: Extensions
Откуда: Москва
Зарегистрирован: 07-12-2004
Сообщений: 101
UA: Firefox 3.5

Работа со вкладками в Thunderbird 3

Установил себе  свежевыпущенный Thunderbird 3, полюбовался вкладками и пошёл искать расширение аналогичное расширению Павла Власова Close Tab by Double Click для Firefox. И не нашёл.
Удивился сильно (вроде не самая сложная вещь), пожал плечами и пошёл писать своё.

Не так-то и всё просто, как казалось.

Добавлено 19-12-2009 13:20:34
Посмотрел tabmail.xml и пару расширений, которые работают с вкладками в TB (скажем, Fast Close Tabs или New Tab King) и написал самый простой вариант:

Выделить код

Код:

<?xml version="1.0"?>
  <overlay id="CloseTabByDoubleClick-overlay"
    xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
  
  <script type="application/x-javascript">
    <![CDATA[
        var closeTabByDoubleClick = {
            init : function() {
                let tabmail = document.getElementById('tabmail');
                tabmail.addEventListener('dblclick', closeTabByDoubleClick.clicked, false);
            },
            clicked : function() {
                let tabmail = document.getElementById('tabmail');
                tabmail.removeCurrentTab();
            }
        }
        window.addEventListener('load', closeTabByDoubleClick.init, false);
    ]]>
  </script>
  

</overlay>

В этом варианте плохо то, что обработчик навешивается на слишком большой объект - tabmail. Щелкаешь дважды по письму - оно открывается и тут же закрывается. Если же аккуратно открыть письмо (правый клик в списке, затем выбрать в попапе "открыть в другой вкладке"), то письмо открывается и его можно закрыть двойным щелчком по любому месту панели (самому табу, по свободному месту).

Сижу вот, перечитываю tabmail.xml и пытаюсь понять - то ли ковырять в сторону удаления события после обработки двойного клика в "ненужных" местах, толи куда-то перевешивать обработчик (в цикле для всех вкладок добавлять обработчики двойного клика?) в другое место.

Есть какие-либо идеи?

Добавлено 19-12-2009 13:38:40
Плюс, оказывается, кликать по пустому месту на панели - не самый лучший вариант, гораздо лучше реализовывать двойной клик только по самой вкладке. Дело в том, что tabmail.removeCurrentTab в случае фокуса на вкладке со списком ящиков не закрывает её.

Отредактировано questor (19-12-2009 13:30:19)

Отсутствует

 

№219-12-2009 19:00:57

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

Re: Работа со вкладками в Thunderbird 3

questor
Как-то так, наверное:

Выделить код

Код:

isTab: function(node) {
    for(; node; node = node.parentNode)
        if(node.localName == "tab")
            return true;
    return false;
},
clicked : function(event) {
    if(!closeTabByDoubleClick.isTab(event.originalTarget)) // В данном случае this не указывает на closeTabByDoubleClick
        return;
    let tabmail = document.getElementById('tabmail');
    tabmail.removeCurrentTab();
}

Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела

Отсутствует

 

№319-12-2009 19:06:31

questor
Участник
 
Группа: Extensions
Откуда: Москва
Зарегистрирован: 07-12-2004
Сообщений: 101
UA: Firefox 3.5

Re: Работа со вкладками в Thunderbird 3

О, какое простое и изящное решение! Спасибо.

Добавлено 19-12-2009 19:12:22
Собралось без проблем. Если кому-то надо - выложил себе на сайт.

PS Опубликовал на AMO.

Отредактировано questor (19-12-2009 20:16:48)

Отсутствует

 

№419-12-2009 19:46:25

Rosenfeld
Linux registered user # 526899
 
Группа: Members
Откуда: ‎
Зарегистрирован: 21-10-2005
Сообщений: 4642
UA: Firefox 3.5
Веб-сайт

Re: Работа со вкладками в Thunderbird 3

О, какое большое спасибо, как не хватало!

Так выложите его на АМО - люди только обрадуются!

И за ссылочку на Close Tab by Double Click - тоже моя благодарность. Скорее всего, потестирую и включу в свою сборку. До этого у меня с целью исполнения ТОЛЬКО этой функции стояло TabclickingOptions, но оно давно уже не обновлялось, а в TabMixLite CE слишком много ненужного пользователям функционала.


Project Rosenfox:  Pure, fast and secure inner settings for Mozilla Firefox. Global and complete manual on GitHub.

Отсутствует

 

№519-12-2009 20:14:53

questor
Участник
 
Группа: Extensions
Откуда: Москва
Зарегистрирован: 07-12-2004
Сообщений: 101
UA: Firefox 3.5

Re: Работа со вкладками в Thunderbird 3

Выложил на AMO: https://addons.mozilla.org/ru/thunderbird/addon/55539

Отсутствует

 

№619-12-2009 20:31:41

Rosenfeld
Linux registered user # 526899
 
Группа: Members
Откуда: ‎
Зарегистрирован: 21-10-2005
Сообщений: 4642
UA: Firefox 3.5
Веб-сайт

Re: Работа со вкладками в Thunderbird 3

+1

Хорошо, что сделали его пока что экспериментальным: может выявится конфликт с другими дополнениями или утечка памяти. Пусть себе потестируется.


Project Rosenfox:  Pure, fast and secure inner settings for Mozilla Firefox. Global and complete manual on GitHub.

Отсутствует

 

Board footer

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