Russian Qt Forum

Qt => Общие вопросы => Тема начата: tician от Июнь 16, 2009, 09:22



Название: Как ассоцируются тип файла и приложение которым нужно его открывать QT 3.3.8
Отправлено: tician от Июнь 16, 2009, 09:22
Возможно ли при помощи QT узнать какое приложение ассоцированно(для открытия) с каким типом файлом?


Название: Re: Как ассоцируются тип файла и приложение которым нужно его открывать QT 3.3.8
Отправлено: crossly от Июнь 16, 2009, 11:27
 на разных системах по разному.... qt это определить не может...


Название: Re: Как ассоцируются тип файла и приложение которым нужно его открывать QT 3.3.8
Отправлено: spectre71 от Июнь 16, 2009, 11:40
Для Windows есть способ - через рестр(правда не так просто)
С Linux - беда!

А для MAC есть способ?


Название: Re: Как ассоцируются тип файла и приложение которым нужно его открывать QT 3.3.8
Отправлено: Авварон от Июнь 16, 2009, 15:01
в маке надо man open сделать. Сейчас нет под рукой ноута, точно сказать не могу. Можно погуглить как раз man open. open - командочка, которая как раз с консоли запускает файл\папку иходя из ассоциаций установленных.


Название: Re: Как ассоцируются тип файла и приложение которым нужно его открывать QT 3.3.8
Отправлено: spectre71 от Июнь 16, 2009, 16:12
в маке надо man open сделать. Сейчас нет под рукой ноута, точно сказать не могу. Можно погуглить как раз man open. open - командочка, которая как раз с консоли запускает файл\папку иходя из ассоциаций установленных.
Запуск это не то. Необходимо получение некоторой ассоциации.
Например у меня в приложении под виндой я ищу в реестре(весьма не тривиально) какая программа будет запускаться(из проводника) если файл имеет расширение "txt", а потом запускаю ее когда необходимо с нужными мне файлами, которые могут иметь совсем другое расширение(но я знаю что ини тектовые).
По идее задача получить пути и коммандные строки(для запуска) программ ассоциированных с некоторим MIME типом.


Название: Re: Как ассоцируются тип файла и приложение которым нужно его открывать QT 3.3.8
Отправлено: BRE от Июнь 16, 2009, 16:43
А если это доверить оконным средам.
Т.е. для открытия файла использовать QDesktopServices::openUrl, если ассоциация есть, откроется соответствующая программа, если нет, то среда сама спросит с чем связать данные тип файла и запомнит это.

Как вариант...  :)


Название: Re: Как ассоцируются тип файла и приложение которым нужно его открывать QT 3.3.8
Отправлено: Пантер от Июнь 16, 2009, 16:51
Я так понял, что автору нужно именно не ассоциировать, а запускать.
Как пример:
1. Есть у меня прога, которая открывает файлы bla, этот тип файлов за прогой зарегистрирован.
2. Есть у меня файл blo, который имеет тот же самый формат, но я не хочу его ассоциировать, а хочу прямо запускать прогу ассоциированную с bla и передавать ей как параметр файл blo.
В данном случае решение только через платформозависимые средства.


Название: Re: Как ассоцируются тип файла и приложение которым нужно его открывать QT 3.3.8
Отправлено: spectre71 от Июнь 16, 2009, 17:20
А если это доверить оконным средам.
Т.е. для открытия файла использовать QDesktopServices::openUrl, если ассоциация есть, откроется соответствующая программа, если нет, то среда сама спросит с чем связать данные тип файла и запомнит это.

Как вариант...  :)
Я запускаю в своей проге задачи с параметрами заданными пользователем, в том числе и имена файлов.
Пользователь вбил для результата имя файла "result.txt" или "result" или "bla-bla.polnaya_fignya".
А потом просит мою прогу открыть файл в тектовом редакторе.


Название: Re: Как ассоцируются тип файла и приложение которым нужно его открывать QT 3.3.8
Отправлено: spectre71 от Июнь 16, 2009, 17:23
Я так понял, что автору нужно именно не ассоциировать, а запускать.

Все правильно не ассоциировать, а находить что ассоциировано с MIME типом и запускать


Название: Re: Как ассоцируются тип файла и приложение которым нужно его открывать QT 3.3.8
Отправлено: Пантер от Июнь 16, 2009, 17:37
А если предложить пользователю в настройках выбрать программу? Ты, походу, хочешь сделать подобие утилитки для TotalCommander под названием OpenFileTC, там как раз так и сделано: сначала добавляешь в список программки, а потом при запуске проги выдаешь список прог и при выборе какой-либо из них увеличиваешь ее счетчик, чтобы в следующий раз она была выше других.


Название: Re: Как ассоцируются тип файла и приложение которым нужно его открывать QT 3.3.8
Отправлено: Rcus от Июнь 16, 2009, 17:55
У freedesktop.org есть спецификация на этот случай (http://standards.freedesktop.org/desktop-entry-spec/desktop-entry-spec-1.0.html)
В kdelibs действительно есть обертка в виде system configuration cache (SyCoCa)


Название: Re: Как ассоцируются тип файла и приложение которым нужно его открывать QT 3.3.8
Отправлено: spectre71 от Июнь 16, 2009, 17:57
А если предложить пользователю в настройках выбрать программу? Ты, походу, хочешь сделать подобие утилитки для TotalCommander под названием OpenFileTC, там как раз так и сделано: сначала добавляешь в список программки, а потом при запуске проги выдаешь список прог и при выборе какой-либо из них увеличиваешь ее счетчик, чтобы в следующий раз она была выше других.
1) Нет это не подобие утилитки TotalCommander, что это можешь посмотреть по ссылке в подписи
2) В настройках выбирать программу - это хорошо. Но пока пользователь туда доберется.....
    До этого времени желательно уметь открывать тектовые файлы чем-то по умолчанию.
    В Windows я эту задачу решил. Хотелось бы решить и под MAC.
    Под Linux в среднем более продвинутые юзеры, которым будет не так сложно чего-либо настроить.
    Ведь настройка это не просто указание пути на прогу, но и правильных параметров коммандной строки.
  


Название: Re: Как ассоцируются тип файла и приложение которым нужно его открывать QT 3.3.8
Отправлено: spectre71 от Июнь 16, 2009, 18:13
У freedesktop.org есть спецификация на этот случай (http://standards.freedesktop.org/desktop-entry-spec/desktop-entry-spec-1.0.html)
В kdelibs действительно есть обертка в виде system configuration cache (SyCoCa)

Интересно. Но это только для KDE и GNOME.
И я так и не понял где эти файлы хранятся, дабы просканировать их и выудить нужные данные.


Название: Re: Как ассоцируются тип файла и приложение которым нужно его открывать QT 3.3.8
Отправлено: Авварон от Июнь 16, 2009, 20:40
для справки - в мане пишутся файлы, используемые той или иной утилитой. Так что man open самое то.


Название: Re: Как ассоцируются тип файла и приложение которым нужно его открывать QT 3.3.8
Отправлено: spectre71 от Июнь 16, 2009, 21:20
для справки - в мане пишутся файлы, используемые той или иной утилитой. Так что man open самое то.
Это к чему. Про какие файлы и утилиты идет реч. Подробнее пожалуйста.


Название: Re: Как ассоцируются тип файла и приложение которым нужно его открывать QT 3.3.8
Отправлено: Авварон от Июнь 16, 2009, 22:18
это к моему посту о прявязках файлов в макоси. гугл конечно дал manpage но вот в ней нету файлов настроек этой команды(