Project

General

Profile

Actions

Bug #13464

open

Moving of WMenuItem

Added by Matthias Van Ceulebroeck about 2 months ago. Updated 15 days ago.

Status:
Review
Priority:
Normal
Assignee:
-
Target version:
Start date:
01/29/2025
Due date:
% Done:

0%

Estimated time:

Description

There currently exist no direct way to move around WMenuItems 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.

Actions #1

Updated by Romain Mardulyn 17 days ago

  • Status changed from New to InProgress
  • Assignee set to Romain Mardulyn
Actions #2

Updated by Romain Mardulyn 15 days ago

  • Status changed from InProgress to Review
  • Assignee deleted (Romain Mardulyn)
Actions

Also available in: Atom PDF