11from tkinter import ttk , N , E , W
22
33
4+
5+ from Infrastructure .ImageUtility import ImageUtility
6+
7+
48class MinimalScreenBlockerFrame (ttk .Frame ):
59 def __init__ (self , master , controller , time_options_manager , mobber_manager , countdown_manager , settings_manager ,
6- tips_manager ,theme_manager ,
10+ tips_manager , theme_manager ,
711 ** kwargs ):
812 super ().__init__ (master , ** kwargs )
913
@@ -13,62 +17,90 @@ def __init__(self, master, controller, time_options_manager, mobber_manager, cou
1317 self .time_options_manager = time_options_manager
1418 self .mobber_manager = mobber_manager
1519 self .settings_manager = settings_manager
16- self .build_window_content ()
20+ self .theme_manager = theme_manager
1721 self .tips_manager = tips_manager
22+ self .build_window_content ()
1823 self .mobber_manager .subscribe_to_mobber_list_change (self .mobber_list_change_callback )
1924
2025 def build_window_content (self ):
2126 center_frame = ttk .Frame (self )
22- center_frame .grid (row = 0 , column = 0 )
23- center_frame .grid_columnconfigure (0 , weight = 0 )
24- center_frame .grid_columnconfigure (1 , weight = 0 )
25- center_frame .grid_columnconfigure (2 , weight = 1 )
26- center_frame .grid_columnconfigure (3 , weight = 0 )
27- center_frame .grid_columnconfigure (4 , weight = 0 )
27+ center_frame .grid ()
28+ # center_frame.grid_columnconfigure(0, weight=0)
29+ # center_frame.grid_columnconfigure(1, weight=0)
30+ # center_frame.grid_columnconfigure(2, weight=0)
31+ # center_frame.grid_columnconfigure(3, weight=0)
32+ # center_frame.grid_columnconfigure(4, weight=1)
33+ # center_frame.grid_columnconfigure(5, weight=1)
34+ # center_frame.grid_columnconfigure(6, weight=0)
35+ # center_frame.grid_columnconfigure(7, weight=0)
36+ # center_frame.grid_columnconfigure(8, weight=0)
37+ # center_frame.grid_columnconfigure(9, weight=0)
2838
2939 row_index = 0
3040
41+
42+ image_utility = ImageUtility (self .theme_manager )
43+
44+ self .invisible_icon = image_utility .load ('images\\ invisible.png' )
45+ self .fade_label = ttk .Label (center_frame , image = self .invisible_icon )
46+ self .fade_label .grid (row = 0 , column = 0 , sticky = (N ,W ))
47+ self .fade_label .bind ("<Enter>" , lambda event : self .controller .fade_app ())
48+ self .fade_label .bind ("<Leave>" , lambda event : self .controller .unfade_app ())
49+
50+ # 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
51+
3152 title = ttk .Label (center_frame , text = "Mobbing Timer" , font = "Helvetica 60 bold italic" )
32- title .grid (row = row_index , columnspan = 5 , padx = 150 , pady = 10 )
53+ title .grid (row = row_index , column = 0 , columnspan = 6 , padx = 150 , pady = 10 )
3354 row_index += 1
3455
56+ self .keyboard_icon = image_utility .load ('images\\ keyboard.png' ,75 ,75 )
57+ self .keyboard_label = ttk .Label (center_frame , image = self .keyboard_icon )
58+ self .keyboard_label .grid (row = row_index , column = 1 , sticky = (N ,E ))
59+
3560 self .current_mobber_label = ttk .Label (center_frame , text = "" , font = "Helvetica 50 bold italic" ,
3661 style = "Highlight.TLabel" )
37- self .current_mobber_label .grid (row = row_index , columnspan = 5 , padx = 30 , pady = 10 )
38- row_index += 1
62+ self .current_mobber_label .grid (row = row_index , column = 2 , columnspan = 1 , sticky = (N ,W ))
3963
40- self .next_mobber_label = ttk .Label (center_frame , text = "" , font = "Helvetica 20 bold italic" )
41- self .next_mobber_label .grid (row = row_index , columnspan = 5 , padx = 30 , pady = 10 )
42- row_index += 1
4364
65+
66+ self .minions_icon = image_utility .load ('images\\ minions.png' ,75 ,75 )
67+ self .minions_label = ttk .Label (center_frame , image = self .minions_icon )
68+ self .minions_label .grid (row = row_index , column = 3 , sticky = (N ,E ))
69+
70+ self .next_mobber_label = ttk .Label (center_frame , text = "" , font = "Helvetica 50" )
71+ self .next_mobber_label .grid (row = row_index , column = 4 , columnspan = 1 ,sticky = (N ,W ))
72+ row_index += 1
73+ # 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
4474 start_button = ttk .Button (center_frame , text = "Continue Mobbing!" , style = "StartButton.TButton" , )
45- start_button .grid (row = row_index , column = 1 , columnspan = 3 , sticky = N + E + W , padx = 10 , pady = 10 )
75+ start_button .grid (row = row_index , column = 1 , columnspan = 4 , sticky = N + E + W , padx = 10 , pady = 10 )
4676 start_button .bind ("<Button-1>" , lambda event : self .controller .show_transparent_countdown_frame ())
4777 row_index += 1
4878
4979 if self .settings_manager .get_general_enable_tips ():
5080 self .tip_text = ttk .Label (center_frame , text = "" , font = "Helvetica 15 bold" , wraplength = 500 )
51- self .tip_text .grid (row = row_index , columnspan = 3 , padx = 30 , pady = 10 )
81+ self .tip_text .grid (row = row_index , column = 1 , columnspan = 4 , padx = 30 , pady = 10 , sticky = ( N ) )
5282 row_index += 1
5383
5484 start_button = ttk .Button (center_frame , text = "Mob Setup & Time" )
55- start_button .grid (row = row_index , column = 2 , columnspan = 3 , sticky = N + E + W , padx = 90 , pady = 10 )
85+ start_button .grid (row = row_index , column = 1 , columnspan = 4 , sticky = N + E + W , padx = 90 , pady = 10 )
5686 start_button .bind ("<Button-1>" , lambda event : self .controller .show_screen_blocker_frame ())
5787 row_index += 1
5888
5989 start_button = ttk .Button (center_frame , text = "Quit Mobbing" )
60- start_button .grid (row = row_index , column = 2 , columnspan = 3 , sticky = N + E + W , padx = 200 , pady = 10 )
90+ start_button .grid (row = row_index , column = 1 , columnspan = 4 , sticky = N + E + W , padx = 90 , pady = 10 )
6191 start_button .bind ("<Button-1>" , lambda event : self .controller .quit_and_destroy_session ())
6292 row_index += 1
6393
94+ # 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
95+
6496 def mobber_list_change_callback (self , mobber_list , driver_index , navigator_index ):
6597 self .current_mobber_label ['text' ] = ""
6698 self .next_mobber_label ['text' ] = ""
6799 for index in range (0 , mobber_list .__len__ ()):
68100 name = mobber_list [index ]
69101 if index == driver_index :
70- self .current_mobber_label ['text' ] = "{}, time to drive! " .format (name )
102+ self .current_mobber_label ['text' ] = "{}" .format (name )
71103 if index == navigator_index :
72- self .next_mobber_label ['text' ] = "{}, up next! " .format (name )
104+ self .next_mobber_label ['text' ] = "{}" .format (name )
73105 if self .settings_manager .get_general_enable_tips ():
74106 self .tip_text ['text' ] = self .tips_manager .get_random_tip ()
0 commit comments