fixed some things in gui
This commit is contained in:
parent
31ab60c910
commit
1177fcc0b7
@ -5,21 +5,26 @@ from src import sendkeys
|
||||
|
||||
|
||||
def clipboard_poll(app: tk) -> None:
|
||||
data.log.info('clipboard thread started')
|
||||
text = None
|
||||
data.log.debug('clipboard thread started')
|
||||
text = None # Last clipboard entry
|
||||
old_trade = None # This is the last trade, not the last clipboard entry
|
||||
while True:
|
||||
try:
|
||||
new_text = app.clipboard_get()
|
||||
except tk.TclError:
|
||||
new_text = None
|
||||
if new_text != text:
|
||||
if text and new_text != text:
|
||||
data.log.info(new_text)
|
||||
text = new_text
|
||||
res_prefix = data.re_clipboard_prefix.search(text)
|
||||
if res_prefix:
|
||||
data.log.info(f'User: {res_prefix["user"]}')
|
||||
res = data.re_clipboard.search(text)
|
||||
sendkeys.send_text(text)
|
||||
if old_trade != text: # Don't send old trade again. Happnes sometimes if clipboard is used by other tools and restored
|
||||
sendkeys.send_text(text)
|
||||
old_trade = text
|
||||
else:
|
||||
data.log.info(f'Didn\'t send. Clipboard "{text}" already sent.')
|
||||
if res:
|
||||
trade = data.Trade.by_regex_result(res)
|
||||
data.log.info(trade)
|
||||
|
28
src/gui.py
28
src/gui.py
@ -25,23 +25,27 @@ class Gui(Tk):
|
||||
|
||||
def add_tab(self, number: int, message: Message) -> None:
|
||||
self.wm_deiconify()
|
||||
tab = ttk.Frame(self.tab_control, style='BW.TLabel')
|
||||
if message.user not in self.tabs:
|
||||
self.tabs[message.user] = dict()
|
||||
self.tabs[message.user] = {'tab': ttk.Frame(self.tab_control, style='BW.TLabel')}
|
||||
tab = self.tabs[message.user]['tab']
|
||||
if message.trade.item not in self.tabs[message.user]:
|
||||
self.tabs[message.user][message.trade.item] = (tab, message)
|
||||
ttk.Label(tab, text=message.trade.item, style='BW.TLabel').pack(anchor='e', side='left')
|
||||
Label(tab, text=f'{message.trade.amount} {message.trade.currency}').pack(anchor='e', side='left')
|
||||
self.add_button(tab=tab, text='Inv', callback=self.inv_callback, message=message)
|
||||
self.add_button(tab=tab, text='Trade', callback=self.trade_callback, message=message)
|
||||
self.add_button(tab=tab, text='Ty', callback=self.ty_callback, message=message)
|
||||
self.add_button(tab=tab, text='Wait', callback=self.wait_callback, message=message)
|
||||
self.add_button(tab=tab, text='X', callback=self.destroy_tab, message=message)
|
||||
# Button(tab, text='Inv', command=lambda mess=message: self.inv_callback(message, tab)).pack(anchor='e', side='left')
|
||||
Button(tab, text='Trade', command=lambda mess=message: self.trade_callback(message, tab)).pack(anchor='e', side='left')
|
||||
Button(tab, text='Ty', command=lambda mess=message: self.ty_callback(message, tab)).pack(anchor='e', side='left')
|
||||
Button(tab, text='Wait', command=lambda mess=message: self.wait_callback(message, tab)).pack(anchor='e', side='left')
|
||||
Button(tab, text='X', command=lambda mess=message: self.destroy_tab(message, tab)).pack(anchor='e', side='left')
|
||||
# Button(tab, text='Trade', command=lambda mess=message: self.trade_callback(message, tab)).pack(anchor='e', side='left')
|
||||
# Button(tab, text='Ty', command=lambda mess=message: self.ty_callback(message, tab)).pack(anchor='e', side='left')
|
||||
# Button(tab, text='Wait', command=lambda mess=message: self.wait_callback(message, tab)).pack(anchor='e', side='left')
|
||||
# Button(tab, text='X', command=lambda mess=message: self.destroy_tab(message, tab)).pack(anchor='e', side='left')
|
||||
self.tab_control.add(tab, text=message.user)
|
||||
|
||||
def add_button(tab: ttk.Frame, text: str, callback: Callable, message: Message) -> None:
|
||||
Button(tab, text=text, command=lambda mess=message: callback(message, tab)).pack(anchor='e', side='left')
|
||||
|
||||
def add_button(self, tab: ttk.Frame, text: str, callback: Callable, message: Message) -> None:
|
||||
Button(tab, text=text, command=lambda: callback(message, tab)).pack(anchor='e', side='left')
|
||||
|
||||
def start_move(self, event):
|
||||
self.x = event.x
|
||||
@ -76,9 +80,11 @@ class Gui(Tk):
|
||||
def destroy_tab(self, message: Message, tab: ttk.Frame) -> None:
|
||||
if message.user in self.tabs:
|
||||
if message.trade.item in self.tabs[message.user]:
|
||||
# Delete the item
|
||||
del self.tabs[message.user][message.trade.item]
|
||||
if not self.tabs[message.user]:
|
||||
if len(self.tabs[message.user]) == 1:
|
||||
# If no item from this user is left, then also delete the tab
|
||||
del self.tabs[message.user]
|
||||
tab.destroy()
|
||||
tab.destroy()
|
||||
if not self.tabs:
|
||||
self.wm_withdraw()
|
||||
|
Loading…
x
Reference in New Issue
Block a user