Skip to content

Commit 631d270

Browse files
authored
Merge pull request #46 from relic-se/mouse-click-index
Mouse click index page bug fix
2 parents aa5ed36 + 9bfcc84 commit 631d270

File tree

1 file changed

+15
-14
lines changed

1 file changed

+15
-14
lines changed

src/code.py

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -189,6 +189,7 @@
189189

190190
cell_width = WIDTH // config["width"]
191191
cell_height = HEIGHT // config["height"]
192+
page_size = config["width"] * config["height"]
192193

193194
default_icon_bmp, default_icon_palette = adafruit_imageload.load("launcher_assets/default_icon.bmp")
194195
default_icon_palette.make_transparent(0)
@@ -325,13 +326,13 @@ def _unhide_cell_group(cell_group):
325326

326327

327328
def display_page(page_index):
328-
max_pages = math.ceil(len(apps) / 6)
329+
max_pages = math.ceil(len(apps) / page_size)
329330
page_txt.text = f"{page_index + 1}/{max_pages}"
330331

331-
for grid_index in range(6):
332+
for grid_index in range(page_size):
332333
grid_pos = (grid_index % config["width"], grid_index // config["width"])
333334
try:
334-
cur_app = apps[grid_index + (page_index * 6)]
335+
cur_app = apps[grid_index + (page_index * page_size)]
335336
except IndexError:
336337
try:
337338
cell_group = menu_grid.get_content(grid_pos)
@@ -380,7 +381,7 @@ def display_page(page_index):
380381
scaled_group.append(left_tg)
381382
scaled_group.append(right_tg)
382383

383-
if len(apps) <= 6:
384+
if len(apps) <= page_size:
384385
right_tg.hidden = True
385386
left_tg.hidden = True
386387

@@ -438,7 +439,7 @@ def change_selected(new_selected):
438439

439440
def page_right():
440441
global cur_page
441-
if cur_page < math.ceil(len(apps) / 6) - 1:
442+
if cur_page < math.ceil(len(apps) / page_size) - 1:
442443
cur_page += 1
443444
display_page(cur_page)
444445

@@ -455,7 +456,7 @@ def handle_key_press(key):
455456
# up key
456457
if key == "\x1b[A":
457458
if isinstance(selected, tuple):
458-
change_selected((selected[0], (selected[1] - 1) % 2))
459+
change_selected((selected[0], (selected[1] - 1) % config["height"]))
459460
elif selected is left_tg:
460461
change_selected((0, 0))
461462
elif selected is right_tg:
@@ -465,7 +466,7 @@ def handle_key_press(key):
465466
# down key
466467
elif key == "\x1b[B":
467468
if isinstance(selected, tuple):
468-
change_selected((selected[0], (selected[1] + 1) % 2))
469+
change_selected((selected[0], (selected[1] + 1) % config["height"]))
469470
elif selected is left_tg:
470471
change_selected((0, 1))
471472
elif selected is right_tg:
@@ -480,7 +481,7 @@ def handle_key_press(key):
480481
elif not left_tg.hidden:
481482
change_selected(left_tg)
482483
else:
483-
change_selected(((selected[0] - 1) % 3, selected[1]))
484+
change_selected(((selected[0] - 1) % config["width"], selected[1]))
484485
elif selected is left_tg:
485486
change_selected(right_tg)
486487
elif selected is right_tg:
@@ -494,15 +495,15 @@ def handle_key_press(key):
494495
elif not right_tg.hidden:
495496
change_selected(right_tg)
496497
else:
497-
change_selected(((selected[0] + 1) % 3, selected[1]))
498+
change_selected(((selected[0] + 1) % config["width"], selected[1]))
498499
elif selected is left_tg:
499500
change_selected((0, 0))
500501
elif selected is right_tg:
501502
change_selected(left_tg)
502503

503504
elif key == "\n":
504505
if isinstance(selected, tuple):
505-
index = (selected[1] * 3 + selected[0]) + (cur_page * 6)
506+
index = (selected[1] * config["width"] + selected[0]) + (cur_page * page_size)
506507
if index >= len(apps):
507508
index = None
508509
print("go!")
@@ -512,20 +513,20 @@ def handle_key_press(key):
512513
page_right()
513514
elif key == "e":
514515
if isinstance(selected, tuple):
515-
editor_index = (selected[1] * 3 + selected[0]) + (cur_page * 6)
516+
editor_index = (selected[1] * config["width"] + selected[0]) + (cur_page * page_size)
516517
if editor_index >= len(apps):
517518
editor_index = None
518519

519520
print("go!")
520521
elif key in "123456789":
521522
if key != "9":
522523
requested_page = int(key)
523-
max_page = math.ceil(len(apps) / 6)
524+
max_page = math.ceil(len(apps) / page_size)
524525
if requested_page <= max_page:
525526
cur_page = requested_page - 1
526527
display_page(requested_page-1)
527528
else: # key == 9
528-
max_page = math.ceil(len(apps) / 6)
529+
max_page = math.ceil(len(apps) / page_size)
529530
cur_page = max_page - 1
530531
display_page(max_page - 1)
531532
else:
@@ -568,7 +569,7 @@ def handle_key_press(key):
568569
print("left click")
569570
clicked_cell = menu_grid.which_cell_contains((mouse_tg.x, mouse_tg.y))
570571
if clicked_cell is not None:
571-
index = clicked_cell[1] * config["width"] + clicked_cell[0]
572+
index = (clicked_cell[1] * config["width"] + clicked_cell[0]) + (cur_page * page_size)
572573

573574
if right_tg.contains((mouse_tg.x, mouse_tg.y, 0)):
574575
page_right()

0 commit comments

Comments
 (0)