ToggleActionMenu 2000
Result of the meeting, which I summarized in !254 (comment 194076):
Meeting results:
- Don’t need to reimplement removeAction(), because of QEvent::ActionRemoved.
- Don’t need initialization logic, because in our use cases we are able to initialize manually & well enough.
- Don’t need ‘QuickSelectAction’, it will (now) fit perfectly in only one class.
This patch is based on !254 (closed), but is fundamentally different. Changes to master:
- ToggleActionMenu uses more QPointer.
- ToggleActionMenu doesn’t take behavior parameters in the constructor.
- Remove all intelligence from ToggleActionMenu.
- No initialization logic for the default action.
- No automatic updating of the default action when an action is triggered.
- Instead, require the default action to be in the menu, and reset it automatically when it is removed from the menu.
- This is implemented with eventFilter() on the menu(), which listens to QEvent::ActionRemoved.
- Remove all intelligence from ToggleActionMenu.
- Autotest for ToggleActionMenu.
Makes !254 (closed) obsolete.
TODO
-
This patch depends on !385 (merged) and !384 (merged), which update the ToggleActionMenu usages in AnnotationActionHandler and PageView. Afterwards, this MR can be rebased on master and merged to master.
Edited by Laura David Hurka