author | simon <simon> | 2002-12-14 18:18:20 (UTC) |
---|---|---|
committer | simon <simon> | 2002-12-14 18:18:20 (UTC) |
commit | 7c854ad1b909f37c7314ef4ac2061500d02af16d (patch) (side-by-side diff) | |
tree | 24528d72c0f2d36d6777090d7d93e2536ffb120d | |
parent | ae7a270c56fa0fff6d3f530c80532c54c51be596 (diff) | |
download | opie-7c854ad1b909f37c7314ef4ac2061500d02af16d.zip opie-7c854ad1b909f37c7314ef4ac2061500d02af16d.tar.gz opie-7c854ad1b909f37c7314ef4ac2061500d02af16d.tar.bz2 |
- reduce memory usage a little bit by not storing the images after they
got converted to pixmaps
-rw-r--r-- | noncore/multimedia/opieplayer2/mediawidget.cpp | 1 | ||||
-rw-r--r-- | noncore/multimedia/opieplayer2/skin.cpp | 4 | ||||
-rw-r--r-- | noncore/multimedia/opieplayer2/skin.h | 4 |
3 files changed, 9 insertions, 0 deletions
diff --git a/noncore/multimedia/opieplayer2/mediawidget.cpp b/noncore/multimedia/opieplayer2/mediawidget.cpp index edef2a7..46e7b6e 100644 --- a/noncore/multimedia/opieplayer2/mediawidget.cpp +++ b/noncore/multimedia/opieplayer2/mediawidget.cpp @@ -68,6 +68,7 @@ MediaWidget::Button MediaWidget::setupButton( const SkinButtonInfo &buttonInfo, void MediaWidget::loadDefaultSkin( const GUIInfo &guiInfo ) { Skin skin( guiInfo.fileNameInfix ); + skin.setCachable( false ); loadSkin( guiInfo.buttonInfo, guiInfo.buttonCount, skin ); } diff --git a/noncore/multimedia/opieplayer2/skin.cpp b/noncore/multimedia/opieplayer2/skin.cpp index a8f4ae9..44f5ca2 100644 --- a/noncore/multimedia/opieplayer2/skin.cpp +++ b/noncore/multimedia/opieplayer2/skin.cpp @@ -77,11 +77,15 @@ Skin::Skin( const QString &fileNameInfix ) Skin::~Skin() { + if ( m_isCachable ) SkinCache::self().store( m_skinPath, m_fileNameInfix, d ); + else + delete d; } void Skin::init( const QString &name ) { + m_isCachable = true; m_skinPath = "opieplayer2/skins/" + name; d = SkinCache::self().lookupAndTake( m_skinPath, m_fileNameInfix ); } diff --git a/noncore/multimedia/opieplayer2/skin.h b/noncore/multimedia/opieplayer2/skin.h index bafebd3..067b6c4 100644 --- a/noncore/multimedia/opieplayer2/skin.h +++ b/noncore/multimedia/opieplayer2/skin.h @@ -38,6 +38,9 @@ public: Skin( const QString &fileNameInfix ); ~Skin(); + bool isCachable() const { return m_isCachable; } + void setCachable( bool cachable ) { m_isCachable = cachable; } + QPixmap backgroundPixmap() const; QImage buttonUpImage() const; QImage buttonDownImage() const; @@ -57,6 +60,7 @@ private: QString m_fileNameInfix; QString m_skinPath; + bool m_isCachable : 1; SkinData *d; |