filemanager/src/filemanager/src/fmfindwidget.h
changeset 46 d58987eac7e8
parent 16 ada7962b4308
equal deleted inserted replaced
37:15bc28c9dd51 46:d58987eac7e8
    26 #include <hbwidget.h>
    26 #include <hbwidget.h>
    27 
    27 
    28 class HbListView;
    28 class HbListView;
    29 class HbSearchPanel;
    29 class HbSearchPanel;
    30 class HbWidget;
    30 class HbWidget;
       
    31 class HbStackedWidget;
    31 
    32 
    32 class QGraphicsLinearLayout;
    33 class QGraphicsLinearLayout;
    33 
    34 
    34 class FmFindWidget : public HbWidget
    35 class FmFindWidget : public HbWidget
    35 {
    36 {
    36     Q_OBJECT
    37     Q_OBJECT
    37 public:
    38 public:
    38     enum ContentWidgetType
       
    39     {
       
    40         EmptyTipWidget,
       
    41         ResultListView
       
    42     };
       
    43     FmFindWidget( QGraphicsItem *parent = 0 );
    39     FmFindWidget( QGraphicsItem *parent = 0 );
    44     ~FmFindWidget();
    40     ~FmFindWidget();
    45 
    41 
    46     void find( const QString &keyword, const QString &path );
    42     void find( const QString &keyword, const QStringList &pathList );
    47     void stopFind();
    43     void stopFind();
    48     void sortFiles( FmFindResultModel::SortFlag sortFlag );
    44     void sortFiles( FmFindResultModel::SortFlag sortFlag );
    49     
       
    50     void activeSearchPanel();
       
    51     void deActiveSearchPanel();
       
    52 
    45 
    53 signals:
    46 signals:
    54     void finished();
       
    55     void activated( const QString &pathName );
    47     void activated( const QString &pathName );
    56     
       
    57     void startSearch( const QString &targetPath, const QString &criteria );
       
    58     void setEmptyMenu( bool isMenuEmpty );
    48     void setEmptyMenu( bool isMenuEmpty );
    59 
    49 
    60 private slots:
    50 private slots:
    61     void itemActivated(const QModelIndex &index);
    51     void itemActivated(const QModelIndex &index);
    62         
    52         
    63     void on_searchPanel_criteriaChanged( const QString &criteria );
    53     void on_searchPanel_criteriaChanged( const QString &criteria );
    64     void on_searchPanel_exitClicked();
    54     void on_searchPanel_exitClicked();
    65 
    55 
    66     void on_resultModel_finished();
       
    67     void on_resultModel_modelCountChanged( int count );
    56     void on_resultModel_modelCountChanged( int count );
    68     void on_resultModel_refresh();
    57 
    69         
    58     void on_resultModel_findStarted();
       
    59     void on_resultModel_findFinished();
       
    60     
    70 private:
    61 private:
    71     void init();
    62     void init();
    72     void initSearchPanel();
    63     void initSearchPanel();
    73     void activateContentWidget( ContentWidgetType contentWidgetType );
       
    74 
    64 
    75 private:
    65 private:
    76     HbListView          *mListView;
    66     HbListView          *mListView;
    77     FmFindResultModel   *mModel;
    67     FmFindResultModel   *mModel;
    78     HbWidget            *mEmptyTipWidget;
    68     HbWidget            *mEmptyTipWidget;
    79     
    69     
    80     QGraphicsLinearLayout *mLayout;
    70     QGraphicsLinearLayout *mLayout;
    81     HbSearchPanel* mSearchPanel;
    71 	
    82     QString mFindTargetPath;
    72 	// used to stack emptytip widget and list view.
       
    73 	// only one widget can be shown at the same time.
       
    74     HbStackedWidget  *mContentWidget;
       
    75 	
       
    76     HbSearchPanel*  mSearchPanel;
       
    77 	
       
    78 	// store the find path list
       
    79 	// for example, if start find from drive view. All available drive will be used to find
       
    80     QStringList     mPathList;
    83 };
    81 };
    84 
    82 
    85 #endif
    83 #endif