summaryrefslogtreecommitdiff
path: root/libopie/ofileselector/olocallister.cpp
Unidiff
Diffstat (limited to 'libopie/ofileselector/olocallister.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--libopie/ofileselector/olocallister.cpp150
1 files changed, 0 insertions, 150 deletions
diff --git a/libopie/ofileselector/olocallister.cpp b/libopie/ofileselector/olocallister.cpp
deleted file mode 100644
index 4d36d64..0000000
--- a/libopie/ofileselector/olocallister.cpp
+++ b/dev/null
@@ -1,150 +0,0 @@
1#include <qdir.h>
2#include <qfileinfo.h>
3#include <qmap.h>
4
5#include <qpe/mimetype.h>
6
7#include "ofileselector.h"
8#include "ofileview.h"
9#include "olocallister.h"
10
11OLocalLister::OLocalLister( OFileSelector* file )
12 : OLister( file )
13{
14 m_dir = QDir::homeDirPath();
15}
16OLocalLister::~OLocalLister() {
17}
18
19QMap<QString, QStringList> OLocalLister::mimeTypes( const QString& curDir ) {
20 QMap<QString, QStringList> mimes;
21
22 // let's find possible mimetypes
23 QDir dir( curDir );
24 dir.setFilter( QDir::Files | QDir::Readable );
25 dir.setSorting( QDir::Size );
26
27 const QFileInfoList *list = dir.entryInfoList();
28 QFileInfoListIterator it( *list );
29 QFileInfo *fi;
30
31 while( (fi=it.current() ) ) {
32 /* skip .desktop */
33 if( fi->extension() == QString::fromLatin1("desktop") ){
34 ++it;
35 continue;
36 }
37 MimeType type( fi->absFilePath() );
38
39 if( !mimes.contains( type.id() ) ){
40 mimes.insert( type.id(), type.id() );
41 }
42
43 ++it;
44 }
45
46 return mimes;
47}
48/**
49 * FIXME mimecheck
50 * use mime check for that
51 * filter dirs
52 * filter filters
53 * filter files
54 * filter mimetypes
55 */
56void OLocalLister::reparse( const QString& pa ) {
57 if (!pa.isEmpty() )
58 m_dir = pa;
59
60 QString currentMimeType;
61 QDir dir( m_dir );
62
63 dir.setSorting( view()->sorting() );
64 dir.setFilter( view()->filter() );
65
66
67 const QFileInfoList *list = dir.entryInfoList();
68 QFileInfoListIterator it( *list );
69 QFileInfo *fi;
70
71 while( (fi=it.current() ) ){
72
73 if( fi->fileName() == QString::fromLatin1("..") ||
74 fi->fileName() == QString::fromLatin1(".") ){
75 ++it;
76 continue;
77 }
78 if( fi->isSymLink() ){
79 QString file = fi->dirPath( true ) + "/" + fi->readLink();
80 /*
81 * 5 tries to prevent dos attack
82 */
83 for( int i = 0; i<=4; i++) {
84 QFileInfo info( file );
85 if( !info.exists() ){
86 addSymlink( currentMimeType, fi, QString::null, TRUE );
87 break;
88 }else if( info.isDir() ){
89 if (!showDirs() )
90 break;
91
92 addDir( currentMimeType, fi, QString::null,
93 TRUE );
94 break;
95 }else if( info.isFile() ){
96 /* if not show files skip it */
97 if (!showFiles() )
98 break;
99
100 /* check if we comply to the mimetype */
101 MimeType type( info.absFilePath() );
102 if (compliesMime( type.id() ) )
103 addFile( currentMimeType, fi, QString::null, TRUE );
104
105 break;
106 }else if( info.isSymLink() ){
107 file = info.dirPath(true ) + "/" + info.readLink() ;
108 break;
109 }else if( i == 4){
110 addSymlink( currentMimeType, fi );
111 }
112 }
113
114 }else if( fi->isDir() ){
115 if (showDirs() )
116 addDir( currentMimeType, fi );
117 }else if( fi->isFile() ){
118 if ( showFiles() )
119 addFile( currentMimeType, fi );
120 }
121 ++it;
122 } // of while loop
123}
124/* more accepting it code */
125void OLocalLister::fileSelected( const QString& dir, const QString& file, const QString& ) {
126 internFileSelected( dir + "/" + file );
127}
128void OLocalLister::changedDir( const QString& dir, const QString& file, const QString& ) {
129 internChangedDir( dir + "/" + file );
130}
131/*
132 * assemble the the Url now
133 */
134QString OLocalLister::selectedName()const {
135 QString str = m_dir;
136 QString name = lineEdit();
137
138 if ( name.isEmpty() )
139 name = view()->currentView()->selectedName();
140
141 str += "/" + name;
142
143 return str;
144}
145QStringList OLocalLister::selectedNames()const {
146 QStringList list;
147 list << selectedName();
148
149 return list;
150}