Some optimizations
This commit is contained in:
parent
98386f0bbb
commit
2233c7f338
|
@ -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 = ""):
|
||||
|
|
|
@ -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)
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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]
|
||||
|
|
|
@ -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()
|
||||
|
||||
|
|
Loading…
Reference in a new issue