fix Symbols dialog box grid size in case of broken QFontMetrics::maxWidth()

This commit is contained in:
Stephan Witt 2014-01-04 20:14:06 +01:00
parent b73c6462d6
commit 358e9ab31b

View File

@ -277,12 +277,16 @@ GuiSymbols::GuiSymbols(GuiView & lv)
symbolsLW->setViewMode(QListView::IconMode); symbolsLW->setViewMode(QListView::IconMode);
// increase the display size of the symbols a bit // increase the display size of the symbols a bit
QFont font= symbolsLW->font(); QFont font = symbolsLW->font();
int size = font.pointSize() + 3; const int size = font.pointSize() + 3;
font.setPointSize(size); font.setPointSize(size);
symbolsLW->setFont(font); symbolsLW->setFont(font);
QFontMetrics fm(font); QFontMetrics fm(font);
symbolsLW->setGridSize(QSize(fm.maxWidth() + 2, fm.height() + 2)); const int cellHeight = fm.height() + 2;
// FIXME: using at least cellHeight because of
// QFontMetrics::maxWidth() is returning 0 with Qt/Cocoa on Mac OS
const int cellWidth = max(cellHeight, fm.maxWidth() + 2);
symbolsLW->setGridSize(QSize(cellWidth, cellHeight));
symbolsLW->setModel(model_); symbolsLW->setModel(model_);
} }