From a3570c360e8884f2bbf60b89e4d9531321ae01ad Mon Sep 17 00:00:00 2001 From: tpearson Date: Thu, 21 Jul 2011 04:30:08 +0000 Subject: Initial import of kbookreader git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/applications/kbookreader@1242482 283d02a7-25f6-0310-bc7c-ecb5cbfe19da --- src/theme.cpp | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 src/theme.cpp (limited to 'src/theme.cpp') diff --git a/src/theme.cpp b/src/theme.cpp new file mode 100644 index 0000000..d6e868c --- /dev/null +++ b/src/theme.cpp @@ -0,0 +1,59 @@ +/*************************************************************************** +* Copyright (C) 2005 by Alexander Nemish * +* atlanter@gmail.com * +* * +* This program is free software; you can redistribute it and/or modify * +* it under the terms of the GNU General Public License as published by * +* the Free Software Foundation; either version 2 of the License, or * +* (at your option) any later version. * +* * +* This program is distributed in the hope that it will be useful, * +* but WITHOUT ANY WARRANTY; without even the implied warranty of * +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +* GNU General Public License for more details. * +* * +* You should have received a copy of the GNU General Public License * +* along with this program; if not, write to the * +* Free Software Foundation, Inc., * +* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * +***************************************************************************/ +#include +#include +#include +#include +#include +#include "theme.h" + +Theme* Theme::theme = 0; + +Theme::Theme() +{} + + +Theme * Theme::self() +{ + if ( !theme ) + theme = new Theme(); + return theme; +} + +void Theme::loadTheme(const QString& name) +{ + const QString themePath = "themes/" + name; //FIXME: Add 'name' check. Could be a hole. + QString bgPath = KGlobal::dirs()->findResource("appdata", themePath + "/bg.png"); + QString bookmarkPath = KGlobal::dirs()->findResource("appdata", themePath + "/bookmark.png"); + m_bgPixmap = QPixmap(bgPath); + m_bgResizedPixmap = m_bgPixmap; + m_bookmarkPixmap = QPixmap(bookmarkPath); +} + +const QPixmap & Theme::bgPixmap(QSize size) const +{ + if (size == QSize(0, 0) || size == m_bgPixmap.size()) + return m_bgPixmap; + if (size == m_bgResizedPixmap.size()) + return m_bgResizedPixmap; + m_bgResizedPixmap = m_bgPixmap; + m_bgResizedPixmap.convertFromImage(m_bgResizedPixmap.convertToImage().scale(size)); + return m_bgResizedPixmap; +} -- cgit v1.2.3