summaryrefslogtreecommitdiffstats
path: root/kbfxlib/common/kbfxthemesdata.cpp
diff options
context:
space:
mode:
authortpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2010-02-17 00:43:50 +0000
committertpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2010-02-17 00:43:50 +0000
commitceea23677c61f20759ae986bd77b0d5c4d673edb (patch)
tree3fcec1702eaf9c14d1dd736e594f5df08dab4001 /kbfxlib/common/kbfxthemesdata.cpp
downloadkbfx-ceea23677c61f20759ae986bd77b0d5c4d673edb.tar.gz
kbfx-ceea23677c61f20759ae986bd77b0d5c4d673edb.zip
Added old KDE3 version of kbfx
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/applications/kbfx@1091549 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'kbfxlib/common/kbfxthemesdata.cpp')
-rw-r--r--kbfxlib/common/kbfxthemesdata.cpp90
1 files changed, 90 insertions, 0 deletions
diff --git a/kbfxlib/common/kbfxthemesdata.cpp b/kbfxlib/common/kbfxthemesdata.cpp
new file mode 100644
index 0000000..2ebaa10
--- /dev/null
+++ b/kbfxlib/common/kbfxthemesdata.cpp
@@ -0,0 +1,90 @@
+/*
+ * Copyright (C) 2006
+ * Siraj Razick <siraj@kdemail.net>
+ * PhobosK <phobosk@mail.kbfx.org>
+ * see Also AUTHORS
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Library General Public License version 2 as
+ * published by the Free Software Foundation
+ *
+ * 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 Library General Public
+ * License along with this program; if not, write to the
+ * Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+#include "kbfxthemesdata.h"
+
+KbfxThemesData::KbfxThemesData()
+{}
+
+KbfxThemesData::~KbfxThemesData()
+{
+ m_themesMap.clear();
+}
+
+ThemesMap KbfxThemesData::setThemeList ( QString path )
+{
+ QString m_KbfxThemesVersion = ConfigInit().m_KbfxThemesVersion;
+ bool m_KbfxShowOldThemes = ConfigInit().m_KbfxShowOldThemes;
+ QFileInfo *fi=0, *f=0;
+
+ m_themesMap.clear();
+
+ KStandardDirs *tmp = new KStandardDirs();
+
+ /* search themes in KDE Resource Folders and append user selected folder */
+ QStringList skinsFolders = tmp->findDirs ( "data", "kbfx/skins" );
+ if ( tmp->exists ( path ) )
+ {
+ skinsFolders.append ( path );
+ }
+ else
+ {
+ kdDebug() << "KbfxThemesData: Path doesn't exist! :" << path << endl;
+ }
+
+ for ( QStringList::Iterator skinsIt = skinsFolders.begin(); skinsIt != skinsFolders.end(); ++skinsIt )
+ {
+ QDir d ( *skinsIt );
+ d.setFilter ( QDir::Dirs );
+
+ const QFileInfoList *list = d.entryInfoList();
+ QFileInfoListIterator it ( *list );
+
+ while ( ( fi = it.current() ) != 0 )
+ {
+ if ( !fi->fileName().startsWith ( "." ) )
+ {
+ f = new QFileInfo ( d, fi->fileName() + "/" + m_KbfxThemesVersion );
+ if ( m_KbfxShowOldThemes )
+ {
+ m_themesMap[fi->fileName() ] = ( fi->dirPath ( TRUE ) ).append ( "/" );
+ }
+ else
+ {
+ if ( f->exists () )
+ m_themesMap[fi->fileName() ] = ( fi->dirPath ( TRUE ) ).append ( "/" );
+ }
+ }
+ ++it;
+ }
+ }
+
+ /* kdDebug() << "Available Themes - "
+ * << m_themesMap.keys()
+ * << m_themesMap.values()
+ * << endl;
+ */
+
+ delete fi;
+ delete f;
+ delete tmp;
+ return m_themesMap;
+}