more implementations for pyside gui
This commit is contained in:
parent
1f63d814ac
commit
e96ec3eaec
@ -86,6 +86,9 @@ class Trade():
|
|||||||
def __str__(self) -> str:
|
def __str__(self) -> str:
|
||||||
return f'Trade: {self.nrItems} {self.item} for {self.amount} {self.currency} in {self.tab} ({self.row}/{self.col}) in {self.league} league'
|
return f'Trade: {self.nrItems} {self.item} for {self.amount} {self.currency} in {self.tab} ({self.row}/{self.col}) in {self.league} league'
|
||||||
|
|
||||||
|
def unique_item(self) -> str:
|
||||||
|
return f'{self.item}-{self.tab}-{self.row}/{self.col}-{self.league}'
|
||||||
|
|
||||||
|
|
||||||
class Message():
|
class Message():
|
||||||
def __init__(self,
|
def __init__(self,
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
import sys
|
import sys
|
||||||
sys.path.append('d:/PoeTrader')
|
sys.path.append('d:/PoeTrader')
|
||||||
from PySide6.QtWidgets import QApplication, QMainWindow, QVBoxLayout, QTabWidget
|
|
||||||
from PySide6 import QtCore
|
|
||||||
from trade_widget import TradeCollection
|
|
||||||
from src.data import Message
|
|
||||||
from src import config
|
from src import config
|
||||||
|
from src.data import Message
|
||||||
|
from trade_widget import TradeCollection
|
||||||
|
from PySide6 import QtCore
|
||||||
|
from PySide6.QtWidgets import QApplication, QMainWindow, QVBoxLayout, QTabWidget
|
||||||
|
|
||||||
|
|
||||||
class MainWindow(QMainWindow):
|
class MainWindow(QMainWindow):
|
||||||
@ -12,27 +12,38 @@ class MainWindow(QMainWindow):
|
|||||||
super().__init__()
|
super().__init__()
|
||||||
|
|
||||||
config.read_config(r'config.yaml')
|
config.read_config(r'config.yaml')
|
||||||
self.button_is_checked = True
|
|
||||||
self.setWindowFlag(QtCore.Qt.FramelessWindowHint)
|
self.setWindowFlag(QtCore.Qt.FramelessWindowHint)
|
||||||
# self.setAttribute(QtCore.Qt.WA_TranslucentBackground)
|
self.setAttribute(QtCore.Qt.WA_TranslucentBackground)
|
||||||
|
|
||||||
|
self.trades = {}
|
||||||
|
|
||||||
text = '2021/03/08 23:24:52 17931875 bb3 [INFO Client 1492] @From Sinusal: Hi, I would like to buy your level 21 23% Vaal Impurity of Lightning ' \
|
text = '2021/03/08 23:24:52 17931875 bb3 [INFO Client 1492] @From Sinusal: Hi, I would like to buy your level 21 23% Vaal Impurity of Lightning ' \
|
||||||
'listed for 18 chaos in Ritual (stash tab "$"; position: left 22, top 5)'
|
'listed for 18 chaos in Ritual (stash tab "$"; position: left 22, top 5)'
|
||||||
|
text2 = '2021/03/08 23:24:52 17931875 bb3 [INFO Client 1492] @From NiceGuy: Hi, I would like to buy your level 21 23% Vaal Impurity of Lightning ' \
|
||||||
|
'listed for 18 chaos in Ritual (stash tab "$"; position: left 22, top 5)'
|
||||||
message = Message.from_text(text)
|
message = Message.from_text(text)
|
||||||
|
message2 = Message.from_text(text2)
|
||||||
self.setWindowTitle("My App")
|
self.setWindowTitle("My App")
|
||||||
|
|
||||||
self.main_widget = QTabWidget()
|
self.main_widget = QTabWidget()
|
||||||
|
|
||||||
# self.main_layout = QVBoxLayout()
|
# self.main_layout = QVBoxLayout()
|
||||||
if message:
|
self.new_trade(message)
|
||||||
trade_collection = TradeCollection(message)
|
self.new_trade(message)
|
||||||
trade_collection.add_trade(message)
|
self.new_trade(message2)
|
||||||
self.main_widget.addTab(trade_collection, 'Hello')
|
|
||||||
self.main_widget.addTab(TradeCollection(message), 'Hello2')
|
|
||||||
# self.main_layout.addWidget(TradeWidget(message))
|
|
||||||
|
|
||||||
self.setCentralWidget(self.main_widget)
|
self.setCentralWidget(self.main_widget)
|
||||||
|
|
||||||
|
def new_trade(self, message: Message):
|
||||||
|
if message.trade:
|
||||||
|
unique_item = message.trade.unique_item()
|
||||||
|
if unique_item in self.trades:
|
||||||
|
self.trades[unique_item].add_trade(message)
|
||||||
|
else:
|
||||||
|
collection = TradeCollection(message)
|
||||||
|
self.trades[message.trade.unique_item()] = collection
|
||||||
|
self.main_widget.addTab(collection, message.trade.item)
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
pass
|
pass
|
||||||
|
@ -15,6 +15,7 @@ class TradeWidget(QWidget):
|
|||||||
|
|
||||||
self.main_layout = QHBoxLayout()
|
self.main_layout = QHBoxLayout()
|
||||||
self.setLayout(self.main_layout)
|
self.setLayout(self.main_layout)
|
||||||
|
self.label_user = QLabel(message.user)
|
||||||
self.label_item = QLabel(message.trade.item)
|
self.label_item = QLabel(message.trade.item)
|
||||||
self.label_price = QLabel(f'{message.trade.amount} {message.trade.currency}')
|
self.label_price = QLabel(f'{message.trade.amount} {message.trade.currency}')
|
||||||
|
|
||||||
@ -30,6 +31,7 @@ class TradeWidget(QWidget):
|
|||||||
self.wait_button.clicked.connect(self.wait_callback)
|
self.wait_button.clicked.connect(self.wait_callback)
|
||||||
self.del_button.clicked.connect(self.delete_callback)
|
self.del_button.clicked.connect(self.delete_callback)
|
||||||
|
|
||||||
|
self.main_layout.addWidget(self.label_user)
|
||||||
self.main_layout.addWidget(self.label_item)
|
self.main_layout.addWidget(self.label_item)
|
||||||
self.main_layout.addWidget(self.label_price)
|
self.main_layout.addWidget(self.label_price)
|
||||||
self.main_layout.addWidget(self.inv_button)
|
self.main_layout.addWidget(self.inv_button)
|
||||||
@ -45,7 +47,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.deleteLater()
|
self.delete_callback()
|
||||||
|
|
||||||
def trade_callback(self):
|
def trade_callback(self):
|
||||||
sendkeys.trade(message=self.message)
|
sendkeys.trade(message=self.message)
|
||||||
@ -55,7 +57,7 @@ class TradeWidget(QWidget):
|
|||||||
|
|
||||||
def delete_callback(self):
|
def delete_callback(self):
|
||||||
self.deleteLater()
|
self.deleteLater()
|
||||||
self.parent.del_trade(self)
|
self.parent.del_trade(self.message)
|
||||||
|
|
||||||
|
|
||||||
class TradeCollection(QWidget):
|
class TradeCollection(QWidget):
|
||||||
@ -66,14 +68,16 @@ class TradeCollection(QWidget):
|
|||||||
self.setLayout(self.main_layout)
|
self.setLayout(self.main_layout)
|
||||||
trade = TradeWidget(message, self)
|
trade = TradeWidget(message, self)
|
||||||
self.main_layout.addWidget(trade)
|
self.main_layout.addWidget(trade)
|
||||||
self.counter = 1
|
self.trades = {message.trade.__hash__: trade}
|
||||||
|
|
||||||
def add_trade(self, message: Message) -> None:
|
def add_trade(self, message: Message) -> None:
|
||||||
|
if message.trade.__hash__ in self.trades:
|
||||||
|
return
|
||||||
trade = TradeWidget(message, self)
|
trade = TradeWidget(message, self)
|
||||||
self.main_layout.addWidget(trade)
|
self.main_layout.addWidget(trade)
|
||||||
self.counter += 1
|
self.trades[message.trade.__hash__] = trade
|
||||||
|
|
||||||
def del_trade(self, trade: TradeWidget):
|
def del_trade(self, message: Message):
|
||||||
self.counter -= 1
|
del self.trades[message.trade.__hash__]
|
||||||
if self.counter == 0:
|
if not self.trades:
|
||||||
self.deleteLater()
|
self.deleteLater()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user