diff --git a/main.py b/main.py index c3087c2..c8135bb 100644 --- a/main.py +++ b/main.py @@ -417,11 +417,10 @@ def quick_game(): def render_albums(): - global current_mode, album_name, delete_mode, accepted, adjusted_pos + global current_mode, album_name, delete_mode, accepted, albums_to_delete current_hovered_index = -1 size_to_y = {"small": 25, "medium": 35, "big": 65} y = size_to_y[current_size] - adjusted_pos = None for hover_index, album in enumerate(list(storage["albums"].keys())): render_text(album, (size[1], y), screen) @@ -435,11 +434,7 @@ def render_albums(): return album if delete_mode: - albums_to_delete = delete_albums_mode(album, y, album_rect, current_hovered_index) - if adjusted_pos: - album_hoverrr = album_rect.collidepoint(adjusted_pos) - index = update_hover_index(current_hovered_index, album_hoverrr, hover_index) - bebra = list(storage["albums"].keys())[index] + albums_to_delete = delete_albums_mode(album, y, album_rect, current_hovered_index, hover_index) y += cons[0] @@ -448,7 +443,7 @@ def render_albums(): delete_mode = False accepted = False - if not delete_mode: + if delete_mode is False: draw_arrow(current_hovered_index) if typing: @@ -473,19 +468,21 @@ def handle_album_interaction(album_hover, album): return None -def delete_albums_mode(album, y, album_rect, current_hovered_index): - global adjusted_pos +def delete_albums_mode(album, y, album_rect, current_hovered_index, hover_index): + global checkbox_clicked albums_to_delete = [] checkbox_rect = pygame.Rect(cons[2], y + cons[3], checkbox[1], checkbox[1]) checkbox_hover = checkbox_rect.collidepoint(pygame.mouse.get_pos()) - if checkbox_hover and pygame.mouse.get_pressed()[0]: + if checkbox_hover and checkbox_clicked: pygame.time.wait(100) - cursor_pos = pygame.mouse.get_pos() adjusted_pos = (cursor_pos[0] + 20, cursor_pos[1]) - #print("Adjusted Pos:", adjusted_pos, current_hovered_index) - #print("Album Rect:", album_rect) + album_hover = album_rect.collidepoint(adjusted_pos) + index = update_hover_index(current_hovered_index, album_hover, hover_index) + album = list(storage["albums"].keys())[index] + print("Adjusted Pos:", adjusted_pos, current_hovered_index) + print("salakhsahhgfsdjf", album) if album_rect.collidepoint(adjusted_pos): #print(album) @@ -1092,7 +1089,7 @@ do_not_save = False def button_check(pressed_button, run, current_mode, timer_running, delete_mode): - global completed, not_shuffled, current_timer_text, current_moves, real_time, accepted, typing + global completed, not_shuffled, current_timer_text, current_moves, real_time, accepted, typing, albums_to_delete do_not_save = False if pressed_button == close_button: run = False @@ -1110,8 +1107,10 @@ def button_check(pressed_button, run, current_mode, timer_running, delete_mode): if current_mode == "menu": if delete_mode is False: delete_mode = True - elif accepted is False: + elif albums_to_delete and accepted is False: accepted = True + else: + delete_mode = False elif pressed_button == new_button: if current_mode == "menu": typing = True @@ -1175,6 +1174,7 @@ setting = None arrow = None user_text = '' typing = False +checkbox_clicked = False # Select mode clicked_image = False image_display = None @@ -1233,7 +1233,9 @@ while run: elif event.type == pygame.MOUSEBUTTONDOWN and event.button == 1: if not non_movable_area.collidepoint(pygame.mouse.get_pos()): can_move = True - if current_mode == "select": + if current_mode == "menu" and delete_mode: + checkbox_clicked = True + elif current_mode == "select": clicked_image_rect = ImageRender.image_save(selected_album, current_img) clicked_image = clicked_image_rect.collidepoint(event.pos) if clicked_image: @@ -1310,6 +1312,7 @@ while run: user_text = user_text[0:-1] elif len(user_text) < 15 and event.key != pygame.K_RETURN: user_text += event.unicode + if current_mode == "game": if timer_running: