Skip to content

Commit e038a1d

Browse files
committed
Qt: Fix some size values truncated in game list
1 parent a790f52 commit e038a1d

File tree

2 files changed

+11
-2
lines changed

2 files changed

+11
-2
lines changed

src/duckstation-qt/gamelistwidget.cpp

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1778,7 +1778,7 @@ void GameListWidget::onIconSizeChanged(int size)
17781778
{
17791779
// update size of rows
17801780
m_model->updateRowHeight(m_list_view);
1781-
m_list_view->setFixedColumnWidth(m_list_view->fontMetrics(), GameListModel::Column_Icon,
1781+
m_list_view->setFixedColumnWidth(m_list_view->fontMetricsForHorizontalHeader(), GameListModel::Column_Icon,
17821782
m_model->getIconColumnWidth());
17831783
m_list_view->verticalHeader()->setDefaultSectionSize(m_model->getRowHeight());
17841784
onScaleChanged();
@@ -1882,6 +1882,14 @@ void GameListListView::wheelEvent(QWheelEvent* e)
18821882
QTableView::wheelEvent(e);
18831883
}
18841884

1885+
QFontMetrics GameListListView::fontMetricsForHorizontalHeader() const
1886+
{
1887+
// https://github.com/qt/qtbase/blob/9cc32c2490813b81ce36fc97f959078bf5c2fbf5/src/widgets/itemviews/qheaderview.cpp#L3148
1888+
QFont font = horizontalHeader()->font();
1889+
font.setBold(true);
1890+
return QFontMetrics(font);
1891+
}
1892+
18851893
void GameListListView::setFixedColumnWidth(int column, int width)
18861894
{
18871895
horizontalHeader()->setSectionResizeMode(column, QHeaderView::Fixed);
@@ -1900,7 +1908,7 @@ void GameListListView::setFixedColumnWidth(const QFontMetrics& fm, int column, i
19001908

19011909
void GameListListView::setFixedColumnWidths()
19021910
{
1903-
const QFontMetrics fm(fontMetrics());
1911+
const QFontMetrics fm = fontMetricsForHorizontalHeader();
19041912
const auto width_for = [&fm](const QString& text) { return fm.size(0, text).width(); };
19051913

19061914
setFixedColumnWidth(fm, GameListModel::Column_Serial, width_for(QStringLiteral("SWWW-00000")));

src/duckstation-qt/gamelistwidget.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -174,6 +174,7 @@ class GameListListView final : public QTableView
174174
GameListListView(GameListModel* model, GameListSortModel* sort_model, QWidget* parent);
175175
~GameListListView() override;
176176

177+
QFontMetrics fontMetricsForHorizontalHeader() const;
177178
void setFixedColumnWidth(const QFontMetrics& fm, int column, int str_width);
178179
void setAndSaveColumnHidden(int column, bool hidden);
179180

0 commit comments

Comments
 (0)