21 #include <QFileInfo> |
21 #include <QFileInfo> |
22 #include <QStringList> |
22 #include <QStringList> |
23 |
23 |
24 FmFileTypeRecognizer::FmFileTypeRecognizer() |
24 FmFileTypeRecognizer::FmFileTypeRecognizer() |
25 { |
25 { |
26 QStringList fileExtensionList; |
26 mFileExtensionMap.insert( QString( "bmp" ), FileTypeImage ); |
|
27 mFileExtensionMap.insert( QString( "gif" ), FileTypeImage ); |
|
28 mFileExtensionMap.insert( QString( "jpe" ), FileTypeImage ); |
|
29 mFileExtensionMap.insert( QString( "jpeg" ),FileTypeImage ); |
|
30 mFileExtensionMap.insert( QString( "jpg" ), FileTypeImage ); |
|
31 mFileExtensionMap.insert( QString( "ota" ), FileTypeImage ); |
|
32 mFileExtensionMap.insert( QString( "png" ), FileTypeImage ); |
|
33 mFileExtensionMap.insert( QString( "tif" ), FileTypeImage ); |
|
34 mFileExtensionMap.insert( QString( "tiff" ),FileTypeImage ); |
|
35 mFileExtensionMap.insert( QString( "wbmp" ),FileTypeImage ); |
|
36 mFileExtensionMap.insert( QString( "wmf" ), FileTypeImage ); |
|
37 mFileExtensionMap.insert( QString( "jp2" ), FileTypeImage ); |
|
38 mFileExtensionMap.insert( QString( "jpg2" ),FileTypeImage ); |
|
39 mFileExtensionMap.insert( QString( "jp3" ), FileTypeImage ); |
|
40 mFileExtensionMap.insert( QString( "ico" ), FileTypeImage ); |
|
41 mFileExtensionMap.insert( QString( "vcf" ), FileTypeImage ); |
|
42 |
|
43 mFileExtensionMap.insert( QString( "3gp" ), FileTypeVideo ); |
|
44 mFileExtensionMap.insert( QString( "mp4" ), FileTypeVideo ); |
|
45 mFileExtensionMap.insert( QString( "nim" ), FileTypeVideo ); |
|
46 mFileExtensionMap.insert( QString( "rm" ), FileTypeVideo ); |
|
47 mFileExtensionMap.insert( QString( "rv" ), FileTypeVideo ); |
|
48 mFileExtensionMap.insert( QString( "wmv" ), FileTypeVideo ); |
|
49 mFileExtensionMap.insert( QString( "3g2" ), FileTypeVideo ); |
|
50 mFileExtensionMap.insert( QString( "rmvb" ),FileTypeVideo ); |
|
51 mFileExtensionMap.insert( QString( "mkv" ), FileTypeVideo ); |
27 |
52 |
28 fileExtensionList.append( QString( "bmp" ) ); |
53 |
29 fileExtensionList.append( QString( "gif" ) ); |
54 mFileExtensionMap.insert( QString( "aac" ), FileTypeTone ); |
30 fileExtensionList.append( QString( "jpe" ) ); |
55 mFileExtensionMap.insert( QString( "amr" ), FileTypeTone ); |
31 fileExtensionList.append( QString( "jpeg" ) ); |
56 mFileExtensionMap.insert( QString( "au" ), FileTypeTone ); |
32 fileExtensionList.append( QString( "jpg" ) ); |
57 mFileExtensionMap.insert( QString( "awb" ), FileTypeTone ); |
33 fileExtensionList.append( QString( "ota" ) ); |
58 mFileExtensionMap.insert( QString( "mid" ), FileTypeTone ); |
34 fileExtensionList.append( QString( "png" ) ); |
59 mFileExtensionMap.insert( QString( "mp3" ), FileTypeTone ); |
35 fileExtensionList.append( QString( "tif" ) ); |
60 mFileExtensionMap.insert( QString( "ra" ), FileTypeTone ); |
36 fileExtensionList.append( QString( "tiff" ) ); |
61 mFileExtensionMap.insert( QString( "rmf" ), FileTypeTone ); |
37 fileExtensionList.append( QString( "wbmp" ) ); |
62 mFileExtensionMap.insert( QString( "rng" ), FileTypeTone ); |
38 fileExtensionList.append( QString( "wmf" ) ); |
63 mFileExtensionMap.insert( QString( "snd" ), FileTypeTone ); |
39 fileExtensionList.append( QString( "jp2" ) ); |
64 mFileExtensionMap.insert( QString( "wav" ), FileTypeTone ); |
40 fileExtensionList.append( QString( "jpg2" ) ); |
65 mFileExtensionMap.insert( QString( "wve" ), FileTypeTone ); |
41 fileExtensionList.append( QString( "jp3" ) ); |
66 mFileExtensionMap.insert( QString( "wma" ), FileTypeTone ); |
42 fileExtensionList.append( QString( "ico" ) ); |
67 mFileExtensionMap.insert( QString( "m4a" ), FileTypeTone ); |
43 fileExtensionList.append( QString( "vcf" ) ); |
68 mFileExtensionMap.insert( QString( "ott" ), FileTypeTone ); |
44 mFileTypeMap.insert( FileTypeImage, fileExtensionList ); |
69 mFileExtensionMap.insert( QString( "mxmf" ),FileTypeTone ); |
45 |
|
46 fileExtensionList.clear(); |
|
47 fileExtensionList.append( QString( "3gp" ) ); |
|
48 fileExtensionList.append( QString( "mp4" ) ); |
|
49 fileExtensionList.append( QString( "nim" ) ); |
|
50 fileExtensionList.append( QString( "rm" ) ); |
|
51 fileExtensionList.append( QString( "rv" ) ); |
|
52 fileExtensionList.append( QString( "wmv" ) ); |
|
53 fileExtensionList.append( QString( "3g2" ) ); |
|
54 fileExtensionList.append( QString( "rmvb") ); |
|
55 fileExtensionList.append( QString( "mkv" ) ); |
|
56 mFileTypeMap.insert( FileTypeVideo, fileExtensionList ); |
|
57 |
70 |
58 fileExtensionList.clear(); |
71 mFileExtensionMap.insert( QString( "doc" ), FileTypeText ); |
59 fileExtensionList.append( QString( "aac" ) ); |
72 mFileExtensionMap.insert( QString( "pdf" ), FileTypeText ); |
60 fileExtensionList.append( QString( "amr" ) ); |
73 mFileExtensionMap.insert( QString( "pps" ), FileTypeText ); |
61 fileExtensionList.append( QString( "au" ) ); |
74 mFileExtensionMap.insert( QString( "ppt" ), FileTypeText ); |
62 fileExtensionList.append( QString( "awb" ) ); |
75 mFileExtensionMap.insert( QString( "txt" ), FileTypeText ); |
63 fileExtensionList.append( QString( "mid" ) ); |
76 mFileExtensionMap.insert( QString( "xls" ), FileTypeText ); |
64 fileExtensionList.append( QString( "mp3" ) ); |
|
65 fileExtensionList.append( QString( "ra" ) ); |
|
66 fileExtensionList.append( QString( "rmf" ) ); |
|
67 fileExtensionList.append( QString( "rng" ) ); |
|
68 fileExtensionList.append( QString( "snd" ) ); |
|
69 fileExtensionList.append( QString( "wav" ) ); |
|
70 fileExtensionList.append( QString( "wve" ) ); |
|
71 fileExtensionList.append( QString( "wma" ) ); |
|
72 fileExtensionList.append( QString( "m4a" ) ); |
|
73 fileExtensionList.append( QString( "ott" ) ); |
|
74 fileExtensionList.append( QString( "mxmf" ) ); |
|
75 mFileTypeMap.insert( FileTypeTone, fileExtensionList ); |
|
76 |
|
77 fileExtensionList.clear(); |
|
78 fileExtensionList.append( QString( "doc" ) ); |
|
79 fileExtensionList.append( QString( "pdf" ) ); |
|
80 fileExtensionList.append( QString( "pps" ) ); |
|
81 fileExtensionList.append( QString( "ppt" ) ); |
|
82 fileExtensionList.append( QString( "txt" ) ); |
|
83 fileExtensionList.append( QString( "xls" ) ); |
|
84 mFileTypeMap.insert( FileTypeText, fileExtensionList ); |
|
85 |
77 |
86 fileExtensionList.clear(); |
78 mFileExtensionMap.insert( QString( "sis" ), FileTypeSisx ); |
87 fileExtensionList.append( QString( "sis" ) ); |
79 mFileExtensionMap.insert( QString( "sisx" ),FileTypeSisx ); |
88 fileExtensionList.append( QString( "sisx" ) ); |
80 |
89 mFileTypeMap.insert( FileTypeSisx, fileExtensionList ); |
81 mFileExtensionMap.insert( QString( "jad" ), FileTypeJava ); |
|
82 mFileExtensionMap.insert( QString( "jar" ), FileTypeJava ); |
90 |
83 |
91 fileExtensionList.clear(); |
84 mFileExtensionMap.insert( QString( "swf" ), FileTypeFlash ); |
92 fileExtensionList.append( QString( "jad" ) ); |
|
93 fileExtensionList.append( QString( "jar" ) ); |
|
94 mFileTypeMap.insert( FileTypeJava, fileExtensionList ); |
|
95 |
|
96 fileExtensionList.clear(); |
|
97 fileExtensionList.append( QString( "swf" ) ); |
|
98 mFileTypeMap.insert( FileTypeFlash, fileExtensionList ); |
|
99 |
85 |
100 // have not handle FileTypePlaylist |
86 // have not handle FileTypePlaylist |
101 // have not handle FileTypeWidget |
87 // have not handle FileTypeWidget |
102 // have not handle FileTypeWebLink |
88 // have not handle FileTypeWebLink |
103 |
|
104 // make mFileExtensionMap( data map for extenstion ) from mFileTypeMap |
|
105 // this map is used to speed up recognize |
|
106 QMapIterator<FileType, QStringList> i( mFileTypeMap ); |
|
107 while (i.hasNext()) { |
|
108 i.next(); |
|
109 foreach( const QString extension, i.value() ) { |
|
110 mFileExtensionMap.insert( extension, i.key() ); |
|
111 } |
|
112 } |
|
113 |
|
114 |
|
115 } |
89 } |
116 |
90 |
117 FmFileTypeRecognizer::~FmFileTypeRecognizer() |
91 FmFileTypeRecognizer::~FmFileTypeRecognizer() |
118 { |
92 { |
119 |
93 |