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 src.data import Message
from src import sendkeys
from src.data import log
from typing import Callable
class TradeWidget(QWidget):
@ -17,32 +18,35 @@ class TradeWidget(QWidget):
self.main_layout = QHBoxLayout()
self.main_layout.setSpacing(0)
# self.main_layout.setMargin(0)
self.setSizePolicy(QSizePolicy.Policy.Fixed, QSizePolicy.Policy.Fixed)
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)
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),
('trade', self.trade_callback),
('ty', self.thank_callback),
('wait', self.wait_callback),
('X', self.delete_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.inv_button = self.new_button('inv', self.inv_callback)
self.trade_button = self.new_button('trade', self.trade_callback)
self.thank_button = self.new_button('thank', self.thank_callback)
self.wait_button = self.new_button('wait', self.wait_callback)
self.close_button = self.new_button('X', self.close_callback)
self.main_layout.addWidget(self.label_item)
self.main_layout.addWidget(self.label_price)
self.main_layout.addWidget(self.label_user)
self.label_item = self.new_Label(message.trade.item)
self.label_price = self.new_Label(f'{message.trade.amount} {message.trade.currency}')
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):
sendkeys.invite(message=self.message)
@ -51,7 +55,7 @@ class TradeWidget(QWidget):
def thank_callback(self):
sendkeys.send_to_format(type='ty', message=self.message)
sendkeys.kick(message=self.message)
self.delete_callback()
self.close_callback()
def trade_callback(self):
sendkeys.trade(message=self.message)
@ -59,13 +63,14 @@ class TradeWidget(QWidget):
def wait_callback(self):
sendkeys.send_to_format(type='wait', message=self.message)
def delete_callback(self):
def close_callback(self):
self.deleteLater()
self.parent.del_trade(self.message)
class TradeCollection(QWidget):
"""docstring for TradeCollection."""
"""This holds the content of one tab.
One tab corresponds to a unique item."""
def __init__(self,
message: Message,
@ -86,18 +91,11 @@ class TradeCollection(QWidget):
self.trades = {message.unique_trade(): trade}
def childEvent(self, event: QtCore.QChildEvent) -> None:
if event.removed():
log.debug('Child removed')
if event.removed() or event.added():
log.debug('Child added/removed')
self.parent.updateSizes()
if event.added():
log.debug('Child added')
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:
assert message.trade
if message.unique_trade() in self.trades: