Название: QFileDialog - не правильно работает под MAC Отправлено: spectre71 от Август 29, 2009, 13:32 Заданы режимы QFileDialog::AnyFile и QFileDialog::AcceptOpen. В данном случае позволяется выбор существующего файла, а также ввод имени файла.
Корректно работает под Windows и Linux. Однако, под Mac, поле ввода для имени файла не появляется! Баг? Код
В режиме QFileDialog::AcceptSave; работает правильно. Название: Re: QFileDialog - не правильно работает под MAC Отправлено: Igors от Август 29, 2009, 14:18 Просто в нативном Mac файл диалоге нет строки ввода :)
Если она все же нужна, используйте не-нативный dialog.setOption(QFileDialog::DontUseNativeDialog, true); Название: Re: QFileDialog - не правильно работает под MAC Отправлено: spectre71 от Август 29, 2009, 14:35 Просто в нативном Mac файл диалоге нет строки ввода :) Если она все же нужна, используйте не-нативный dialog.setOption(QFileDialog::DontUseNativeDialog, true); Во-первых Есть! Во-вторых в доке по QFileDialog, нет упоминаний на ограничения для Mac! В-третьих в режиме QFileDialog::AcceptSave, строка появляется, но дерево навигиции не раскрыто(как при QFileDialog::AcceptOpen), приходиться раскрывать ручками. Название: Re: QFileDialog - не правильно работает под MAC Отправлено: Igors от Август 29, 2009, 14:59 Во-первых Есть! Запускаем что-нибудь ходовое, например TextEdit. Нажимаем Command-O(см. attachment). Не вижу строки ввода а только строку search :) Во-вторых в доке по QFileDialog, нет упоминаний на ограничения для Mac! В первый раз - да, потом дерево будет раскрыто. Как и для любого другого application. В-третьих в режиме QFileDialog::AcceptSave, строка появляется, но дерево навигиции не раскрыто(как при QFileDialog::AcceptOpen), приходиться раскрывать ручками. Название: Re: QFileDialog - не правильно работает под MAC Отправлено: spectre71 от Август 29, 2009, 15:09 Запускаем что-нибудь ходовое, например TextEdit. Нажимаем Command-O Есть в режиме QFileDialog::AcceptSave, а значит в Mac есть диалог! Но QT делает неправильный вызов для режима QFileDialog::AcceptOpen + QFileDialog::AnyFile!Название: Re: QFileDialog - не правильно работает под MAC Отправлено: Igors от Август 29, 2009, 15:58 Есть в режиме QFileDialog::AcceptSave, а значит в Mac есть диалог! Но QT делает неправильный вызов для режима QFileDialog::AcceptOpen + QFileDialog::AnyFile! Пережил 3 поколения нативных файл диалогов в Mac (каждый раз приходилось переписывать программы). Но ни разу не видел строку ввода чтобы в режиме "Open" :) Конечно, можно ее добавить через customize, но то глухой нативняк.Название: Re: QFileDialog - не правильно работает под MAC Отправлено: spectre71 от Август 29, 2009, 16:09 Есть в режиме QFileDialog::AcceptSave, а значит в Mac есть диалог! Но QT делает неправильный вызов для режима QFileDialog::AcceptOpen + QFileDialog::AnyFile! Пережил 3 поколения нативных файл диалогов в Mac (каждый раз приходилось переписывать программы). Но ни разу не видел строку ввода чтобы в режиме "Open" :) Конечно, можно ее добавить через customize, но то глухой нативняк.Диалог с режимом ввода имени файла в Mac есть, что показывает работа в режиме QFileDialog::AcceptSave. Просто в Qt для QFileDialog::AcceptOpen + QFileDialog::AnyFile вызывается не тот Mac диалог(или возможно не в том режиме) это и есть ошибка троллей. Название: Re: QFileDialog - не правильно работает под MAC Отправлено: Igors от Август 29, 2009, 16:50 Причем здесь это. Нативные файловые диалоги "Open" и "Save" = 2 совершенно разных диалога (по крайней мере на Mac). Разные нативные функции (типа NavGetFile/NavPutFile) используются для каждого, разные нативные ресурсы и т.п. Это 2 разных сервиса, а не 2 режима того же диалога. Для "Open" диалога строки ввода никогда не было, а для "Save" всегда была. Претензии к Qt программистам в данном случае беспочвенны :) Диалог с режимом ввода имени файла в Mac есть, что показывает работа в режиме QFileDialog::AcceptSave. Просто в Qt для QFileDialog::AcceptOpen + QFileDialog::AnyFile вызывается не тот Mac диалог(или возможно не в том режиме) это и есть ошибка троллей. Название: Re: QFileDialog - не правильно работает под MAC Отправлено: spectre71 от Август 29, 2009, 18:37 Причем здесь это. Нативные файловые диалоги "Open" и "Save" = 2 совершенно разных диалога (по крайней мере на Mac). Разные нативные функции (типа NavGetFile/NavPutFile) используются для каждого, разные нативные ресурсы и т.п. Это 2 разных сервиса, а не 2 режима того же диалога. Для "Open" диалога строки ввода никогда не было, а для "Save" всегда была. Претензии к Qt программистам в данном случае беспочвенны :) Диалог с режимом ввода имени файла в Mac есть, что показывает работа в режиме QFileDialog::AcceptSave. Просто в Qt для QFileDialog::AcceptOpen + QFileDialog::AnyFile вызывается не тот Mac диалог(или возможно не в том режиме) это и есть ошибка троллей. 1) В документации про особые свойства QFileDialog под Mac - ничего нет, так что в любом случае Претензии к Qt программистам или Qt документации обоснованы! 2) Меня не волнует что под Mac используются два разных типа диалога или один в разных режимах(про это не знаю, на Mac работаю всего несколько дней). Важно что под Mac для режима QFileDialog::AcceptOpen + QFileDialog::AnyFile можно использовать второй тип диалога(как для QFileDialog::AcceptSave) + желательно сделать раскрытие дерева. Название: Re: QFileDialog - не правильно работает под MAC Отправлено: Igors от Август 29, 2009, 19:16 Spectre, я просто рассказал все что я знаю на Mac по этому поводу (начиная с 1994) . Ecли Вас это не устраивает - это не моя проблема (к счастью не я разрабатываю OSX). Будьте здоровы
Название: Re: QFileDialog - не правильно работает под MAC Отправлено: spectre71 от Август 29, 2009, 19:32 Spectre, я просто рассказал все что я знаю на Mac по этому поводу (начиная с 1994) . Ecли Вас это не устраивает - это не моя проблема (к счастью не я разрабатываю OSX). Будьте здоровы Я не против того как сделаны диалоги в системе Mac. :)Я против неправильной реализации на QT или документации. Название: Re: QFileDialog - не правильно работает под MAC Отправлено: Авварон от Август 29, 2009, 20:31 qt обеспечивает _нативный_ вид. Поэтому требовать чтобы под маком было также как в винде, неправильно...
Название: Re: QFileDialog - не правильно работает под MAC Отправлено: spectre71 от Август 29, 2009, 20:49 qt обеспечивает _нативный_ вид. Поэтому требовать чтобы под маком было также как в винде, неправильно... Естественно. Однако, любые особенности, вернее несовместимости(особенности) дожны быть описаны, либо мы считаем это багом! Между прочим, сабж касается только Mac, под linux так же все нормально. Я переписал свое приложение с Builder на QT, для переносимости на другие платформы. Под Windows все работает отлично. Под Linux еще пока мало тестировал. Под Mac - очень много QT-х багов. Под Mac гораздо меньше пишут чем под Windows и Linux, соответственно гораздо больше ошибок в QT библиотеке для Mac. Название: Re: QFileDialog - не правильно работает под MAC Отправлено: pastor от Август 30, 2009, 02:05 Однако, любые особенности, вернее несовместимости(особенности) дожны быть описаны, либо мы считаем это багом! Вопрос: А причем здесь Qt к нативным диалогам (толи мака, вантуза или линукса)? Допустим завтра разработчики мака перепишут в корне диалоги или разрабы вантуза уберут поле ввода для имени файла. И что? Это баг Qt? Что должно быть указано в документации? имхо, все претензии к разработчикам оси, что мол диалоги у них не такие как в вантузе, etc. Igors, +1 за второй пост топика. Название: Re: QFileDialog - не правильно работает под MAC Отправлено: spectre71 от Август 30, 2009, 11:14 Однако, любые особенности, вернее несовместимости(особенности) дожны быть описаны, либо мы считаем это багом! Вопрос: А причем здесь Qt к нативным диалогам (толи мака, вантуза или линукса)? Допустим завтра разработчики мака перепишут в корне диалоги или разрабы вантуза уберут поле ввода для имени файла. И что? Это баг Qt? Что должно быть указано в документации? имхо, все претензии к разработчикам оси, что мол диалоги у них не такие как в вантузе, etc. Igors, +1 за второй пост топика. Нативный диалог на разных системах выглядит и работает по разному, с этим никто и не спорил. В Mac есть диалог подходящий для данного режима, и то что разработчики не правильно его используют(или используют не тот диалог) это и есть ошибка. А если бы и небыло, то должно было бы быть упоминание в доке. А то что "завтра" что-то изменится, - значит измениться версия QT, документация итд. Появится что-то новое, что-то не будет поддерживаться. Название: Re: QFileDialog - не правильно работает под MAC Отправлено: pastor от Август 30, 2009, 11:50 В таком случае, покопай маковскую часть Qt, глянь что у них не так, напиши сагест (багрепорт?) тролям, а еще лучше с дифом, который фиксанет данную проблему.
Название: Re: QFileDialog - не правильно работает под MAC Отправлено: spectre71 от Август 30, 2009, 12:03 В таком случае, покопай маковскую часть Qt, глянь что у них не так, напиши сагест (багрепорт?) тролям, а еще лучше с дифом, который фиксанет данную проблему. Пока не до того, дофига еще надо сделать,а Мак у меня только в конторе и появляюсь я там исключительно по необходимости, работаю дома под виндами. Если кто потестирует и отрапортует, то хорошо.Я заменил у себя QFileDialog::AcceptOpen на QFileDialog::AcceptSave + QFileDialog::DontConfirmOverwrite, меня на данный момент это устраивает. Есть кучка более неприятных ошибок под Мак с которыми надо что-то делать, но это для других тем. Название: Re: QFileDialog - не правильно работает под MAC Отправлено: pastor от Август 30, 2009, 13:10 Есть кучка более неприятных ошибок под Мак с которыми надо что-то делать Репортовать, репортовать и ещё раз репортовать :) Название: Re: QFileDialog - не правильно работает под MAC Отправлено: spectre71 от Август 30, 2009, 13:16 Есть кучка более неприятных ошибок под Мак с которыми надо что-то делать Репортовать, репортовать и ещё раз репортовать :) Как только закончу с основной задачей, то буду разбираться "особенными случаями". Если интересно - посмотри http://www.prog.org.ru/topic_10379_0.html (http://www.prog.org.ru/topic_10379_0.html) Название: Re: QFileDialog - не правильно работает под MAC Отправлено: Winstrol от Август 30, 2009, 23:05 Spectre, приобрети платный саппорт и построй троллей. Зачем юзерам форума выносить мозг?
Название: Re: QFileDialog - не правильно работает под MAC Отправлено: spectre71 от Август 31, 2009, 00:25 Spectre, приобрети платный саппорт и построй троллей. Зачем юзерам форума выносить мозг? Во-первых я могу быть не прав, все глючат. :)Во-вторых чем больше "вынос мозга юзерам", - тем больше они сердиты, - тем ровнее строятся тролли. В-третьих, он(саппорт), платный, есть, но: - у меня не важно с а'нглицким :'( - зарегистрирован не на меня, а на манагера. >:( - ну и.... лень - матушка(а оправдание простое ;), "да, когда они исправят, если вообще исправят; проще сделать заплатку"). |