Changeset View
Changeset View
Standalone View
Standalone View
src/misc/gravatarcache.cpp
Show All 27 Lines | |||||
28 | using namespace Gravatar; | 28 | using namespace Gravatar; | ||
29 | 29 | | |||
30 | Q_GLOBAL_STATIC(GravatarCache, s_gravatarCache) | 30 | Q_GLOBAL_STATIC(GravatarCache, s_gravatarCache) | ||
31 | 31 | | |||
32 | class Gravatar::GravatarCachePrivate | 32 | class Gravatar::GravatarCachePrivate | ||
33 | { | 33 | { | ||
34 | public: | 34 | public: | ||
35 | GravatarCachePrivate() | 35 | GravatarCachePrivate() | ||
36 | : mMaximumSize(20) | | |||
37 | { | 36 | { | ||
38 | } | 37 | } | ||
39 | 38 | | |||
40 | QCache<QString, QPixmap> mCachePixmap; | 39 | QCache<QString, QPixmap> mCachePixmap; | ||
41 | QString mGravatarPath; | 40 | QString mGravatarPath; | ||
42 | int mMaximumSize; | | |||
43 | }; | 41 | }; | ||
44 | 42 | | |||
45 | GravatarCache::GravatarCache() | 43 | GravatarCache::GravatarCache() | ||
46 | : d(new Gravatar::GravatarCachePrivate) | 44 | : d(new Gravatar::GravatarCachePrivate) | ||
47 | { | 45 | { | ||
48 | d->mCachePixmap.setMaxCost(d->mMaximumSize); | 46 | d->mCachePixmap.setMaxCost(20); | ||
49 | //Make sure that this folder is created. Otherwise we can't store gravatar | 47 | //Make sure that this folder is created. Otherwise we can't store gravatar | ||
50 | d->mGravatarPath = QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation) + QLatin1String("/gravatar/"); | 48 | d->mGravatarPath = QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation) + QLatin1String("/gravatar/"); | ||
51 | QDir().mkpath(d->mGravatarPath); | 49 | QDir().mkpath(d->mGravatarPath); | ||
52 | } | 50 | } | ||
53 | 51 | | |||
54 | GravatarCache::~GravatarCache() | 52 | GravatarCache::~GravatarCache() | ||
55 | { | 53 | { | ||
56 | delete d; | 54 | delete d; | ||
▲ Show 20 Lines • Show All 42 Lines • ▼ Show 20 Line(s) | 85 | } else { | |||
99 | } | 97 | } | ||
100 | } | 98 | } | ||
101 | } | 99 | } | ||
102 | return QPixmap(); | 100 | return QPixmap(); | ||
103 | } | 101 | } | ||
104 | 102 | | |||
105 | int GravatarCache::maximumSize() const | 103 | int GravatarCache::maximumSize() const | ||
106 | { | 104 | { | ||
107 | return d->mMaximumSize; | 105 | return d->mCachePixmap.maxCost(); | ||
108 | } | 106 | } | ||
109 | 107 | | |||
110 | void GravatarCache::setMaximumSize(int maximumSize) | 108 | void GravatarCache::setMaximumSize(int maximumSize) | ||
111 | { | 109 | { | ||
112 | if (d->mMaximumSize != maximumSize) { | 110 | if (d->mCachePixmap.maxCost() != maximumSize) { | ||
113 | d->mMaximumSize = maximumSize; | 111 | d->mCachePixmap.setMaxCost(maximumSize); | ||
114 | d->mCachePixmap.setMaxCost(d->mMaximumSize); | | |||
115 | } | 112 | } | ||
116 | } | 113 | } | ||
117 | 114 | | |||
118 | void GravatarCache::clear() | 115 | void GravatarCache::clear() | ||
119 | { | 116 | { | ||
120 | d->mCachePixmap.clear(); | 117 | d->mCachePixmap.clear(); | ||
121 | } | 118 | } | ||
122 | 119 | | |||
Show All 14 Lines |