diff -r ada7962b4308 -r b7bfdea70ca2 filemanager/src/inc/fmdrivemodel.h --- a/filemanager/src/inc/fmdrivemodel.h Mon May 03 12:24:39 2010 +0300 +++ b/filemanager/src/inc/fmdrivemodel.h Fri Jun 25 17:08:34 2010 +0800 @@ -20,9 +20,31 @@ #include #include -#include #include +class FmFileIconProvider; + +/*! + \class FmDriveListProvider + \brief The class FmDriveListProvider provide drive list which is used in FmDriveModel + */ +class FmDriveListProvider +{ +public: + FmDriveListProvider() + { + } + + virtual ~FmDriveListProvider() + { + } + + /*! + implement this function to provide drive list. + */ + virtual void getDriveList( QStringList &driveList ) = 0; +}; + class FmDriveModel : public QAbstractListModel { Q_OBJECT @@ -35,7 +57,8 @@ }; Q_DECLARE_FLAGS(Options, Option) - explicit FmDriveModel( QObject *parent = 0, Options options = 0 ); + explicit FmDriveModel( QObject *parent = 0, Options options = 0, + FmDriveListProvider *driveListProvider = 0 ); virtual ~FmDriveModel(); void refresh(); @@ -49,9 +72,13 @@ private: QStringList mFindResult; - QFileIconProvider *mIconProvider; + FmFileIconProvider *mIconProvider; QStringList mDriveList; Options mOptions; + + // DriveListProvider will ignore HideUnAvailableDrive option. + // DriveListProvide can be set by others to provide special drive list + FmDriveListProvider *mDriveListProvider; }; Q_DECLARE_OPERATORS_FOR_FLAGS(FmDriveModel::Options)