Define auxiliary functions for metrics

Collect font, font metrics and icon size functions in a separate module.

Signed-off-by: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Giuseppe Bilotta 2014-10-15 15:30:50 +02:00 committed by Dirk Hohndel
parent f18bcd6607
commit 5a2db2db4b
5 changed files with 57 additions and 9 deletions

32
qt-ui/metrics.cpp Normal file
View file

@ -0,0 +1,32 @@
/*
* metrics.cpp
*
* methods to find/compute essential UI metrics
* (font properties, icon sizes, etc)
*
*/
#include "metrics.h"
QFont defaultModelFont()
{
QFont font;
// font.setPointSizeF(font.pointSizeF() * 0.8);
return font;
}
QFontMetrics defaultModelFontMetrics()
{
return QFontMetrics(defaultModelFont());
}
// return the default icon size, computed as the multiple of 16 closest to
// the given height
int defaultIconSize(int height)
{
int ret = (height + 8)/16;
ret *= 16;
if (ret < 16)
ret = 16;
return ret;
}

21
qt-ui/metrics.h Normal file
View file

@ -0,0 +1,21 @@
/*
* metrics.h
*
* header file for common function to find/compute essential UI metrics
* (font properties, icon sizes, etc)
*
*/
#ifndef METRICS_H
#define METRICS_H
#include <QFont>
#include <QFontMetrics>
QFont defaultModelFont();
QFontMetrics defaultModelFontMetrics();
// return the default icon size, computed as the multiple of 16 closest to
// the given height (that defaults to the default font height)
int defaultIconSize(int height = defaultModelFontMetrics().height());
#endif // METRICS_H

View file

@ -25,13 +25,6 @@
#include <QMessageBox>
#include <QStringListModel>
QFont defaultModelFont()
{
QFont font;
// font.setPointSizeF(font.pointSizeF() * 0.8);
return font;
}
CleanerTableModel::CleanerTableModel(QObject *parent) : QAbstractTableModel(parent)
{
}

View file

@ -13,12 +13,12 @@
#include <QStringListModel>
#include <QSortFilterProxyModel>
#include "metrics.h"
#include "../dive.h"
#include "../divelist.h"
#include "../divecomputer.h"
QFont defaultModelFont();
// Encapsulates Boilerplate.
class CleanerTableModel : public QAbstractTableModel {
Q_OBJECT

View file

@ -57,6 +57,7 @@ HEADERS = \
qt-ui/mainwindow.h \
qt-ui/modeldelegates.h \
qt-ui/models.h \
qt-ui/metrics.h \
qt-ui/preferences.h \
qt-ui/printdialog.h \
qt-ui/printlayout.h \
@ -143,6 +144,7 @@ SOURCES = \
qt-ui/mainwindow.cpp \
qt-ui/modeldelegates.cpp \
qt-ui/models.cpp \
qt-ui/metrics.cpp \
qt-ui/preferences.cpp \
qt-ui/printdialog.cpp \
qt-ui/printlayout.cpp \