From 0a0379f31f915fb180dece311a1220f09f4a65bc Mon Sep 17 00:00:00 2001 From: Stenzek Date: Thu, 5 Jun 2025 19:17:07 +1000 Subject: [PATCH] Qt: Make game list scrollbar only visible as-needed --- src/duckstation-qt/gamelistwidget.cpp | 9 +++++++-- src/duckstation-qt/gamelistwidget.h | 3 +++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/duckstation-qt/gamelistwidget.cpp b/src/duckstation-qt/gamelistwidget.cpp index 728a7dfe3..b11a01728 100644 --- a/src/duckstation-qt/gamelistwidget.cpp +++ b/src/duckstation-qt/gamelistwidget.cpp @@ -1525,7 +1525,6 @@ void GameListWidget::onCoverScaleChanged(float scale) void GameListWidget::resizeEvent(QResizeEvent* event) { QWidget::resizeEvent(event); - resizeListViewColumnsToFit(); updateBackground(false); } @@ -1584,7 +1583,7 @@ GameListListView::GameListListView(GameListModel* model, GameListSortModel* sort verticalHeader()->hide(); - setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn); + setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded); setVerticalScrollMode(QAbstractItemView::ScrollMode::ScrollPerPixel); GameListCenterIconStyleDelegate* center_icon_delegate = new GameListCenterIconStyleDelegate(this); @@ -1603,6 +1602,12 @@ GameListListView::GameListListView(GameListModel* model, GameListSortModel* sort GameListListView::~GameListListView() = default; +void GameListListView::resizeEvent(QResizeEvent* e) +{ + QTableView::resizeEvent(e); + resizeColumnsToFit(); +} + void GameListListView::resizeColumnsToFit() { QtUtils::ResizeColumnsForTableView(this, { diff --git a/src/duckstation-qt/gamelistwidget.h b/src/duckstation-qt/gamelistwidget.h index fa6eaf1de..6f40871f8 100644 --- a/src/duckstation-qt/gamelistwidget.h +++ b/src/duckstation-qt/gamelistwidget.h @@ -163,6 +163,9 @@ public: void resizeColumnsToFit(); +protected: + void resizeEvent(QResizeEvent* e) override; + private Q_SLOTS: void onHeaderSortIndicatorChanged(int, Qt::SortOrder); void onHeaderContextMenuRequested(const QPoint& point);