summaryrefslogtreecommitdiff
path: root/noncore/apps/opie-reader/FontControl.cpp
blob: f0ed98b76dc1d335723c662bd3cfda2f4de602f5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include "opie.h"
#include "FontControl.h"

bool FontControl::ChangeFont(QString& n, int tgt)
{
    QValueList<int>::Iterator it;
    QFontDatabase fdb;
    QValueList<int> sizes = fdb.pointSizes(n);
    if (sizes.count() == 0)
    {
	return false;
    }
    else
    {
	m_fontname = n;
	m_maxsize = sizes.count();
	if (m_fontsizes != NULL) delete [] m_fontsizes;
	m_fontsizes = new int[m_maxsize];
	uint i = 0;
	uint best = 0;
	for (it = sizes.begin(); it != sizes.end(); it++)
	{
#ifdef OPIE
	    m_fontsizes[i] = (*it);
#else
	    m_fontsizes[i] = (*it)/10;
#endif
	    if (abs(tgt-m_fontsizes[i]) < abs(tgt-m_fontsizes[best]))
	    {
		best = i;
	    }
	    i++;
	}
	m_size = best;
    }
    return true;
}