1
0
Fork 0
mirror of synced 2024-07-01 04:30:20 +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): 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):
if not self.init:
self.prepare_request() 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 = ""):

View file

@ -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,6 +31,9 @@ class SearchResults(QWidget):
QVBoxLayout().addWidget(self.widget) QVBoxLayout().addWidget(self.widget)
self.widget = QWidget() self.widget = QWidget()
self.layout = FlowLayout() self.layout = FlowLayout()
if not results:
self.layout.addWidget(QLabel(self.tr("No results found")))
else:
for res in results: for res in results:
w = _SearchResultItem(res) w = _SearchResultItem(res)
w.show_info.connect(self.show_info.emit) w.show_info.connect(self.show_info.emit)

View file

@ -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

View file

@ -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,7 +168,7 @@ 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)
@ -181,12 +183,12 @@ 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:

View file

@ -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()