diff --git a/src/duckstation-qt/gamelistwidget.cpp b/src/duckstation-qt/gamelistwidget.cpp index 5818724ca..6668c7fe1 100644 --- a/src/duckstation-qt/gamelistwidget.cpp +++ b/src/duckstation-qt/gamelistwidget.cpp @@ -1469,6 +1469,9 @@ void GameListWidget::cancelRefresh() void GameListWidget::onThemeChanged() { m_model->reloadThemeSpecificImages(); + + // Resize columns, since the text size can change with themes. + m_list_view->updateFixedColumnWidths(); } void GameListWidget::setBackgroundPath(const std::string_view path) @@ -1856,7 +1859,7 @@ GameListListView::GameListListView(GameListModel* model, GameListSortModel* sort QHeaderView* const horizontal_header = horizontalHeader(); horizontal_header->setHighlightSections(false); horizontal_header->setContextMenuPolicy(Qt::CustomContextMenu); - setFixedColumnWidths(); + updateFixedColumnWidths(); horizontal_header->setSectionResizeMode(GameListModel::Column_Title, QHeaderView::Stretch); horizontal_header->setSectionResizeMode(GameListModel::Column_FileTitle, QHeaderView::Stretch); @@ -1921,7 +1924,7 @@ void GameListListView::setFixedColumnWidth(const QFontMetrics& fm, int column, i setFixedColumnWidth(column, width); } -void GameListListView::setFixedColumnWidths() +void GameListListView::updateFixedColumnWidths() { const QFontMetrics fm = fontMetricsForHorizontalHeader(); const auto width_for = [&fm](const QString& text) { return fm.size(0, text).width(); }; diff --git a/src/duckstation-qt/gamelistwidget.h b/src/duckstation-qt/gamelistwidget.h index 964133e59..e05e9b308 100644 --- a/src/duckstation-qt/gamelistwidget.h +++ b/src/duckstation-qt/gamelistwidget.h @@ -176,6 +176,7 @@ public: QFontMetrics fontMetricsForHorizontalHeader() const; void setFixedColumnWidth(const QFontMetrics& fm, int column, int str_width); void setAndSaveColumnHidden(int column, bool hidden); + void updateFixedColumnWidths(); void adjustIconSize(int delta); @@ -184,7 +185,6 @@ protected: private: void setFixedColumnWidth(int column, int width); - void setFixedColumnWidths(); void loadColumnVisibilitySettings(); void loadColumnSortSettings();