From 94854384ae97204eda6bb5dff92dd54a37a029fd Mon Sep 17 00:00:00 2001 From: Charles Haley Date: Thu, 9 Jan 2025 18:01:11 +0000 Subject: [PATCH] Improved partitioning of actions in the menu. --- src/calibre/gui2/actions/all_actions.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/calibre/gui2/actions/all_actions.py b/src/calibre/gui2/actions/all_actions.py index b04eed4253..aaf2c9463a 100644 --- a/src/calibre/gui2/actions/all_actions.py +++ b/src/calibre/gui2/actions/all_actions.py @@ -135,11 +135,11 @@ class AllGUIActions(InterfaceAction): ma.setEnabled(act.qaction.isEnabled()) # Finally the real work, building the action menu. Partition long lists - # of actions into sublists of some arbitrary length. + # of actions into mostly-equal-length sublists of some arbitrary length. def partition(names): - count_in_partition = 10 # arbitrary - if len(names) >= count_in_partition: - partition_count = len(names) // (count_in_partition - 1) + max_in_partition = 10 # arbitrary + if len(names) >= max_in_partition: + partition_count = ceil(len(names) / max_in_partition) step = int(ceil(len(names) / partition_count)) for first in range(0, len(names), step): last = min(first + step - 1, len(names) - 1)