USe different small scale factor depending upon current font size
This commit is contained in:
committed by
craig.p.drummond
parent
159ebbf57d
commit
efd36899dc
@@ -307,12 +307,7 @@ FancyTabBar::FancyTabBar(QWidget *parent, bool text, int iSize, Pos pos)
|
||||
, m_pos(pos)
|
||||
, m_iconSize(iSize)
|
||||
{
|
||||
QFont f(font());
|
||||
if (f.pointSizeF()>=8) {
|
||||
f.setPointSizeF(f.pointSizeF()*0.8);
|
||||
setFont(f);
|
||||
}
|
||||
|
||||
setFont(Utils::smallFont(font()));
|
||||
setAttribute(Qt::WA_Hover, true);
|
||||
setFocusPolicy(Qt::NoFocus);
|
||||
setMouseTracking(true); // Needed for hover events
|
||||
|
||||
@@ -50,8 +50,8 @@
|
||||
#include <sys/types.h>
|
||||
#include <utime.h>
|
||||
|
||||
QLatin1Char Utils::constDirSep('/');
|
||||
QLatin1String Utils::constDirSepStr("/");
|
||||
const QLatin1Char Utils::constDirSep('/');
|
||||
const QLatin1String Utils::constDirSepStr("/");
|
||||
const char * Utils::constDirSepCharStr="/";
|
||||
|
||||
static const QLatin1String constHttp("http://");
|
||||
@@ -317,7 +317,7 @@ void Utils::msleep(int msecs)
|
||||
#endif // Q_WS_WIN
|
||||
|
||||
// kstandarddirs.h
|
||||
extern bool Utils::makeDir(const QString &dir, int mode)
|
||||
bool Utils::makeDir(const QString &dir, int mode)
|
||||
{
|
||||
// we want an absolute path
|
||||
if (QDir::isRelativePath(dir)) {
|
||||
@@ -744,7 +744,28 @@ bool Utils::isDirReadable(const QString &dir)
|
||||
#endif
|
||||
}
|
||||
|
||||
extern int Utils::layoutSpacing(QWidget *w)
|
||||
double Utils::smallFontFactor(const QFont &f)
|
||||
{
|
||||
double sz=f.pointSizeF();
|
||||
if (sz<7.0) {
|
||||
return 1.0;
|
||||
}
|
||||
if (sz<8.5) {
|
||||
return 0.9;
|
||||
}
|
||||
if (sz<9.0) {
|
||||
return 0.85;
|
||||
}
|
||||
return 0.8;
|
||||
}
|
||||
|
||||
QFont Utils::smallFont(QFont f)
|
||||
{
|
||||
f.setPointSizeF(f.pointSizeF()*smallFontFactor(f));
|
||||
return f;
|
||||
}
|
||||
|
||||
int Utils::layoutSpacing(QWidget *w)
|
||||
{
|
||||
int spacing=(w ? w->style() : qApp->style())->layoutSpacing(QSizePolicy::DefaultType, QSizePolicy::DefaultType, Qt::Vertical);
|
||||
if (spacing<0) {
|
||||
@@ -753,7 +774,7 @@ extern int Utils::layoutSpacing(QWidget *w)
|
||||
return spacing;
|
||||
}
|
||||
|
||||
extern bool Utils::isHighDpi()
|
||||
bool Utils::isHighDpi()
|
||||
{
|
||||
static int fontHeight=-1;
|
||||
if (-1==fontHeight) {
|
||||
|
||||
@@ -30,6 +30,7 @@
|
||||
#include <QString>
|
||||
#include <QLatin1Char>
|
||||
#include <QDir>
|
||||
#include <QFont>
|
||||
#ifdef ENABLE_KDE_SUPPORT
|
||||
#include <KDE/KGlobal>
|
||||
#include <KDE/KLocale>
|
||||
@@ -45,8 +46,8 @@ class QWidget;
|
||||
|
||||
namespace Utils
|
||||
{
|
||||
extern QLatin1Char constDirSep;
|
||||
extern QLatin1String constDirSepStr;
|
||||
extern const QLatin1Char constDirSep;
|
||||
extern const QLatin1String constDirSepStr;
|
||||
extern const char * constDirSepCharStr;
|
||||
|
||||
inline bool equal(double d1, double d2, double precision=0.0001)
|
||||
@@ -104,6 +105,8 @@ namespace Utils
|
||||
extern void touchFile(const QString &fileName);
|
||||
extern bool isDirReadable(const QString &dir);
|
||||
|
||||
extern double smallFontFactor(const QFont &f);
|
||||
extern QFont smallFont(QFont f);
|
||||
extern int layoutSpacing(QWidget *w);
|
||||
extern bool isHighDpi();
|
||||
|
||||
|
||||
@@ -140,7 +140,7 @@ public:
|
||||
imageSize=constDevImageSize;
|
||||
}
|
||||
return QSize(qMax(64, imageSize) + (constBorder * 2),
|
||||
qMax(textHeight, imageSize) + (constBorder*2) + (int)((showCapacity ? textHeight*0.8 : 0)+0.5));
|
||||
qMax(textHeight, imageSize) + (constBorder*2) + (int)((showCapacity ? textHeight*Utils::smallFontFactor(QApplication::font()) : 0)+0.5));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -279,8 +279,7 @@ public:
|
||||
painter->setFont(textFont);
|
||||
painter->drawText(textRect, text, textOpt);
|
||||
} else {
|
||||
QFont childFont(QApplication::font());
|
||||
childFont.setPointSizeF(childFont.pointSizeF()*0.8);
|
||||
QFont childFont(Utils::smallFont(QApplication::font()));
|
||||
QFontMetrics childMetrics(childFont);
|
||||
QRect childRect;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user