filemanager/src/inc/fmfiletyperecognizer.cpp
changeset 37 15bc28c9dd51
child 46 d58987eac7e8
equal deleted inserted replaced
16:ada7962b4308 37:15bc28c9dd51
       
     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 }