Bug #13464
openMoving of WMenuItem
100%
Description
There currently exist no direct way to move around WMenuItem
s in a WMenu
. Although this IS supported by first removing them, and adding them again, calling WMenu::removeItem() and WMenu::insertItem() respectively.
Now, this will result in a segfault, when the contents of the item are loaded Lazy. This is because the wrapping container (uContentsContainer
) is removed, and the content that was added to the WStackedWidget
to display it, it taken back by the WMenuItem
(WMenuItem::returnContentsInStack()
). To avoid this issue, we need to check the assumption that the uContentsContainer
exists, when we try to add it to the WStackedWidget
.
Additionally, since we already offer removeItem
and insertItem
, we can cut out the middle-man, and provide WMenu::moveItem(int fromIndex, int toIndex)
, and WMenu::moveItem(WMenuItem* item, int toIndex)
.
Any existing WMenuItem
at toIndex
or beyond, will have their index increased by one.
Updated by Romain Mardulyn 6 months ago
- Status changed from New to InProgress
- Assignee set to Romain Mardulyn
Updated by Romain Mardulyn 6 months ago
- Status changed from InProgress to Review
- Assignee deleted (
Romain Mardulyn)
Updated by Matthias Van Ceulebroeck about 2 months ago
- Assignee set to Matthias Van Ceulebroeck
Updated by Matthias Van Ceulebroeck 6 days ago
- Status changed from Review to Implemented @Emweb
- Assignee changed from Matthias Van Ceulebroeck to Romain Mardulyn
- % Done changed from 0 to 100
Updated by Matthias Van Ceulebroeck about 19 hours ago
- Status changed from Implemented @Emweb to Implemented @Test