code cleanup: QFontMetrics::width() is deprecated

Qt5.11 introduced the suggested replacement QFontMetrics::horizontalAdvance().

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Dirk Hohndel 2020-01-01 17:14:15 -08:00
parent 042799eb2a
commit afd53be6f5
3 changed files with 18 additions and 3 deletions

View file

@ -90,11 +90,17 @@ void DiveListView::resetModel()
void DiveListView::calculateInitialColumnWidth(int col)
{
const QFontMetrics metrics(defaultModelFont());
QString header_txt = MultiFilterSortModel::instance()->headerData(col, Qt::Horizontal, Qt::DisplayRole).toString();
#if QT_VERSION < QT_VERSION_CHECK(5, 11, 0)
int em = metrics.width('m');
int zw = metrics.width('0');
QString header_txt = MultiFilterSortModel::instance()->headerData(col, Qt::Horizontal, Qt::DisplayRole).toString();
int width = metrics.width(header_txt);
#else // QT 5.11 or newer
int em = metrics.horizontalAdvance('m');
int zw = metrics.horizontalAdvance('0');
int width = metrics.horizontalAdvance(header_txt);
#endif
int sw = 0;
switch (col) {
case DiveTripModelBase::NR:

View file

@ -97,7 +97,11 @@ extern "C" int updateProgress(const char *text)
if (progressDialog) {
// apparently we don't always get enough space to show the full label
// so let's manually make enough space (but don't shrink the existing size)
#if QT_VERSION < QT_VERSION_CHECK(5, 11, 0)
int width = QFontMetrics(qApp->font()).width(text) + 100;
#else // QT 5.11 or newer
int width = QFontMetrics(qApp->font()).horizontalAdvance(text) + 100;
#endif
if (width > progressDialog->width())
progressDialog->resize(width + 20, progressDialog->height());
progressDialog->setLabelText(text);

View file

@ -139,7 +139,12 @@ int TableView::defaultColumnWidth(int col)
{
int width;
QString text = ui.tableView->model()->headerData(col, Qt::Horizontal).toString();
width = text.isEmpty() ? metrics.rm_col_width : defaultModelFontMetrics().width(text) + 4; // add small margin
#if QT_VERSION < QT_VERSION_CHECK(5, 11, 0)
int textSpace = defaultModelFontMetrics().width(text) + 4;
#else // QT 5.11 or newer
int textSpace = defaultModelFontMetrics().horizontalAdvance(text) + 4;
#endif
width = text.isEmpty() ? metrics.rm_col_width : textSpace + 4; // add small margin
#if defined(Q_OS_MAC)
width += 10; // Mac needs more margin
#endif