back port from trunk:

fix Symbols dialog box grid size in case of broken QFontMetrics::maxWidth()
This commit is contained in:
Stephan Witt 2014-01-04 20:37:38 +01:00
parent 75093fee99
commit 85bd5428cb

View File

@ -276,11 +276,15 @@ GuiSymbols::GuiSymbols(GuiView & lv)
symbolsLW->setViewMode(QListView::IconMode);
// increase the display size of the symbols a bit
QFont font= symbolsLW->font();
int size = font.pointSize() + 3;
QFont font = symbolsLW->font();
const int size = font.pointSize() + 3;
font.setPointSize(size);
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->setFont(font);
symbolsLW->setModel(model_);
}