mirror of
https://github.com/FAUSheppy/homelab_gamevault
synced 2025-12-06 15:01:36 +01:00
feat: config to file save & misc fixes
This commit is contained in:
31
client.py
31
client.py
@@ -22,11 +22,27 @@ details_elements = []
|
|||||||
|
|
||||||
non_disabled_entry_color = None
|
non_disabled_entry_color = None
|
||||||
|
|
||||||
|
CONFIG_FILE = "gamevault_config.json"
|
||||||
|
|
||||||
def close_input_window(input_window):
|
def close_input_window(input_window):
|
||||||
# Placeholder function for the button action
|
'''Close the config window and save the settings'''
|
||||||
print("Closing input window")
|
|
||||||
|
# retrieve values #
|
||||||
|
entries = list(filter(lambda x: isinstance(x, customtkinter.CTkEntry), input_window.winfo_children()))
|
||||||
|
labels = [ input_window.grid_slaves(row=e.grid_info()["row"], column=e.grid_info()["column"]-1)[0] for e in entries ]
|
||||||
|
ret_dict = dict()
|
||||||
|
for e, l in zip(entries, labels):
|
||||||
|
ret_dict.update({ l.cget("text") : e.get() })
|
||||||
|
|
||||||
|
# dump config and write to file #
|
||||||
|
print(json.dumps(ret_dict))
|
||||||
|
with open(CONFIG_FILE, "w") as f:
|
||||||
|
json.dump(ret_dict, f)
|
||||||
|
|
||||||
|
# quit input window #
|
||||||
input_window.quit()
|
input_window.quit()
|
||||||
|
|
||||||
|
|
||||||
def dropdown_changed(dropdown_var, user_entry, password_entry, server_path_entry,
|
def dropdown_changed(dropdown_var, user_entry, password_entry, server_path_entry,
|
||||||
install_dir_entry):
|
install_dir_entry):
|
||||||
|
|
||||||
@@ -172,6 +188,7 @@ def destroy_main():
|
|||||||
b.destroy()
|
b.destroy()
|
||||||
|
|
||||||
buttons = []
|
buttons = []
|
||||||
|
app.update()
|
||||||
|
|
||||||
def load_details(app, software):
|
def load_details(app, software):
|
||||||
'''Load the details page for a software'''
|
'''Load the details page for a software'''
|
||||||
@@ -231,7 +248,8 @@ def update_button_positions(event=None):
|
|||||||
and grid_info_current["column"] == column_new):
|
and grid_info_current["column"] == column_new):
|
||||||
continue
|
continue
|
||||||
else:
|
else:
|
||||||
button.grid(row=i // num_columns, column=i % num_columns, sticky="we")
|
DOWNSHIFT = 1 # FIXME make real navbar
|
||||||
|
button.grid(row=(i // num_columns)+ DOWNSHIFT, column=i % num_columns, sticky="we")
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
@@ -243,11 +261,12 @@ if __name__ == "__main__":
|
|||||||
db = data_backend.FTP(None, None, "./install/", server="ftp://192.168.1.132:2121",
|
db = data_backend.FTP(None, None, "./install/", server="ftp://192.168.1.132:2121",
|
||||||
remote_root_dir="/", progress_bar_wrapper=pgw, tkinter_root=app) # TODO load values instead of hardcode
|
remote_root_dir="/", progress_bar_wrapper=pgw, tkinter_root=app) # TODO load values instead of hardcode
|
||||||
|
|
||||||
get_config_inputs() # TODO save values
|
if not os.path.isfile(CONFIG_FILE):
|
||||||
|
get_config_inputs()
|
||||||
|
|
||||||
# geometry is set at the very beginning #
|
# geometry is set at the very beginning #
|
||||||
app.update()
|
app.update()
|
||||||
|
|
||||||
# fill and run app #
|
# fill and run app #
|
||||||
load_main() # TODO add button to reopen config # TODO add button to purge cache/purge cache window # TODO show cache size # TODO show game size on remote
|
load_main() # TODO add button to reopen config # TODO add button to purge cache/purge cache window # TODO show game size on remote
|
||||||
app.mainloop()
|
app.mainloop()
|
||||||
Reference in New Issue
Block a user