From 9218d2bf841e1f999475c86ba602dc1cd7e338f6 Mon Sep 17 00:00:00 2001 From: alwin Date: Sun, 07 Nov 2004 19:37:17 +0000 Subject: try to improve the icon scaling --- (limited to 'noncore/graphics') diff --git a/noncore/graphics/opie-eye/gui/iconview.cpp b/noncore/graphics/opie-eye/gui/iconview.cpp index f173ecc..5472ead 100644 --- a/noncore/graphics/opie-eye/gui/iconview.cpp +++ b/noncore/graphics/opie-eye/gui/iconview.cpp @@ -110,16 +110,19 @@ namespace { inline void IconViewItem::check_pix()const { if (_dirPix && _dirPix->width()>m_iconsize) { - QPixmap*Pix = new QPixmap(*_dirPix); - Pix->resize(m_iconsize,m_iconsize); - delete _dirPix; - _dirPix = Pix; + QImage Pix = _dirPix->convertToImage(); + *_dirPix = Pix.smoothScale(m_iconsize,m_iconsize); } if (!_cpyPix && _unkPix) { if (_unkPix->width()>=m_iconsize) { - _cpyPix = new QPixmap(*_unkPix); - if (_unkPix->width()>m_iconsize) - _cpyPix->resize(m_iconsize,m_iconsize); + QImage Pix = _unkPix->convertToImage(); + _cpyPix = new QPixmap(); + if (_unkPix->width()>m_iconsize) { + *_cpyPix = Pix.smoothScale(m_iconsize,m_iconsize); + } else { + _cpyPix->convertFromImage(Pix); + } + } else { _cpyPix = new QPixmap(m_iconsize,m_iconsize); _cpyPix->fill(); -- cgit v0.9.0.2