diff options
-rw-r--r-- | qt-ui/metrics.cpp | 32 | ||||
-rw-r--r-- | qt-ui/metrics.h | 21 | ||||
-rw-r--r-- | qt-ui/models.cpp | 7 | ||||
-rw-r--r-- | qt-ui/models.h | 4 | ||||
-rw-r--r-- | subsurface.pro | 2 |
5 files changed, 57 insertions, 9 deletions
diff --git a/qt-ui/metrics.cpp b/qt-ui/metrics.cpp new file mode 100644 index 000000000..49e27849f --- /dev/null +++ b/qt-ui/metrics.cpp @@ -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; +} diff --git a/qt-ui/metrics.h b/qt-ui/metrics.h new file mode 100644 index 000000000..ba45ab916 --- /dev/null +++ b/qt-ui/metrics.h @@ -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 diff --git a/qt-ui/models.cpp b/qt-ui/models.cpp index 30dc6f64d..0e57b3b52 100644 --- a/qt-ui/models.cpp +++ b/qt-ui/models.cpp @@ -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) { } diff --git a/qt-ui/models.h b/qt-ui/models.h index bf13063c8..2345d0de2 100644 --- a/qt-ui/models.h +++ b/qt-ui/models.h @@ -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 diff --git a/subsurface.pro b/subsurface.pro index d4b71c303..724e0215d 100644 --- a/subsurface.pro +++ b/subsurface.pro @@ -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 \ |