Russian Qt Forum

Программирование => Общий => Тема начата: Igors от Ноябрь 03, 2020, 12:05



Название: Инфа о файле
Отправлено: Igors от Ноябрь 03, 2020, 12:05
Добрый день

Юзер хочет чтобы файлы картинок имели текстовую инфу которую можно смотреть средствами OC (напр пропердии в Вындоуз или File Info в OSX). Текст короткий (время потраченное на создание файла). Потребность законная и реально нужная, отпихнуться не удастся

Ну очень хочется сделать это не влезая в гнусный нативняк. Как ?

Спасибо


Название: Re: Инфа о файле
Отправлено: RedDog от Ноябрь 03, 2020, 15:04
Оно? https://doc.qt.io/qt-5/qimage.html#setText


Название: Re: Инфа о файле
Отправлено: Igors от Ноябрь 03, 2020, 16:32
Оно? https://doc.qt.io/qt-5/qimage.html#setText
Там QImage никакого нету :'( И форматов десятка полтора. Поэтому и хотелка "на уровне ОС" хотя вряд ли такое есть (ну а вдруг?)

На OSX разберусь, там всю жизнь такое было (раньше vers ресурс, теперь хз) а вот что на бздошном Вындоуз?


Название: Re: Инфа о файле
Отправлено: kuzulis от Ноябрь 03, 2020, 17:27
> а вот что на бздошном Вындоуз?

Это: https://docs.microsoft.com/en-us/windows/win32/menurc/version-information ?


Название: Re: Инфа о файле
Отправлено: Igors от Ноябрь 04, 2020, 13:41
Это: https://docs.microsoft.com/en-us/windows/win32/menurc/version-information ?
Пока не понял оно ли. Похоже это для исполняемых файлов и dll, а просто файл данных (напр тот же png) может такое иметь? Похоже что нет


Название: Re: Инфа о файле
Отправлено: kuzulis от Ноябрь 04, 2020, 16:03
Не знаю, попробуй поиграться с http://www.angusj.com/resourcehacker/ утилитой, типо понадобавлять/понасмотреть ресурсы в картинках.. Т.е. можно или нет это делать и будут ли потом картинки читаться/открываться после этого. Если это возможно - то тогда то АПИ годится..

Хотя, да, наврятли наверно для картинок это возможно... Но, если ты видел такие файлы картинок у которых можно прочитать версию/дескрипшн - то приаттачь плз. напосмотреть.  


Название: Re: Инфа о файле
Отправлено: Igors от Ноябрь 05, 2020, 12:54
Копнул на OSX, ну, как и следовало ожидать, все бычит. Это называется "extended file attributes", система хранит эту инфу как внешнюю (в DS_Store и где-то еще), сам файл не трогает. Можно редактировать командной строкой, команда xattr, пока не совсем разобрался как, добавил строку "where from" (аттач) для текстового файла

На Вындоуз мрачно :'( Какие-то упоминания об этом есть, но как/чем это делать - хз.


Название: Re: Инфа о файле
Отправлено: kuzulis от Ноябрь 05, 2020, 13:46
Кстати, скорее всего можно добавить для картинок это все в метаданные. Например для PNG: https://dev.exiv2.org/projects/exiv2/wiki/The_Metadata_in_PNG_files но я не копал.


Название: Re: Инфа о файле
Отправлено: Igors от Ноябрь 05, 2020, 14:18
Кстати, скорее всего можно добавить для картинок это все в метаданные. Например для PNG: https://dev.exiv2.org/projects/exiv2/wiki/The_Metadata_in_PNG_files но я не копал.
PNG лишь один из форматов, по меньшей мере для 2 других такой возможности точно нет. Да и возиться с каждым... думаю сами бы Вы не стали  :)


Название: Re: Инфа о файле
Отправлено: Igors от Ноябрь 06, 2020, 08:43
Проскочить на OSX по-быстрому не удалось  :'(, начались типично линуксячьи "танцы с бубном"

Так работает, Finder показывает "Where From"
Код:
int code = setxattr(filelName, "com.apple.metadata:kMDItemWhereFroms", desc, strlen(desc), 0, 0);

А так для одних форматов работает, для др нет
Код:
int code = setxattr(fileName, "com.apple.metadata:kMDItemDescription", desc, strlen(desc), 0, 0);

Зараза... :'(


Название: Re: Инфа о файле
Отправлено: kambala от Ноябрь 06, 2020, 12:31
а если вызывать консольную утилиту напрямую, такой же результат?


Название: Re: Инфа о файле
Отправлено: Igors от Ноябрь 06, 2020, 15:12
а если вызывать консольную утилиту напрямую, такой же результат?
Из командной строки xattr показывает "все есть", метадата записаны как и было задумано.  Но для "своих" форматов (расширений) Finder их не показывает. Переименовываю в .png или .tga - появляются. Надыбал это (https://stackoverflow.com/questions/16354044/custom-spotlight-importer-and-finders-get-info-more-info-section), но что за schema.xml - в первый раз слышу