elukjanovica 2024-06-06 08:32:50 +03:00
parent f7212f320d
commit 6d889686a7
1 changed files with 20 additions and 17 deletions

37
main.py
View File

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