11from datetime import datetime
22from tkinter import ttk , N , E , W
3-
43from Infrastructure import MobberManager
54from Infrastructure .ImageUtility import ImageUtility
65from Infrastructure .PathUtility import PathUtility
@@ -11,13 +10,14 @@ def __init__(self, master, controller, time_options_manager, mobber_manager, cou
1110 tips_manager , theme_manager ,
1211 ** kwargs ):
1312 super ().__init__ (master , ** kwargs )
14-
13+ self . showing_extend_time_button = False
1514 self .master = master
1615 self .controller = controller
1716 self .countdown_manager = countdown_manager
1817 self .time_options_manager = time_options_manager
19- self .mobber_manager = mobber_manager # type: MobberManager
18+ self .mobber_manager = mobber_manager # type: MobberManager
2019 self .settings_manager = settings_manager
20+
2121 self .theme_manager = theme_manager
2222 self .tips_manager = tips_manager
2323 self .build_window_content ()
@@ -45,7 +45,8 @@ def build_window_content(self):
4545
4646 if self .settings_manager .get_general_use_logo_image ():
4747 self .image_utility = ImageUtility (self .theme_manager )
48- self .background_image = self .image_utility .load (self .settings_manager .get_general_logo_image_name (), 800 , 200 , self .settings_manager .get_general_auto_theme_logo ())
48+ self .background_image = self .image_utility .load (self .settings_manager .get_general_logo_image_name (), 800 ,
49+ 200 , self .settings_manager .get_general_auto_theme_logo ())
4950 title = ttk .Label (center_frame , image = self .background_image )
5051 else :
5152 title = ttk .Label (center_frame , text = "Mobbing Timer" , font = "Helvetica 60 bold italic" )
@@ -86,9 +87,10 @@ def build_window_content(self):
8687
8788 if self .settings_manager .get_timer_extension_enabled () and not self .settings_manager .get_randomize_randomize_next_driver ():
8889 minutes = self .settings_manager .get_timer_extension_minutes ()
89- extend_time_button = ttk .Button (center_frame , text = "Extend Time By {} Minutes" .format (minutes ))
90- extend_time_button .grid (row = row_index , column = 1 , columnspan = 4 , sticky = N + E + W , padx = 90 , pady = 10 )
91- extend_time_button .bind ("<Button-1>" , lambda event : self .rewind_and_extend (minutes ))
90+ self .extend_time_button = ttk .Button (center_frame , text = self .get_extend_time_button_text ())
91+ self .extend_time_button .grid (row = row_index , column = 1 , columnspan = 4 , sticky = N + E + W , padx = 90 , pady = 10 )
92+ self .showing_extend_time_button = True
93+ self .extend_time_button .bind ("<Button-1>" , lambda event : self .controller .rewind_and_extend (minutes ))
9294 row_index += 1
9395
9496 setup_button = ttk .Button (center_frame , text = "Mob Setup & Time" )
@@ -101,9 +103,10 @@ def build_window_content(self):
101103 quit_button .bind ("<Button-1>" , lambda event : self .controller .quit_and_destroy_session ())
102104 row_index += 1
103105
104- def rewind_and_extend (self ,minutes ):
105- self .mobber_manager .rewind_driver ()
106- return self .controller .show_transparent_countdown_frame (minutes )
106+ def get_extend_time_button_text (self ):
107+ minutes = self .settings_manager .get_timer_extension_minutes ()
108+ return "Extend Time By {} Minutes ({})" .format (minutes ,
109+ self .controller .timer_extension_count - self .controller .extensions_used )
107110
108111 def mobber_list_change_callback (self , mobber_list , driver_index , navigator_index ):
109112 self .current_mobber_label ['text' ] = ""
@@ -116,3 +119,11 @@ def mobber_list_change_callback(self, mobber_list, driver_index, navigator_index
116119 self .next_mobber_label ['text' ] = "{}" .format (name )
117120 if self .settings_manager .get_general_enable_tips ():
118121 self .tip_text ['text' ] = self .tips_manager .get_random_tip ()
122+
123+ def show_extend_time_button (self ):
124+ if self .settings_manager .get_timer_extension_enabled () and not self .settings_manager .get_randomize_randomize_next_driver ():
125+ if self .controller .extensions_used < self .controller .timer_extension_count :
126+ self .extend_time_button ["text" ] = self .get_extend_time_button_text ()
127+ self .extend_time_button .grid ()
128+ else :
129+ self .extend_time_button .grid_remove ()
0 commit comments