summaryrefslogtreecommitdiff
authorskyhusker <skyhusker>2005-03-06 19:31:56 (UTC)
committer skyhusker <skyhusker>2005-03-06 19:31:56 (UTC)
commit578cc81bc489015320351efd4fabcbed3355ac23 (patch) (unidiff)
treef40c155e58a993759b662e09b56051d8eb93cb49
parenta81251b503cba26ad326ac6c68a80a2930bef896 (diff)
downloadopie-578cc81bc489015320351efd4fabcbed3355ac23.zip
opie-578cc81bc489015320351efd4fabcbed3355ac23.tar.gz
opie-578cc81bc489015320351efd4fabcbed3355ac23.tar.bz2
Fix bug 1600: Removing . from directory listing
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/graphics/opie-eye/impl/dir/dir_lister.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/noncore/graphics/opie-eye/impl/dir/dir_lister.cpp b/noncore/graphics/opie-eye/impl/dir/dir_lister.cpp
index ff33cf2..5706598 100644
--- a/noncore/graphics/opie-eye/impl/dir/dir_lister.cpp
+++ b/noncore/graphics/opie-eye/impl/dir/dir_lister.cpp
@@ -19,65 +19,68 @@ using namespace Opie::Core;
19Dir_DirLister::Dir_DirLister( bool list,bool rec,int recdepth ) 19Dir_DirLister::Dir_DirLister( bool list,bool rec,int recdepth )
20 : PDirLister( "dir_dir_lister" ) 20 : PDirLister( "dir_dir_lister" )
21{ 21{
22 m_allFiles = list; 22 m_allFiles = list;
23 m_recursive = rec; 23 m_recursive = rec;
24 m_recDepth = recdepth; 24 m_recDepth = recdepth;
25 if (m_recDepth<1) m_recDepth = 1; 25 if (m_recDepth<1) m_recDepth = 1;
26 if (m_recDepth>10) m_recDepth = 10; 26 if (m_recDepth>10) m_recDepth = 10;
27 owarn << "All Files " << m_allFiles << "" << oendl; 27 owarn << "All Files " << m_allFiles << "" << oendl;
28 SlaveHelper::slaveConnectSignals( this ); 28 SlaveHelper::slaveConnectSignals( this );
29 m_Filter = (m_allFiles?"*":"*.jpg;*.jpeg;*.JPG;*.PNG;*.GIF;*.BMP;*.png;*.bmp;*.gif"); 29 m_Filter = (m_allFiles?"*":"*.jpg;*.jpeg;*.JPG;*.PNG;*.GIF;*.BMP;*.png;*.bmp;*.gif");
30} 30}
31 31
32QString Dir_DirLister::defaultPath()const { 32QString Dir_DirLister::defaultPath()const {
33 return QPEApplication::documentDir(); 33 return QPEApplication::documentDir();
34} 34}
35 35
36QString Dir_DirLister::setStartPath( const QString& path ) { 36QString Dir_DirLister::setStartPath( const QString& path ) {
37 m_currentDir.cd( path ); 37 m_currentDir.cd( path );
38 if (!m_currentDir.exists() ) 38 if (!m_currentDir.exists() )
39 m_currentDir.cd(defaultPath()); 39 m_currentDir.cd(defaultPath());
40 40
41 41
42 return m_currentDir.absPath(); 42 return m_currentDir.absPath();
43} 43}
44 44
45QString Dir_DirLister::currentPath()const { 45QString Dir_DirLister::currentPath()const {
46 return m_currentDir.absPath(); 46 return m_currentDir.absPath();
47} 47}
48 48
49 49
50QStringList Dir_DirLister::folders()const { 50QStringList Dir_DirLister::folders()const {
51 return m_currentDir.entryList( QDir::Dirs ); 51 QStringList dirs = m_currentDir.entryList( QDir::Dirs );
52 dirs.remove(".");
53
54 return dirs;
52} 55}
53 56
54QStringList Dir_DirLister::recFiles(const QString&aPath,int currentDepth)const 57QStringList Dir_DirLister::recFiles(const QString&aPath,int currentDepth)const
55{ 58{
56 QStringList all; 59 QStringList all;
57 if (currentDepth>m_recDepth) return all; 60 if (currentDepth>m_recDepth) return all;
58 61
59 QString subPath; 62 QString subPath;
60 subPath = aPath; 63 subPath = aPath;
61 if (subPath.length()==0) { 64 if (subPath.length()==0) {
62 subPath="."; 65 subPath=".";
63 } 66 }
64 QDir checkDir(currentPath()+"/"+aPath); 67 QDir checkDir(currentPath()+"/"+aPath);
65 68
66 QStringList p = checkDir.entryList( QDir::Dirs ); 69 QStringList p = checkDir.entryList( QDir::Dirs );
67 all+=checkDir.entryList(m_Filter,QDir::Files|QDir::Readable); 70 all+=checkDir.entryList(m_Filter,QDir::Files|QDir::Readable);
68 QStringList tmp; 71 QStringList tmp;
69 for (unsigned i = 0; i < p.count();++i) { 72 for (unsigned i = 0; i < p.count();++i) {
70 if (p[i]=="." || p[i]=="..") continue; 73 if (p[i]=="." || p[i]=="..") continue;
71 tmp =recFiles(subPath+"/"+p[i],currentDepth+1); 74 tmp =recFiles(subPath+"/"+p[i],currentDepth+1);
72 for (unsigned j = 0; j < tmp.count();++j) { 75 for (unsigned j = 0; j < tmp.count();++j) {
73 all.append(p[i]+"/"+tmp[j]); 76 all.append(p[i]+"/"+tmp[j]);
74 } 77 }
75 } 78 }
76 return all; 79 return all;
77} 80}
78 81
79QStringList Dir_DirLister::files()const 82QStringList Dir_DirLister::files()const
80{ 83{
81 if (m_recursive) { 84 if (m_recursive) {
82 odebug << "Startpfad: "<<m_currentDir.absPath()<<oendl; 85 odebug << "Startpfad: "<<m_currentDir.absPath()<<oendl;
83 return recFiles("",0); 86 return recFiles("",0);