Название: Компонент просмотра ФС vs. MVC Отправлено: Alex Custov от Апрель 02, 2009, 16:31 необходимо написать небольшой компонент просмотра ФС, с обычными переключалками вида типа "дерево", "иконки", "список". Вроде бы MVC подходит, но почитав некоторые темы по QFileSystemModel или QDirModel становится как-то грустно. Баги в важных местах находят до сих пор. В связи с этим возникает вопрос а стоит ли вообще заморачиваться с MVC и не писать ли на классических item-based виджетах? Какие преимущества и недостатки у обоих подходов вы видите?
Название: Re: Компонент просмотра ФС vs. MVC Отправлено: Пантер от Апрель 02, 2009, 21:16 Сейчас заморачиваюсь по этой теме. Свою модель написал, уже можно нормально бегать по ФС. Вот более менее сделаю и выложу на всеобщее обозрение.
Название: Re: Компонент просмотра ФС vs. MVC Отправлено: lit-uriy от Апрель 02, 2009, 21:35 >>не писать ли на классических item-based виджетах?
А их в принципе в Qt4 нет, Q***Widget - наследник Q***View просто внутри содержит модель. Следовательно надо сделать свою модель (Как это сделал panter_dsd) прицепить к интерисующему представлению и всё. Название: Re: Компонент просмотра ФС vs. MVC Отправлено: Alex Custov от Апрель 02, 2009, 21:43 Сейчас заморачиваюсь по этой теме. Свою модель написал, уже можно нормально бегать по ФС. Вот более менее сделаю и выложу на всеобщее обозрение. будет интересно посмотреть Название: Re: Компонент просмотра ФС vs. MVC Отправлено: Пантер от Апрель 02, 2009, 22:26 Сейчас заморачиваюсь по этой теме. Свою модель написал, уже можно нормально бегать по ФС. Вот более менее сделаю и выложу на всеобщее обозрение. будет интересно посмотреть Название: Re: Компонент просмотра ФС vs. MVC Отправлено: Alex Custov от Апрель 03, 2009, 01:44 Я правильно понимаю, что если прицепить QFileSystemModel к QTreeView, то смешение файлов и каталогов - это нормально поведение, и чтобы сделать каталоги сперва, то нужно переопредеять sort() или использовать QSortFilterProxyModel?
Название: Re: Компонент просмотра ФС vs. MVC Отправлено: Пантер от Апрель 03, 2009, 06:11 Использовать QSortFilterProxyModel.
Название: Re: Компонент просмотра ФС vs. MVC Отправлено: crackedmind от Апрель 03, 2009, 14:32 Вообще пытаюсь коммандер написать. Пока сделана модель локальной фс, табы каталогов, переименование файлов. Еще столько сделать нужно.... :) Интересно. Ты хочешь сделать полноценный коммандер? Какой функционал планируешь? Будет ли Open Source? :)Название: Re: Компонент просмотра ФС vs. MVC Отправлено: Пантер от Апрель 03, 2009, 16:49 1. Полноценный.
2. Полный. 3. Тут даже без вопросов. Конечно GPL. Вообще пишу для саморазвития. Если что-нибудь получится и не надоест, буду развивать. Название: Re: Компонент просмотра ФС vs. MVC Отправлено: Alex Custov от Апрель 03, 2009, 19:39 Использовать QSortFilterProxyModel. Сделал базовую QSortFilterProxyModel с двумя пока пустыми методами lessThan() и filterAcceptsRow(). Оба возвращают true. При этом в дереве (QTreeView) пропали элементы + (те что разворачивают каталоги). Было: Код: model = new QFileSystemModel; Стало: Код: model = new QFileSystemModel; Что-то я не пойму взаимосвязи сортировки и наличия крестиков возле каталогов ??? "rootIsDecorated" установлен в true. panter_dsd кстати, а как ты будешь решать проблему отображения MIME иконок под Linux? Или это уже сделано? Будет интересно узнать как. Название: Re: Компонент просмотра ФС vs. MVC Отправлено: Пантер от Апрель 04, 2009, 09:36 На счет пропажи rootIsDecorated не знаю, так как устанавливаю в false.
По поводу иконок еще не копался, пока только под виндой работают, а под Линухой стандартные показывает. Скорее всего под кеды придется заточить. Название: Re: Компонент просмотра ФС vs. MVC Отправлено: Alex Custov от Апрель 05, 2009, 07:23 то что файлы и каталоги смешиваются, это оказывается баг ещё с 4.4.0. В 4.5.0 судя по всему починено, но я вглубь не смотрел.
Цитировать Thank you for the suggestion. This is currently under consideration. You can track the task here: http://www.trolltech.com/developer/task-tracker/index_html?id=214108&method=entry Название: Re: Компонент просмотра ФС vs. MVC Отправлено: kirill от Апрель 07, 2009, 05:37 Совет, откажитесь совсем от использования QFileSystemModel и делайте все вручную через QDir, QFileInfo.
Тогда и не будет вопросов где плюсики и т.п. По поводу плюсиков Константин писал, что QFileSystemModel кэширует обращения к каталогам, так что узнать, что в каталоге нельзя не обратившись к нему. Как то так. Название: Re: Компонент просмотра ФС vs. MVC Отправлено: Joned от Апрель 09, 2009, 13:08 Когда выложиш срочнно нужна пожожая фишка
Название: Re: Компонент просмотра ФС vs. MVC Отправлено: Пантер от Апрель 09, 2009, 17:30 Это ко мне?
|