Blind
Full Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Цитата: Blind > Можно ли заставить DownloadHelper сохранять в папку, соответствующую browser.download.lastDir? А почему может быть нельзя? Спасибо за хорошую идею. Себе для Пентадактиля сделал так (вместо lastDir рабочая директория, да): com quickdownload -js <<_EOF prefs.set('dwhelper.storagedirectory', io.cwd.path); DWHelper.core.downloadCommand(1); _EOF nmap <leader>q -ex quickdownload Через что удобнее замапить вам — не знаю. Но если что-то непонятно — спрашивайте. | Честно говоря - вообще непонятно. Я вот гляжу, в %папке_расширения%\local\modules\ лежит файлик download-manager.jsm с функциями getDownloadDirectory и setDownloadDirectory. Если это то, что нужно, то можно было бы модифицировать getDownloadDirectory, чтобы она возвращала значение browser.download.lastDir. В начале функции такая строка: Код: var fileName=Util.getUnicharPref(this.pref,"storagedirectory",null); | Насколько понимаю, storagedirectory - это как раз папка для сохранения DwHelper'а. Стало быть, нужно заменить её. Вот только как это правильно сделать? И используется ли этот файл при работе расширения? P.S. На первый взгляд, догадка подтвердилась. Заменил исходную строку на Код: var fileName = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch).getCharPref("browser.download.lastDir"); | Кажется, работает. P.P.S. Наверное, более правильным был бы вариант Код: var fileName = Util.getUnicharPref( Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch), "browser.download.lastDir", Util.getUnicharPref(this.pref,"storagedirectory",null) ); | Кстати, обнаружил глюк (не связан с заменой строк). Если открыть некое видео с русскоязычным названием и попробовать загрузить, в диалоге сохранения будет полное имя файла. Если затем перезапустить ФФ и снова попробовать сохранить, то в диалоге будет только расширение. С англоязычными названиями такого не наблюдается. Сюда, наверное, не по адресу об этом сообщать, но регистрироваться на соотв. форуме не хочется. | Всего записей: 592 | Зарегистр. 06-10-2003 | Отправлено: 08:42 27-05-2013 | Исправлено: Blind, 12:12 27-05-2013 |
|