Add files via upload

Added "Playtime" on About menu.
This commit is contained in:
Wabaano 2025-04-20 23:45:41 -03:00 committed by GitHub
parent 9523f1ab0c
commit e678852eec
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -832,6 +832,7 @@ class PicomcVersionSelector(QWidget):
try: try:
# Set current_state to the selected instance # Set current_state to the selected instance
self.current_state = selected_instance self.current_state = selected_instance
self.start_time = time.time()
# Read the config.json to get the "Instance" value # Read the config.json to get the "Instance" value
with open('config.json', 'r') as config_file: with open('config.json', 'r') as config_file:
@ -860,6 +861,7 @@ class PicomcVersionSelector(QWidget):
finally: finally:
# Reset current_state to "menu" after the game closes # Reset current_state to "menu" after the game closes
self.current_state = "menu" self.current_state = "menu"
self.update_total_playtime(self.start_time)
def update_last_played(self, selected_instance): def update_last_played(self, selected_instance):
@ -868,6 +870,12 @@ class PicomcVersionSelector(QWidget):
with open(config_path, "w") as config_file: with open(config_path, "w") as config_file:
json.dump(self.config, config_file, indent=4) json.dump(self.config, config_file, indent=4)
def update_total_playtime(self, start_time):
config_path = "config.json"
self.config["TotalPlaytime"] += time.time() - self.start_time
print("TOTAL PLAYTIME:" + str(self.config["TotalPlaytime"]))
with open(config_path, "w") as config_file:
json.dump(self.config, config_file, indent=4)
def showError(self, title, message): def showError(self, title, message):
QMessageBox.critical(self, title, message) QMessageBox.critical(self, title, message)
@ -1087,6 +1095,21 @@ class PicomcVersionSelector(QWidget):
QMessageBox.critical(self, "Error", error_message) QMessageBox.critical(self, "Error", error_message)
def get_playtime(self, config_data):
#Gets the playtime from the json and
total_playtime = config_data.get("TotalPlaytime")/60
#if total playtime is over 60 minutes, uses hours instead
if(total_playtime > 60):
total_playtime = total_playtime / 60
playtime_unit = "hours"
else:
playtime_unit = "minutes"
total_playtime = round(total_playtime)
#returs the playtime and the unit used to measure in a string
return(f"{total_playtime} {playtime_unit}")
def show_about_dialog(self): def show_about_dialog(self):
# Load the version number from version.json # Load the version number from version.json
try: try:
@ -1110,13 +1133,16 @@ class PicomcVersionSelector(QWidget):
if is_bleeding and version_bleeding: if is_bleeding and version_bleeding:
version_number = version_bleeding version_number = version_bleeding
about_message = ( about_message = (
f"PicoDulce Launcher (v{version_number})\n\n" f"PicoDulce Launcher (v{version_number})\n\n"
"A simple Minecraft launcher built using Qt, based on the picomc project.\n\n" "A simple Minecraft launcher built using Qt, based on the picomc project.\n\n"
"Credits:\n" "Credits:\n"
"Nixietab: Code and UI design\n" "Nixietab: Code and UI design\n"
"Wabaano: Graphic design\n" "Wabaano: Graphic design\n"
"Olinad: Christmas!!!!" "Olinad: Christmas!!!!\n\n"
f"Playtime: {self.get_playtime(config_data)}"
) )
QMessageBox.about(self, "About", about_message) QMessageBox.about(self, "About", about_message)