more cleanup

This commit is contained in:
Oliver Hartmann 2023-01-05 16:03:58 +01:00
parent 527d7ff1de
commit d3ec409f18

View File

@ -1,8 +1,9 @@
from PySide6.QtWidgets import QPushButton, QHBoxLayout, QVBoxLayout, QWidget, QLabel, QSizePolicy from PySide6.QtWidgets import QPushButton, QHBoxLayout, QVBoxLayout, QWidget, QLabel, QSizePolicy, QFrame
from PySide6 import QtCore from PySide6 import QtCore
from src.data import Message from src.data import Message
from src import sendkeys from src import sendkeys
from src.data import log from src.data import log
from typing import Callable
class TradeWidget(QWidget): class TradeWidget(QWidget):
@ -17,32 +18,35 @@ class TradeWidget(QWidget):
self.main_layout = QHBoxLayout() self.main_layout = QHBoxLayout()
self.main_layout.setSpacing(0) self.main_layout.setSpacing(0)
# self.main_layout.setMargin(0)
self.setSizePolicy(QSizePolicy.Policy.Fixed, QSizePolicy.Policy.Fixed) self.setSizePolicy(QSizePolicy.Policy.Fixed, QSizePolicy.Policy.Fixed)
self.main_layout.setContentsMargins(0, 0, 0, 0) self.main_layout.setContentsMargins(0, 0, 0, 0)
self.setContentsMargins(0, 0, 0, 0)
self.setGeometry(0, 0, 0, 20)
self.setLayout(self.main_layout) self.setLayout(self.main_layout)
assert message.trade assert message.trade
self.label_user = QLabel(message.user)
self.label_item = QLabel(message.trade.item)
self.label_price = QLabel(f'{message.trade.amount} {message.trade.currency}')
buttons = [('inv', self.inv_callback), self.inv_button = self.new_button('inv', self.inv_callback)
('trade', self.trade_callback), self.trade_button = self.new_button('trade', self.trade_callback)
('ty', self.thank_callback), self.thank_button = self.new_button('thank', self.thank_callback)
('wait', self.wait_callback), self.wait_button = self.new_button('wait', self.wait_callback)
('X', self.delete_callback)] self.close_button = self.new_button('X', self.close_callback)
for button in buttons:
pb = QPushButton(button[0])
pb.setSizePolicy(QSizePolicy.Policy.Fixed, QSizePolicy.Policy.Fixed)
pb.setContentsMargins(0, 0, 0, 0)
pb.clicked.connect(button[1])
self.main_layout.addWidget(pb)
self.main_layout.addWidget(self.label_item) self.label_item = self.new_Label(message.trade.item)
self.main_layout.addWidget(self.label_price) self.label_price = self.new_Label(f'{message.trade.amount} {message.trade.currency}')
self.main_layout.addWidget(self.label_user) self.label_user = self.new_Label(message.user)
def new_button(self, text: str, callback: Callable[[], None]) -> QPushButton:
button = QPushButton(text)
button.setSizePolicy(QSizePolicy.Policy.Fixed, QSizePolicy.Policy.Fixed)
button.setContentsMargins(0, 0, 0, 0)
button.clicked.connect(callback)
self.main_layout.addWidget(button)
return button
def new_Label(self, text: str) -> QLabel:
label = QLabel(text)
label.setFrameStyle(QFrame.Panel | QFrame.Sunken)
label.setAlignment(QtCore.Qt.AlignLeft)
self.main_layout.addWidget(label)
return label
def inv_callback(self): def inv_callback(self):
sendkeys.invite(message=self.message) sendkeys.invite(message=self.message)
@ -51,7 +55,7 @@ class TradeWidget(QWidget):
def thank_callback(self): def thank_callback(self):
sendkeys.send_to_format(type='ty', message=self.message) sendkeys.send_to_format(type='ty', message=self.message)
sendkeys.kick(message=self.message) sendkeys.kick(message=self.message)
self.delete_callback() self.close_callback()
def trade_callback(self): def trade_callback(self):
sendkeys.trade(message=self.message) sendkeys.trade(message=self.message)
@ -59,13 +63,14 @@ class TradeWidget(QWidget):
def wait_callback(self): def wait_callback(self):
sendkeys.send_to_format(type='wait', message=self.message) sendkeys.send_to_format(type='wait', message=self.message)
def delete_callback(self): def close_callback(self):
self.deleteLater() self.deleteLater()
self.parent.del_trade(self.message) self.parent.del_trade(self.message)
class TradeCollection(QWidget): class TradeCollection(QWidget):
"""docstring for TradeCollection.""" """This holds the content of one tab.
One tab corresponds to a unique item."""
def __init__(self, def __init__(self,
message: Message, message: Message,
@ -86,18 +91,11 @@ class TradeCollection(QWidget):
self.trades = {message.unique_trade(): trade} self.trades = {message.unique_trade(): trade}
def childEvent(self, event: QtCore.QChildEvent) -> None: def childEvent(self, event: QtCore.QChildEvent) -> None:
if event.removed(): if event.removed() or event.added():
log.debug('Child removed') log.debug('Child added/removed')
self.parent.updateSizes() self.parent.updateSizes()
if event.added():
log.debug('Child added')
return super().childEvent(event) return super().childEvent(event)
def resizeEvent(self, event):
# self.resized.emit()
log.debug('resizeEvent')
return super(TradeCollection, self).resizeEvent(event)
def add_trade(self, message: Message) -> None: def add_trade(self, message: Message) -> None:
assert message.trade assert message.trade
if message.unique_trade() in self.trades: if message.unique_trade() in self.trades: