diff -r 1d0c87b42e2e -r b3155376f2b4 filemanager/src/inc/fmdrivemodel.h --- a/filemanager/src/inc/fmdrivemodel.h Fri Jun 11 13:29:48 2010 +0300 +++ b/filemanager/src/inc/fmdrivemodel.h Wed Jun 23 18:03:11 2010 +0300 @@ -23,6 +23,27 @@ #include #include +/*! + \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 +56,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(); @@ -52,6 +74,10 @@ QFileIconProvider *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)