Shop: Use a single QGridLayout instead of left and right VBoxLayouts
This commit is contained in:
parent
91af16b76d
commit
fda82b17cf
|
@ -24,6 +24,8 @@ from .game_widgets import GameWidget
|
|||
from .image_widget import WaitingSpinner
|
||||
from .shop_api_core import ShopApiCore
|
||||
|
||||
from .api.models.utils import parse_date
|
||||
|
||||
logger = logging.getLogger("Shop")
|
||||
|
||||
|
||||
|
@ -77,7 +79,7 @@ class ShopWidget(QWidget, SideTabContents):
|
|||
self.search_bar = ButtonLineEdit(
|
||||
"fa.search", placeholder_text=self.tr("Search Games")
|
||||
)
|
||||
self.ui.left_layout.insertWidget(0, self.search_bar)
|
||||
self.ui.main_layout.addWidget(self.search_bar, 0, 0)
|
||||
|
||||
# self.search_bar.textChanged.connect(self.search_games)
|
||||
|
||||
|
@ -169,7 +171,7 @@ class ShopWidget(QWidget, SideTabContents):
|
|||
self.free_games_next.setLayout(free_games_next_layout)
|
||||
self.ui.free_container.layout().addWidget(self.free_games_next)
|
||||
|
||||
date = datetime.datetime.now()
|
||||
date = datetime.datetime.utcnow().replace(tzinfo=datetime.timezone.utc)
|
||||
free_games_now = []
|
||||
coming_free_games = []
|
||||
for game in free_games:
|
||||
|
@ -191,19 +193,13 @@ class ShopWidget(QWidget, SideTabContents):
|
|||
try:
|
||||
# parse datetime to check if game is next week or now
|
||||
try:
|
||||
start_date = datetime.datetime.strptime(
|
||||
game.promotions["upcomingPromotionalOffers"][0][
|
||||
"promotionalOffers"
|
||||
][0]["startDate"],
|
||||
"%Y-%m-%dT%H:%M:%S.%fZ",
|
||||
start_date = parse_date(
|
||||
game.promotions["upcomingPromotionalOffers"][0]["promotionalOffers"][0]["startDate"]
|
||||
)
|
||||
except Exception:
|
||||
try:
|
||||
start_date = datetime.datetime.strptime(
|
||||
game.promotions["promotionalOffers"][0][
|
||||
"promotionalOffers"
|
||||
][0]["startDate"],
|
||||
"%Y-%m-%dT%H:%M:%S.%fZ",
|
||||
start_date = parse_date(
|
||||
game.promotions["promotionalOffers"][0]["promotionalOffers"][0]["startDate"]
|
||||
)
|
||||
except Exception as e:
|
||||
|
||||
|
|
|
@ -14,62 +14,10 @@ from PyQt5 import QtCore, QtGui, QtWidgets
|
|||
class Ui_ShopWidget(object):
|
||||
def setupUi(self, ShopWidget):
|
||||
ShopWidget.setObjectName("ShopWidget")
|
||||
ShopWidget.resize(350, 382)
|
||||
ShopWidget.resize(788, 662)
|
||||
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)
|
||||
self.games_scrollarea.setSizeAdjustPolicy(QtWidgets.QAbstractScrollArea.AdjustToContents)
|
||||
self.games_scrollarea.setWidgetResizable(True)
|
||||
self.games_scrollarea.setObjectName("games_scrollarea")
|
||||
self.games_container = QtWidgets.QWidget()
|
||||
self.games_container.setGeometry(QtCore.QRect(0, 0, 186, 368))
|
||||
self.games_container.setObjectName("games_container")
|
||||
self.games_container_layout = QtWidgets.QVBoxLayout(self.games_container)
|
||||
self.games_container_layout.setContentsMargins(0, 0, 3, 0)
|
||||
self.games_container_layout.setObjectName("games_container_layout")
|
||||
self.free_scrollarea = QtWidgets.QScrollArea(self.games_container)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.free_scrollarea.sizePolicy().hasHeightForWidth())
|
||||
self.free_scrollarea.setSizePolicy(sizePolicy)
|
||||
self.free_scrollarea.setFrameShape(QtWidgets.QFrame.NoFrame)
|
||||
self.free_scrollarea.setFrameShadow(QtWidgets.QFrame.Plain)
|
||||
self.free_scrollarea.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
|
||||
self.free_scrollarea.setWidgetResizable(True)
|
||||
self.free_scrollarea.setObjectName("free_scrollarea")
|
||||
self.free_container = QtWidgets.QWidget()
|
||||
self.free_container.setGeometry(QtCore.QRect(0, 0, 16, 16))
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.free_container.sizePolicy().hasHeightForWidth())
|
||||
self.free_container.setSizePolicy(sizePolicy)
|
||||
self.free_container.setObjectName("free_container")
|
||||
self.free_container_layout = QtWidgets.QHBoxLayout(self.free_container)
|
||||
self.free_container_layout.setContentsMargins(0, 0, 0, 3)
|
||||
self.free_container_layout.setObjectName("free_container_layout")
|
||||
self.free_scrollarea.setWidget(self.free_container)
|
||||
self.games_container_layout.addWidget(self.free_scrollarea)
|
||||
self.discounts_group = QtWidgets.QGroupBox(self.games_container)
|
||||
self.discounts_group.setObjectName("discounts_group")
|
||||
self.games_container_layout.addWidget(self.discounts_group)
|
||||
self.games_group = QtWidgets.QGroupBox(self.games_container)
|
||||
self.games_group.setObjectName("games_group")
|
||||
self.games_container_layout.addWidget(self.games_group)
|
||||
self.games_scrollarea.setWidget(self.games_container)
|
||||
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.main_layout = QtWidgets.QGridLayout(ShopWidget)
|
||||
self.main_layout.setObjectName("main_layout")
|
||||
self.filter_scrollarea = QtWidgets.QScrollArea(ShopWidget)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Expanding)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
|
@ -141,17 +89,59 @@ 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.right_layout.addWidget(self.filter_scrollarea)
|
||||
self.shop_layout.addLayout(self.right_layout)
|
||||
self.shop_layout.setStretch(0, 1)
|
||||
self.main_layout.addWidget(self.filter_scrollarea, 1, 1, 1, 1)
|
||||
self.reset_button = QtWidgets.QPushButton(ShopWidget)
|
||||
self.reset_button.setObjectName("reset_button")
|
||||
self.main_layout.addWidget(self.reset_button, 0, 1, 1, 1)
|
||||
self.games_scrollarea = QtWidgets.QScrollArea(ShopWidget)
|
||||
self.games_scrollarea.setFrameShape(QtWidgets.QFrame.NoFrame)
|
||||
self.games_scrollarea.setFrameShadow(QtWidgets.QFrame.Plain)
|
||||
self.games_scrollarea.setSizeAdjustPolicy(QtWidgets.QAbstractScrollArea.AdjustToContents)
|
||||
self.games_scrollarea.setWidgetResizable(True)
|
||||
self.games_scrollarea.setObjectName("games_scrollarea")
|
||||
self.games_container = QtWidgets.QWidget()
|
||||
self.games_container.setGeometry(QtCore.QRect(0, 0, 628, 618))
|
||||
self.games_container.setObjectName("games_container")
|
||||
self.games_container_layout = QtWidgets.QVBoxLayout(self.games_container)
|
||||
self.games_container_layout.setContentsMargins(0, 0, 3, 0)
|
||||
self.games_container_layout.setObjectName("games_container_layout")
|
||||
self.free_scrollarea = QtWidgets.QScrollArea(self.games_container)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.free_scrollarea.sizePolicy().hasHeightForWidth())
|
||||
self.free_scrollarea.setSizePolicy(sizePolicy)
|
||||
self.free_scrollarea.setFrameShape(QtWidgets.QFrame.NoFrame)
|
||||
self.free_scrollarea.setFrameShadow(QtWidgets.QFrame.Plain)
|
||||
self.free_scrollarea.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
|
||||
self.free_scrollarea.setWidgetResizable(True)
|
||||
self.free_scrollarea.setObjectName("free_scrollarea")
|
||||
self.free_container = QtWidgets.QWidget()
|
||||
self.free_container.setGeometry(QtCore.QRect(0, 0, 16, 16))
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.free_container.sizePolicy().hasHeightForWidth())
|
||||
self.free_container.setSizePolicy(sizePolicy)
|
||||
self.free_container.setObjectName("free_container")
|
||||
self.free_container_layout = QtWidgets.QHBoxLayout(self.free_container)
|
||||
self.free_container_layout.setContentsMargins(0, 0, 0, 3)
|
||||
self.free_container_layout.setObjectName("free_container_layout")
|
||||
self.free_scrollarea.setWidget(self.free_container)
|
||||
self.games_container_layout.addWidget(self.free_scrollarea)
|
||||
self.discounts_group = QtWidgets.QGroupBox(self.games_container)
|
||||
self.discounts_group.setObjectName("discounts_group")
|
||||
self.games_container_layout.addWidget(self.discounts_group)
|
||||
self.games_group = QtWidgets.QGroupBox(self.games_container)
|
||||
self.games_group.setObjectName("games_group")
|
||||
self.games_container_layout.addWidget(self.games_group)
|
||||
self.games_scrollarea.setWidget(self.games_container)
|
||||
self.main_layout.addWidget(self.games_scrollarea, 1, 0, 1, 1)
|
||||
|
||||
self.retranslateUi(ShopWidget)
|
||||
|
||||
def retranslateUi(self, ShopWidget):
|
||||
_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 filters"))
|
||||
self.price_group.setTitle(_translate("ShopWidget", "Price"))
|
||||
self.none_price.setText(_translate("ShopWidget", "None"))
|
||||
self.free_button.setText(_translate("ShopWidget", "Free"))
|
||||
|
@ -164,6 +154,9 @@ class Ui_ShopWidget(object):
|
|||
self.genre_group.setTitle(_translate("ShopWidget", "Genre"))
|
||||
self.type_group.setTitle(_translate("ShopWidget", "Type"))
|
||||
self.others_group.setTitle(_translate("ShopWidget", "Other tags"))
|
||||
self.reset_button.setText(_translate("ShopWidget", "Reset filters"))
|
||||
self.discounts_group.setTitle(_translate("ShopWidget", "Discounts from your wishlist"))
|
||||
self.games_group.setTitle(_translate("ShopWidget", "Games"))
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
|
|
@ -6,134 +6,15 @@
|
|||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>679</width>
|
||||
<height>329</height>
|
||||
<width>788</width>
|
||||
<height>662</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string notr="true">Store</string>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="shop_layout" stretch="1,0">
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="left_layout">
|
||||
<item>
|
||||
<widget class="QScrollArea" name="games_scrollarea">
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::NoFrame</enum>
|
||||
</property>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Plain</enum>
|
||||
</property>
|
||||
<property name="sizeAdjustPolicy">
|
||||
<enum>QAbstractScrollArea::AdjustToContents</enum>
|
||||
</property>
|
||||
<property name="widgetResizable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<widget class="QWidget" name="games_container">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>515</width>
|
||||
<height>315</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="games_container_layout">
|
||||
<property name="leftMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>3</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QScrollArea" name="free_scrollarea">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::NoFrame</enum>
|
||||
</property>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Plain</enum>
|
||||
</property>
|
||||
<property name="verticalScrollBarPolicy">
|
||||
<enum>Qt::ScrollBarAlwaysOff</enum>
|
||||
</property>
|
||||
<property name="widgetResizable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<widget class="QWidget" name="free_container">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>16</width>
|
||||
<height>16</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="free_container_layout">
|
||||
<property name="leftMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>3</number>
|
||||
</property>
|
||||
</layout>
|
||||
</widget>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="discounts_group">
|
||||
<property name="title">
|
||||
<string>Discounts from your wishlist</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="games_group">
|
||||
<property name="title">
|
||||
<string>Games</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="right_layout">
|
||||
<item>
|
||||
<widget class="QPushButton" name="reset_button">
|
||||
<property name="text">
|
||||
<string>Reset filters</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QGridLayout" name="main_layout">
|
||||
<item row="1" column="1">
|
||||
<widget class="QScrollArea" name="filter_scrollarea">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Expanding">
|
||||
|
@ -281,7 +162,118 @@
|
|||
</widget>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QPushButton" name="reset_button">
|
||||
<property name="text">
|
||||
<string>Reset filters</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QScrollArea" name="games_scrollarea">
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::NoFrame</enum>
|
||||
</property>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Plain</enum>
|
||||
</property>
|
||||
<property name="sizeAdjustPolicy">
|
||||
<enum>QAbstractScrollArea::AdjustToContents</enum>
|
||||
</property>
|
||||
<property name="widgetResizable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<widget class="QWidget" name="games_container">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>628</width>
|
||||
<height>618</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="games_container_layout">
|
||||
<property name="leftMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>3</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QScrollArea" name="free_scrollarea">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::NoFrame</enum>
|
||||
</property>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Plain</enum>
|
||||
</property>
|
||||
<property name="verticalScrollBarPolicy">
|
||||
<enum>Qt::ScrollBarAlwaysOff</enum>
|
||||
</property>
|
||||
<property name="widgetResizable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<widget class="QWidget" name="free_container">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>16</width>
|
||||
<height>16</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="free_container_layout">
|
||||
<property name="leftMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>3</number>
|
||||
</property>
|
||||
</layout>
|
||||
</widget>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="discounts_group">
|
||||
<property name="title">
|
||||
<string>Discounts from your wishlist</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="games_group">
|
||||
<property name="title">
|
||||
<string>Games</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
|
|
Loading…
Reference in a new issue