Feature #503
closedДиалог открытия ссылок
100%
Description
В диалог открытия ссылок необходимо добавить пункт "Открыть во внешней программе".
Например, у меня включен плагин "Пошуку", но я хочу открыть ссылку в "огнелисе", но такой возможности не имею. Только через "копи-пасту", что напрягает.
А если уж совсем по-человечески делать, то кроме пункта radiobutton в той же строке должен быть выпадающий список с возможностью выбора программы, в которой открывать. Список вида:
0) "Стандартная программа"
1) "Выбрать программу"
2...N) <список ранее выбранных программ для этого mime-типа>
При выборе пункта 1) открывается стандартный диалог выбора файла. Если была выбрана программа, добавить ее в список.
N может быть любым. Например, 5 или 10. Настраивать его не нужно. Просто задать в коде. При очередном выборе программы, если N записей уже есть, удалять наиболее старую.
Updated by Tehnick about 13 years ago
А еще в таких диалогах обычно есть галочка "Запомнить мой выбор" (или "Больше не спрашивать")...
Updated by Tehnick about 13 years ago
Хорошо, я переформулирую свой запрос, чтобы ускорить реализацию.
Сейчас в контекстном меню на ссылке есть такие пункты:- Открыть
- Сохранить...
- Копировать адрес ссылки
...
- Открыть в...
Наиболее оптимальным его положением будет вторая позиция в меню.
При выборе этого пункта открывать существующий диалог выбора действия.
Этот диалог "обработчика объекта" необходимо доработать:
1) Добавить пункт "Открыть во внешней программе" как описано выше.
2) Добавить галочку "Запомнить мой выбор" как описано выше. (Дополнение: галочку эту удобно расположить на одной строке с кнопками диалога ОК/Отмена).
Если при нажатии OK стояла галочка запоминания, связать выбранную программу с данным типом ссылок, и затем открывать сразу в ней при левом клике мышкой и из первого пункта меню.
Из настроек Азота: Параметры--->Поведение убрать бесполезную опцию "Автоматически принимать задание при данном обработчике".
Вроде разумно.
Updated by 0xd34df00d about 13 years ago
- Category set to Core
- Status changed from New to Assigned
- Priority changed from High to Normal
- Target version changed from 0.4.95 to 0.5.60
Это надо чуть допилить механизм работы с сущностями в LC, и я даже представляю, как. Но так как это требует изменения такого ключевого механизма, то откладываем на время после 0.5.
Updated by 0xd34df00d about 13 years ago
А все же весьма проблематично это реализовать.
Во-первых, как я уже где-то упоминал, такой запрос сломает автооткрытие ссылок из кучи мест, и окно выбора обработчика просто задолбает.
Во-вторых, связывать тип ссылки проблематично, потому что на этапе получения ссылки он еще неизвестен. Как максимум — по схеме.
Ну и, в любом случае, ИМХО лучше просто добавить возможность открывать внешней программой QDesktopServices::openUrl
, а там пусть как у юзера сконфигурировано. Все остальные программы ж делают так.
Updated by Tehnick about 13 years ago
Начну с того, что ты неправ. Приличные браузеры (огнелис, опера) и даже говно-IE умеют определять тип содержимого перед началом загрузки. Хромиум вот дает ссылку на отмашку системе, но он вообще хромой по определению...
Можно для свой велосипед не писать, а использовать libcurl.
Вот пример выхлопа самого curl:
$ curl -I 'http://geolite.maxmind.com/download/geoip/database/GeoIPCountryCSV.zip' 2>&1
HTTP/1.1 200 OK
Date: Tue, 06 Dec 2011 20:50:46 GMT
Server: Apache
Last-Modified: Wed, 02 Nov 2011 03:36:58 GMT
ETag: "186025-2275bf-4b0b82f20ea80"
Accept-Ranges: bytes
Content-Length: 2258367
X-Req-Start: t=1323204646037277
X-Req-Proc: D=144
Content-Type: application/zip
Но это просто заметки...
После того как ты по моей просьбе добавил отдельный пункт меню с открытием через QDesktopServices::openUrl(), азот стал для меня полностью юзабельным и задача потеряла актуальность.
Updated by 0xd34df00d almost 13 years ago
- Status changed from Assigned to Rejected
- % Done changed from 0 to 100
Ну и ладно :(