>Форум Mozilla Россия http://forum.mozilla-russia.org/index.php >Обсуждение расширений http://forum.mozilla-russia.org/viewforum.php?id=28 >Single Star Button http://forum.mozilla-russia.org/viewtopic.php?id=70126 |
citehala > 15-06-2016 22:39:10 |
Дополнение заменяет составную кнопку добавления закладки/открытия меню, одной звездатой кнопкой :) Нормально работает вместе с Add Bookmark Here (показывает путь закладки). Сигнализирует как и дефолтная звезда о существовании закладки. Ребятушки, нужна помощь ! Пожалуйста ! Поменяйте местами действие левой и правой кнопки ! Я пытался, но что-то не получается.. (в файле bookmarks-button-3io.js) (секретное действие: клик средней кнопкой открывает библиотеку во вкладке) |
turbot > 16-06-2016 01:13:27 |
Выделить код Код:((btn, popup) => { for (var type of ['mouseup', 'click']) { btn.addEventListener(type, e=> { if (e.button === 0 && e.target === btn) { e.preventDefault(); e.stopPropagation(); if(e.type == 'click') popup.openPopup(btn, 'after_start'); } if (e.button === 2 && e.target === btn) { e.preventDefault(); e.stopPropagation(); e.stopImmediatePropagation(); if (e.type == 'click') BookmarkingUI.onCommand(event); } },true) } })(document.getElementById('bookmarks-menu-button'), document.getElementById('BMB_bookmarksPopup')); В инициализацию новой/существующей Custom Buttons кнопки. Как добавить кнопку(помощь для новичка) |
citehala > 16-06-2016 03:10:51 |
Вот это да ! Класс ! |
turbot > 16-06-2016 03:33:07 |
Поправил. |
citehala > 16-06-2016 09:09:01 |
Хинт: Неподшитые закладки в меню закладок можно скрыть посредством Menu Wizard. |
Vitaliy V. > 16-06-2016 22:02:03 |
Зачем вообще это расширение Single Star Button + СВ, может лучше стилем: скрытый текст Выделить код Код:@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); /*AGENT_SHEET*/ @-moz-document url("chrome://browser/content/browser.xul") { #bookmarks-menu-button[cui-areatype="toolbar"] { -moz-binding: url("data:text/xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIj8+CjxiaW5kaW5ncwogICAgICAgICAgeG1sbnM9Imh0dHA6Ly93d3cubW96aWxsYS5vcmcveGJsIgogICAgICAgICAgeG1sbnM6eGJsPSJodHRwOi8vd3d3Lm1vemlsbGEub3JnL3hibCIKICAgICAgICAgIHhtbG5zOmh0bWw9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiCiAgICAgICAgICB4bWxuczp4dWw9Imh0dHA6Ly93d3cubW96aWxsYS5vcmcva2V5bWFzdGVyL2dhdGVrZWVwZXIvdGhlcmUuaXMub25seS54dWwiPgogIDxiaW5kaW5nIGlkPSJtZW51LWJ1dHRvbiIgZXh0ZW5kcz0iY2hyb21lOi8vZ2xvYmFsL2NvbnRlbnQvYmluZGluZ3MvdG9vbGJhcmJ1dHRvbi54bWwjbWVudS1idXR0b24iPgogICAgPGhhbmRsZXJzPgogICAgICA8aGFuZGxlciBldmVudD0iY2xpY2siPjwhW0NEQVRBWwogICAgICAgIGlmIChldmVudC50YXJnZXQgPT0gdGhpcykgewoJCSAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwoJCSAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTsKCQkJaWYgKGV2ZW50LmJ1dHRvbiA9PSAxKSB7CgkJCSAgICB2YXIgYnJvd3NlciA9IHdpbmRvdy5nZXRCcm93c2VyKCk7CgkJCQlicm93c2VyLnNlbGVjdGVkVGFiID0gYnJvd3Nlci5hZGRUYWIoImNocm9tZTovL2Jyb3dzZXIvY29udGVudC9wbGFjZXMvcGxhY2VzLnh1bCIpOwoJCQl9CgkJCWlmIChldmVudC5idXR0b24gPT0gMikgQm9va21hcmtpbmdVSS5vbkNvbW1hbmQoZXZlbnQpOwoJCX0KICAgICAgXV0+PC9oYW5kbGVyPgogICAgICA8aGFuZGxlciBldmVudD0iY29udGV4dG1lbnUiPjwhW0NEQVRBWwogICAgICAgIGlmIChldmVudC50YXJnZXQgPT0gdGhpcykgewoJCSAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwoJCSAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTsKCQl9CiAgICAgIF1dPjwvaGFuZGxlcj4KICAgICAgPGhhbmRsZXIgZXZlbnQ9Im1vdXNlZG93biI+PCFbQ0RBVEFbCiAgICAgICAgaWYgKGV2ZW50LnRhcmdldCA9PSB0aGlzKSB7CgkJICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7CgkJICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOwoJCQlpZiAoZXZlbnQuYnV0dG9uID09IDApIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJCTUJfYm9va21hcmtzUG9wdXAiKS5zaG93UG9wdXAoKTsKCQl9CiAgICAgIF1dPjwvaGFuZGxlcj4KICAgIDwvaGFuZGxlcnM+CiAgPC9iaW5kaW5nPgo8L2JpbmRpbmdzPgo=#menu-button") !important; } #bookmarks-menu-button[cui-areatype="menu-panel"] { -moz-binding: url("data:text/xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIj8+CjxiaW5kaW5ncwogICAgICAgICAgeG1sbnM9Imh0dHA6Ly93d3cubW96aWxsYS5vcmcveGJsIgogICAgICAgICAgeG1sbnM6eGJsPSJodHRwOi8vd3d3Lm1vemlsbGEub3JnL3hibCIKICAgICAgICAgIHhtbG5zOmh0bWw9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiCiAgICAgICAgICB4bWxuczp4dWw9Imh0dHA6Ly93d3cubW96aWxsYS5vcmcva2V5bWFzdGVyL2dhdGVrZWVwZXIvdGhlcmUuaXMub25seS54dWwiPgogIDxiaW5kaW5nIGlkPSJtZW51IiBleHRlbmRzPSJjaHJvbWU6Ly9nbG9iYWwvY29udGVudC9iaW5kaW5ncy90b29sYmFyYnV0dG9uLnhtbCNtZW51LWJ1dHRvbiI+CiAgICA8aGFuZGxlcnM+CiAgICAgIDxoYW5kbGVyIGV2ZW50PSJjbGljayIgYnV0dG9uPSIxIj48IVtDREFUQVsKICAgICAgICBpZiAoZXZlbnQudGFyZ2V0ID09IHRoaXMpIHsKCQkgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsKCQkgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7CgkJCXZhciBicm93c2VyID0gd2luZG93LmdldEJyb3dzZXIoKTsKCQkJYnJvd3Nlci5zZWxlY3RlZFRhYiA9IGJyb3dzZXIuYWRkVGFiKCJjaHJvbWU6Ly9icm93c2VyL2NvbnRlbnQvcGxhY2VzL3BsYWNlcy54dWwiKTsKCQl9CiAgICAgIF1dPjwvaGFuZGxlcj4KICAgIDwvaGFuZGxlcnM+CiAgPC9iaW5kaW5nPgo8L2JpbmRpbmdzPgo=#menu") !important; } #bookmarked-notification-anchor[notification="finish"] > #bookmarked-notification { animation: none !important; display: none !important; } #nav-bar #bookmarks-menu-button.toolbarbutton-1 > .toolbarbutton-menubutton-button > .toolbarbutton-icon { border-style: solid !important; border-width: 1px !important; border-radius: 1px !important; max-width: 32px !important; /* horizontal padding + border + actual icon width */ padding-left: 6px !important; padding-right: 6px !important; } #nav-bar #bookmarks-menu-button > .toolbarbutton-menubutton-button { -moz-padding-end: 2px !important; } #bookmarks-menu-button > .toolbarbutton-menubutton-button > .toolbarbutton-icon { opacity: 1 !important; } #bookmarks-menu-button .toolbarbutton-menubutton-button::after, #bookmarks-menu-button .toolbarbutton-menubutton-dropmarker { display: none !important; } } |
citehala > 17-06-2016 01:15:24 |
Vitaliy V. пишет
Абсолютно согласен ! Но turbot всё-таки показал класс ! |
Letterman > 23-01-2017 14:27:21 |
Отвечу сам себе: если в Add Bookmark Here в настройках звездочки добавления в закладки выставить дефолтное поведение кнопок. для Vitaliy V. для turbot
После создания кнопки в CB и добавления расширения Single Star Button для объединения составной кнопки в одну звездочку, новая звездочка работает как надо. Но при условии, что кнопка, созданная в CB, будет присутствовать на панели, причем она всегда остается не активной. Можно сделать эту кнопку активной, чтобы она полностью заменила звездочку? |
Vitaliy V. > 23-01-2017 17:20:50 |
Letterman пишет
Это PlacesCommandHook.showPlacesOrganizer('BookmarksMenu'); скрытый текст Выделить код Код:@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); /*AGENT_SHEET*/ @-moz-document url("chrome://browser/content/browser.xul") { #bookmarks-menu-button[cui-areatype="toolbar"] { -moz-binding: url("data:text/xml;utf8,<bindings xmlns='http://www.mozilla.org/xbl' xmlns:xbl='http://www.mozilla.org/xbl' xmlns:html='http://www.w3.org/1999/xhtml' xmlns:xul='http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul'><binding id='menu-button' extends='chrome://global/content/bindings/toolbarbutton.xml%23menu-button'><handlers><handler event='click'><![CDATA[ if (event.target == this) { event.preventDefault(); event.stopPropagation(); if (event.button == 1) PlacesCommandHook.showPlacesOrganizer('BookmarksMenu'); else if (event.button == 2) BookmarkingUI.onCommand(event); } ]]></handler><handler event='contextmenu'><![CDATA[ if (event.target == this) { event.preventDefault(); event.stopPropagation(); } ]]></handler><handler event='mousedown' button='0'><![CDATA[ if (event.target == this) { event.preventDefault(); event.stopPropagation(); document.getElementById('BMB_bookmarksPopup').showPopup(); } ]]></handler></handlers></binding></bindings>#menu-button") !important; } #bookmarks-menu-button[cui-areatype="menu-panel"] { -moz-binding: url("data:text/xml;utf8,<bindings xmlns='http://www.mozilla.org/xbl' xmlns:xbl='http://www.mozilla.org/xbl' xmlns:html='http://www.w3.org/1999/xhtml' xmlns:xul='http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul'><binding id='menu' extends='chrome://global/content/bindings/toolbarbutton.xml%23menu-button'><handlers><handler event='click' button='1'><![CDATA[ if (event.target == this) { event.preventDefault(); event.stopPropagation(); PlacesCommandHook.showPlacesOrganizer('BookmarksMenu'); } ]]></handler></handlers></binding></bindings>#menu") !important; } #bookmarked-notification-anchor[notification="finish"] > #bookmarked-notification { animation: none !important; display: none !important; } #nav-bar #bookmarks-menu-button.toolbarbutton-1 > .toolbarbutton-menubutton-button > .toolbarbutton-icon { border-style: solid !important; border-width: 1px !important; border-radius: 1px !important; max-width: 32px !important; /* horizontal padding + border + actual icon width */ padding-left: 6px !important; padding-right: 6px !important; } #nav-bar #bookmarks-menu-button > .toolbarbutton-menubutton-button { -moz-padding-end: 2px !important; } #bookmarks-menu-button > .toolbarbutton-menubutton-button > .toolbarbutton-icon { opacity: 1 !important; } #bookmarks-menu-button .toolbarbutton-menubutton-button::after, #bookmarks-menu-button .toolbarbutton-menubutton-dropmarker { display: none !important; } } Или замените на PlacesCommandHook.showPlacesOrganizer('UnfiledBookmarks'); PlacesCommandHook.showPlacesOrganizer('BookmarksToolbar'); Загрузки PlacesCommandHook.showPlacesOrganizer("Downloads"); |
Letterman > 23-01-2017 18:08:24 |
Великолепно, как раз то что нужно! Спасибо за код. |
Letterman > 28-01-2017 12:06:42 |
Последняя версия кода для сдвоенной кнопки, не требуется установка дополнения Single Star Button, может использоваться с дополнением Add Bookmark Here и без него. Функционал: ЛКМ - показать ваши закладки, при активации пункта "Показать все закладки" открывается менеджер закладок (меню закладок) во вкладке Настройки в дополнении Add Bookmark Here: Звездочка добавления в закладки - для всех клавиш поведение по умолчанию. При ПКМ - добавить закладку - диалога не будет, только при удалении закладки. Спасибо Vitaliy V. за разработку данного кода. скрытый текст Выделить код Код:@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); /*AGENT_SHEET*/ @-moz-document url("chrome://browser/content/browser.xul") { #bookmarks-menu-button[cui-areatype="toolbar"] { -moz-binding: url("data:text/xml;utf8,<bindings xmlns='http://www.mozilla.org/xbl' xmlns:xbl='http://www.mozilla.org/xbl' xmlns:html='http://www.w3.org/1999/xhtml' xmlns:xul='http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul'><binding id='menu-button' extends='chrome://global/content/bindings/toolbarbutton.xml%23menu-button'><handlers><handler event='click'><![CDATA[ if (event.target == this) { event.preventDefault(); event.stopPropagation(); if (event.button == 1) { if (event.shiftKey) { PlacesCommandHook.showPlacesOrganizer('BookmarksMenu'); } else { var pages = window.gBrowser.getBrowserForTab(window.gBrowser.selectedTab = window.gBrowser.addTab('chrome://browser/content/places/places.xul')); pages.addEventListener('pageshow', function show(event) { pages.removeEventListener('pageshow', show, false); event.target.defaultView.PlacesOrganizer.location = 'place:folder=BOOKMARKS_MENU&excludeItems=1&expandQueries=0'; }, false); }} else if (event.button == 2) BookmarkingUI.onCommand(event); } ]]></handler><handler event='contextmenu'><![CDATA[ if (event.target == this) { event.preventDefault(); event.stopPropagation(); } ]]></handler><handler event='mousedown' button='0'><![CDATA[ if (event.target == this) { event.preventDefault(); event.stopPropagation(); document.getElementById('BMB_bookmarksPopup').showPopup(); } ]]></handler></handlers></binding></bindings>#menu-button") !important; } #bookmarks-menu-button[cui-areatype="menu-panel"] { -moz-binding: url("data:text/xml;utf8,<bindings xmlns='http://www.mozilla.org/xbl' xmlns:xbl='http://www.mozilla.org/xbl' xmlns:html='http://www.w3.org/1999/xhtml' xmlns:xul='http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul'><binding id='menu' extends='chrome://global/content/bindings/toolbarbutton.xml%23menu-button'><handlers><handler event='click' button='1'><![CDATA[ if (event.target == this) { event.preventDefault(); event.stopPropagation(); if (event.shiftKey) { PlacesCommandHook.showPlacesOrganizer('BookmarksMenu'); } else { var pages = window.gBrowser.getBrowserForTab(window.gBrowser.selectedTab = window.gBrowser.addTab('chrome://browser/content/places/places.xul')); pages.addEventListener('pageshow', function show(event) { pages.removeEventListener('pageshow', show, false); event.target.defaultView.PlacesOrganizer.location = 'place:folder=BOOKMARKS_MENU&excludeItems=1&expandQueries=0'; }, false); }} ]]></handler></handlers></binding></bindings>#menu") !important; } #bookmarked-notification-anchor[notification="finish"] > #bookmarked-notification { animation: none !important; display: none !important; } #nav-bar #bookmarks-menu-button.toolbarbutton-1 > .toolbarbutton-menubutton-button > .toolbarbutton-icon { border-style: solid !important; border-width: 1px !important; border-radius: 1px !important; max-width: 32px !important; /* horizontal padding + border + actual icon width */ padding-left: 6px !important; padding-right: 6px !important; } #nav-bar #bookmarks-menu-button > .toolbarbutton-menubutton-button { -moz-padding-end: 2px !important; } #bookmarks-menu-button > .toolbarbutton-menubutton-button > .toolbarbutton-icon { opacity: 1 !important; } #bookmarks-menu-button .toolbarbutton-menubutton-button::after, #bookmarks-menu-button .toolbarbutton-menubutton-dropmarker { display: none !important; } #BMB_bookmarksShowAll { -moz-binding: url("data:text/xml;utf8,<bindings xmlns='http://www.mozilla.org/xbl' xmlns:xul='http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul' xmlns:xbl='http://www.mozilla.org/xbl'><binding id='menu' extends='chrome://global/content/bindings/menu.xml%23menuitem'><implementation><constructor><![CDATA[ this.removeAttribute(%22command%22); this.setAttribute(%22oncommand%22, %22var pages = window.gBrowser.getBrowserForTab(window.gBrowser.selectedTab = window.gBrowser.addTab('chrome://browser/content/places/places.xul')); pages.addEventListener('pageshow', function show(event) { pages.removeEventListener('pageshow', show, false); event.target.defaultView.PlacesOrganizer.location = 'place:folder=BOOKMARKS_MENU&excludeItems=1&expandQueries=0'; }, false);%22); ]]></constructor></implementation></binding></bindings>#menu") !important; } } |