найти иконки для файлов (откуда и как вытащить иконки для файлов)
Модератор: Модераторы разделов
-
Amouse
- Сообщения: 59
найти иконки для файлов
GUI программа, браузится по файлам на диске.
Соответственно должна для файлов/каталогов отображать соответствующие иконки
(ну как скажем Konqueror делает при просмотре собственного диска).
Т.е очевидно для *.txt файлов будет одна иконка, для *.htm другая ну и тп.
Вопрос - как в linux определить, какому файлу какая иконка соответствует и где ее искать?
Я так понимаю, такого же универсального вызова, как в виндах - SHGetFileInfo() нет?
Соответственно должна для файлов/каталогов отображать соответствующие иконки
(ну как скажем Konqueror делает при просмотре собственного диска).
Т.е очевидно для *.txt файлов будет одна иконка, для *.htm другая ну и тп.
Вопрос - как в linux определить, какому файлу какая иконка соответствует и где ее искать?
Я так понимаю, такого же универсального вызова, как в виндах - SHGetFileInfo() нет?
-
Uncle_Theodore
- Сообщения: 3339
- ОС: Slackware 12.2, ArchLinux 64
Re: найти иконки для файлов
Amouse писал(а): ↑30.08.2007 17:18GUI программа, браузится по файлам на диске.
Соответственно должна для файлов/каталогов отображать соответствующие иконки
(ну как скажем Konqueror делает при просмотре собственного диска).
Т.е очевидно для *.txt файлов будет одна иконка, для *.htm другая ну и тп.
Вопрос - как в linux определить, какому файлу какая иконка соответствует и где ее искать?
Я так понимаю, такого же универсального вызова, как в виндах - SHGetFileInfo() нет?
В Линуксе файлам не соответствуют иконки по умолчанию. Какие соответствия поставишь, такие и будут.
Тип файла узнается командой file в консоли или, программно, определяется чтением магических чисел и сравнением с базой этих чисел. В man file это все написано.
-
anonymous.ru
- Сообщения: 614
Re: найти иконки для файлов
Amouse писал(а): ↑30.08.2007 17:18GUI программа, браузится по файлам на диске.
Соответственно должна для файлов/каталогов отображать соответствующие иконки
(ну как скажем Konqueror делает при просмотре собственного диска).
Т.е очевидно для *.txt файлов будет одна иконка, для *.htm другая ну и тп.
Вопрос - как в linux определить, какому файлу какая иконка соответствует и где ее искать?
Я так понимаю, такого же универсального вызова, как в виндах - SHGetFileInfo() нет?
А вы какую графическую библиотеку будете использовать Qt или GTK+ ?
-
Amouse
- Сообщения: 59
Re: найти иконки для файлов
Uncle_Theodore писал(а): ↑30.08.2007 17:28В Линуксе файлам не соответствуют иконки по умолчанию. Какие соответствия поставишь, такие и будут.
Тип файла узнается командой file в консоли или, программно, определяется чтением магических чисел и сравнением с базой этих чисел.
А тот же Konqueror откуда берет это соотвествие?
Команды из консоли в данном случае не катят, надо программно.
anonymous.ru писал(а): ↑30.08.2007 17:31А вы какую графическую библиотеку будете использовать Qt или GTK+ ?
Qt
-
Uncle_Theodore
- Сообщения: 3339
- ОС: Slackware 12.2, ArchLinux 64
Re: найти иконки для файлов
А тот же Konqueror откуда берет это соотвествие?
Из описания темы.
А иконки из /usr/share/icons
Тут читай
http://doc.trolltech.com/4.3/model-view-programming.html
-
anonymous.ru
- Сообщения: 614
Re: найти иконки для файлов
тут я не эксперт
будем ждать экспертов
ну а пока они не придут посмотрите класс QDirModel
http://doc.trolltech.com/4.0/qdirmodel.html
может быть там, но я точно не знаю
-
d_n_k
- Сообщения: 636
- ОС: Gentoo GNU/Linux
Re: найти иконки для файлов
А вы какую графическую библиотеку будете использовать Qt или GTK+ ?
ни qt, ни gtk ничего не знает о том какому приложение соответствует какая иконка.
это не делается на уровне графическй библеотечки.
для этого есть десктоп-библеотечки, которые и выдают какая икона к какому файлу относится.
информация о mime-типе предоставляется пакетами x11-misc/shared-mime-info и app-misc/mime-types
иконку в соответствии с mime-типом в гноме можно получить через либу gnome-vfs и libgnomeui.
как это сделать в других десктопах, я не знаю
все сказанное есть имхо...
-
Amouse
- Сообщения: 59
Re: найти иконки для файлов
а чуть по-подробней можно?
у меня на машине есть /usr/share/mime/ с кучей *.xml
есть /usr/share/doc/packages/shared-mime-info/ с news и readme
других mime-info, mime-types нет.
т.е у меня эти пакеты стоят?
-
d_n_k
- Сообщения: 636
- ОС: Gentoo GNU/Linux
Re: найти иконки для файлов
я не телепат чтобы знать какие у тебя пакеты стоят...
все сказанное есть имхо...
-
(+ssvda)
- Сообщения: 31
- ОС: Debian GNU/Linux Etch (only)
Re: найти иконки для файлов
Хм... В некотором случае столкнулся с похожей проблемой. Есть демон (не привязанный к графической среде или х-серверу). Как ему определить MIME тип файла? Помогите кто знает, плз))
-
sergio
- Сообщения: 436
- Статус: Интересующийся новичок
- ОС: Debian GNU/Linux 4 & 5
Re: найти иконки для файлов
Во втором комме Uncle_Theodore писал - магические числа. У Апач был модуль (отключенный по-умолчанию), которой определял миме отдаваемого файла по ним (а не расширению и т.д.)...
Ну или без них - тогда default-type (text/plain, или application/octet-stream обыкновенно) плюс составляете свою карту расширение->миме...
Найти апачевскую можно в /etc/apache/mime.types -> /etc/mime.types
Отсюда уже рукой подать до
Код: Выделить всё
man mime.typesDebian GNU/Linux 4 -- AMD Athlon64 3000+ / Asus 7600GS -- Gnome
Debian GNU/Linux 5 -- Dell (Vostro) 500 (Celeron M560 / iGM965) -- Gnome
Debian GNU/Linux 5 -- Dell (Vostro) 500 (Celeron M560 / iGM965) -- Gnome
-
eduard_pustobaev
- Сообщения: 2629
- Статус: Ленивец
- ОС: Arch/Debian.
Re: найти иконки для файлов
QFileIconProvider
Interview example
Ftp example
В assistant опять же поискать по поводу mime.
man see ?
Interview example
Ftp example
В assistant опять же поискать по поводу mime.
Код: Выделить всё
Хм... В некотором случае столкнулся с похожей проблемой. Есть демон (не привязанный к графической среде или х-серверу). Как ему определить MIME тип файла? Помогите кто знает, плз))man see ?
В дисгармонии со вселенной.
-
d_n_k
- Сообщения: 636
- ОС: Gentoo GNU/Linux
Re: найти иконки для файлов
man magic
man libmagic
сие чудо идет в составе пакета file
man libmagic
сие чудо идет в составе пакета file
все сказанное есть имхо...
-
(+ssvda)
- Сообщения: 31
- ОС: Debian GNU/Linux Etch (only)