|
1 /* |
|
2 * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). |
|
3 * All rights reserved. |
|
4 * This component and the accompanying materials are made available |
|
5 * under the terms of "Eclipse Public License v1.0" |
|
6 * which accompanies this distribution, and is available |
|
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html". |
|
8 * |
|
9 * Initial Contributors: |
|
10 * Nokia Corporation - initial contribution. |
|
11 * |
|
12 * Contributors: |
|
13 * |
|
14 * |
|
15 * Description: |
|
16 * The source file of the file type recognizer |
|
17 */ |
|
18 |
|
19 #include "fmfiletyperecognizer.h" |
|
20 #include "fmutils.h" |
|
21 #include <QFileInfo> |
|
22 #include <QStringList> |
|
23 |
|
24 FmFileTypeRecognizer::FmFileTypeRecognizer() |
|
25 { |
|
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 ); |
|
52 |
|
53 |
|
54 mFileExtensionMap.insert( QString( "aac" ), FileTypeTone ); |
|
55 mFileExtensionMap.insert( QString( "amr" ), FileTypeTone ); |
|
56 mFileExtensionMap.insert( QString( "au" ), FileTypeTone ); |
|
57 mFileExtensionMap.insert( QString( "awb" ), FileTypeTone ); |
|
58 mFileExtensionMap.insert( QString( "mid" ), FileTypeTone ); |
|
59 mFileExtensionMap.insert( QString( "mp3" ), FileTypeTone ); |
|
60 mFileExtensionMap.insert( QString( "ra" ), FileTypeTone ); |
|
61 mFileExtensionMap.insert( QString( "rmf" ), FileTypeTone ); |
|
62 mFileExtensionMap.insert( QString( "rng" ), FileTypeTone ); |
|
63 mFileExtensionMap.insert( QString( "snd" ), FileTypeTone ); |
|
64 mFileExtensionMap.insert( QString( "wav" ), FileTypeTone ); |
|
65 mFileExtensionMap.insert( QString( "wve" ), FileTypeTone ); |
|
66 mFileExtensionMap.insert( QString( "wma" ), FileTypeTone ); |
|
67 mFileExtensionMap.insert( QString( "m4a" ), FileTypeTone ); |
|
68 mFileExtensionMap.insert( QString( "ott" ), FileTypeTone ); |
|
69 mFileExtensionMap.insert( QString( "mxmf" ),FileTypeTone ); |
|
70 |
|
71 mFileExtensionMap.insert( QString( "doc" ), FileTypeText ); |
|
72 mFileExtensionMap.insert( QString( "pdf" ), FileTypeText ); |
|
73 mFileExtensionMap.insert( QString( "pps" ), FileTypeText ); |
|
74 mFileExtensionMap.insert( QString( "ppt" ), FileTypeText ); |
|
75 mFileExtensionMap.insert( QString( "txt" ), FileTypeText ); |
|
76 mFileExtensionMap.insert( QString( "xls" ), FileTypeText ); |
|
77 |
|
78 mFileExtensionMap.insert( QString( "sis" ), FileTypeSisx ); |
|
79 mFileExtensionMap.insert( QString( "sisx" ),FileTypeSisx ); |
|
80 |
|
81 mFileExtensionMap.insert( QString( "jad" ), FileTypeJava ); |
|
82 mFileExtensionMap.insert( QString( "jar" ), FileTypeJava ); |
|
83 |
|
84 mFileExtensionMap.insert( QString( "swf" ), FileTypeFlash ); |
|
85 |
|
86 // have not handle FileTypePlaylist |
|
87 // have not handle FileTypeWidget |
|
88 // have not handle FileTypeWebLink |
|
89 } |
|
90 |
|
91 FmFileTypeRecognizer::~FmFileTypeRecognizer() |
|
92 { |
|
93 |
|
94 } |
|
95 |
|
96 FmFileTypeRecognizer::FileType FmFileTypeRecognizer::getType( const QString& path ) const |
|
97 { |
|
98 if( FmUtils::isDrive( path ) ) { |
|
99 return FileTypeDrive; |
|
100 } |
|
101 |
|
102 QFileInfo fileInfo(path); |
|
103 if( fileInfo.isDir() ) { |
|
104 return FileTypeFolder; |
|
105 } |
|
106 |
|
107 //if can not find key, return default value: FileTypeUnKnown |
|
108 return mFileExtensionMap.value( fileInfo.suffix().toLower(), FileTypeUnKnown ); |
|
109 } |