From 676c253a13916baff1ffb79300ed8bf4b049882d Mon Sep 17 00:00:00 2001 From: Dummerle Date: Thu, 10 Jun 2021 19:58:35 +0200 Subject: [PATCH] Some improvements --- rare/components/tab_widget.py | 18 +-- rare/components/tabs/shop/__init__.py | 2 +- rare/components/tabs/shop/search_results.py | 2 +- rare/components/tabs/shop/shop_models.py | 9 +- rare/components/tabs/shop/shop_widget.py | 125 ++++++++++++++------ rare/ui/components/tabs/store/store.py | 46 ++----- rare/ui/components/tabs/store/store.ui | 36 +----- test.py | 20 ---- 8 files changed, 114 insertions(+), 144 deletions(-) delete mode 100644 test.py diff --git a/rare/components/tab_widget.py b/rare/components/tab_widget.py index 566e08bf..238e39f1 100644 --- a/rare/components/tab_widget.py +++ b/rare/components/tab_widget.py @@ -1,5 +1,3 @@ -import webbrowser - from PyQt5.QtCore import QSize, pyqtSignal from PyQt5.QtWidgets import QMenu, QTabWidget, QWidget, QWidgetAction from qtawesome import icon @@ -26,32 +24,23 @@ class TabWidget(QTabWidget): disabled_tab = 4 if not offline else 1 self.core = core self.setTabBar(TabBar(disabled_tab)) - # Generate Tabs self.games_tab = GameTab(core, self, offline) self.addTab(self.games_tab, self.tr("Games")) - if not offline: updates = self.games_tab.default_widget.game_list.updates self.downloadTab = DownloadTab(core, updates, self) self.addTab(self.downloadTab, "Downloads" + (" (" + str(len(updates)) + ")" if len(updates) != 0 else "")) - self.cloud_saves = SyncSaves(core, self) self.addTab(self.cloud_saves, "Cloud Saves") - self.store = Shop() - self.addTab(self.store, self.tr("Store")) - + self.addTab(self.store, self.tr("Store (Beta)")) self.settings = SettingsTab(core, self) # Space Tab self.addTab(QWidget(), "") self.setTabEnabled(disabled_tab, False) - # Buttons - store_button = TabButtonWidget(core, 'fa.shopping-cart', 'Epic Games Store') - store_button.pressed.connect(lambda: webbrowser.open("https://www.epicgames.com/store")) - self.tabBar().setTabButton(disabled_tab, self.tabBar().RightSide, store_button) - + # Button self.account = QWidget() self.addTab(self.account, "") self.setTabEnabled(disabled_tab + 1, False) @@ -151,8 +140,7 @@ class TabWidget(QTabWidget): self.setTabText(1, "Downloads" + ((" (" + str(downloads) + ")") if downloads != 0 else "")) self.downloadTab.update_text.setVisible(len(self.downloadTab.update_widgets) == 0) - # Update gamelist and set text of Downlaods to "Downloads" - + # Update gamelist and set text of Downloads to "Downloads" def dl_finished(self, update_list): if update_list[0]: self.games_tab.default_widget.game_list.update_list(update_list[1]) diff --git a/rare/components/tabs/shop/__init__.py b/rare/components/tabs/shop/__init__.py index d363e6b6..64269786 100644 --- a/rare/components/tabs/shop/__init__.py +++ b/rare/components/tabs/shop/__init__.py @@ -22,6 +22,7 @@ class Shop(QStackedWidget): self.addWidget(self.info) self.info.back_button.clicked.connect(lambda: self.setCurrentIndex(0)) + self.search_results.back_button.clicked.connect(lambda: self.setCurrentIndex(0)) self.shop.show_info.connect(self.show_info) self.shop.show_game.connect(self.show_game_info) @@ -37,4 +38,3 @@ class Shop(QStackedWidget): def show_info(self, data): self.search_results.show_results(data) self.setCurrentIndex(1) - diff --git a/rare/components/tabs/shop/search_results.py b/rare/components/tabs/shop/search_results.py index bfcad500..f9c035e8 100644 --- a/rare/components/tabs/shop/search_results.py +++ b/rare/components/tabs/shop/search_results.py @@ -13,7 +13,7 @@ class SearchResults(QWidget): def __init__(self): super(SearchResults, self).__init__() self.main_layout = QVBoxLayout() - self.back_button = QPushButton() + self.back_button = QPushButton(self.tr("Back")) self.main_layout.addWidget(self.back_button) self.main_layout.addWidget(self.back_button) self.result_area = QScrollArea() diff --git a/rare/components/tabs/shop/shop_models.py b/rare/components/tabs/shop/shop_models.py index e6942f2d..f5f7b485 100644 --- a/rare/components/tabs/shop/shop_models.py +++ b/rare/components/tabs/shop/shop_models.py @@ -36,7 +36,7 @@ class ShopGame: else: self.links = [] self.languages = langs - self.reqs = reqs # {"Betriebssystem":win7, processor:i9 9900k, ram...}; Note: name from language + self.reqs = reqs self.publisher = publisher self.developer = developer self.price = original_price @@ -44,7 +44,6 @@ class ShopGame: @classmethod def from_json(cls, api_data: dict, search_data: dict): - print(api_data) if isinstance(api_data, list): for product in api_data: if product["_title"] == "home": @@ -66,8 +65,10 @@ class ShopGame: for i, system in enumerate(api_data["data"]["requirements"]["systems"]): tmp.reqs[system["systemType"]] = {} for req in system["details"]: - tmp.reqs[system["systemType"]][req["title"]] = (req["minimum"], req["recommended"]) - + try: + tmp.reqs[system["systemType"]][req["title"]] = (req["minimum"], req["recommended"]) + except KeyError: + pass tmp.publisher = api_data["data"]["meta"].get("publisher", "undefined") tmp.developer = api_data["data"]["meta"].get("developer", "undefined") tmp.price = search_data['price']['totalPrice']['fmtPrice']['originalPrice'] diff --git a/rare/components/tabs/shop/shop_widget.py b/rare/components/tabs/shop/shop_widget.py index 86340e95..05bba24c 100644 --- a/rare/components/tabs/shop/shop_widget.py +++ b/rare/components/tabs/shop/shop_widget.py @@ -6,17 +6,18 @@ from json import JSONDecodeError import requests from PyQt5 import QtGui -from PyQt5.QtCore import Qt, pyqtSignal, QUrl, QByteArray, QJsonDocument, QJsonParseError, \ +from PyQt5.QtCore import Qt, pyqtSignal, QUrl, QJsonDocument, QJsonParseError, \ QStringListModel from PyQt5.QtGui import QPixmap from PyQt5.QtNetwork import QNetworkAccessManager, QNetworkRequest, QNetworkReply -from PyQt5.QtWidgets import QWidget, QVBoxLayout, QLabel, QHBoxLayout, QCompleter +from PyQt5.QtWidgets import QWidget, QVBoxLayout, QLabel, QCompleter, QGroupBox, QHBoxLayout from rare.ui.components.tabs.store.store import Ui_ShopWidget -from rare.utils.extra_widgets import WaitingSpinner, ImageLabel +from rare.utils.extra_widgets import WaitingSpinner, ImageLabel, FlowLayout from rare.utils.utils import get_lang +# noinspection PyAttributeOutsideInit,PyBroadException class ShopWidget(QWidget, Ui_ShopWidget): show_info = pyqtSignal(list) show_game = pyqtSignal(dict) @@ -25,10 +26,17 @@ class ShopWidget(QWidget, Ui_ShopWidget): def __init__(self): super(ShopWidget, self).__init__() self.setupUi(self) - self.search_results.setVisible(False) self.manager = QNetworkAccessManager() + self.free_games_widget = QWidget() + self.free_games_widget.setLayout(FlowLayout()) + self.free_games_now = QGroupBox(self.tr("Free Games")) + self.free_games_now.setLayout(QHBoxLayout()) + self.free_games_widget.layout().addWidget(self.free_games_now) + self.coming_free_games = QGroupBox(self.tr("Free Games next week")) + self.coming_free_games.setLayout(QHBoxLayout()) + self.free_games_widget.layout().addWidget(self.coming_free_games) self.free_games_stack.addWidget(WaitingSpinner()) - self.free_games_stack.setCurrentIndex(1) + self.free_games_stack.addWidget(self.free_games_widget) self.search.textChanged.connect(self.search_games) self.completer = QCompleter() self.completer.setCaseSensitivity(Qt.CaseInsensitive) @@ -45,8 +53,7 @@ class ShopWidget(QWidget, Ui_ShopWidget): os.makedirs(self.path) url = "https://store-site-backend-static.ak.epicgames.com/freeGamesPromotions" self.free_game_request = self.manager.get(QNetworkRequest(QUrl(url))) - self.free_game_request.readyRead.connect(self.add_free_games) - self.free_game_request.finished.connect(self.free_game_request.deleteLater if self.free_game_request else None) + self.free_game_request.finished.connect(self.add_free_games) # free_games = api_utils.get_free_games() @@ -71,20 +78,30 @@ class ShopWidget(QWidget, Ui_ShopWidget): continue try: # parse datetime - end_date = datetime.datetime.strptime( - game["promotions"].get("promotionalOffers", game["promotions"].get("upcomingPromotionalOffers"))[0][ - "promotionalOffers"][0]["endDate"], - '%Y-%m-%dT%H:%M:%S.%fZ') - start_date = datetime.datetime.strptime( - game["promotions"].get("promotionalOffers", game["promotions"].get("upcomingPromotionalOffers"))[0][ - "promotionalOffers"][0]["startDate"], - '%Y-%m-%dT%H:%M:%S.%fZ') - except IndexError: - print("index error") - continue - except KeyError: - print("keyerror") - continue + try: + end_date = datetime.datetime.strptime( + game["promotions"]["upcomingPromotionalOffers"][0]["promotionalOffers"][0]["endDate"], + '%Y-%m-%dT%H:%M:%S.%fZ') + except Exception: + try: + end_date = datetime.datetime.strptime( + game["promotions"]["promotionalOffers"][0]["promotionalOffers"][0]["endDate"], + '%Y-%m-%dT%H:%M:%S.%fZ') + except Exception: + continue + try: + start_date = datetime.datetime.strptime( + game["promotions"]["upcomingPromotionalOffers"][0]["promotionalOffers"][0]["startDate"], + '%Y-%m-%dT%H:%M:%S.%fZ') + except Exception: + try: + start_date = datetime.datetime.strptime( + game["promotions"]["promotionalOffers"][0]["promotionalOffers"][0]["startDate"], + '%Y-%m-%dT%H:%M:%S.%fZ') + except Exception as e: + print(e) + continue + except TypeError: print("type error") continue @@ -95,30 +112,29 @@ class ShopWidget(QWidget, Ui_ShopWidget): for free_game in free_games_now: w = GameWidget(free_game, self.path) - w.show_info.connect(lambda x: self.search_games(x, True)) - self.free_game_now.layout().addWidget(w) + w.show_info.connect(self.show_game.emit) + self.free_games_now.layout().addWidget(w) self.free_game_widgets.append(w) - self.free_game_group_box_2.setMinimumHeight(200) + self.free_games_now.layout().addStretch(1) for free_game in coming_free_games: w = GameWidget(free_game, self.path) if free_game["title"] != "Mystery Game": - w.show_info.connect(self.show_info) - self.comming_free_game.layout().addWidget(w) + w.show_info.connect(self.show_game.emit) + self.coming_free_games.layout().addWidget(w) self.free_game_widgets.append(w) - self.free_games_stack.setCurrentIndex(0) + self.coming_free_games.layout().addStretch(1) + # self.coming_free_games.setFixedWidth(int(40 + len(coming_free_games) * 300)) + self.free_games_stack.setCurrentIndex(1) + self.free_game_request.deleteLater() def search_games(self, text, show_direct=False): if text == "": self.search_results.setVisible(False) else: locale = get_lang() - payload = QByteArray() - payload.append( - "query=query searchStoreQuery($allowCountries: String, $category: String, $count: Int, $country: String!, $keywords: String, $locale: String, $namespace: String, $withMapping: Boolean = false, $itemNs: String, $sortBy: String, $sortDir: String, $start: Int, $tag: String, $releaseDate: String, $withPrice: Boolean = false, $withPromotions: Boolean = false, $priceRange: String, $freeGame: Boolean, $onSale: Boolean, $effectiveDate: String) {\n Catalog {\n searchStore(\n allowCountries: $allowCountries\n category: $category\n count: $count\n country: $country\n keywords: $keywords\n locale: $locale\n namespace: $namespace\n itemNs: $itemNs\n sortBy: $sortBy\n sortDir: $sortDir\n releaseDate: $releaseDate\n start: $start\n tag: $tag\n priceRange: $priceRange\n freeGame: $freeGame\n onSale: $onSale\n effectiveDate: $effectiveDate\n ) {\n elements {\n title\n id\n namespace\n description\n effectiveDate\n keyImages {\n type\n url\n }\n currentPrice\n seller {\n id\n name\n }\n productSlug\n urlSlug\n url\n tags {\n id\n }\n items {\n id\n namespace\n }\n customAttributes {\n key\n value\n }\n categories {\n path\n }\n catalogNs @include(if: $withMapping) {\n mappings(pageType: \"productHome\") {\n pageSlug\n pageType\n }\n }\n offerMappings @include(if: $withMapping) {\n pageSlug\n pageType\n }\n price(country: $country) @include(if: $withPrice) {\n totalPrice {\n discountPrice\n originalPrice\n voucherDiscount\n discount\n currencyCode\n currencyInfo {\n decimals\n }\n fmtPrice(locale: $locale) {\n originalPrice\n discountPrice\n intermediatePrice\n }\n }\n lineOffers {\n appliedRules {\n id\n endDate\n discountSetting {\n discountType\n }\n }\n }\n }\n promotions(category: $category) @include(if: $withPromotions) {\n promotionalOffers {\n promotionalOffers {\n startDate\n endDate\n discountSetting {\n discountType\n discountPercentage\n }\n }\n }\n upcomingPromotionalOffers {\n promotionalOffers {\n startDate\n endDate\n discountSetting {\n discountType\n discountPercentage\n }\n }\n }\n }\n }\n paging {\n count\n total\n }\n }\n }\n}\n") - payload = json.dumps({ - "query": "query searchStoreQuery($allowCountries: String, $category: String, $count: Int, $country: String!, $keywords: String, $locale: String, $namespace: String, $withMapping: Boolean = false, $itemNs: String, $sortBy: String, $sortDir: String, $start: Int, $tag: String, $releaseDate: String, $withPrice: Boolean = false, $withPromotions: Boolean = false, $priceRange: String, $freeGame: Boolean, $onSale: Boolean, $effectiveDate: String) {\n Catalog {\n searchStore(\n allowCountries: $allowCountries\n category: $category\n count: $count\n country: $country\n keywords: $keywords\n locale: $locale\n namespace: $namespace\n itemNs: $itemNs\n sortBy: $sortBy\n sortDir: $sortDir\n releaseDate: $releaseDate\n start: $start\n tag: $tag\n priceRange: $priceRange\n freeGame: $freeGame\n onSale: $onSale\n effectiveDate: $effectiveDate\n ) {\n elements {\n title\n id\n namespace\n description\n effectiveDate\n keyImages {\n type\n url\n }\n currentPrice\n seller {\n id\n name\n }\n productSlug\n urlSlug\n url\n tags {\n id\n }\n items {\n id\n namespace\n }\n customAttributes {\n key\n value\n }\n categories {\n path\n }\n catalogNs @include(if: $withMapping) {\n mappings(pageType: \"productHome\") {\n pageSlug\n pageType\n }\n }\n offerMappings @include(if: $withMapping) {\n pageSlug\n pageType\n }\n price(country: $country) @include(if: $withPrice) {\n totalPrice {\n discountPrice\n originalPrice\n voucherDiscount\n discount\n currencyCode\n currencyInfo {\n decimals\n }\n fmtPrice(locale: $locale) {\n originalPrice\n discountPrice\n intermediatePrice\n }\n }\n lineOffers {\n appliedRules {\n id\n endDate\n discountSetting {\n discountType\n }\n }\n }\n }\n promotions(category: $category) @include(if: $withPromotions) {\n promotionalOffers {\n promotionalOffers {\n startDate\n endDate\n discountSetting {\n discountType\n discountPercentage\n }\n }\n }\n upcomingPromotionalOffers {\n promotionalOffers {\n startDate\n endDate\n discountSetting {\n discountType\n discountPercentage\n }\n }\n }\n }\n }\n paging {\n count\n total\n }\n }\n }\n}\n", + "query": query, "variables": {"category": "games/edition/base|bundles/games|editors|software/edition/base", "count": 10, "country": "DE", "keywords": text, "locale": locale, "sortDir": "DESC", "allowCountries": locale.upper(), @@ -127,7 +143,6 @@ class ShopWidget(QWidget, Ui_ShopWidget): request = QNetworkRequest(QUrl("https://www.epicgames.com/graphql")) request.setHeader(QNetworkRequest.ContentTypeHeader, "application/json") self.search_request = self.manager.post(request, payload) - # self.search_request = self.manager.post(QNetworkRequest(QUrl("https://www.epicgames.com/graphql")), payload) self.search_request.finished.connect(lambda: self.show_search_results(show_direct)) def show_search_results(self, show_direct=False): @@ -167,16 +182,22 @@ class ShopWidget(QWidget, Ui_ShopWidget): if self.data: self.show_info.emit(self.data) else: - self.show_game.emit(self.data[0]) + try: + result = self.data[0] + except IndexError: + print("error") + return + self.show_game.emit(result) class GameWidget(QWidget): - show_info = pyqtSignal(str) + show_info = pyqtSignal(dict) def __init__(self, json_info, path: str): super(GameWidget, self).__init__() self.layout = QVBoxLayout() self.image = ImageLabel() + self.json_info = json_info for img in json_info["keyImages"]: if img["type"] in ["DieselStoreFrontWide", "VaultClosed"]: width = 300 @@ -213,4 +234,36 @@ class GameWidget(QWidget): self.setLayout(self.layout) def mousePressEvent(self, a0: QtGui.QMouseEvent) -> None: - self.show_info.emit(self.title) + self.show_info.emit(self.json_info) + + +query = "query searchStoreQuery($allowCountries: String, $category: String, $count: Int, $country: String!, " \ + "$keywords: String, $locale: String, $namespace: String, $withMapping: Boolean = false, $itemNs: String, " \ + "$sortBy: String, $sortDir: String, $start: Int, $tag: String, $releaseDate: String, $withPrice: Boolean = " \ + "false, $withPromotions: Boolean = false, $priceRange: String, $freeGame: Boolean, $onSale: Boolean, " \ + "$effectiveDate: String) {\n Catalog {\n searchStore(\n allowCountries: $allowCountries\n " \ + "category: $category\n count: $count\n country: $country\n keywords: $keywords\n locale: " \ + "$locale\n namespace: $namespace\n itemNs: $itemNs\n sortBy: $sortBy\n sortDir: " \ + "$sortDir\n releaseDate: $releaseDate\n start: $start\n tag: $tag\n priceRange: " \ + "$priceRange\n freeGame: $freeGame\n onSale: $onSale\n effectiveDate: $effectiveDate\n ) {" \ + "\n elements {\n title\n id\n namespace\n description\n " \ + "effectiveDate\n keyImages {\n type\n url\n }\n currentPrice\n " \ + "seller {\n id\n name\n }\n productSlug\n urlSlug\n url\n " \ + " tags {\n id\n }\n items {\n id\n namespace\n }\n " \ + "customAttributes {\n key\n value\n }\n categories {\n path\n " \ + "}\n catalogNs @include(if: $withMapping) {\n mappings(pageType: \"productHome\") {\n " \ + " pageSlug\n pageType\n }\n }\n offerMappings @include(if: $withMapping) " \ + "{\n pageSlug\n pageType\n }\n price(country: $country) @include(if: " \ + "$withPrice) {\n totalPrice {\n discountPrice\n originalPrice\n " \ + "voucherDiscount\n discount\n currencyCode\n currencyInfo {\n " \ + "decimals\n }\n fmtPrice(locale: $locale) {\n originalPrice\n " \ + "discountPrice\n intermediatePrice\n }\n }\n lineOffers {\n " \ + " appliedRules {\n id\n endDate\n discountSetting {\n " \ + "discountType\n }\n }\n }\n }\n promotions(category: " \ + "$category) @include(if: $withPromotions) {\n promotionalOffers {\n promotionalOffers {\n " \ + " startDate\n endDate\n discountSetting {\n " \ + "discountType\n discountPercentage\n }\n }\n }\n " \ + "upcomingPromotionalOffers {\n promotionalOffers {\n startDate\n " \ + "endDate\n discountSetting {\n discountType\n discountPercentage\n " \ + " }\n }\n }\n }\n }\n paging {\n count\n " \ + "total\n }\n }\n }\n}\n " diff --git a/rare/ui/components/tabs/store/store.py b/rare/ui/components/tabs/store/store.py index ce8adcfb..ccbf9aa0 100644 --- a/rare/ui/components/tabs/store/store.py +++ b/rare/ui/components/tabs/store/store.py @@ -20,54 +20,32 @@ class Ui_ShopWidget(object): self.search = QtWidgets.QLineEdit(ShopWidget) self.search.setObjectName("search") self.verticalLayout.addWidget(self.search) - self.search_results = QtWidgets.QGroupBox(ShopWidget) - self.search_results.setFlat(False) - self.search_results.setObjectName("search_results") - self.verticalLayout.addWidget(self.search_results) - self.free_game_group_box_2 = QtWidgets.QGroupBox(ShopWidget) - self.free_game_group_box_2.setObjectName("free_game_group_box_2") - self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.free_game_group_box_2) + self.free_game_group_box = QtWidgets.QGroupBox(ShopWidget) + self.free_game_group_box.setObjectName("free_game_group_box") + self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.free_game_group_box) self.verticalLayout_2.setObjectName("verticalLayout_2") - self.free_games_stack = QtWidgets.QStackedWidget(self.free_game_group_box_2) + self.free_games_stack = QtWidgets.QStackedWidget(self.free_game_group_box) self.free_games_stack.setObjectName("free_games_stack") - self.free_games_page = QtWidgets.QWidget() - self.free_games_page.setObjectName("free_games_page") - self.horizontalLayout_3 = QtWidgets.QHBoxLayout(self.free_games_page) - self.horizontalLayout_3.setObjectName("horizontalLayout_3") - self.free_game_now = QtWidgets.QGroupBox(self.free_games_page) - self.free_game_now.setObjectName("free_game_now") - self.horizontalLayout = QtWidgets.QHBoxLayout(self.free_game_now) - self.horizontalLayout.setObjectName("horizontalLayout") - self.horizontalLayout_3.addWidget(self.free_game_now) - self.comming_free_game = QtWidgets.QGroupBox(self.free_games_page) - self.comming_free_game.setObjectName("comming_free_game") - self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.comming_free_game) - self.horizontalLayout_2.setObjectName("horizontalLayout_2") - self.horizontalLayout_3.addWidget(self.comming_free_game) - self.free_games_stack.addWidget(self.free_games_page) self.verticalLayout_2.addWidget(self.free_games_stack) - self.verticalLayout.addWidget(self.free_game_group_box_2) - self.games_groupbox_2 = QtWidgets.QGroupBox(ShopWidget) - self.games_groupbox_2.setObjectName("games_groupbox_2") - self.horizontalLayout_7 = QtWidgets.QHBoxLayout(self.games_groupbox_2) + self.verticalLayout.addWidget(self.free_game_group_box) + self.games_groupbox = QtWidgets.QGroupBox(ShopWidget) + self.games_groupbox.setObjectName("games_groupbox") + self.horizontalLayout_7 = QtWidgets.QHBoxLayout(self.games_groupbox) self.horizontalLayout_7.setObjectName("horizontalLayout_7") - self.verticalLayout.addWidget(self.games_groupbox_2) + self.verticalLayout.addWidget(self.games_groupbox) spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) self.verticalLayout.addItem(spacerItem) self.retranslateUi(ShopWidget) - self.free_games_stack.setCurrentIndex(0) + self.free_games_stack.setCurrentIndex(-1) QtCore.QMetaObject.connectSlotsByName(ShopWidget) def retranslateUi(self, ShopWidget): _translate = QtCore.QCoreApplication.translate ShopWidget.setWindowTitle(_translate("ShopWidget", "Form")) self.search.setPlaceholderText(_translate("ShopWidget", "Search Games")) - self.search_results.setTitle(_translate("ShopWidget", "Search results")) - self.free_game_group_box_2.setTitle(_translate("ShopWidget", "Free Games")) - self.free_game_now.setTitle(_translate("ShopWidget", "Free Game")) - self.comming_free_game.setTitle(_translate("ShopWidget", "Comming Free Game")) - self.games_groupbox_2.setTitle(_translate("ShopWidget", "Other nice games")) + self.free_game_group_box.setTitle(_translate("ShopWidget", "Free Games")) + self.games_groupbox.setTitle(_translate("ShopWidget", "Other nice games")) if __name__ == "__main__": diff --git a/rare/ui/components/tabs/store/store.ui b/rare/ui/components/tabs/store/store.ui index 1e470192..587130de 100644 --- a/rare/ui/components/tabs/store/store.ui +++ b/rare/ui/components/tabs/store/store.ui @@ -22,17 +22,7 @@ - - - Search results - - - false - - - - - + Free Games @@ -40,35 +30,15 @@ - 0 + -1 - - - - - - Free Game - - - - - - - - Comming Free Game - - - - - - - + Other nice games diff --git a/test.py b/test.py deleted file mode 100644 index de073353..00000000 --- a/test.py +++ /dev/null @@ -1,20 +0,0 @@ -import sys -from PyQt5.QtCore import Qt, QStringListModel -from PyQt5.QtWidgets import QApplication, QCompleter, QLineEdit - -def get_data(model): - model.setStringList(["completion", "data", "goes", "here"]) - -if __name__ == "__main__": - - app = QApplication(sys.argv) - edit = QLineEdit() - completer = QCompleter() - edit.setCompleter(completer) - - model = QStringListModel() - completer.setModel(model) - get_data(model) - - edit.show() - sys.exit(app.exec_()) \ No newline at end of file