Project

General

Profile

Actions

Feature #503

closed

Диалог открытия ссылок

Added by Tehnick about 13 years ago. Updated almost 13 years ago.

Status:
Rejected
Priority:
Normal
Assignee:
Category:
Core
Target version:
Start date:
11/19/2011
Due date:
% Done:

100%

Estimated time:

Description

В диалог открытия ссылок необходимо добавить пункт "Открыть во внешней программе".

Например, у меня включен плагин "Пошуку", но я хочу открыть ссылку в "огнелисе", но такой возможности не имею. Только через "копи-пасту", что напрягает.

А если уж совсем по-человечески делать, то кроме пункта radiobutton в той же строке должен быть выпадающий список с возможностью выбора программы, в которой открывать. Список вида:
0) "Стандартная программа"
1) "Выбрать программу"
2...N) <список ранее выбранных программ для этого mime-типа>

При выборе пункта 1) открывается стандартный диалог выбора файла. Если была выбрана программа, добавить ее в список.

N может быть любым. Например, 5 или 10. Настраивать его не нужно. Просто задать в коде. При очередном выборе программы, если N записей уже есть, удалять наиболее старую.

Actions #1

Updated by Tehnick about 13 years ago

А еще в таких диалогах обычно есть галочка "Запомнить мой выбор" (или "Больше не спрашивать")...

Actions #2

Updated by Tehnick about 13 years ago

Хорошо, я переформулирую свой запрос, чтобы ускорить реализацию.

Сейчас в контекстном меню на ссылке есть такие пункты:
  • Открыть
  • Сохранить...
  • Копировать адрес ссылки
    ...
Необходимо добавить пункт:
  • Открыть в...

Наиболее оптимальным его положением будет вторая позиция в меню.

При выборе этого пункта открывать существующий диалог выбора действия.

Этот диалог "обработчика объекта" необходимо доработать:
1) Добавить пункт "Открыть во внешней программе" как описано выше.
2) Добавить галочку "Запомнить мой выбор" как описано выше. (Дополнение: галочку эту удобно расположить на одной строке с кнопками диалога ОК/Отмена).

Если при нажатии OK стояла галочка запоминания, связать выбранную программу с данным типом ссылок, и затем открывать сразу в ней при левом клике мышкой и из первого пункта меню.

Из настроек Азота: Параметры--->Поведение убрать бесполезную опцию "Автоматически принимать задание при данном обработчике".

Вроде разумно.

Actions #3

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.

Actions #4

Updated by 0xd34df00d about 13 years ago

А все же весьма проблематично это реализовать.
Во-первых, как я уже где-то упоминал, такой запрос сломает автооткрытие ссылок из кучи мест, и окно выбора обработчика просто задолбает.
Во-вторых, связывать тип ссылки проблематично, потому что на этапе получения ссылки он еще неизвестен. Как максимум — по схеме.

Ну и, в любом случае, ИМХО лучше просто добавить возможность открывать внешней программой QDesktopServices::openUrl, а там пусть как у юзера сконфигурировано. Все остальные программы ж делают так.

Actions #5

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(), азот стал для меня полностью юзабельным и задача потеряла актуальность.

Actions #6

Updated by 0xd34df00d almost 13 years ago

Ну так что, закрываем?

Actions #7

Updated by 0xd34df00d almost 13 years ago

  • Status changed from Assigned to Rejected
  • % Done changed from 0 to 100

Ну и ладно :(

Actions

Also available in: Atom PDF