From 2db34324af8d807eb86c714e1187fa03b93eab8e Mon Sep 17 00:00:00 2001
From: loathingKernel <142770+loathingKernel@users.noreply.github.com>
Date: Thu, 30 Mar 2023 20:12:37 +0300
Subject: [PATCH] ShopWidget: Cleanup shop layout
---
rare/components/tabs/store/shop_widget.py | 31 +-
rare/ui/components/tabs/store/store.py | 35 +-
rare/ui/components/tabs/store/store.ui | 446 ++++++++++++----------
3 files changed, 277 insertions(+), 235 deletions(-)
diff --git a/rare/components/tabs/store/shop_widget.py b/rare/components/tabs/store/shop_widget.py
index f72d111e..4e72a8ef 100644
--- a/rare/components/tabs/store/shop_widget.py
+++ b/rare/components/tabs/store/shop_widget.py
@@ -40,8 +40,8 @@ class ShopWidget(QWidget, Ui_ShopWidget):
self.types = []
self.update_games_allowed = True
free_games_container_layout = QHBoxLayout(self.free_games_container)
- free_games_container_layout.setContentsMargins(0, 0, 0, 3)
- self.free_games_container.setLayout(free_games_container_layout)
+ free_games_container_layout.setContentsMargins(0, 0, 0, 0)
+ self.free_games_container.setContentsMargins(0, 0, 0, 3)
self.free_games_container.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed)
self.free_games_scrollarea.setDisabled(True)
self.free_games_scrollarea.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed)
@@ -51,18 +51,18 @@ class ShopWidget(QWidget, Ui_ShopWidget):
self.next_search = ""
self.wishlist: List = []
- self.discount_widget.setLayout(FlowLayout())
- self.discount_stack.addWidget(WaitingSpinner())
+ self.discount_widget.setLayout(FlowLayout(self.discount_widget))
+ self.discount_stack.addWidget(WaitingSpinner(self.discount_stack))
self.discount_stack.setCurrentIndex(1)
- self.game_widget.setLayout(FlowLayout())
- self.game_stack.addWidget(WaitingSpinner())
+ self.game_widget.setLayout(FlowLayout(self.game_widget))
+ self.game_stack.addWidget(WaitingSpinner(self.game_stack))
self.game_stack.setCurrentIndex(1)
self.search_bar = ButtonLineEdit(
"fa.search", placeholder_text=self.tr("Search Games")
)
- self.games_container_layout.insertWidget(0, self.search_bar)
+ self.left_layout.insertWidget(0, self.search_bar)
# self.search_bar.textChanged.connect(self.search_games)
@@ -143,14 +143,14 @@ class ShopWidget(QWidget, Ui_ShopWidget):
self.free_games_now = QGroupBox(self.tr("Free now"), parent=self.free_games_container)
free_games_now_layout = QHBoxLayout(self.free_games_now)
- free_games_now_layout.setContentsMargins(0, 0, 0, 0)
+ # free_games_now_layout.setContentsMargins(0, 0, 0, 0)
self.free_games_now.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed)
self.free_games_now.setLayout(free_games_now_layout)
self.free_games_container.layout().addWidget(self.free_games_now)
self.free_games_next = QGroupBox(self.tr("Free next week"), parent=self.free_games_container)
free_games_next_layout = QHBoxLayout(self.free_games_next)
- free_games_next_layout.setContentsMargins(0, 0, 0, 0)
+ # free_games_next_layout.setContentsMargins(0, 0, 0, 0)
self.free_games_next.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed)
self.free_games_next.setLayout(free_games_next_layout)
self.free_games_container.layout().addWidget(self.free_games_next)
@@ -223,9 +223,11 @@ class ShopWidget(QWidget, Ui_ShopWidget):
# self.coming_free_games.setFixedWidth(int(40 + len(coming_free_games) * 300))
self.free_games_scrollarea.setMinimumHeight(
- self.free_games_now.sizeHint().height() + self.free_games_scrollarea.horizontalScrollBar().sizeHint().height()
+ self.free_games_now.sizeHint().height()
+ + self.free_games_container.contentsMargins().top()
+ + self.free_games_container.contentsMargins().bottom()
+ + self.free_games_scrollarea.horizontalScrollBar().sizeHint().height()
)
- self.free_games_scrollarea.update()
self.free_games_scrollarea.setEnabled(True)
def show_search_results(self):
@@ -283,6 +285,11 @@ class ShopWidget(QWidget, Ui_ShopWidget):
groupbox.layout().addWidget(checkbox)
self.checkboxes.append(checkbox)
self.reset_button.clicked.connect(self.reset_filters)
+ self.filter_scrollarea.setMinimumWidth(
+ self.filter_container.sizeHint().width()
+ + self.filter_container_layout.spacing()
+ + self.filter_scrollarea.verticalScrollBar().sizeHint().width()
+ )
def reset_filters(self):
self.update_games_allowed = False
@@ -350,7 +357,7 @@ class ShopWidget(QWidget, Ui_ShopWidget):
item.widget().deleteLater()
if data:
for game in data:
- w = GameWidget(self.path, game, 275)
+ w = GameWidget(self.path, game)
self.game_widget.layout().addWidget(w)
w.show_info.connect(self.show_game.emit)
diff --git a/rare/ui/components/tabs/store/store.py b/rare/ui/components/tabs/store/store.py
index 0e74a204..e25179b9 100644
--- a/rare/ui/components/tabs/store/store.py
+++ b/rare/ui/components/tabs/store/store.py
@@ -2,7 +2,7 @@
# Form implementation generated from reading ui file 'rare/ui/components/tabs/store/store.ui'
#
-# Created by: PyQt5 UI code generator 5.15.7
+# Created by: PyQt5 UI code generator 5.15.9
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
@@ -14,10 +14,12 @@ from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_ShopWidget(object):
def setupUi(self, ShopWidget):
ShopWidget.setObjectName("ShopWidget")
- ShopWidget.resize(843, 569)
+ ShopWidget.resize(784, 525)
ShopWidget.setWindowTitle("Store")
self.shop_layout = QtWidgets.QHBoxLayout(ShopWidget)
self.shop_layout.setObjectName("shop_layout")
+ self.left_layout = QtWidgets.QVBoxLayout()
+ self.left_layout.setObjectName("left_layout")
self.games_scrollarea = QtWidgets.QScrollArea(ShopWidget)
self.games_scrollarea.setFrameShape(QtWidgets.QFrame.NoFrame)
self.games_scrollarea.setFrameShadow(QtWidgets.QFrame.Plain)
@@ -25,7 +27,7 @@ class Ui_ShopWidget(object):
self.games_scrollarea.setWidgetResizable(True)
self.games_scrollarea.setObjectName("games_scrollarea")
self.games_container = QtWidgets.QWidget()
- self.games_container.setGeometry(QtCore.QRect(0, 0, 659, 557))
+ self.games_container.setGeometry(QtCore.QRect(0, 0, 611, 511))
self.games_container.setObjectName("games_container")
self.games_container_layout = QtWidgets.QVBoxLayout(self.games_container)
self.games_container_layout.setContentsMargins(0, 0, 3, 0)
@@ -37,7 +39,7 @@ class Ui_ShopWidget(object):
self.free_games_scrollarea.setWidgetResizable(True)
self.free_games_scrollarea.setObjectName("free_games_scrollarea")
self.free_games_container = QtWidgets.QWidget()
- self.free_games_container.setGeometry(QtCore.QRect(0, 0, 656, 182))
+ self.free_games_container.setGeometry(QtCore.QRect(0, 0, 608, 166))
self.free_games_container.setObjectName("free_games_container")
self.free_games_scrollarea.setWidget(self.free_games_container)
self.games_container_layout.addWidget(self.free_games_scrollarea)
@@ -64,25 +66,31 @@ class Ui_ShopWidget(object):
self.games_layout.addWidget(self.game_stack)
self.games_container_layout.addWidget(self.games_group)
self.games_scrollarea.setWidget(self.games_container)
- self.shop_layout.addWidget(self.games_scrollarea)
+ self.left_layout.addWidget(self.games_scrollarea)
+ self.shop_layout.addLayout(self.left_layout)
+ self.right_layout = QtWidgets.QVBoxLayout()
+ self.right_layout.setObjectName("right_layout")
+ self.reset_button = QtWidgets.QPushButton(ShopWidget)
+ self.reset_button.setObjectName("reset_button")
+ self.right_layout.addWidget(self.reset_button)
self.filter_scrollarea = QtWidgets.QScrollArea(ShopWidget)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Expanding)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.filter_scrollarea.sizePolicy().hasHeightForWidth())
self.filter_scrollarea.setSizePolicy(sizePolicy)
+ self.filter_scrollarea.setFrameShape(QtWidgets.QFrame.NoFrame)
+ self.filter_scrollarea.setFrameShadow(QtWidgets.QFrame.Plain)
self.filter_scrollarea.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
+ self.filter_scrollarea.setSizeAdjustPolicy(QtWidgets.QAbstractScrollArea.AdjustToContents)
self.filter_scrollarea.setWidgetResizable(True)
self.filter_scrollarea.setObjectName("filter_scrollarea")
self.filter_container = QtWidgets.QWidget()
- self.filter_container.setGeometry(QtCore.QRect(0, 0, 162, 553))
+ self.filter_container.setGeometry(QtCore.QRect(0, 0, 151, 479))
self.filter_container.setObjectName("filter_container")
self.filter_container_layout = QtWidgets.QVBoxLayout(self.filter_container)
- self.filter_container_layout.setSizeConstraint(QtWidgets.QLayout.SetFixedSize)
+ self.filter_container_layout.setContentsMargins(0, 0, 0, 0)
self.filter_container_layout.setObjectName("filter_container_layout")
- self.reset_button = QtWidgets.QPushButton(self.filter_container)
- self.reset_button.setObjectName("reset_button")
- self.filter_container_layout.addWidget(self.reset_button)
self.price_group = QtWidgets.QGroupBox(self.filter_container)
self.price_group.setObjectName("price_group")
self.price_layout = QtWidgets.QVBoxLayout(self.price_group)
@@ -131,7 +139,8 @@ class Ui_ShopWidget(object):
self.others_layout.setObjectName("others_layout")
self.filter_container_layout.addWidget(self.others_group)
self.filter_scrollarea.setWidget(self.filter_container)
- self.shop_layout.addWidget(self.filter_scrollarea)
+ self.right_layout.addWidget(self.filter_scrollarea)
+ self.shop_layout.addLayout(self.right_layout)
self.retranslateUi(ShopWidget)
@@ -139,7 +148,7 @@ class Ui_ShopWidget(object):
_translate = QtCore.QCoreApplication.translate
self.discounts_group.setTitle(_translate("ShopWidget", "Discounts from your wishlist"))
self.games_group.setTitle(_translate("ShopWidget", "Games"))
- self.reset_button.setText(_translate("ShopWidget", "Reset"))
+ self.reset_button.setText(_translate("ShopWidget", "Reset filters"))
self.price_group.setTitle(_translate("ShopWidget", "Price"))
self.none_price.setText(_translate("ShopWidget", "None"))
self.free_button.setText(_translate("ShopWidget", "Free"))
@@ -151,7 +160,7 @@ class Ui_ShopWidget(object):
self.platform_group.setTitle(_translate("ShopWidget", "Platform"))
self.genre_group.setTitle(_translate("ShopWidget", "Genre"))
self.type_group.setTitle(_translate("ShopWidget", "Type"))
- self.others_group.setTitle(_translate("ShopWidget", "Other Tags"))
+ self.others_group.setTitle(_translate("ShopWidget", "Other tags"))
if __name__ == "__main__":
diff --git a/rare/ui/components/tabs/store/store.ui b/rare/ui/components/tabs/store/store.ui
index 1e38513a..89d0f021 100644
--- a/rare/ui/components/tabs/store/store.ui
+++ b/rare/ui/components/tabs/store/store.ui
@@ -6,238 +6,264 @@
0
0
- 843
- 569
+ 784
+ 525
Store
-
+
-
-
-
- QFrame::NoFrame
-
-
- QFrame::Plain
-
-
- QAbstractScrollArea::AdjustToContents
-
-
- true
-
-
-
-
- 0
- 0
- 659
- 557
-
-
-
-
- 0
+
+
-
+
+
+ QFrame::NoFrame
-
- 0
+
+ QFrame::Plain
-
- 3
+
+ QAbstractScrollArea::AdjustToContents
-
- 0
+
+ true
-
-
-
-
- QFrame::NoFrame
+
+
+
+ 0
+ 0
+ 611
+ 511
+
+
+
+
+ 0
-
- QFrame::Plain
+
+ 0
-
- Qt::ScrollBarAlwaysOff
+
+ 3
-
- true
+
+ 0
-
-
-
- 0
- 0
- 656
- 182
-
-
-
-
-
- -
-
-
- Discounts from your wishlist
-
-
-
-
-
-
+
-
+
+
+ QFrame::NoFrame
+
+
+ QFrame::Plain
+
+
+ Qt::ScrollBarAlwaysOff
+
+
+ true
+
+
+
+
+ 0
+ 0
+ 608
+ 166
+
+
-
-
-
-
- -
-
-
- Games
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+ -
+
+
+ Discounts from your wishlist
+
+
+
-
+
+
+
+
+
+
+
+ -
+
+
+ Games
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
- 0
- 0
-
-
-
- Qt::ScrollBarAlwaysOff
-
-
- true
-
-
-
-
- 0
- 0
- 162
- 553
-
-
-
-
- QLayout::SetFixedSize
+
+
-
+
+
+ Reset filters
-
-
-
-
- Reset
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ QFrame::NoFrame
+
+
+ QFrame::Plain
+
+
+ Qt::ScrollBarAlwaysOff
+
+
+ QAbstractScrollArea::AdjustToContents
+
+
+ true
+
+
+
+
+ 0
+ 0
+ 151
+ 479
+
+
+
+
+ 0
-
-
- -
-
-
- Price
+
+ 0
-
-
-
-
-
- None
-
-
- true
-
-
-
- -
-
-
- Free
-
-
-
- -
-
-
- Under 10
-
-
-
- -
-
-
- Under 20
-
-
-
- -
-
-
- Under 30
-
-
-
- -
-
-
- 14.99 and above
-
-
-
- -
-
-
- Discount
-
-
-
-
-
-
- -
-
-
- Platform
+
+ 0
-
-
-
- -
-
-
- Genre
+
+ 0
-
-
-
- -
-
-
- Type
-
-
-
-
- -
-
-
- Other Tags
-
-
-
-
-
-
-
+ -
+
+
+ Price
+
+
+
-
+
+
+ None
+
+
+ true
+
+
+
+ -
+
+
+ Free
+
+
+
+ -
+
+
+ Under 10
+
+
+
+ -
+
+
+ Under 20
+
+
+
+ -
+
+
+ Under 30
+
+
+
+ -
+
+
+ 14.99 and above
+
+
+
+ -
+
+
+ Discount
+
+
+
+
+
+
+ -
+
+
+ Platform
+
+
+
+
+ -
+
+
+ Genre
+
+
+
+
+ -
+
+
+ Type
+
+
+
+
+ -
+
+
+ Other tags
+
+
+
+
+
+
+
+
+