filemanager/src/filemanager/src/components/fmdrivedetailstype.h
changeset 25 b7bfdea70ca2
parent 14 1957042d8c7e
child 32 39cf9ced4cc4
equal deleted inserted replaced
16:ada7962b4308 25:b7bfdea70ca2
    24 #include <QStringList>
    24 #include <QStringList>
    25 
    25 
    26 class FmDriveDetailsDataGroup
    26 class FmDriveDetailsDataGroup
    27 {
    27 {
    28 public:
    28 public:
       
    29     // used to identify recognize method
       
    30     enum TDataRecognizeType{
       
    31         EDataRecognizeExtName = 0,  // recognize data by extension of filename
       
    32         EDataRecognizeAbsolutePath  // recognize data by ablsolute file path
       
    33     };
       
    34     
    29     enum TDataGroups{
    35     enum TDataGroups{
    30         EGroupImages = 0,
    36         EGroupImages = 0,
    31         EGroupSoundFiles,
    37         EGroupSoundFiles,
    32         EGroupMidpJava,
    38         EGroupMidpJava,
    33         EGroupNativeApps,
    39         EGroupNativeApps,
    38         EGroupMessages,
    44         EGroupMessages,
    39         EGroupOthers
    45         EGroupOthers
    40     };
    46     };
    41     
    47     
    42 public:
    48 public:
    43         FmDriveDetailsDataGroup( TDataGroups dataGroups, QStringList typeFilters ) 
    49        FmDriveDetailsDataGroup( TDataGroups dataGroups,
    44             : mDataGroups( dataGroups ), mTypeFilters( typeFilters ) {}
    50                     QStringList typeFilters,
       
    51                     TDataRecognizeType recognizeType ) 
       
    52                    : mDataGroups( dataGroups ), mTypeFilters( typeFilters ),
       
    53                      mDataRecognizeType( recognizeType )
       
    54         {
       
    55         }
    45         FmDriveDetailsDataGroup( const FmDriveDetailsDataGroup &other )
    56         FmDriveDetailsDataGroup( const FmDriveDetailsDataGroup &other )
    46         {
    57         {
    47             *this = other;
    58             *this = other;
    48         }
    59         }
    49         
    60         
    54             return *this;
    65             return *this;
    55         }
    66         }
    56         
    67         
    57         TDataGroups dataGroups() const { return mDataGroups; }
    68         TDataGroups dataGroups() const { return mDataGroups; }
    58         QStringList typeFilters() const { return mTypeFilters; }
    69         QStringList typeFilters() const { return mTypeFilters; }
       
    70         TDataRecognizeType dataRecognizeType() const { return mDataRecognizeType; }
    59     
    71     
    60 private:
    72 private:
    61       TDataGroups mDataGroups;
    73       TDataGroups mDataGroups;
    62       QStringList mTypeFilters;
    74       QStringList mTypeFilters;
       
    75       TDataRecognizeType mDataRecognizeType;
    63 };
    76 };
    64 
    77 
    65 class FmDriveDetailsSize
    78 class FmDriveDetailsSize
    66 {
    79 {
    67 public:
    80 public:
    91 {
   104 {
    92 public:
   105 public:
    93     static QList<FmDriveDetailsDataGroup*> queryDetailsContent(); 
   106     static QList<FmDriveDetailsDataGroup*> queryDetailsContent(); 
    94     static int querySizeofContent(
   107     static int querySizeofContent(
    95             const QString &driveName, QList<FmDriveDetailsSize*> &detailsSizeList, volatile bool *isStopped );
   108             const QString &driveName, QList<FmDriveDetailsSize*> &detailsSizeList, volatile bool *isStopped );
    96    
   109     /**
       
   110      * Gets data size for single FmDriveDetailsDataGroup, the method is scan files for extension.
       
   111      * @param driveName which drive is searching
       
   112      * @param dataGroup which dataGroup is searching, for example, EGroupImages, EGroupSoundFiles...
       
   113      * @param detailsSizeList if got result, new FmDriveDetailsSize will be appended to detailsSizeList
       
   114      * @param isStopped isStopped will be set as true if user cancel this operation
       
   115      * @return Filemanage wide error. Please refer to fmdefine.h
       
   116      */
       
   117     static int getDataSizeByExtName( const QString &driveName, const FmDriveDetailsDataGroup* const dataGroup,
       
   118                QList<FmDriveDetailsSize*> &detailsSizeList, volatile bool *isStopped );
       
   119     
       
   120     /**
       
   121      * Gets data size for single FmDriveDetailsDataGroup, the method is find file of absolute path
       
   122      * @param driveName which drive is searching
       
   123      * @param dataGroup which dataGroup is searching, for example, EGroupContacts...
       
   124      * @param detailsSizeList if got result, new FmDriveDetailsSize will be appended to detailsSizeList
       
   125      * @param isStopped isStopped will be set as true if user cancel this operation
       
   126      * @return Filemanage wide error. Please refer to fmdefine.h
       
   127      */
       
   128     static int getDataSizeByAbsolutePath( const QString &driveName, const FmDriveDetailsDataGroup* const dataGroup, 
       
   129                QList<FmDriveDetailsSize*> &detailsSizeList, volatile bool *isStopped );
    97 };
   130 };
    98 
   131 
    99 class FmFolderDetails
   132 class FmFolderDetails
   100 {
   133 {
   101 public:
   134 public: