Russian Qt Forum

Qt => Общие вопросы => Тема начата: spectre71 от Август 09, 2009, 10:55



Название: QFileDialog - блокирует путь
Отправлено: spectre71 от Август 09, 2009, 10:55
QFileDialog блокирует путь, даже после выхода из диалога, например папку последнего выбранного файла или открытую папку.
Такая беда происходит под XP, под Vista не проверял.
Что за фигня и как с ней бороться?


Название: Re: QFileDialog - блокирует путь
Отправлено: lit-uriy от Август 09, 2009, 11:09
ни когда такого не замечал, можешь минимальный проект выложить для проверки?
(и версию Qt укажи)


Название: Re: QFileDialog - блокирует путь
Отправлено: spectre71 от Август 09, 2009, 11:48
ни когда такого не замечал, можешь минимальный проект выложить для проверки?
(и версию Qt укажи)
4.5.2
1) Открываешь диалог, выбираешь файл, не закрывая диалог пытаешься переименовать в эксплорере папку с выбранным файлом.
2) То же самое после выбора файла и закрытия диалога, но до уничтожения его!


Название: Re: QFileDialog - блокирует путь
Отправлено: Пантер от Август 09, 2009, 12:06
Это из-за того, что устанавливается QFileSystemWatcher на этот каталог. Выход - уничтожать диалог.


Название: Re: QFileDialog - блокирует путь
Отправлено: spectre71 от Август 09, 2009, 12:10
Это из-за того, что устанавливается QFileSystemWatcher на этот каталог. Выход - уничтожать диалог.
Так и пришлось сделать. Но это мне не нравиться.
Это не удобно, например, когда создание/настройка, вызов, обработка результатов происходят в разных методах или в разное время.
Не говоря уже о том что приходиться дублировать код для всех методов с вызовом диалога, вместо того чтобы сделать один раз, например:
  dialog.setFileMode  (QFileDialog::DirectoryOnly);
  dialog.setAcceptMode(QFileDialog::AcceptOpen);
  dialog.setViewMode  (QFileDialog::List);


Название: Re: QFileDialog - блокирует путь
Отправлено: Пантер от Август 09, 2009, 12:22
Напиши тролям. ;)


Название: Re: QFileDialog - блокирует путь
Отправлено: ритт от Август 09, 2009, 18:08
можешь даже и не думать писать троллям - такой бесполезный фичреквист моментально отрежектят.

что мешает создавать и настраивать диалог в специально отведённом для этого месте, а использовать там, где требуется?


Название: Re: QFileDialog - блокирует путь
Отправлено: lit-uriy от Август 09, 2009, 20:47
солидарен с Кностантином.


Название: Re: QFileDialog - блокирует путь
Отправлено: spectre71 от Август 09, 2009, 22:32
можешь даже и не думать писать троллям - такой бесполезный фичреквист моментально отрежектят.
что мешает создавать и настраивать диалог в специально отведённом для этого месте, а использовать там, где требуется?
"в специально отведённом для этого месте" - ?
Пожалуйста поясни.


Название: Re: QFileDialog - блокирует путь
Отправлено: ритт от Август 10, 2009, 00:57
я бы унаследовал файлдиалог и реализовал бы установку специфичных для приложения настроек в конструкторе или отдельном методе(ах)

да и вообще, по моему скромному разумению удерживать ресурс (экземпляр скрытого диалога в данному случае) для возможного с некоторой вероятностью повторного использования - ммм...неправильный подход к оптимизации...
если не путаю, так поступает венда для нативного файлдиалога - считаю это довольно...легкомысленным

нужен диалог - создай; надоел - удали :)