KDevelop API Documentation

languages/cpp/pcsimporter/kdelibsimporter/kdevkdelibsimporter.cpp

Go to the documentation of this file.
00001 /*************************************************************************** 00002 * Copyright (C) 2003 by Roberto Raggi * 00003 * roberto@kdevelop.org * 00004 * * 00005 * This program is free software; you can redistribute it and/or modify * 00006 * it under the terms of the GNU General Public License as published by * 00007 * the Free Software Foundation; either version 2 of the License, or * 00008 * (at your option) any later version. * 00009 * * 00010 ***************************************************************************/ 00011 00012 #include "kdevkdelibsimporter.h" 00013 #include "kdevkdelibsimporter.moc" 00014 #include "settingsdialog.h" 00015 00016 #include <kdebug.h> 00017 #include <kgenericfactory.h> 00018 00019 #include <qvaluestack.h> 00020 #include <qlabel.h> 00021 #include <qdir.h> 00022 #include <qcombobox.h> 00023 00024 K_EXPORT_COMPONENT_FACTORY( libkdevkdelibsimporter, KGenericFactory<KDevKDELibsImporter>( "kdevkdelibsimporter" ) ) 00025 00026 KDevKDELibsImporter::KDevKDELibsImporter( QObject * parent, const char * name, const QStringList& ) 00027 : KDevPCSImporter( parent, name ) 00028 { 00029 } 00030 00031 KDevKDELibsImporter::~KDevKDELibsImporter() 00032 { 00033 } 00034 00035 QStringList KDevKDELibsImporter::fileList( const QString& path ) 00036 { 00037 QDir dir( path ); 00038 QStringList lst = dir.entryList( "*.h" ); 00039 QStringList fileList; 00040 for( QStringList::Iterator it=lst.begin(); it!=lst.end(); ++it ) 00041 { 00042 fileList.push_back( dir.absPath() + "/" + (*it) ); 00043 } 00044 return fileList; 00045 } 00046 00047 00048 QStringList KDevKDELibsImporter::fileList() 00049 { 00050 if( !m_settings ) 00051 return QStringList(); 00052 00053 QStringList files; 00054 int scope = m_settings->cbParsingScope->currentItem(); 00055 if ( scope == 0 ) 00056 { 00057 files += fileList( m_settings->kdeDir() ); 00058 files += fileList( m_settings->kdeDir() + "/arts" ); 00059 files += fileList( m_settings->kdeDir() + "/artsc" ); 00060 files += fileList( m_settings->kdeDir() + "/dcopc" ); 00061 files += fileList( m_settings->kdeDir() + "/dom" ); 00062 files += fileList( m_settings->kdeDir() + "/kabc" ); 00063 files += fileList( m_settings->kdeDir() + "/kdeprint" ); 00064 files += fileList( m_settings->kdeDir() + "/kdesu" ); 00065 files += fileList( m_settings->kdeDir() + "/kio" ); 00066 files += fileList( m_settings->kdeDir() + "/kjs" ); 00067 files += fileList( m_settings->kdeDir() + "/kparts" ); 00068 files += fileList( m_settings->kdeDir() + "/ktexteditor" ); 00069 } 00070 else if (scope == 1) 00071 { 00072 QValueStack<QString> s; 00073 s.push(m_settings->kdeDir()); 00074 files += fileList(m_settings->kdeDir()); 00075 00076 QDir dir; 00077 do { 00078 dir.setPath(s.pop()); 00079 kdDebug(9015) << "Examining: " << dir.path() << endl; 00080 const QFileInfoList *dirEntries = dir.entryInfoList(); 00081 QPtrListIterator<QFileInfo> it(*dirEntries); 00082 for (; it.current(); ++it) { 00083 QString fileName = it.current()->fileName(); 00084 if (fileName == "." || fileName == "..") 00085 continue; 00086 QString path = it.current()->absFilePath(); 00087 if (it.current()->isDir()) { 00088 kdDebug(9015) << "Pushing: " << path << endl; 00089 s.push(path); 00090 files += fileList(path); 00091 } 00092 } 00093 } while (!s.isEmpty()); 00094 } 00095 00096 return files; 00097 } 00098 00099 QStringList KDevKDELibsImporter::includePaths() 00100 { 00101 if( !m_settings ) 00102 return QStringList(); 00103 00104 QStringList includePaths; 00105 includePaths.push_back( m_settings->kdeDir() ); 00106 return includePaths; 00107 } 00108 00109 QWidget * KDevKDELibsImporter::createSettingsPage( QWidget * parent, const char * name ) 00110 { 00111 m_settings = new SettingsDialog( parent, name ); 00112 return m_settings; 00113 } 00114
KDE Logo
This file is part of the documentation for KDevelop Version 3.0.4.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Tue Oct 19 08:01:43 2004 by doxygen 1.3.7 written by Dimitri van Heesch, © 1997-2003