Diffstat (limited to 'libopie/ofileselector/olocallister.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | libopie/ofileselector/olocallister.cpp | 150 |
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 | |||
11 | OLocalLister::OLocalLister( OFileSelector* file ) | ||
12 | : OLister( file ) | ||
13 | { | ||
14 | m_dir = QDir::homeDirPath(); | ||
15 | } | ||
16 | OLocalLister::~OLocalLister() { | ||
17 | } | ||
18 | |||
19 | QMap<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 | */ | ||
56 | void 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 */ | ||
125 | void OLocalLister::fileSelected( const QString& dir, const QString& file, const QString& ) { | ||
126 | internFileSelected( dir + "/" + file ); | ||
127 | } | ||
128 | void OLocalLister::changedDir( const QString& dir, const QString& file, const QString& ) { | ||
129 | internChangedDir( dir + "/" + file ); | ||
130 | } | ||
131 | /* | ||
132 | * assemble the the Url now | ||
133 | */ | ||
134 | QString 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 | } | ||
145 | QStringList OLocalLister::selectedNames()const { | ||
146 | QStringList list; | ||
147 | list << selectedName(); | ||
148 | |||
149 | return list; | ||
150 | } | ||