Название: QFile::copy Отправлено: crackedmind от Март 20, 2009, 21:21 Наследовался я значит от QAbstractFileEngine, реализовал нужный мне функционал.
Только вот функцию эту не стал реализовывать. Код: bool myFileEngine::copy(const QString &) Затем вызываю Код: QFile("my:/data/file.txt", "file.txt"); Файл замечательно копируется, но! Остается временный файл. Заглянув в qfile.cpp:892 видим следующее Код: #ifndef QT_NO_TEMPORARYFILE Вопрос, а нахрена??? Бага, фича или что :) Причем, что в 4.5.0, что 4.4.3 поведение одинаковые. Название: Re: QFile::copy Отправлено: Rcus от Март 20, 2009, 21:37 Ну и правильно :) если FileEngine не реализует операцию копирования, то Qt создает временный файл и копирует в него содержимое исходного файла блоками. И если все нормально то снимает временный флаг.
Название: Re: QFile::copy Отправлено: crackedmind от Март 20, 2009, 21:41 Цитировать Ну и правильно если FileEngine не реализует операцию копирования, то Qt создает временный файл и копирует в него содержимое исходного файла блоками. Это кристально понятно. Не понятно почему временной файл не удаляется. Т.е. вопрос в целесообразностиКод: #ifndef QT_NO_TEMPORARYFILE После того как я его закоментировал и пересобрал QtCore, то все нормально копируется и временной файл удаляется. Я один чтоли думаю, что здесь не правильная логика поведения? Вот такое поведение было бы логичнее Код: #ifndef QT_NO_TEMPORARYFILE |