added the option to sort using the table headers and added a double click on the miners to open a web browser with that miner
This commit is contained in:
@@ -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)],
|
||||
])
|
||||
],
|
||||
]
|
||||
|
||||
@@ -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():
|
||||
|
||||
Reference in New Issue
Block a user