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:
|
def clipboard_poll(app: tk) -> None:
|
||||||
data.log.info('clipboard thread started')
|
data.log.debug('clipboard thread started')
|
||||||
text = None
|
text = None # Last clipboard entry
|
||||||
|
old_trade = None # This is the last trade, not the last clipboard entry
|
||||||
while True:
|
while True:
|
||||||
try:
|
try:
|
||||||
new_text = app.clipboard_get()
|
new_text = app.clipboard_get()
|
||||||
except tk.TclError:
|
except tk.TclError:
|
||||||
new_text = None
|
new_text = None
|
||||||
if new_text != text:
|
if text and new_text != text:
|
||||||
data.log.info(new_text)
|
data.log.info(new_text)
|
||||||
text = new_text
|
text = new_text
|
||||||
res_prefix = data.re_clipboard_prefix.search(text)
|
res_prefix = data.re_clipboard_prefix.search(text)
|
||||||
if res_prefix:
|
if res_prefix:
|
||||||
data.log.info(f'User: {res_prefix["user"]}')
|
data.log.info(f'User: {res_prefix["user"]}')
|
||||||
res = data.re_clipboard.search(text)
|
res = data.re_clipboard.search(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)
|
sendkeys.send_text(text)
|
||||||
|
old_trade = text
|
||||||
|
else:
|
||||||
|
data.log.info(f'Didn\'t send. Clipboard "{text}" already sent.')
|
||||||
if res:
|
if res:
|
||||||
trade = data.Trade.by_regex_result(res)
|
trade = data.Trade.by_regex_result(res)
|
||||||
data.log.info(trade)
|
data.log.info(trade)
|
||||||
|
24
src/gui.py
24
src/gui.py
@ -25,23 +25,27 @@ class Gui(Tk):
|
|||||||
|
|
||||||
def add_tab(self, number: int, message: Message) -> None:
|
def add_tab(self, number: int, message: Message) -> None:
|
||||||
self.wm_deiconify()
|
self.wm_deiconify()
|
||||||
tab = ttk.Frame(self.tab_control, style='BW.TLabel')
|
|
||||||
if message.user not in self.tabs:
|
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]:
|
if message.trade.item not in self.tabs[message.user]:
|
||||||
self.tabs[message.user][message.trade.item] = (tab, message)
|
self.tabs[message.user][message.trade.item] = (tab, message)
|
||||||
ttk.Label(tab, text=message.trade.item, style='BW.TLabel').pack(anchor='e', side='left')
|
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')
|
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='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='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='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='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='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='X', command=lambda mess=message: self.destroy_tab(message, tab)).pack(anchor='e', side='left')
|
||||||
self.tab_control.add(tab, text=message.user)
|
self.tab_control.add(tab, text=message.user)
|
||||||
|
|
||||||
def add_button(tab: ttk.Frame, text: str, callback: Callable, message: Message) -> None:
|
def add_button(self, 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')
|
Button(tab, text=text, command=lambda: callback(message, tab)).pack(anchor='e', side='left')
|
||||||
|
|
||||||
def start_move(self, event):
|
def start_move(self, event):
|
||||||
self.x = event.x
|
self.x = event.x
|
||||||
@ -76,8 +80,10 @@ class Gui(Tk):
|
|||||||
def destroy_tab(self, message: Message, tab: ttk.Frame) -> None:
|
def destroy_tab(self, message: Message, tab: ttk.Frame) -> None:
|
||||||
if message.user in self.tabs:
|
if message.user in self.tabs:
|
||||||
if message.trade.item in self.tabs[message.user]:
|
if message.trade.item in self.tabs[message.user]:
|
||||||
|
# Delete the item
|
||||||
del self.tabs[message.user][message.trade.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]
|
del self.tabs[message.user]
|
||||||
tab.destroy()
|
tab.destroy()
|
||||||
if not self.tabs:
|
if not self.tabs:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user