2023-01-25 17:23:18 +02:00
from datetime import datetime , timezone
from tkinter import LEFT , NSEW , Misc , S , W , ttk
from classes . custom . themed_frame import ThemedFrame
2023-01-26 12:10:49 +02:00
from modules . utils import osname
2023-01-25 17:23:18 +02:00
class FrameSave ( ThemedFrame ) :
def __init__ ( self , master : Misc , save_dict : str , * * kwargs ) - > None :
super ( ) . __init__ ( master , style = " Card.TFrame " , * * kwargs )
2023-01-26 12:10:49 +02:00
self . widget_width = 47 if osname == " nt " else 42
2023-01-25 17:23:18 +02:00
self . grid_columnconfigure ( 0 , weight = 1 )
self . grid_columnconfigure ( 1 , weight = 3 )
self . grid_columnconfigure ( 2 , weight = 3 )
2023-01-26 12:10:49 +02:00
self . title = ttk . Label ( self , text = save_dict [ " data " ] [ " farmer " ] , font = ( " SunValleyBodyStrongFont " , 12 , " bold " ) , justify = LEFT , width = self . widget_width )
2023-01-25 17:23:18 +02:00
self . title . grid ( column = 0 , row = 0 , padx = 9 , pady = 9 , sticky = W )
2023-01-26 12:10:49 +02:00
self . description = ttk . Label ( self , text = f ' Money: { save_dict [ " data " ] [ " money " ] } \n Game version: { save_dict [ " data " ] [ " game_version " ] } \n ID: { save_dict [ " id " ] } ' , width = self . widget_width )
2023-01-25 17:23:18 +02:00
self . description . grid ( column = 0 , row = 1 , padx = 9 , pady = 9 , sticky = W )
self . buttons = ThemedFrame ( self )
self . buttons . grid ( column = 0 , columnspan = 2 , row = 2 , sticky = NSEW , padx = 9 , pady = 9 )
self . buttons . grid_columnconfigure ( 0 , weight = 1 )
upload_date = datetime . utcfromtimestamp ( save_dict [ " date " ] ) . replace ( tzinfo = timezone . utc ) . astimezone ( tz = None )
2023-01-26 12:10:49 +02:00
self . last_upload = ttk . Label ( self . buttons , text = f ' { upload_date . strftime ( " % A, %d % b % Y " ) } \n Uploaded at { upload_date . strftime ( " % H: % M " ) } by { save_dict [ " device " ] } ' , font = ( " SunValleyBodyFont " , 8 ) , justify = LEFT , width = self . widget_width )
2023-01-25 17:23:18 +02:00
self . last_upload . grid ( column = 0 , row = 0 , sticky = W + S )
# self.button_device_rename_action = partial(self.rename)
# self.button_device_rename = ttk.Button(self.buttons, text="Rename", width=11, command=self.button_device_rename_action)
# self.button_device_rename.grid(column=0, row=0, padx=9, sticky=E)
#self.button_device_delete_action = partial(self.delete)
self . button_device_delete = ttk . Button ( self . buttons , text = " Synchronize " , style = " Accent.TButton " , width = 11 ) #, command=self.button_device_delete_action)
2023-01-26 12:10:49 +02:00
self . button_device_delete . grid ( column = 1 , row = 0 , sticky = W )
def convert_date ( self , year : int , month : int , day : int ) - > str :
pass
def convert_playtime ( self , seconds : int ) - > str :
pass