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):
|
class BrowseGames(QWidget, Ui_browse_games):
|
||||||
show_game = pyqtSignal(dict)
|
show_game = pyqtSignal(dict)
|
||||||
|
init = False
|
||||||
price = ""
|
price = ""
|
||||||
tags = []
|
tags = []
|
||||||
types = []
|
types = []
|
||||||
|
@ -65,7 +66,9 @@ class BrowseGames(QWidget, Ui_browse_games):
|
||||||
self.type_gb.layout().addWidget(checkbox)
|
self.type_gb.layout().addWidget(checkbox)
|
||||||
|
|
||||||
def load(self):
|
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,
|
def prepare_request(self, price: str = None, added_tag: int = 0, removed_tag: int = 0,
|
||||||
added_type: str = "", removed_type: str = ""):
|
added_type: str = "", removed_type: str = ""):
|
||||||
|
|
|
@ -9,7 +9,6 @@ from rare.utils.extra_widgets import ImageLabel, FlowLayout
|
||||||
class SearchResults(QWidget):
|
class SearchResults(QWidget):
|
||||||
show_info = pyqtSignal(dict)
|
show_info = pyqtSignal(dict)
|
||||||
|
|
||||||
# TODO nice look
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
super(SearchResults, self).__init__()
|
super(SearchResults, self).__init__()
|
||||||
self.main_layout = QVBoxLayout()
|
self.main_layout = QVBoxLayout()
|
||||||
|
@ -32,10 +31,13 @@ class SearchResults(QWidget):
|
||||||
QVBoxLayout().addWidget(self.widget)
|
QVBoxLayout().addWidget(self.widget)
|
||||||
self.widget = QWidget()
|
self.widget = QWidget()
|
||||||
self.layout = FlowLayout()
|
self.layout = FlowLayout()
|
||||||
for res in results:
|
if not results:
|
||||||
w = _SearchResultItem(res)
|
self.layout.addWidget(QLabel(self.tr("No results found")))
|
||||||
w.show_info.connect(self.show_info.emit)
|
else:
|
||||||
self.layout.addWidget(w)
|
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.widget.setLayout(self.layout)
|
||||||
self.result_area.setWidget(self.widget)
|
self.result_area.setWidget(self.widget)
|
||||||
|
|
||||||
|
|
|
@ -47,6 +47,8 @@ class ShopGameInfo(QWidget, Ui_shop_info):
|
||||||
self.owned_label.setVisible(False)
|
self.owned_label.setVisible(False)
|
||||||
|
|
||||||
self.dev.setText(self.tr("Loading"))
|
self.dev.setText(self.tr("Loading"))
|
||||||
|
self.price.setText(self.tr("Loading"))
|
||||||
|
self.title.setText(self.tr("Loading"))
|
||||||
self.image.setPixmap(QPixmap())
|
self.image.setPixmap(QPixmap())
|
||||||
self.data = data
|
self.data = data
|
||||||
is_bundle = False
|
is_bundle = False
|
||||||
|
|
|
@ -150,11 +150,13 @@ class ShopWidget(QScrollArea, Ui_ShopWidget):
|
||||||
request.setHeader(QNetworkRequest.ContentTypeHeader, "application/json")
|
request.setHeader(QNetworkRequest.ContentTypeHeader, "application/json")
|
||||||
self.search_request = self.manager.post(request, payload)
|
self.search_request = self.manager.post(request, payload)
|
||||||
self.search_request.finished.connect(lambda: self.show_search_results(show_direct))
|
self.search_request.finished.connect(lambda: self.show_search_results(show_direct))
|
||||||
|
self.active_search_request = True
|
||||||
|
|
||||||
else:
|
else:
|
||||||
self.next_search = text
|
self.next_search = text
|
||||||
|
|
||||||
def show_search_results(self, show_direct=False):
|
def show_search_results(self, show_direct=False):
|
||||||
|
self.active_search_request = False
|
||||||
if self.search_request:
|
if self.search_request:
|
||||||
try:
|
try:
|
||||||
if self.search_request.error() == QNetworkReply.NoError:
|
if self.search_request.error() == QNetworkReply.NoError:
|
||||||
|
@ -166,14 +168,14 @@ class ShopWidget(QScrollArea, Ui_ShopWidget):
|
||||||
self.data = data
|
self.data = data
|
||||||
if show_direct:
|
if show_direct:
|
||||||
self.show_search_result(True)
|
self.show_search_result(True)
|
||||||
return
|
else:
|
||||||
titles = [i.get("title") for i in data]
|
titles = [i.get("title") for i in data]
|
||||||
model = QStringListModel()
|
model = QStringListModel()
|
||||||
model.setStringList(titles)
|
model.setStringList(titles)
|
||||||
self.completer.setModel(model)
|
self.completer.setModel(model)
|
||||||
# self.completer.popup()
|
# self.completer.popup()
|
||||||
if self.search_request:
|
if self.search_request:
|
||||||
self.search_request.deleteLater()
|
self.search_request.deleteLater()
|
||||||
else:
|
else:
|
||||||
logging.error(error.errorString())
|
logging.error(error.errorString())
|
||||||
# response = .decode(encoding="utf-8")
|
# response = .decode(encoding="utf-8")
|
||||||
|
@ -181,13 +183,13 @@ class ShopWidget(QScrollArea, Ui_ShopWidget):
|
||||||
# results = json.loads(response)
|
# results = json.loads(response)
|
||||||
except RuntimeError:
|
except RuntimeError:
|
||||||
return
|
return
|
||||||
|
if self.next_search:
|
||||||
self.search_games(self.next_search)
|
self.search_games(self.next_search)
|
||||||
|
self.next_search = ""
|
||||||
|
|
||||||
def show_search_result(self, show_direct=False):
|
def show_search_result(self, show_direct=False):
|
||||||
if not show_direct:
|
if not show_direct:
|
||||||
if self.data:
|
self.show_info.emit(self.data)
|
||||||
self.show_info.emit(self.data)
|
|
||||||
else:
|
else:
|
||||||
try:
|
try:
|
||||||
result = self.data[0]
|
result = self.data[0]
|
||||||
|
|
|
@ -324,7 +324,7 @@ class ButtonLineEdit(QLineEdit):
|
||||||
self.button.setStyleSheet('border: 0px; padding: 0px;')
|
self.button.setStyleSheet('border: 0px; padding: 0px;')
|
||||||
self.button.setCursor(Qt.ArrowCursor)
|
self.button.setCursor(Qt.ArrowCursor)
|
||||||
self.button.clicked.connect(self.buttonClicked.emit)
|
self.button.clicked.connect(self.buttonClicked.emit)
|
||||||
|
self.setPlaceholderText(placeholder_text)
|
||||||
frameWidth = self.style().pixelMetric(QStyle.PM_DefaultFrameWidth)
|
frameWidth = self.style().pixelMetric(QStyle.PM_DefaultFrameWidth)
|
||||||
buttonSize = self.button.sizeHint()
|
buttonSize = self.button.sizeHint()
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue