Russian Qt Forum

Qt => Общие вопросы => Тема начата: Igors от Июль 11, 2011, 12:47



Название: File Dialog Filter (type + extension)
Отправлено: Igors от Июль 11, 2011, 12:47
Добрый день

Нужно обновить старый диалог выбора файлов на Mac. Фильтр файлов (выбор которых будет разрешен) был сделан "по типу". (на Mac тип файла 4 байта). То есть диалог получает вектор long, и в callback ф-ции проверяем - если тип текущего файла находим в векторе - возвращаем true, иначе false

Это работает, но надо добавить и поддержку по extension, т.к. сейчас тип часто просто ноль (распустились). На первый взгляд это кажется просто - ну проверим еще и по extension, но не тут-то было. Пример

- хотим разрешить все *.obj файлы которые "по классике"  должны иметь тип 'OBJO'
- фильтровать "просто по extension" не годится т.к. может найтись масса др. obj файлов (напр - не на ночь сказано - от MS)
- простой вариант "если тип = 0 используем extension" конечно необходим и очевиден. Но формально тот же obj файл - текстовый и может редактироваться любым текстовым редактором который (как порядочный человек) конечно поставит файлу тип 'TEXT'. Так что отпихнуться "мол, это проблемы пользователя" хотя и можно, но не очень хорошо

Прошу меня правильно понять: я не спрашиваю "как кодировать". Вопрос в том как сделать чтобы и пользователю было удобно - и мне не очень накладно.

Спасибо