working out trades

This commit is contained in:
2023-01-07 23:56:54 +01:00
parent fd14e4578d
commit 4b85bc5b18
7 changed files with 36 additions and 52 deletions

View File

@@ -39,29 +39,16 @@ class ResizingTabWidget(QTabWidget):
self.adjustSize()
self.main_window.updateSizes()
def new_in_trade(self, message: Message):
def new_trade(self, message: Message):
if message.trade:
unique_item = message.trade.unique_item()
unique_item = message.unique_user_item()
if unique_item in self.trade_in_collections:
self.trade_in_collections[unique_item].add_trade(message)
else:
collection = TradeCollection(message, self)
collection = TradeCollection(self, unique_item)
collection.add_trade(message)
self.addTab(collection, message.trade.item)
self.trade_in_collections[message.trade.unique_item()] = collection
self.main_window.show()
self.main_window.updateSizes()
def new_out_trade(self, message: Message):
if message.trade:
unique_item = message.trade.unique_item()
if unique_item in self.trade_out_collections:
self.trade_out_collections[unique_item].add_trade(message)
else:
collection = TradeCollection(message, self)
self.addTab(collection, message.trade.item)
self.trade_out_collections[message.trade.unique_item()] = collection
self.trade_in_collections[unique_item] = collection
self.main_window.show()
@@ -70,13 +57,13 @@ class ResizingTabWidget(QTabWidget):
def del_tab(self, index: int):
collection = self.widget(index)
assert isinstance(collection, TradeCollection)
self.trade_in_collections[collection.unique_item].deleteLater()
del self.trade_in_collections[collection.unique_item]
self.trade_in_collections[collection.unique_user_item].deleteLater()
del self.trade_in_collections[collection.unique_user_item]
if not self.trade_in_collections:
self.main_window.hide()
def del_collection(self, unique_item: str):
del self.trade_in_collections[unique_item]
def del_collection(self, unique_user_item: str):
del self.trade_in_collections[unique_user_item]
if not self.trade_in_collections:
self.main_window.hide()
@@ -104,12 +91,8 @@ class MainWindow(QMainWindow):
self.resize(self.tab_widget.minimumSizeHint())
@QtCore.Slot()
def new_in_trade(self, message: Message):
self.tab_widget.new_in_trade(message)
@QtCore.Slot()
def new_out_trade(self, message: Message):
self.tab_widget.new_out_trade(message)
def new_trade(self, message: Message):
self.tab_widget.new_trade(message)
def start_app():