Есть большое количество папок (с многократным вложением). Каким образом можно организовать поиск по ним? Есть ли быстрый фильтр по папкам?
Отсутствует
К сожалению не оно: мне нужен именно поиск папок, а не сообщений (писем).
Отсутствует
Тут главное -- в каком виде вы бы хотели получать результаты этого поиска. Более или менее удобные способы, приходящие в голову, сложны в реализации.
Могу предложить код для кастомной кнопки, по нажатию на которую предлагается ввести часть имени папки, а затем в новой вкладке откроется первая попавшаяся такая папка.
function find(folderName) { let allFolders = Components.classes["@mozilla.org/messenger/account-manager;1"] .getService(Components.interfaces.nsIMsgAccountManager).allFolders; for (let i = 0; i < allFolders.length; i++) { let folder = allFolders.queryElementAt(i, Components.interfaces.nsIMsgFolder); if (folder.prettyName.search(folderName) != -1) {return folder;} } } document.getElementById('tabmail').openTab( 'folder', { folder: find(prompt('Имя папки','Папка')), background: true } );
Отредактировано luitzen (19-06-2012 00:27:25)
Отсутствует
Огромное спасибо! Работает! Попытаюсь настроить поиск по неточному соответствию (вхождению), а то при текущем поиске необходимо вводить полное имя папки соблюдая регистр и ещё в таком случае можно попробовать в цикле поиска открывать все найденные папки.
Отсутствует
function FindAndOpenAll(folderName){ let allFolders = Components.classes["@mozilla.org/messenger/account-manager;1"] .getService(Components.interfaces.nsIMsgAccountManager).allFolders; for (let i = 0; i < allFolders.length; i++){ let folder = allFolders.queryElementAt(i, Components.interfaces.nsIMsgFolder); fldr=folder.prettyName.toLowerCase(); if (fldr.search(folderName) != -1){ document.getElementById('tabmail').openTab( 'folder', { folder: folder, background: true }); } } } FindAndOpenAll(prompt('Имя папки','Папка').toLowerCase());
Отсутствует
Подскажите, пожалуйста, где можно найти описание (структуру) всех свойств и методов используемых в Thunderbird?
Имеются ввиду: queryElementAt, prettyName, getElementById и прочее.
Отсутствует