diff options
| author | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2010-03-01 19:17:32 +0000 |
|---|---|---|
| committer | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2010-03-01 19:17:32 +0000 |
| commit | e38d2351b83fa65c66ccde443777647ef5cb6cff (patch) | |
| tree | 1897fc20e9f73a81c520a5b9f76f8ed042124883 /src/entryiconfactory.cpp | |
| download | tellico-e38d2351b83fa65c66ccde443777647ef5cb6cff.tar.gz tellico-e38d2351b83fa65c66ccde443777647ef5cb6cff.zip | |
Added KDE3 version of Tellico
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/applications/tellico@1097620 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'src/entryiconfactory.cpp')
| -rw-r--r-- | src/entryiconfactory.cpp | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/src/entryiconfactory.cpp b/src/entryiconfactory.cpp new file mode 100644 index 0000000..0f4696d --- /dev/null +++ b/src/entryiconfactory.cpp @@ -0,0 +1,43 @@ +/*************************************************************************** + copyright : (C) 2005-2006 by Robby Stephenson + email : robby@periapsis.org + ***************************************************************************/ + +/*************************************************************************** + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of version 2 of the GNU General Public License as * + * published by the Free Software Foundation; * + * * + ***************************************************************************/ + +#include "entryiconfactory.h" +#include "tellico_kernel.h" + +#include <kiconloader.h> +#include <kimageeffect.h> + +#include <qimage.h> + +using Tellico::EntryIconFactory; + +EntryIconFactory::EntryIconFactory(int size_) : QIconFactory(), m_size(size_) { + setAutoDelete(true); +} + +QPixmap* EntryIconFactory::createPixmap(const QIconSet&, QIconSet::Size, QIconSet::Mode, QIconSet::State) { + QPixmap entryPix = UserIcon(Kernel::self()->collectionTypeName()); + // if we're 22x22 or smaller, just use entry icon + if(m_size < 23) { + QImage entryImg = entryPix.convertToImage(); + entryPix.convertFromImage(entryImg.smoothScale(m_size, m_size, QImage::ScaleMin), 0); + return new QPixmap(entryPix); + } + + QPixmap newPix = BarIcon(QString::fromLatin1("mime_empty"), m_size); + QImage newImg = newPix.convertToImage(); +// QImage blend; Not exactly sure what the coordinates mean, but this seems to work ok. + KImageEffect::blendOnLower(m_size/4, m_size/4, entryPix.convertToImage(), newImg); + newPix.convertFromImage(newImg, 0); + return new QPixmap(newPix); +} |
