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.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.Button('ALL', key="select_all_ips"), sg.Text("", pad=(40, 0))],
|
||||||
[sg.Text("HR Total: ", pad=(0, 0)), sg.Text("", key="hr_total")],
|
[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(
|
[sg.Table(
|
||||||
values=[],
|
values=[],
|
||||||
headings=["IP", "Hostname", "Hashrate", "Current User", "Wattage"],
|
headings=["IP", "Hostname", "Hashrate", "Current User", "Wattage"],
|
||||||
@@ -37,15 +29,17 @@ layout = [
|
|||||||
col_widths=[14, 14, 14, 26, 7],
|
col_widths=[14, 14, 14, 26, 7],
|
||||||
background_color="white",
|
background_color="white",
|
||||||
text_color="black",
|
text_color="black",
|
||||||
size=(105, 33),
|
size=(105, 27),
|
||||||
expand_x=True,
|
expand_x=True,
|
||||||
|
enable_click_events=True,
|
||||||
|
bind_return_key=True
|
||||||
)]
|
)]
|
||||||
]),
|
]),
|
||||||
sg.Column([
|
sg.Column([
|
||||||
[sg.Text("Config"), sg.Button("IMPORT", key="import_config"), sg.Button("CONFIG", key="send_config"),
|
[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.Button("LIGHT", key="light"), sg.Button("GENERATE", key="generate_config")],
|
||||||
[sg.Text("")],
|
[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
|
from network import MinerNetwork
|
||||||
|
|
||||||
|
import webbrowser
|
||||||
|
|
||||||
|
|
||||||
async def ui():
|
async def ui():
|
||||||
while True:
|
while True:
|
||||||
event, value = window.read(timeout=10)
|
event, value = window.read(timeout=10)
|
||||||
if event in (None, 'Close', sg.WIN_CLOSED):
|
if event in (None, 'Close', sg.WIN_CLOSED):
|
||||||
sys.exit()
|
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 event == 'scan':
|
||||||
if len(value['miner_network'].split("/")) > 1:
|
if len(value['miner_network'].split("/")) > 1:
|
||||||
network = value['miner_network'].split("/")
|
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"]]))
|
asyncio.create_task(get_data([window["ip_table"].Values[item][0] for item in value["ip_table"]]))
|
||||||
if event == "generate_config":
|
if event == "generate_config":
|
||||||
await generate_config_ui()
|
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__":
|
if event == "__TIMEOUT__":
|
||||||
await asyncio.sleep(0)
|
await asyncio.sleep(0)
|
||||||
|
else:
|
||||||
|
print(event)
|
||||||
|
|
||||||
|
|
||||||
async def generate_config_ui():
|
async def generate_config_ui():
|
||||||
|
|||||||
Reference in New Issue
Block a user