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 |