diff --git a/cfg_util/layout.py b/cfg_util/layout.py index 90114991..73fa1110 100644 --- a/cfg_util/layout.py +++ b/cfg_util/layout.py @@ -18,15 +18,7 @@ layout = [ [sg.Text("IP List:", pad=(0, 0)), sg.Text("", key="ip_count", pad=(0, 0), size=(3, 1)), sg.Button('ALL', key="select_all_ips"), sg.Text("", pad=(40, 0))], [sg.Text("HR Total: ", pad=(0, 0)), sg.Text("", key="hr_total")], - ]), - sg.Column([ - [sg.Text("Data: ", pad=(0, 0)), sg.Button('GET', key="get_data"), - sg.Button('SORT IP', key="sort_data_ip"), - sg.Button('SORT HR', key="sort_data_hr"), sg.Button('SORT USER', key="sort_data_user"), - sg.Button('SORT W', key="sort_data_w")], - [sg.Text("")], - ]) - ], + ])], [sg.Table( values=[], headings=["IP", "Hostname", "Hashrate", "Current User", "Wattage"], @@ -37,15 +29,17 @@ layout = [ col_widths=[14, 14, 14, 26, 7], background_color="white", text_color="black", - size=(105, 33), + size=(105, 27), expand_x=True, + enable_click_events=True, + bind_return_key=True )] ]), sg.Column([ [sg.Text("Config"), sg.Button("IMPORT", key="import_config"), sg.Button("CONFIG", key="send_config"), sg.Button("LIGHT", key="light"), sg.Button("GENERATE", key="generate_config")], [sg.Text("")], - [sg.Multiline(size=(50, 34), key="config", do_not_clear=True)], + [sg.Multiline(size=(50, 28), key="config", do_not_clear=True)], ]) ], ] diff --git a/cfg_util/ui.py b/cfg_util/ui.py index b1f1e160..c107ecb1 100644 --- a/cfg_util/ui.py +++ b/cfg_util/ui.py @@ -9,12 +9,22 @@ from cfg_util.func.ui import sort_data from network import MinerNetwork +import webbrowser + async def ui(): while True: event, value = window.read(timeout=10) if event in (None, 'Close', sg.WIN_CLOSED): sys.exit() + if isinstance(event, tuple): + if len(window["ip_table"].Values) > 0: + if event[0] == 'ip_table': + if event[2][0] == -1: + await sort_data(event[2][1]) + if event == 'ip_table': + if value["ip_table"]: + webbrowser.open("http://" + window["ip_table"].Values[value["ip_table"][0]][0]) if event == 'scan': if len(value['miner_network'].split("/")) > 1: network = value['miner_network'].split("/") @@ -46,16 +56,10 @@ async def ui(): asyncio.create_task(get_data([window["ip_table"].Values[item][0] for item in value["ip_table"]])) if event == "generate_config": await generate_config_ui() - if event == "sort_data_ip": - asyncio.create_task(sort_data(0)) # ip index in table - if event == "sort_data_hr": - asyncio.create_task(sort_data(2)) # HR index in table - if event == "sort_data_user": - asyncio.create_task(sort_data(3)) # user index in table - if event == "sort_data_w": - asyncio.create_task(sort_data(4)) # wattage index in table if event == "__TIMEOUT__": await asyncio.sleep(0) + else: + print(event) async def generate_config_ui():