Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ Qt Общие вопросы _ Проголосуйте, пожалуйста, за несколько багов.

Автор: Obey-Kun 20.1.2011, 6:25

По порядку.

http://bugreports.qt.nokia.com/browse/QTBUG-15756 — ну тут просто утечка памяти в примере про Undo Framework, причём очень тупая и исправляемая одной строчкой.

http://bugreports.qt.nokia.com/browse/QTBUG-15764 — хотелось бы иметь возможность удалять отменённые команды в QUndoStack. То есть очищать его от отменённых команд, оставляя те, что применены. В баге приведён пример, где такое может понадобиться. Опять же, реализация очень проста, а профита будет много.

http://bugreports.qt.nokia.com/browse/QTBUG-16297 — нужно иметь более низкоуровневый prepareGeometryChange. А именно такой, который бы обновлял bsp trees и прочую информацию о итемах в сцене, но ничего не перерисовывал. Пример я там привёл такой: у меня есть КАД, в этом КАДе есть инструмент-прямоугольник, лежащий в сцене. При изменении, скажем, позиции такого прямоугольника, не обязательно перерисовывать всё в предыдущей и новой позиции, ведь если они пересекаются, то достаточно лишь обновить всё, что лежит вне пересечения. Объяснил коряво. Если хотите более понятного объяснения, напишите в комментах здесь, просто сейчас пол-седьмого утра, а я не спал. Может, картинка что-то прояснит: http://rghost.ru/4005943/image.png

http://bugreports.qt.nokia.com/browse/QTBUG-16762 — нужно добавить информацию в документацию по поводу transformationAnchor == AnchorUnderMouse в QGraphicsView. Там 2 пункта. В баге всё вроде понятно описано.

Заранее спасибо.

Самый важный баг для меня — второй, без его исправления мой проект неполон :(. А если бы они исправили и третий, то мой проект стал бы ГОРАЗДО шустрее.

Автор: igor_bogomolov 25.1.2011, 14:18

Цитата(Obey-Kun @ 20.1.2011, 6:25) *
http://bugreports.qt.nokia.com/browse/QTBUG-15764 — хотелось бы иметь возможность удалять отменённые команды в QUndoStack. То есть очищать его от отменённых команд, оставляя те, что применены. В баге приведён пример, где такое может понадобиться. Опять же, реализация очень проста, а профита будет много.
Впервые задействовал QUndoStack и столкнулся с той же самой проблемой: нет никакой возможности удалить команду из QUndoStack. Предполагал что последовательность действий undo, setClean должно решить проблему, а нет. И даже костыль придумать не удаётся. Маразм какой то, как можно было этого не предусмотреть?

Obey-Kun, может ты какой костыль сумел придумать, как удалить команду из стека?

Автор: Obey-Kun 25.1.2011, 17:33

Не придумал :(.

Вот ещё пара багов:
http://bugreports.qt.nokia.com/browse/QTBUG-16821 — хотелось бы иметь qFuzzyCompare для геом. фигур (QPointF и пр.)
http://bugreports.qt.nokia.com/browse/QTBUG-16819 — у qFuzzyCompare для qreal и double сейчас ужасный алгоритм. Если одно из сравниваемых чисел равно 0, то алгоритм не сработает. Это задокументировано, но ужасно, т.к. приходится писать костыли, если заранее не знаешь, что сравниваться будет. Там в обсуждении предложили другой алгоритм, нормальный.

Автор: igor_bogomolov 25.1.2011, 17:43

Цитата(Obey-Kun @ 25.1.2011, 17:33) *
Не придумал :(.
Я тоже :(
Даже отнаследовавшись не получить доступ до command_list и macro_list.
Единственный вариант заимствовать классы в свой проект и добавлять нужный функционал

Автор: Obey-Kun 25.1.2011, 17:56

Ну да, или можно унаследовать QUndoStack и сделать типа "временный" стэк с возможностью добавления в главный... костылище.

Автор: igor_bogomolov 27.1.2011, 15:01

Проголосуйте тогда и за мой баг, может быстрее решат.
http://bugreports.qt.nokia.com/browse/QTBUG-16947

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)