1
0
Fork 0
mirror of synced 2024-06-24 01:00:43 +12:00

Some optimizations

This commit is contained in:
Dummerle 2021-06-30 00:38:42 +02:00
parent 98386f0bbb
commit 2233c7f338
5 changed files with 28 additions and 19 deletions

View file

@ -18,6 +18,7 @@ logger = logging.getLogger("BrowseGames")
class BrowseGames(QWidget, Ui_browse_games):
show_game = pyqtSignal(dict)
init = False
price = ""
tags = []
types = []
@ -65,7 +66,9 @@ class BrowseGames(QWidget, Ui_browse_games):
self.type_gb.layout().addWidget(checkbox)
def load(self):
self.prepare_request()
if not self.init:
self.prepare_request()
self.init = True
def prepare_request(self, price: str = None, added_tag: int = 0, removed_tag: int = 0,
added_type: str = "", removed_type: str = ""):

View file

@ -9,7 +9,6 @@ from rare.utils.extra_widgets import ImageLabel, FlowLayout
class SearchResults(QWidget):
show_info = pyqtSignal(dict)
# TODO nice look
def __init__(self):
super(SearchResults, self).__init__()
self.main_layout = QVBoxLayout()
@ -32,10 +31,13 @@ class SearchResults(QWidget):
QVBoxLayout().addWidget(self.widget)
self.widget = QWidget()
self.layout = FlowLayout()
for res in results:
w = _SearchResultItem(res)
w.show_info.connect(self.show_info.emit)
self.layout.addWidget(w)
if not results:
self.layout.addWidget(QLabel(self.tr("No results found")))
else:
for res in results:
w = _SearchResultItem(res)
w.show_info.connect(self.show_info.emit)
self.layout.addWidget(w)
self.widget.setLayout(self.layout)
self.result_area.setWidget(self.widget)

View file

@ -47,6 +47,8 @@ class ShopGameInfo(QWidget, Ui_shop_info):
self.owned_label.setVisible(False)
self.dev.setText(self.tr("Loading"))
self.price.setText(self.tr("Loading"))
self.title.setText(self.tr("Loading"))
self.image.setPixmap(QPixmap())
self.data = data
is_bundle = False

View file

@ -150,11 +150,13 @@ class ShopWidget(QScrollArea, Ui_ShopWidget):
request.setHeader(QNetworkRequest.ContentTypeHeader, "application/json")
self.search_request = self.manager.post(request, payload)
self.search_request.finished.connect(lambda: self.show_search_results(show_direct))
self.active_search_request = True
else:
self.next_search = text
def show_search_results(self, show_direct=False):
self.active_search_request = False
if self.search_request:
try:
if self.search_request.error() == QNetworkReply.NoError:
@ -166,14 +168,14 @@ class ShopWidget(QScrollArea, Ui_ShopWidget):
self.data = data
if show_direct:
self.show_search_result(True)
return
titles = [i.get("title") for i in data]
model = QStringListModel()
model.setStringList(titles)
self.completer.setModel(model)
# self.completer.popup()
if self.search_request:
self.search_request.deleteLater()
else:
titles = [i.get("title") for i in data]
model = QStringListModel()
model.setStringList(titles)
self.completer.setModel(model)
# self.completer.popup()
if self.search_request:
self.search_request.deleteLater()
else:
logging.error(error.errorString())
# response = .decode(encoding="utf-8")
@ -181,13 +183,13 @@ class ShopWidget(QScrollArea, Ui_ShopWidget):
# results = json.loads(response)
except RuntimeError:
return
self.search_games(self.next_search)
if self.next_search:
self.search_games(self.next_search)
self.next_search = ""
def show_search_result(self, show_direct=False):
if not show_direct:
if self.data:
self.show_info.emit(self.data)
self.show_info.emit(self.data)
else:
try:
result = self.data[0]

View file

@ -324,7 +324,7 @@ class ButtonLineEdit(QLineEdit):
self.button.setStyleSheet('border: 0px; padding: 0px;')
self.button.setCursor(Qt.ArrowCursor)
self.button.clicked.connect(self.buttonClicked.emit)
self.setPlaceholderText(placeholder_text)
frameWidth = self.style().pixelMetric(QStyle.PM_DefaultFrameWidth)
buttonSize = self.button.sizeHint()