| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent 1bd1750 commit 9c78577
3 files changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -421,6 +421,21 @@ def _translate_text(text, player_index): | |||
| 421 | 421 | return text | |
| 422 | 422 | ||
| 423 | 423 | ||
| 424 | + def _format_paged_title(menu, player_index, page): | ||
| 425 | + buffer = '' | ||
| 426 | + | ||
| 427 | + if menu.title: | ||
| 428 | + buffer += _translate_text(menu.title, player_index) | ||
| 429 | + | ||
| 430 | + if menu.show_pages: | ||
| 431 | + if buffer: | ||
| 432 | + buffer += ' ' | ||
| 433 | + | ||
| 434 | + buffer += f'[{page.index + 1}/{menu.page_count}]' | ||
| 435 | + | ||
| 436 | + return buffer | ||
| 437 | + | ||
| 438 | + | ||
| 424 | 439 | # ============================================================================= | |
| 425 | 440 | # >> LISTENERS | |
| 426 | 441 | # ============================================================================= | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -16,6 +16,7 @@ | |||
| 16 | 16 | from menus.base import _BaseMenu | |
| 17 | 17 | from menus.base import _PagedMenuBase | |
| 18 | 18 | from menus.base import _BaseOption | |
| 19 | + from menus.base import _format_paged_title | ||
| 19 | 20 | from menus.base import _translate_text | |
| 20 | 21 | from menus.queue import ESC_SELECTION_CMD | |
| 21 | 22 | from menus.queue import _esc_queues | |
@@ -169,7 +170,7 @@ class PagedESCMenu(SimpleESCMenu, _PagedMenuBase): | |||
| 169 | 170 | def __init__( | |
| 170 | 171 | self, data=None, select_callback=None, build_callback=None, close_callback=None, | |
| 171 | 172 | description=None, title=None, title_color=WHITE, fill=True, | |
| 172 | - parent_menu=None): | ||
| 173 | + parent_menu=None, show_pages=True): | ||
| 173 | 174 | """Initialize the object. | |
| 174 | 175 | ||
| 175 | 176 | :param iterable|None data: See :meth:`menus.base._BaseMenu.__init__`. | |
@@ -192,6 +193,7 @@ def __init__( | |||
| 192 | 193 | description, title, title_color) | |
| 193 | 194 | self.fill = fill | |
| 194 | 195 | self.parent_menu = parent_menu | |
| 196 | + self.show_pages = show_pages | ||
| 195 | 197 | ||
| 196 | 198 | @staticmethod | |
| 197 | 199 | def _get_max_item_count(): | |
@@ -205,16 +207,8 @@ def _format_header(self, player_index, page, data): | |||
| 205 | 207 | :param _PlayerPage page: The player's current page. | |
| 206 | 208 | :param KeyValues data: The current menu data. | |
| 207 | 209 | """ | |
| 208 | - # Create the page info string | ||
| 209 | - info = '[{0}/{1}]'.format(page.index + 1, self.page_count) | ||
| 210 | - | ||
| 211 | - if self.title is not None: | ||
| 212 | - data.set_string('title', '{0} {1}'.format( | ||
| 213 | - _translate_text(self.title, player_index), info)) | ||
| 214 | - else: | ||
| 215 | - data.set_string('title', info) | ||
| 216 | - | ||
| 217 | - data.set_color('color', self.title_color) | ||
| 210 | + buffer = _format_paged_title(self, player_index, page) | ||
| 211 | + data.set_string('title', buffer) | ||
| 218 | 212 | ||
| 219 | 213 | def _format_body(self, player_index, page, data): | |
| 220 | 214 | """Prepare the body for the menu. | |
@@ -316,7 +310,7 @@ class ListESCMenu(PagedESCMenu): | |||
| 316 | 310 | def __init__( | |
| 317 | 311 | self, data=None, select_callback=None, build_callback=None, close_callback=None, | |
| 318 | 312 | description=None, title=None, title_color=WHITE, fill=True, | |
| 319 | - parent_menu=None, items_per_page=5): | ||
| 313 | + parent_menu=None, items_per_page=5, show_pages=True): | ||
| 320 | 314 | """Initialize the object. | |
| 321 | 315 | ||
| 322 | 316 | :param iterable|None data: See :meth:`menus.base._BaseMenu.__init__`. | |
@@ -335,7 +329,7 @@ def __init__( | |||
| 335 | 329 | on a single page (5 is the maximum). | |
| 336 | 330 | """ | |
| 337 | 331 | super().__init__(data, select_callback, build_callback, close_callback, description, | |
| 338 | - title, title_color, fill, parent_menu) | ||
| 332 | + title, title_color, fill, parent_menu, show_pages) | ||
| 339 | 333 | self.items_per_page = items_per_page | |
| 340 | 334 | ||
| 341 | 335 | def _get_max_item_count(self): | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -13,6 +13,7 @@ | |||
| 13 | 13 | from menus.base import _BaseMenu | |
| 14 | 14 | from menus.base import _PagedMenuBase | |
| 15 | 15 | from menus.base import _BaseOption | |
| 16 | + from menus.base import _format_paged_title | ||
| 16 | 17 | from menus.base import _translate_text | |
| 17 | 18 | from menus.queue import _radio_queues | |
| 18 | 19 | # Messages | |
@@ -144,7 +145,7 @@ def __init__( | |||
| 144 | 145 | self, data=None, select_callback=None, | |
| 145 | 146 | build_callback=None, close_callback=None, description=None, | |
| 146 | 147 | title=None, top_separator='-' * 30, bottom_separator='-' * 30, | |
| 147 | - fill=True, parent_menu=None): | ||
| 148 | + fill=True, parent_menu=None, show_pages=True): | ||
| 148 | 149 | """Initialize the object. | |
| 149 | 150 | ||
| 150 | 151 | :param iterable|None data: See :meth:`menus.base._BaseMenu.__init__`. | |
@@ -175,6 +176,7 @@ def __init__( | |||
| 175 | 176 | self.bottom_separator = bottom_separator | |
| 176 | 177 | self.fill = fill | |
| 177 | 178 | self.parent_menu = parent_menu | |
| 179 | + self.show_pages = show_pages | ||
| 178 | 180 | ||
| 179 | 181 | @staticmethod | |
| 180 | 182 | def _get_max_item_count(): | |
@@ -189,11 +191,10 @@ def _format_header(self, player_index, page, slots): | |||
| 189 | 191 | :param slots: A set to which slots can be added. | |
| 190 | 192 | :type slots: :class:`set` | |
| 191 | 193 | """ | |
| 192 | - # Create the page info string | ||
| 193 | - info = '[{0}/{1}]\n'.format(page.index + 1, self.page_count) | ||
| 194 | + buffer = _format_paged_title(self, player_index, page) | ||
| 194 | 195 | ||
| 195 | - buffer = '{0} {1}'.format(_translate_text( | ||
| 196 | - self.title, player_index), info) if self.title else info | ||
| 196 | + if buffer: | ||
| 197 | + buffer += '\n' | ||
| 197 | 198 | ||
| 198 | 199 | # Set description if present | |
| 199 | 200 | if self.description is not None: | |
@@ -328,7 +329,7 @@ def __init__( | |||
| 328 | 329 | self, data=None, select_callback=None, build_callback=None, close_callback=None, | |
| 329 | 330 | description=None, title=None, top_separator='-' * 30, | |
| 330 | 331 | bottom_separator='-' * 30, fill=True, parent_menu=None, | |
| 331 | - items_per_page=10): | ||
| 332 | + items_per_page=10, show_pages=True): | ||
| 332 | 333 | """Initialize the object. | |
| 333 | 334 | ||
| 334 | 335 | :param iterable|None data: See :meth:`menus.base._BaseMenu.__init__`. | |
@@ -348,7 +349,7 @@ def __init__( | |||
| 348 | 349 | on a single page. | |
| 349 | 350 | """ | |
| 350 | 351 | super().__init__(data, select_callback, build_callback, close_callback, description, | |
| 351 | - title, top_separator, bottom_separator, fill, parent_menu) | ||
| 352 | + title, top_separator, bottom_separator, fill, parent_menu, show_pages) | ||
| 352 | 353 | self.items_per_page = items_per_page | |
| 353 | 354 | ||
| 354 | 355 | def _get_max_item_count(self): | |
| Back | FazBrowse Home | New Git URL |
0 commit comments